53 lines
1.7 KiB
JavaScript
53 lines
1.7 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.optArgSync = exports.optArg = exports.assertRimrafOptions = exports.isRimrafOptions = void 0;
|
|
const typeOrUndef = (val, t) => typeof val === 'undefined' || typeof val === t;
|
|
const isRimrafOptions = (o) => !!o &&
|
|
typeof o === 'object' &&
|
|
typeOrUndef(o.preserveRoot, 'boolean') &&
|
|
typeOrUndef(o.tmp, 'string') &&
|
|
typeOrUndef(o.maxRetries, 'number') &&
|
|
typeOrUndef(o.retryDelay, 'number') &&
|
|
typeOrUndef(o.backoff, 'number') &&
|
|
typeOrUndef(o.maxBackoff, 'number') &&
|
|
(typeOrUndef(o.glob, 'boolean') || (o.glob && typeof o.glob === 'object')) &&
|
|
typeOrUndef(o.filter, 'function');
|
|
exports.isRimrafOptions = isRimrafOptions;
|
|
const assertRimrafOptions = (o) => {
|
|
if (!(0, exports.isRimrafOptions)(o)) {
|
|
throw new Error('invalid rimraf options');
|
|
}
|
|
};
|
|
exports.assertRimrafOptions = assertRimrafOptions;
|
|
const optArgT = (opt) => {
|
|
(0, exports.assertRimrafOptions)(opt);
|
|
const { glob, ...options } = opt;
|
|
if (!glob) {
|
|
return options;
|
|
}
|
|
const globOpt = glob === true ?
|
|
opt.signal ?
|
|
{ signal: opt.signal }
|
|
: {}
|
|
: opt.signal ?
|
|
{
|
|
signal: opt.signal,
|
|
...glob,
|
|
}
|
|
: glob;
|
|
return {
|
|
...options,
|
|
glob: {
|
|
...globOpt,
|
|
// always get absolute paths from glob, to ensure
|
|
// that we are referencing the correct thing.
|
|
absolute: true,
|
|
withFileTypes: false,
|
|
},
|
|
};
|
|
};
|
|
const optArg = (opt = {}) => optArgT(opt);
|
|
exports.optArg = optArg;
|
|
const optArgSync = (opt = {}) => optArgT(opt);
|
|
exports.optArgSync = optArgSync;
|
|
//# sourceMappingURL=opt-arg.js.map
|