mirror of
https://github.com/verdaccio/verdaccio.git
synced 2025-02-10 23:39:31 -05:00
30 lines
557 B
TypeScript
30 lines
557 B
TypeScript
|
import { Callback } from '@verdaccio/types';
|
||
|
|
||
|
import { lockfile, statDir, statfile } from './utils';
|
||
|
|
||
|
/**
|
||
|
* locks a file by creating a lock file
|
||
|
* @param name
|
||
|
* @param callback
|
||
|
*/
|
||
|
const lockFile = function (name: string, callback: Callback): void {
|
||
|
Promise.resolve()
|
||
|
.then(() => {
|
||
|
return statDir(name);
|
||
|
})
|
||
|
.then(() => {
|
||
|
return statfile(name);
|
||
|
})
|
||
|
.then(() => {
|
||
|
return lockfile(name);
|
||
|
})
|
||
|
.then(() => {
|
||
|
callback(null);
|
||
|
})
|
||
|
.catch((err) => {
|
||
|
callback(err);
|
||
|
});
|
||
|
};
|
||
|
|
||
|
export { lockFile };
|