codekingpro/portable-devtools
114k
1"use strict";
2// turn tar(1) style args like `C` into the more verbose things like `cwd`
3Object.defineProperty(exports, "__esModule", { value: true });
4exports.dealias = exports.isNoFile = exports.isFile = exports.isAsync = exports.isSync = exports.isAsyncNoFile = exports.isSyncNoFile = exports.isAsyncFile = exports.isSyncFile = void 0;
5const argmap = new Map([
6 ['C', 'cwd'],
7 ['f', 'file'],
8 ['z', 'gzip'],
9 ['P', 'preservePaths'],
10 ['U', 'unlink'],
11 ['strip-components', 'strip'],
12 ['stripComponents', 'strip'],
13 ['keep-newer', 'newer'],
14 ['keepNewer', 'newer'],
15 ['keep-newer-files', 'newer'],
16 ['keepNewerFiles', 'newer'],
17 ['k', 'keep'],
18 ['keep-existing', 'keep'],
19 ['keepExisting', 'keep'],
20 ['m', 'noMtime'],
21 ['no-mtime', 'noMtime'],
22 ['p', 'preserveOwner'],
23 ['L', 'follow'],
24 ['h', 'follow'],
25 ['onentry', 'onReadEntry'],
26]);
27const isSyncFile = (o) => !!o.sync && !!o.file;
28exports.isSyncFile = isSyncFile;
29const isAsyncFile = (o) => !o.sync && !!o.file;
30exports.isAsyncFile = isAsyncFile;
31const isSyncNoFile = (o) => !!o.sync && !o.file;
32exports.isSyncNoFile = isSyncNoFile;
33const isAsyncNoFile = (o) => !o.sync && !o.file;
34exports.isAsyncNoFile = isAsyncNoFile;
35const isSync = (o) => !!o.sync;
36exports.isSync = isSync;
37const isAsync = (o) => !o.sync;
38exports.isAsync = isAsync;
39const isFile = (o) => !!o.file;
40exports.isFile = isFile;
41const isNoFile = (o) => !o.file;
42exports.isNoFile = isNoFile;
43const dealiasKey = (k) => {
44 const d = argmap.get(k);
45 if (d)
46 return d;
47 return k;
48};
49const dealias = (opt = {}) => {
50 if (!opt)
51 return {};
52 const result = {};
53 for (const [key, v] of Object.entries(opt)) {
54 // TS doesn't know that aliases are going to always be the same type
55 const k = dealiasKey(key);
56 result[k] = v;
57 }
58 // affordance for deprecated noChmod -> chmod
59 if (result.chmod === undefined && result.noChmod === false) {
60 result.chmod = true;
61 }
62 delete result.noChmod;
63 return result;
64};
65exports.dealias = dealias;
66//# sourceMappingURL=options.js.map