UNPKG

rimraf

Version:

A deep deletion module for node (like `rm -rf`)

56 lines • 1.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.optArgSync = exports.optArg = exports.assertRimrafOptions = exports.isRimrafOptions = void 0; const typeOrUndef = (o, key, t) => !(key in o) || typeof o[key] === 'undefined' || typeof o[key] === t; const isRimrafOptions = (o) => typeof o === 'object' && !!o && 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') || ('glob' in o && typeof o.glob === 'object' && !!o.glob)) && 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