47 lines
1.1 KiB
JavaScript
47 lines
1.1 KiB
JavaScript
'use strict';
|
|
|
|
//
|
|
// used by njodb
|
|
// Source: https://github.com/moxystudio/node-proper-lockfile
|
|
//
|
|
|
|
|
|
const lockfile = require('./lib/lockfile');
|
|
const { toPromise, toSync, toSyncOptions } = require('./lib/adapter');
|
|
|
|
async function lock(file, options) {
|
|
const release = await toPromise(lockfile.lock)(file, options);
|
|
|
|
return toPromise(release);
|
|
}
|
|
|
|
function lockSync(file, options) {
|
|
const release = toSync(lockfile.lock)(file, toSyncOptions(options));
|
|
|
|
return toSync(release);
|
|
}
|
|
|
|
function unlock(file, options) {
|
|
return toPromise(lockfile.unlock)(file, options);
|
|
}
|
|
|
|
function unlockSync(file, options) {
|
|
return toSync(lockfile.unlock)(file, toSyncOptions(options));
|
|
}
|
|
|
|
function check(file, options) {
|
|
return toPromise(lockfile.check)(file, options);
|
|
}
|
|
|
|
function checkSync(file, options) {
|
|
return toSync(lockfile.check)(file, toSyncOptions(options));
|
|
}
|
|
|
|
module.exports = lock;
|
|
module.exports.lock = lock;
|
|
module.exports.unlock = unlock;
|
|
module.exports.lockSync = lockSync;
|
|
module.exports.unlockSync = unlockSync;
|
|
module.exports.check = check;
|
|
module.exports.checkSync = checkSync;
|