@appium/support 2.55.4 → 2.57.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/env.d.ts +54 -0
- package/build/lib/env.d.ts.map +1 -0
- package/build/lib/env.js +102 -0
- package/build/lib/fs.d.ts +221 -0
- package/build/lib/fs.d.ts.map +1 -0
- package/build/lib/fs.js +74 -56
- package/build/lib/image-util.d.ts +56 -0
- package/build/lib/image-util.d.ts.map +1 -0
- package/build/lib/image-util.js +3 -6
- package/build/lib/index.d.ts +38 -0
- package/build/lib/index.d.ts.map +1 -0
- package/build/lib/index.js +36 -18
- package/build/lib/log-internal.d.ts +74 -0
- package/build/lib/log-internal.d.ts.map +1 -0
- package/build/lib/log-internal.js +11 -21
- package/build/lib/logger.d.ts +3 -0
- package/build/lib/logger.d.ts.map +1 -0
- package/build/lib/logger.js +2 -4
- package/build/lib/logging.d.ts +45 -0
- package/build/lib/logging.d.ts.map +1 -0
- package/build/lib/logging.js +12 -16
- package/build/lib/mjpeg.d.ts +65 -0
- package/build/lib/mjpeg.d.ts.map +1 -0
- package/build/lib/mjpeg.js +12 -7
- package/build/lib/mkdirp.d.ts +3 -0
- package/build/lib/mkdirp.d.ts.map +1 -0
- package/build/lib/mkdirp.js +7 -11
- package/build/lib/net.d.ts +95 -0
- package/build/lib/net.d.ts.map +1 -0
- package/build/lib/net.js +42 -26
- package/build/lib/node.d.ts +26 -0
- package/build/lib/node.d.ts.map +1 -0
- package/build/lib/node.js +102 -3
- package/build/lib/npm.d.ts +123 -0
- package/build/lib/npm.d.ts.map +1 -0
- package/build/lib/npm.js +217 -0
- package/build/lib/plist.d.ts +43 -0
- package/build/lib/plist.d.ts.map +1 -0
- package/build/lib/plist.js +2 -4
- package/build/lib/process.d.ts +3 -0
- package/build/lib/process.d.ts.map +1 -0
- package/build/lib/process.js +2 -4
- package/build/lib/system.d.ts +7 -0
- package/build/lib/system.d.ts.map +1 -0
- package/build/lib/system.js +2 -4
- package/build/lib/tempdir.d.ts +63 -0
- package/build/lib/tempdir.d.ts.map +1 -0
- package/build/lib/tempdir.js +4 -9
- package/build/lib/timing.d.ts +46 -0
- package/build/lib/timing.d.ts.map +1 -0
- package/build/lib/timing.js +2 -4
- package/build/lib/util.d.ts +183 -0
- package/build/lib/util.d.ts.map +1 -0
- package/build/lib/util.js +9 -15
- package/build/lib/zip.d.ts +180 -0
- package/build/lib/zip.d.ts.map +1 -0
- package/build/lib/zip.js +9 -9
- package/build/tsconfig.tsbuildinfo +1 -0
- package/lib/env.js +162 -0
- package/lib/fs.js +198 -69
- package/lib/image-util.js +23 -7
- package/lib/index.js +6 -6
- package/lib/log-internal.js +31 -38
- package/lib/logging.js +41 -17
- package/lib/mjpeg.js +14 -5
- package/lib/mkdirp.js +3 -6
- package/lib/net.js +116 -60
- package/lib/node.js +107 -4
- package/lib/npm.js +278 -0
- package/lib/plist.js +3 -1
- package/lib/tempdir.js +14 -13
- package/lib/util.js +36 -33
- package/lib/zip.js +31 -21
- package/package.json +31 -13
- package/build/test/assets/sample_binary.plist +0 -0
- package/build/test/assets/sample_text.plist +0 -28
- package/build/test/fs-specs.js +0 -264
- package/build/test/helpers.js +0 -35
- package/build/test/image-util-e2e-specs.js +0 -78
- package/build/test/index-specs.js +0 -49
- package/build/test/log-internals-specs.js +0 -97
- package/build/test/logger/helpers.js +0 -71
- package/build/test/logger/logger-force-specs.js +0 -41
- package/build/test/logger/logger-normal-specs.js +0 -113
- package/build/test/logger/logger-test-specs.js +0 -40
- package/build/test/mjpeg-e2e-specs.js +0 -96
- package/build/test/net-e2e-specs.js +0 -32
- package/build/test/node-e2e-specs.js +0 -22
- package/build/test/plist-specs.js +0 -54
- package/build/test/process-specs.js +0 -104
- package/build/test/system-specs.js +0 -136
- package/build/test/tempdir-specs.js +0 -86
- package/build/test/timing-specs.js +0 -125
- package/build/test/util-e2e-specs.js +0 -136
- package/build/test/util-specs.js +0 -537
- package/build/test/zip-e2e-specs.js +0 -233
package/build/lib/npm.js
ADDED
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.npm = exports.NPM = exports.INSTALL_LOCKFILE_RELATIVE_PATH = exports.CACHE_DIR_RELATIVE_PATH = void 0;
|
|
9
|
+
|
|
10
|
+
require("source-map-support/register");
|
|
11
|
+
|
|
12
|
+
var _path = _interopRequireDefault(require("path"));
|
|
13
|
+
|
|
14
|
+
var _semver = _interopRequireDefault(require("semver"));
|
|
15
|
+
|
|
16
|
+
var _env = require("./env");
|
|
17
|
+
|
|
18
|
+
var _teen_process = require("teen_process");
|
|
19
|
+
|
|
20
|
+
var _fs = require("./fs");
|
|
21
|
+
|
|
22
|
+
var util = _interopRequireWildcard(require("./util"));
|
|
23
|
+
|
|
24
|
+
var system = _interopRequireWildcard(require("./system"));
|
|
25
|
+
|
|
26
|
+
var _resolveFrom = _interopRequireDefault(require("resolve-from"));
|
|
27
|
+
|
|
28
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
29
|
+
|
|
30
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
|
+
|
|
32
|
+
const CACHE_DIR_RELATIVE_PATH = _path.default.join('node_modules', '.cache', 'appium');
|
|
33
|
+
|
|
34
|
+
exports.CACHE_DIR_RELATIVE_PATH = CACHE_DIR_RELATIVE_PATH;
|
|
35
|
+
|
|
36
|
+
const INSTALL_LOCKFILE_RELATIVE_PATH = _path.default.join(CACHE_DIR_RELATIVE_PATH, '.install.lock');
|
|
37
|
+
|
|
38
|
+
exports.INSTALL_LOCKFILE_RELATIVE_PATH = INSTALL_LOCKFILE_RELATIVE_PATH;
|
|
39
|
+
|
|
40
|
+
class NPM {
|
|
41
|
+
_getInstallLockfilePath(cwd) {
|
|
42
|
+
return _path.default.join(cwd, INSTALL_LOCKFILE_RELATIVE_PATH);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
async exec(cmd, args, opts, execOpts = {}) {
|
|
46
|
+
let {
|
|
47
|
+
cwd,
|
|
48
|
+
json,
|
|
49
|
+
lockFile
|
|
50
|
+
} = opts;
|
|
51
|
+
execOpts = { ...execOpts,
|
|
52
|
+
cwd
|
|
53
|
+
};
|
|
54
|
+
args.unshift(cmd);
|
|
55
|
+
|
|
56
|
+
if (json) {
|
|
57
|
+
args.push('--json');
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const npmCmd = system.isWindows() ? 'npm.cmd' : 'npm';
|
|
61
|
+
|
|
62
|
+
let runner = async () => await (0, _teen_process.exec)(npmCmd, args, execOpts);
|
|
63
|
+
|
|
64
|
+
if (lockFile) {
|
|
65
|
+
const acquireLock = util.getLockFileGuard(lockFile);
|
|
66
|
+
const _runner = runner;
|
|
67
|
+
|
|
68
|
+
runner = async () => await acquireLock(_runner);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
let ret;
|
|
72
|
+
|
|
73
|
+
try {
|
|
74
|
+
const {
|
|
75
|
+
stdout,
|
|
76
|
+
stderr,
|
|
77
|
+
code
|
|
78
|
+
} = await runner();
|
|
79
|
+
ret = {
|
|
80
|
+
stdout,
|
|
81
|
+
stderr,
|
|
82
|
+
code
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
try {
|
|
86
|
+
ret.json = JSON.parse(stdout);
|
|
87
|
+
} catch (ign) {}
|
|
88
|
+
} catch (e) {
|
|
89
|
+
const {
|
|
90
|
+
stdout = '',
|
|
91
|
+
stderr = '',
|
|
92
|
+
code = null
|
|
93
|
+
} = e;
|
|
94
|
+
const err = new Error(`npm command '${args.join(' ')}' failed with code ${code}.\n\nSTDOUT:\n${stdout.trim()}\n\nSTDERR:\n${stderr.trim()}`);
|
|
95
|
+
throw err;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return ret;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
async getLatestVersion(cwd, pkg) {
|
|
102
|
+
var _await$this$exec$json;
|
|
103
|
+
|
|
104
|
+
return (_await$this$exec$json = (await this.exec('view', [pkg, 'dist-tags'], {
|
|
105
|
+
json: true,
|
|
106
|
+
cwd
|
|
107
|
+
})).json) === null || _await$this$exec$json === void 0 ? void 0 : _await$this$exec$json.latest;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
async getLatestSafeUpgradeVersion(cwd, pkg, curVersion) {
|
|
111
|
+
const allVersions = (await this.exec('view', [pkg, 'versions'], {
|
|
112
|
+
json: true,
|
|
113
|
+
cwd
|
|
114
|
+
})).json;
|
|
115
|
+
return this.getLatestSafeUpgradeFromVersions(curVersion, allVersions);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
async list(cwd, pkg) {
|
|
119
|
+
return (await this.exec('list', pkg ? [pkg] : [], {
|
|
120
|
+
cwd,
|
|
121
|
+
json: true
|
|
122
|
+
})).json;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
getLatestSafeUpgradeFromVersions(curVersion, allVersions) {
|
|
126
|
+
let safeUpgradeVer = null;
|
|
127
|
+
|
|
128
|
+
const curSemver = _semver.default.parse(curVersion);
|
|
129
|
+
|
|
130
|
+
if (curSemver === null) {
|
|
131
|
+
throw new Error(`Could not parse current version '${curVersion}'`);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
for (const testVer of allVersions) {
|
|
135
|
+
const testSemver = _semver.default.parse(testVer);
|
|
136
|
+
|
|
137
|
+
if (testSemver === null) {
|
|
138
|
+
throw new Error(`Could not parse version to test against: '${testVer}'`);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
if (testSemver.prerelease.length > 0) {
|
|
142
|
+
continue;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
if (curSemver.compare(testSemver) === 1) {
|
|
146
|
+
continue;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
if (testSemver.major > curSemver.major) {
|
|
150
|
+
continue;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
if (safeUpgradeVer === null || testSemver.compare(safeUpgradeVer) === 1) {
|
|
154
|
+
safeUpgradeVer = testSemver;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
if (safeUpgradeVer) {
|
|
159
|
+
safeUpgradeVer = safeUpgradeVer.format();
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
return safeUpgradeVer;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
async installPackage(cwd, pkgName, {
|
|
166
|
+
pkgVer
|
|
167
|
+
} = {}) {
|
|
168
|
+
let dummyPkgJson;
|
|
169
|
+
|
|
170
|
+
const dummyPkgPath = _path.default.join(cwd, 'package.json');
|
|
171
|
+
|
|
172
|
+
try {
|
|
173
|
+
dummyPkgJson = JSON.parse(await _fs.fs.readFile(dummyPkgPath, 'utf8'));
|
|
174
|
+
} catch (err) {
|
|
175
|
+
if (err.code === 'ENOENT') {
|
|
176
|
+
dummyPkgJson = {};
|
|
177
|
+
await _fs.fs.writeFile(dummyPkgPath, JSON.stringify(dummyPkgJson, null, 2), 'utf8');
|
|
178
|
+
} else {
|
|
179
|
+
throw err;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
const installOpts = (await (0, _env.hasAppiumDependency)(cwd)) ? ['--save-dev'] : ['--save-dev', '--save-exact', '--global-style', '--no-package-lock'];
|
|
184
|
+
const res = await this.exec('install', [...installOpts, pkgVer ? `${pkgName}@${pkgVer}` : pkgName], {
|
|
185
|
+
cwd,
|
|
186
|
+
json: true,
|
|
187
|
+
lockFile: this._getInstallLockfilePath(cwd)
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
if (res.json) {
|
|
191
|
+
if (res.json.error) {
|
|
192
|
+
throw new Error(res.json.error);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
const pkgJsonPath = (0, _resolveFrom.default)(cwd, `${pkgName}/package.json`);
|
|
197
|
+
|
|
198
|
+
try {
|
|
199
|
+
return require(pkgJsonPath);
|
|
200
|
+
} catch {
|
|
201
|
+
throw new Error('The package was not downloaded correctly; its package.json ' + 'did not exist or was unreadable. We looked for it at ' + pkgJsonPath);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
async uninstallPackage(cwd, pkg) {
|
|
206
|
+
await this.exec('uninstall', [pkg], {
|
|
207
|
+
cwd,
|
|
208
|
+
lockFile: this._getInstallLockfilePath(cwd)
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
exports.NPM = NPM;
|
|
215
|
+
const npm = new NPM();
|
|
216
|
+
exports.npm = npm;
|
|
217
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9ucG0uanMiXSwibmFtZXMiOlsiQ0FDSEVfRElSX1JFTEFUSVZFX1BBVEgiLCJwYXRoIiwiam9pbiIsIklOU1RBTExfTE9DS0ZJTEVfUkVMQVRJVkVfUEFUSCIsIk5QTSIsIl9nZXRJbnN0YWxsTG9ja2ZpbGVQYXRoIiwiY3dkIiwiZXhlYyIsImNtZCIsImFyZ3MiLCJvcHRzIiwiZXhlY09wdHMiLCJqc29uIiwibG9ja0ZpbGUiLCJ1bnNoaWZ0IiwicHVzaCIsIm5wbUNtZCIsInN5c3RlbSIsImlzV2luZG93cyIsInJ1bm5lciIsImFjcXVpcmVMb2NrIiwidXRpbCIsImdldExvY2tGaWxlR3VhcmQiLCJfcnVubmVyIiwicmV0Iiwic3Rkb3V0Iiwic3RkZXJyIiwiY29kZSIsIkpTT04iLCJwYXJzZSIsImlnbiIsImUiLCJlcnIiLCJFcnJvciIsInRyaW0iLCJnZXRMYXRlc3RWZXJzaW9uIiwicGtnIiwibGF0ZXN0IiwiZ2V0TGF0ZXN0U2FmZVVwZ3JhZGVWZXJzaW9uIiwiY3VyVmVyc2lvbiIsImFsbFZlcnNpb25zIiwiZ2V0TGF0ZXN0U2FmZVVwZ3JhZGVGcm9tVmVyc2lvbnMiLCJsaXN0Iiwic2FmZVVwZ3JhZGVWZXIiLCJjdXJTZW12ZXIiLCJzZW12ZXIiLCJ0ZXN0VmVyIiwidGVzdFNlbXZlciIsInByZXJlbGVhc2UiLCJsZW5ndGgiLCJjb21wYXJlIiwibWFqb3IiLCJmb3JtYXQiLCJpbnN0YWxsUGFja2FnZSIsInBrZ05hbWUiLCJwa2dWZXIiLCJkdW1teVBrZ0pzb24iLCJkdW1teVBrZ1BhdGgiLCJmcyIsInJlYWRGaWxlIiwid3JpdGVGaWxlIiwic3RyaW5naWZ5IiwiaW5zdGFsbE9wdHMiLCJyZXMiLCJlcnJvciIsInBrZ0pzb25QYXRoIiwicmVxdWlyZSIsInVuaW5zdGFsbFBhY2thZ2UiLCJucG0iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7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QztBQUVsQ08sTUFBQUEsUUFBUSxFQUFFLEtBQUtSLHVCQUFMLENBQTZCQyxHQUE3QjtBQUZ3QixLQUE5QixDQUFOO0FBSUQ7O0FBcE5jOzs7QUF1TlYsTUFBTThELEdBQUcsR0FBRyxJQUFJaEUsR0FBSixFQUFaIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHNlbXZlciBmcm9tICdzZW12ZXInO1xuaW1wb3J0IHsgaGFzQXBwaXVtRGVwZW5kZW5jeSB9IGZyb20gJy4vZW52JztcbmltcG9ydCB7IGV4ZWMgfSBmcm9tICd0ZWVuX3Byb2Nlc3MnO1xuaW1wb3J0IHsgZnMgfSBmcm9tICcuL2ZzJztcbmltcG9ydCAqIGFzIHV0aWwgZnJvbSAnLi91dGlsJztcbmltcG9ydCAqIGFzIHN5c3RlbSBmcm9tICcuL3N5c3RlbSc7XG5pbXBvcnQgcmVzb2x2ZUZyb20gZnJvbSAncmVzb2x2ZS1mcm9tJztcblxuXG4vKipcbiAqIFJlbGF0aXZlIHBhdGggdG8gZGlyZWN0b3J5IGNvbnRhaW5pbmcgYW55IEFwcGl1bSBpbnRlcm5hbCBmaWxlc1xuICogWFhYOiB0aGlzIGlzIGR1cGxpY2F0ZWQgaW4gYGFwcGl1bS9saWIvY29uc3RhbnRzLmpzYC5cbiAqL1xuZXhwb3J0IGNvbnN0IENBQ0hFX0RJUl9SRUxBVElWRV9QQVRIID0gcGF0aC5qb2luKFxuICAnbm9kZV9tb2R1bGVzJyxcbiAgJy5jYWNoZScsXG4gICdhcHBpdW0nLFxuKTtcblxuLyoqXG4gKiBSZWxhdGl2ZSBwYXRoIHRvIGxvY2tmaWxlIHVzZWQgd2hlbiBpbnN0YWxsaW5nIGFuIGV4dGVuc2lvbiB2aWEgYGFwcGl1bWBcbiAqL1xuZXhwb3J0IGNvbnN0IElOU1RBTExfTE9DS0ZJTEVfUkVMQVRJVkVfUEFUSCA9IHBhdGguam9pbihcbiAgQ0FDSEVfRElSX1JFTEFUSVZFX1BBVEgsXG4gICcuaW5zdGFsbC5sb2NrJyxcbik7XG5cbi8qKlxuICogWFhYOiBUaGlzIHNob3VsZCBwcm9iYWJseSBiZSBhIHNpbmdsZXRvbiwgYnV0IGl0IGlzbid0LiAgTWF5YmUgdGhpcyBtb2R1bGUgc2hvdWxkIGp1c3QgZXhwb3J0IGZ1bmN0aW9ucz9cbiAqL1xuZXhwb3J0IGNsYXNzIE5QTSB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIHBhdGggdG8gXCJpbnN0YWxsXCIgbG9ja2ZpbGVcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IGN3ZFxuICAgKi9cbiAgX2dldEluc3RhbGxMb2NrZmlsZVBhdGggKGN3ZCkge1xuICAgIHJldHVybiBwYXRoLmpvaW4oY3dkLCBJTlNUQUxMX0xPQ0tGSUxFX1JFTEFUSVZFX1BBVEgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGUgYG5wbWAgd2l0aCBnaXZlbiBhcmdzLlxuICAgKlxuICAgKiBJZiB0aGUgcHJvY2VzcyBleGl0cyB3aXRoIGEgbm9uemVybyBjb2RlLCB0aGUgY29udGVudHMgb2YgYFNURE9VVGAgYW5kIGBTVERFUlJgIHdpbGwgYmUgaW4gdGhlXG4gICAqIGBtZXNzYWdlYCBvZiB0aGUge0BsaW5rIFRlZW5Qcm9jZXNzRXhlY0Vycm9yfSByZWplY3RlZC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGNtZFxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBhcmdzXG4gICAqIEBwYXJhbSB7RXhlY09wdHN9IG9wdHNcbiAgICogQHBhcmFtIHtFeGVjT3B0c30gW2V4ZWNPcHRzXVxuICAgKi9cbiAgYXN5bmMgZXhlYyAoY21kLCBhcmdzLCBvcHRzLCBleGVjT3B0cyA9IC8qKiBAdHlwZSB7RXhlY09wdHN9ICovKHt9KSkge1xuICAgIGxldCB7IGN3ZCwganNvbiwgbG9ja0ZpbGUgfSA9IG9wdHM7XG5cbiAgICAvLyBtYWtlIHN1cmUgd2UgcGVyZm9ybSB0aGUgY3VycmVudCBvcGVyYXRpb24gaW4gY3dkXG4gICAgZXhlY09wdHMgPSB7Li4uZXhlY09wdHMsIGN3ZH07XG5cbiAgICBhcmdzLnVuc2hpZnQoY21kKTtcbiAgICBpZiAoanNvbikge1xuICAgICAgYXJncy5wdXNoKCctLWpzb24nKTtcbiAgICB9XG4gICAgY29uc3QgbnBtQ21kID0gc3lzdGVtLmlzV2luZG93cygpID8gJ25wbS5jbWQnIDogJ25wbSc7XG4gICAgbGV0IHJ1bm5lciA9IGFzeW5jICgpID0+IGF3YWl0IGV4ZWMobnBtQ21kLCBhcmdzLCBleGVjT3B0cyk7XG4gICAgaWYgKGxvY2tGaWxlKSB7XG4gICAgICBjb25zdCBhY3F1aXJlTG9jayA9IHV0aWwuZ2V0TG9ja0ZpbGVHdWFyZChsb2NrRmlsZSk7XG4gICAgICBjb25zdCBfcnVubmVyID0gcnVubmVyO1xuICAgICAgcnVubmVyID0gYXN5bmMgKCkgPT4gYXdhaXQgYWNxdWlyZUxvY2soX3J1bm5lcik7XG4gICAgfVxuXG4gICAgLyoqIEB0eXBlIHtpbXBvcnQoJ3RlZW5fcHJvY2VzcycpLkV4ZWNSZXN1bHQ8c3RyaW5nPiAmIHtqc29uPzogYW55fX0gKi9cbiAgICBsZXQgcmV0O1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7c3Rkb3V0LCBzdGRlcnIsIGNvZGV9ID0gYXdhaXQgcnVubmVyKCk7XG4gICAgICByZXQgPSB7c3Rkb3V0LCBzdGRlcnIsIGNvZGV9O1xuICAgICAgLy8gaWYgcG9zc2libGUsIHBhcnNlIE5QTSdzIGpzb24gb3V0cHV0LiBEdXJpbmcgTlBNIGluc3RhbGwgM3JkLXBhcnR5XG4gICAgICAvLyBwYWNrYWdlcyBjYW4gd3JpdGUgdG8gc3Rkb3V0LCBzbyBzb21ldGltZXMgdGhlIGpzb24gb3V0cHV0IGNhbid0IGJlXG4gICAgICAvLyBndWFyYW50ZWVkIHRvIGJlIHBhcnNlYWJsZVxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0Lmpzb24gPSBKU09OLnBhcnNlKHN0ZG91dCk7XG4gICAgICB9IGNhdGNoIChpZ24pIHt9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc3Qge3N0ZG91dCA9ICcnLCBzdGRlcnIgPSAnJywgY29kZSA9IG51bGx9ID0gLyoqIEB0eXBlIHtUZWVuUHJvY2Vzc0V4ZWNFcnJvcn0gKi8oZSk7XG4gICAgICBjb25zdCBlcnIgPSBuZXcgRXJyb3IoYG5wbSBjb21tYW5kICcke2FyZ3Muam9pbignICcpfScgZmFpbGVkIHdpdGggY29kZSAke2NvZGV9LlxcblxcblNURE9VVDpcXG4ke3N0ZG91dC50cmltKCl9XFxuXFxuU1RERVJSOlxcbiR7c3RkZXJyLnRyaW0oKX1gKTtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY3dkXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwa2dcbiAgICovXG4gIGFzeW5jIGdldExhdGVzdFZlcnNpb24gKGN3ZCwgcGtnKSB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmV4ZWMoJ3ZpZXcnLCBbcGtnLCAnZGlzdC10YWdzJ10sIHtcbiAgICAgIGpzb246IHRydWUsXG4gICAgICBjd2RcbiAgICB9KSkuanNvbj8ubGF0ZXN0O1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjd2RcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBrZ1xuICAgKiBAcGFyYW0ge3N0cmluZ30gY3VyVmVyc2lvblxuICAgKi9cbiAgYXN5bmMgZ2V0TGF0ZXN0U2FmZVVwZ3JhZGVWZXJzaW9uIChjd2QsIHBrZywgY3VyVmVyc2lvbikge1xuICAgIGNvbnN0IGFsbFZlcnNpb25zID0gKGF3YWl0IHRoaXMuZXhlYygndmlldycsIFtwa2csICd2ZXJzaW9ucyddLCB7XG4gICAgICBqc29uOiB0cnVlLFxuICAgICAgY3dkXG4gICAgfSkpLmpzb247XG4gICAgcmV0dXJuIHRoaXMuZ2V0TGF0ZXN0U2FmZVVwZ3JhZGVGcm9tVmVyc2lvbnMoY3VyVmVyc2lvbiwgYWxsVmVyc2lvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgYG5wbSBsc2AsIG9wdGlvbmFsbHkgZm9yIGEgcGFydGljdWxhciBwYWNrYWdlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY3dkXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbcGtnXVxuICAgKi9cbiAgYXN5bmMgbGlzdCAoY3dkLCBwa2cpIHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuZXhlYygnbGlzdCcsIHBrZyA/IFtwa2ddIDogW10sIHtjd2QsIGpzb246IHRydWV9KSkuanNvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHaXZlbiBhIGN1cnJlbnQgdmVyc2lvbiBhbmQgYSBsaXN0IG9mIGFsbCB2ZXJzaW9ucyBmb3IgYSBwYWNrYWdlLCByZXR1cm4gdGhlIHZlcnNpb24gd2hpY2ggaXNcbiAgICogdGhlIGhpZ2hlc3Qgc2FmZWx5LXVwZ3JhZGFibGUgdmVyc2lvbiAobWVhbmluZyBub3QgY3Jvc3NpbmcgYW55IG1ham9yIHJldmlzaW9uIGJvdW5kYXJpZXMsIGFuZFxuICAgKiBub3QgaW5jbHVkaW5nIGFueSBhbHBoYS9iZXRhL3JjIHZlcnNpb25zKVxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY3VyVmVyc2lvbiAtIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgYSBwYWNrYWdlXG4gICAqIEBwYXJhbSB7QXJyYXk8c3RyaW5nPn0gYWxsVmVyc2lvbnMgLSBhIGxpc3Qgb2YgdmVyc2lvbiBzdHJpbmdzXG4gICAqXG4gICAqIEByZXR1cm4ge3N0cmluZ3xudWxsfSAtIHRoZSBoaWdoZXN0IHNhZmVseS11cGdyYWRhYmxlIHZlcnNpb24sIG9yIG51bGwgaWYgdGhlcmUgaXNuJ3Qgb25lXG4gICAqL1xuICBnZXRMYXRlc3RTYWZlVXBncmFkZUZyb21WZXJzaW9ucyAoY3VyVmVyc2lvbiwgYWxsVmVyc2lvbnMpIHtcbiAgICBsZXQgc2FmZVVwZ3JhZGVWZXIgPSBudWxsO1xuICAgIGNvbnN0IGN1clNlbXZlciA9IHNlbXZlci5wYXJzZShjdXJWZXJzaW9uKTtcbiAgICBpZiAoY3VyU2VtdmVyID09PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBwYXJzZSBjdXJyZW50IHZlcnNpb24gJyR7Y3VyVmVyc2lvbn0nYCk7XG4gICAgfVxuICAgIGZvciAoY29uc3QgdGVzdFZlciBvZiBhbGxWZXJzaW9ucykge1xuICAgICAgY29uc3QgdGVzdFNlbXZlciA9IHNlbXZlci5wYXJzZSh0ZXN0VmVyKTtcbiAgICAgIGlmICh0ZXN0U2VtdmVyID09PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IHBhcnNlIHZlcnNpb24gdG8gdGVzdCBhZ2FpbnN0OiAnJHt0ZXN0VmVyfSdgKTtcbiAgICAgIH1cbiAgICAgIC8vIGlmIHRoZSB0ZXN0IHZlcnNpb24gaXMgYSBwcmVyZWxlYXNlLCBpZ25vcmUgaXRcbiAgICAgIGlmICh0ZXN0U2VtdmVyLnByZXJlbGVhc2UubGVuZ3RoID4gMCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIC8vIGlmIHRoZSBjdXJyZW50IHZlcnNpb24gaXMgbGF0ZXIgdGhhbiB0aGUgdGVzdCB2ZXJzaW9uLCBza2lwIHRoaXMgdGVzdCB2ZXJzaW9uXG4gICAgICBpZiAoY3VyU2VtdmVyLmNvbXBhcmUodGVzdFNlbXZlcikgPT09IDEpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICAvLyBpZiB0aGUgdGVzdCB2ZXJzaW9uIGlzIG5ld2VyLCBidXQgY3Jvc3NlcyBhIG1ham9yIHJldmlzaW9uIGJvdW5kYXJ5LCBhbHNvIHNraXAgaXRcbiAgICAgIGlmICh0ZXN0U2VtdmVyLm1ham9yID4gY3VyU2VtdmVyLm1ham9yKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgLy8gb3RoZXJ3aXNlIHRoaXMgdmVyc2lvbiBpcyBzYWZlIHRvIHVwZ3JhZGUgdG8uIEJ1dCB0aGVyZSBtaWdodCBiZSBtdWx0aXBsZSBvbmVzIG9mIHRoaXNcbiAgICAgIC8vIGtpbmQsIHNvIGtlZXAgaXRlcmF0aW5nIGFuZCBrZWVwaW5nIHRoZSBoaWdoZXN0XG4gICAgICBpZiAoc2FmZVVwZ3JhZGVWZXIgPT09IG51bGwgfHwgdGVzdFNlbXZlci5jb21wYXJlKHNhZmVVcGdyYWRlVmVyKSA9PT0gMSkge1xuICAgICAgICBzYWZlVXBncmFkZVZlciA9IHRlc3RTZW12ZXI7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChzYWZlVXBncmFkZVZlcikge1xuICAgICAgc2FmZVVwZ3JhZGVWZXIgPSBzYWZlVXBncmFkZVZlci5mb3JtYXQoKTtcbiAgICB9XG4gICAgcmV0dXJuIHNhZmVVcGdyYWRlVmVyO1xuICB9XG5cbiAgLyoqXG4gICAqIEluc3RhbGxzIGEgcGFja2FnZSB3LyBgbnBtYFxuICAgKiBAcGFyYW0ge3N0cmluZ30gY3dkXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwa2dOYW1lXG4gICAqIEBwYXJhbSB7SW5zdGFsbFBhY2thZ2VPcHRzfSBbb3B0c11cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KCd0eXBlLWZlc3QnKS5QYWNrYWdlSnNvbj59XG4gICAqL1xuICBhc3luYyBpbnN0YWxsUGFja2FnZSAoY3dkLCBwa2dOYW1lLCB7cGtnVmVyfSA9IHt9KSB7XG4gICAgLyoqIEB0eXBlIHthbnl9ICovXG4gICAgbGV0IGR1bW15UGtnSnNvbjtcbiAgICBjb25zdCBkdW1teVBrZ1BhdGggPSBwYXRoLmpvaW4oY3dkLCAncGFja2FnZS5qc29uJyk7XG4gICAgdHJ5IHtcbiAgICAgIGR1bW15UGtnSnNvbiA9IEpTT04ucGFyc2UoYXdhaXQgZnMucmVhZEZpbGUoZHVtbXlQa2dQYXRoLCAndXRmOCcpKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGlmIChlcnIuY29kZSA9PT0gJ0VOT0VOVCcpIHtcbiAgICAgICAgZHVtbXlQa2dKc29uID0ge307XG4gICAgICAgIGF3YWl0IGZzLndyaXRlRmlsZShkdW1teVBrZ1BhdGgsIEpTT04uc3RyaW5naWZ5KGR1bW15UGtnSnNvbiwgbnVsbCwgMiksICd1dGY4Jyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBlcnI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSWYgd2UndmUgZm91bmQgYSBgcGFja2FnZS5qc29uYCBjb250YWluaW5lZCB0aGUgYGFwcGl1bUNyZWF0ZWRgIHByb3BlcnR5LFxuICAgICAqIHRoZW4gd2UgY2FuIGRvIHdoYXRldmVyIHdlIHBsZWFzZSB3aXRoIGl0LCBzaW5jZSB3ZSBjcmVhdGVkIGl0LiAgVGhpcyBpc1xuICAgICAqIGxpa2VseSB3aGVuIGBBUFBJVU1fSE9NRWAgaXMgdGhlIGRlZmF1bHQgKGluIGB+Ly5hcHBpdW1gKS4gIEluIHRoYXQgY2FzZSxcbiAgICAgKiB3ZSB3YW50IGAtLWdsb2JhbC1zdHlsZWAgdG8gYXZvaWQgZGVkdXBpbmcsIGFuZCB3ZSBhbHNvIGRvIG5vdCBuZWVkIGFcbiAgICAgKiBgcGFja2FnZS1sb2NrLmpzb25gLlxuICAgICAqXG4gICAgICogSWYgd2UgX2hhdmVuJ3RfIGZvdW5kIHN1Y2ggYSBrZXksIHRoZW4gdGhpcyBgcGFja2FnZS5qc29uYCBpc24ndCBhXG4gICAgICogXCJkdW1teVwiIGFuZCBpcyBjb250cm9sbGVkIGJ5IHRoZSB1c2VyLiAgU28gd2UnbGwganVzdCBhZGQgaXQgYXMgYSBkZXZcbiAgICAgKiBkZXA7IHdoYXRldmVyIGVsc2UgaXQgZG9lcyBpcyB1cCB0byB0aGUgdXNlcidzIG5wbSBjb25maWcuXG4gICAgICovXG4gICAgY29uc3QgaW5zdGFsbE9wdHMgPSBhd2FpdCBoYXNBcHBpdW1EZXBlbmRlbmN5KGN3ZCkgP1xuICAgICAgWyctLXNhdmUtZGV2J10gOlxuICAgICAgWyctLXNhdmUtZGV2JywgJy0tc2F2ZS1leGFjdCcsICctLWdsb2JhbC1zdHlsZScsICctLW5vLXBhY2thZ2UtbG9jayddO1xuXG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5leGVjKCdpbnN0YWxsJywgW1xuICAgICAgLi4uaW5zdGFsbE9wdHMsXG4gICAgICBwa2dWZXIgPyBgJHtwa2dOYW1lfUAke3BrZ1Zlcn1gIDogcGtnTmFtZVxuICAgIF0sIHtcbiAgICAgIGN3ZCxcbiAgICAgIGpzb246IHRydWUsXG4gICAgICBsb2NrRmlsZTogdGhpcy5fZ2V0SW5zdGFsbExvY2tmaWxlUGF0aChjd2QpXG4gICAgfSk7XG5cbiAgICBpZiAocmVzLmpzb24pIHtcbiAgICAgIC8vIHdlIHBhcnNlZCBhIHZhbGlkIGpzb24gcmVzcG9uc2UsIHNvIGlmIHdlIGdvdCBhbiBlcnJvciBoZXJlLCByZXR1cm4gdGhhdFxuICAgICAgLy8gbWVzc2FnZSBzdHJhaWdodGF3YXlcbiAgICAgIGlmIChyZXMuanNvbi5lcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IocmVzLmpzb24uZXJyb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5vdyByZWFkIHBhY2thZ2UgZGF0YSBmcm9tIHRoZSBpbnN0YWxsZWQgcGFja2FnZSB0byByZXR1cm4sIGFuZCBtYWtlIHN1cmVcbiAgICAvLyBldmVyeXRoaW5nIGdvdCBpbnN0YWxsZWQgb2suIFJlbWVtYmVyLCBwa2dOYW1lIG1pZ2h0IGVuZCB1cCB3aXRoIGEgLyBpbiBpdCBkdWUgdG8gYW4gbnBtXG4gICAgLy8gb3JnLCBzbyBpZiBzbywgdGhhdCB3aWxsIGdldCBjb3JyZWN0bHkgZXhwbG9kZWQgaW50byBtdWx0aXBsZSBkaXJlY3RvcmllcywgYnkgcGF0aC5yZXNvbHZlIGhlcmVcbiAgICAvLyAoZXZlbiBvbiBXaW5kb3dzISlcbiAgICBjb25zdCBwa2dKc29uUGF0aCA9IHJlc29sdmVGcm9tKGN3ZCwgYCR7cGtnTmFtZX0vcGFja2FnZS5qc29uYCk7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiByZXF1aXJlKHBrZ0pzb25QYXRoKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIHBhY2thZ2Ugd2FzIG5vdCBkb3dubG9hZGVkIGNvcnJlY3RseTsgaXRzIHBhY2thZ2UuanNvbiAnICtcbiAgICAgICAgICAgICAgICAgICAgICAnZGlkIG5vdCBleGlzdCBvciB3YXMgdW5yZWFkYWJsZS4gV2UgbG9va2VkIGZvciBpdCBhdCAnICtcbiAgICAgICAgICAgICAgICAgICAgICBwa2dKc29uUGF0aCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjd2RcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBrZ1xuICAgKi9cbiAgYXN5bmMgdW5pbnN0YWxsUGFja2FnZSAoY3dkLCBwa2cpIHtcbiAgICBhd2FpdCB0aGlzLmV4ZWMoJ3VuaW5zdGFsbCcsIFtwa2ddLCB7XG4gICAgICBjd2QsXG4gICAgICBsb2NrRmlsZTogdGhpcy5fZ2V0SW5zdGFsbExvY2tmaWxlUGF0aChjd2QpXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IG5wbSA9IG5ldyBOUE0oKTtcblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgTlBNLmluc3RhbGxQYWNrYWdlfVxuICogQHR5cGVkZWYgSW5zdGFsbFBhY2thZ2VPcHRzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3BrZ1Zlcl0gLSB0aGUgdmVyc2lvbiBvZiB0aGUgcGFja2FnZSB0byBpbnN0YWxsXG4gKi9cblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgTlBNLmV4ZWN9XG4gKiBAdHlwZWRlZiBFeGVjT3B0c1xuICogQHByb3BlcnR5IHtzdHJpbmd9IGN3ZCAtIEN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnlcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2pzb25dIC0gSWYgYHRydWVgLCBzdXBwbHkgYC0tanNvbmAgZmxhZyB0byBucG0gYW5kIHJlc29sdmUgdy8gcGFyc2VkIEpTT05cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbbG9ja0ZpbGVdIC0gUGF0aCB0byBsb2NrZmlsZSB0byB1c2VcbiAqL1xuXG4vLyBUSEVTRSBUWVBFUyBTSE9VTEQgQkUgSU4gVEVFTiBQUk9DRVNTLCBOT1QgSEVSRVxuXG4vKipcbiAqIEV4dHJhIHByb3BzIGB0ZWVuX3Byb2Nlc3MuZXhlY2AgYWRkcyB0byBpdHMgZXJyb3Igb2JqZWN0c1xuICogQHR5cGVkZWYgVGVlblByb2Nlc3NFeGVjRXJyb3JQcm9wc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IHN0ZG91dCAtIFNURE9VVFxuICogQHByb3BlcnR5IHtzdHJpbmd9IHN0ZGVyciAtIFNUREVSUlxuICogQHByb3BlcnR5IHtudW1iZXI/fSBjb2RlIC0gRXhpdCBjb2RlXG4gKi9cblxuLyoqXG4gKiBFcnJvciB0aHJvd24gYnkgYHRlZW5fcHJvY2Vzcy5leGVjYFxuICogQHR5cGVkZWYge0Vycm9yICYgVGVlblByb2Nlc3NFeGVjRXJyb3JQcm9wc30gVGVlblByb2Nlc3NFeGVjRXJyb3JcbiAqL1xuIl19
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parses a file in xml or binary format of plist
|
|
3
|
+
* @param {string} plist The plist file path
|
|
4
|
+
* @param {boolean} mustExist If set to false, this method will return an empty object when the file doesn't exist
|
|
5
|
+
* @param {boolean} quiet If set to false, the plist path will be logged in debug level
|
|
6
|
+
* @returns {Promise<any>} parsed plist JS Object
|
|
7
|
+
*/
|
|
8
|
+
export function parsePlistFile(plist: string, mustExist?: boolean, quiet?: boolean): Promise<any>;
|
|
9
|
+
/**
|
|
10
|
+
* Parses an buffer or a string to a JS object a plist from an object
|
|
11
|
+
* @param {string|Buffer} data The plist in the form of string or Buffer
|
|
12
|
+
* @returns {Object} parsed plist JS Object
|
|
13
|
+
* @throws Will throw an error if the plist type is unknown
|
|
14
|
+
*/
|
|
15
|
+
export function parsePlist(data: string | Buffer): any;
|
|
16
|
+
/**
|
|
17
|
+
* Creates a plist from an object
|
|
18
|
+
* @param {Object} object The JS object to be turned into a plist
|
|
19
|
+
* @param {boolean} binary Set it to true for a binary plist
|
|
20
|
+
* @returns {string|Buffer} returns a buffer or a string in respect to the binary parameter
|
|
21
|
+
*/
|
|
22
|
+
export function createPlist(object: any, binary?: boolean): string | Buffer;
|
|
23
|
+
/**
|
|
24
|
+
* Updates a plist file with the given fields
|
|
25
|
+
* @param {string} plist The plist file path
|
|
26
|
+
* @param {Object} updatedFields The updated fields-value pairs
|
|
27
|
+
* @param {boolean} binary If set to false, the file will be created as a xml plist
|
|
28
|
+
* @param {boolean} mustExist If set to false, this method will update an empty plist
|
|
29
|
+
* @param {boolean} quiet If set to false, the plist path will be logged in debug level
|
|
30
|
+
*/
|
|
31
|
+
export function updatePlistFile(plist: string, updatedFields: any, binary?: boolean, mustExist?: boolean, quiet?: boolean): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Creates a binary plist Buffer from an object
|
|
34
|
+
* @param {Object} data The object to be turned into a binary plist
|
|
35
|
+
* @returns {Buffer} plist in the form of a binary buffer
|
|
36
|
+
*/
|
|
37
|
+
export function createBinaryPlist(data: any): Buffer;
|
|
38
|
+
/**
|
|
39
|
+
* Parses a Buffer into an Object
|
|
40
|
+
* @param {Buffer} data The beffer of a binary plist
|
|
41
|
+
*/
|
|
42
|
+
export function parseBinaryPlist(data: Buffer): any;
|
|
43
|
+
//# sourceMappingURL=plist.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plist.d.ts","sourceRoot":"","sources":["../../lib/plist.js"],"names":[],"mappings":"AAuBA;;;;;;GAMG;AACH,sCALW,MAAM,cACN,OAAO,UACP,OAAO,GACL,QAAQ,GAAG,CAAC,CAmCxB;AAkFD;;;;;GAKG;AACH,iCAJW,MAAM,GAAC,MAAM,OAgBvB;AAhCD;;;;;GAKG;AACH,kDAHW,OAAO,GACL,MAAM,GAAC,MAAM,CAQzB;AA9ED;;;;;;;GAOG;AACH,uCANW,MAAM,+BAEN,OAAO,cACP,OAAO,UACP,OAAO,iBAmBjB;AACD;;;;GAIG;AACH,8CAFa,MAAM,CAIlB;AAED;;;GAGG;AACH,uCAFW,MAAM,OAMhB"}
|
package/build/lib/plist.js
CHANGED
|
@@ -156,7 +156,5 @@ function parsePlist(data) {
|
|
|
156
156
|
}
|
|
157
157
|
|
|
158
158
|
throw new Error(`Unknown type of plist, data: ${data.toString()}`);
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9wbGlzdC5qcyJdLCJuYW1lcyI6WyJCUExJU1RfSURFTlRJRklFUiIsIkJVRkZFUiIsIkJ1ZmZlciIsImZyb20iLCJURVhUIiwiUExJU1RfSURFTlRJRklFUiIsInBhcnNlWG1sUGxpc3RGaWxlIiwicGxpc3RGaWxlbmFtZSIsInhtbENvbnRlbnQiLCJmcyIsInJlYWRGaWxlIiwieG1scGxpc3QiLCJwYXJzZSIsInBhcnNlUGxpc3RGaWxlIiwicGxpc3QiLCJtdXN0RXhpc3QiLCJxdWlldCIsImV4aXN0cyIsImxvZyIsImVycm9yQW5kVGhyb3ciLCJkZWJ1ZyIsIm9iaiIsInR5cGUiLCJicGxpc3RQYXJzZSIsInBhcnNlRmlsZSIsImxlbmd0aCIsIkVycm9yIiwiaWduIiwiZXJyIiwibWVzc2FnZSIsInVwZGF0ZVBsaXN0RmlsZSIsInVwZGF0ZWRGaWVsZHMiLCJiaW5hcnkiLCJfIiwiZXh0ZW5kIiwibmV3UGxpc3QiLCJidWlsZCIsIndyaXRlRmlsZSIsImNyZWF0ZUJpbmFyeVBsaXN0IiwiZGF0YSIsInBhcnNlQmluYXJ5UGxpc3QiLCJwYXJzZUJ1ZmZlciIsImdldFhtbFBsaXN0IiwiaXNTdHJpbmciLCJzdGFydHNXaXRoIiwiaXNCdWZmZXIiLCJjb21wYXJlIiwidG9TdHJpbmciLCJnZXRCaW5hcnlQbGlzdCIsImNyZWF0ZVBsaXN0Iiwib2JqZWN0IiwicGFyc2VQbGlzdCIsInRleHRQbGlzdCIsImJpbmFyeVBsaXN0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0EsTUFBTUEsaUJBQWlCLEdBQUc7QUFDeEJDLEVBQUFBLE1BQU0sRUFBRUMsTUFBTSxDQUFDQyxJQUFQLENBQVksVUFBWixDQURnQjtBQUV4QkMsRUFBQUEsSUFBSSxFQUFFO0FBRmtCLENBQTFCO0FBSUEsTUFBTUMsZ0JBQWdCLEdBQUc7QUFDdkJKLEVBQUFBLE1BQU0sRUFBRUMsTUFBTSxDQUFDQyxJ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QixFQUE4QmxCLE1BQU0sR0FBRyxLQUF2QyxFQUE4QztBQUM1QyxNQUFJQSxNQUFKLEVBQVk7QUFDVixXQUFPTSxpQkFBaUIsQ0FBQ1ksTUFBRCxDQUF4QjtBQUNELEdBRkQsTUFFTztBQUNMLFdBQU92QyxlQUFTeUIsS0FBVCxDQUFlYyxNQUFmLENBQVA7QUFDRDtBQUNGOztBQVFELFNBQVNDLFVBQVQsQ0FBcUJaLElBQXJCLEVBQTJCO0FBQ3pCLE1BQUlhLFNBQVMsR0FBR1YsV0FBVyxDQUFDSCxJQUFELENBQTNCOztBQUNBLE1BQUlhLFNBQUosRUFBZTtBQUNiLFdBQU96QyxlQUFTQyxLQUFULENBQWV3QyxTQUFmLENBQVA7QUFDRDs7QUFFRCxNQUFJQyxXQUFXLEdBQUdMLGNBQWMsQ0FBQ1QsSUFBRCxDQUFoQzs7QUFDQSxNQUFJYyxXQUFKLEVBQWlCO0FBQ2YsV0FBT2IsZ0JBQWdCLENBQUNhLFdBQUQsQ0FBaEIsQ0FBOEIsQ0FBOUIsQ0FBUDtBQUNEOztBQUVELFFBQU0sSUFBSTNCLEtBQUosQ0FBVyxnQ0FBK0JhLElBQUksQ0FBQ1EsUUFBTCxFQUFnQixFQUExRCxDQUFOO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeG1scGxpc3QgZnJvbSAncGxpc3QnO1xuaW1wb3J0IGJwbGlzdENyZWF0ZSBmcm9tICdicGxpc3QtY3JlYXRvcic7XG5pbXBvcnQgYnBsaXN0UGFyc2UgZnJvbSAnYnBsaXN0LXBhcnNlcic7XG5pbXBvcnQgZnMgZnJvbSAnLi9mcyc7XG5pbXBvcnQgbG9nIGZyb20gJy4vbG9nZ2VyJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cblxuY29uc3QgQlBMSVNUX0lERU5USUZJRVIgPSB7XG4gIEJVRkZFUjogQnVmZmVyLmZyb20oJ2JwbGlzdDAwJyksXG4gIFRFWFQ6ICdicGxpc3QwMCdcbn07XG5jb25zdCBQTElTVF9JREVOVElGSUVSID0ge1xuICBCVUZGRVI6IEJ1ZmZlci5mcm9tKCc8JyksXG4gIFRFWFQ6ICc8J1xufTtcblxuLy8gWE1MIFBsaXN0IGxpYnJhcnkgaGVscGVyXG5hc3luYyBmdW5jdGlvbiBwYXJzZVhtbFBsaXN0RmlsZSAocGxpc3RGaWxlbmFtZSkge1xuICBsZXQgeG1sQ29udGVudCA9IGF3YWl0IGZzLnJlYWRGaWxlKHBsaXN0RmlsZW5hbWUsICd1dGY4Jyk7XG4gIHJldHVybiB4bWxwbGlzdC5wYXJzZSh4bWxDb250ZW50KTtcbn1cblxuLyoqXG4gKiBQYXJzZXMgYSBmaWxlIGluIHhtbCBvciBiaW5hcnkgZm9ybWF0IG9mIHBsaXN0XG4gKiBAcGFyYW0ge3N0cmluZ30gcGxpc3QgVGhlIHBsaXN0IGZpbGUgcGF0aFxuICogQHBhcmFtIHtib29sZWFufSBtdXN0RXhpc3QgSWYgc2V0IHRvIGZhbHNlLCB0aGlzIG1ldGhvZCB3aWxsIHJldHVybiBhbiBlbXB0eSBvYmplY3Qgd2hlbiB0aGUgZmlsZSBkb2Vzbid0IGV4aXN0XG4gKiBAcGFyYW0ge2Jvb2xlYW59IHF1aWV0IElmIHNldCB0byBmYWxzZSwgdGhlIHBsaXN0IHBhdGggd2lsbCBiZSBsb2dnZWQgaW4gZGVidWcgbGV2ZWxcbiAqIEByZXR1cm5zIHtPYmplY3R9IHBhcnNlZCBwbGlzdCBKUyBPYmplY3RcbiAqL1xuYXN5bmMgZnVuY3Rpb24gcGFyc2VQbGlzdEZpbGUgKHBsaXN0LCBtdXN0RXhpc3QgPSB0cnVlLCBxdWlldCA9IHRydWUpIHtcbiAgLy8gaGFuZGxlIG5vbmV4aXN0YW50IGZpbGVcbiAgaWYgKCFhd2FpdCBmcy5leGlzdHMocGxpc3QpKSB7XG4gICAgaWYgKG11c3RFeGlzdCkge1xuICAgICAgbG9nLmVycm9yQW5kVGhyb3coYFBsaXN0IGZpbGUgZG9lc24ndCBleGlzdDogJyR7cGxpc3R9J2ApO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2cuZGVidWcoYFBsaXN0IGZpbGUgJyR7cGxpc3R9JyBkb2VzIG5vdCBleGlzdC4gUmV0dXJuaW5nIGFuIGVtcHR5IHBsaXN0LmApO1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgfVxuXG4gIGxldCBvYmogPSB7fTtcbiAgbGV0IHR5cGUgPSAnYmluYXJ5JztcbiAgdHJ5IHtcbiAgICBvYmogPSBhd2FpdCBicGxpc3RQYXJzZS5wYXJzZUZpbGUocGxpc3QpO1xuICAgIGlmIChvYmoubGVuZ3RoKSB7XG4gICAgICBvYmogPSBvYmpbMF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQmluYXJ5IGZpbGUgJyR7cGxpc3R9JycgYXBwZWFycyB0byBiZSBlbXB0eWApO1xuICAgIH1cbiAgfSBjYXRjaCAoaWduKSB7XG4gICAgdHJ5IHtcbiAgICAgIG9iaiA9IGF3YWl0IHBhcnNlWG1sUGxpc3RGaWxlKHBsaXN0KTtcbiAgICAgIHR5cGUgPSAneG1sJztcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGxvZy5lcnJvckFuZFRocm93KGBDb3VsZCBub3QgcGFyc2UgcGxpc3QgZmlsZSAnJHtwbGlzdH0nIGFzIFhNTDogJHtlcnIubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cblxuICBpZiAoIXF1aWV0KSB7XG4gICAgbG9nLmRlYnVnKGBQYXJzZWQgcGxpc3QgZmlsZSAnJHtwbGlzdH0nIGFzICR7dHlwZX1gKTtcbiAgfVxuICByZXR1cm4gb2JqO1xufVxuXG4vKipcbiAqIFVwZGF0ZXMgYSBwbGlzdCBmaWxlIHdpdGggdGhlIGdpdmVuIGZpZWxkc1xuICogQHBhcmFtIHtzdHJpbmd9IHBsaXN0IFRoZSBwbGlzdCBmaWxlIHBhdGhcbiAqIEBwYXJhbSB7T2JqZWN0fSB1cGRhdGVkRmllbGRzIFRoZSB1cGRhdGVkIGZpZWxkcy12YWx1ZSBwYWlyc1xuICogQHBhcmFtIHtib29sZWFufSBiaW5hcnkgSWYgc2V0IHRvIGZhbHNlLCB0aGUgZmlsZSB3aWxsIGJlIGNyZWF0ZWQgYXMgYSB4bWwgcGxpc3RcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gbXVzdEV4aXN0IElmIHNldCB0byBmYWxzZSwgdGhpcyBtZXRob2Qgd2lsbCB1cGRhdGUgYW4gZW1wdHkgcGxpc3RcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gcXVpZXQgSWYgc2V0IHRvIGZhbHNlLCB0aGUgcGxpc3QgcGF0aCB3aWxsIGJlIGxvZ2dlZCBpbiBkZWJ1ZyBsZXZlbFxuICovXG5hc3luYyBmdW5jdGlvbiB1cGRhdGVQbGlzdEZpbGUgKHBsaXN0LCB1cGRhdGVkRmllbGRzLCBiaW5hcnkgPSB0cnVlLCBtdXN0RXhpc3QgPSB0cnVlLCBxdWlldCA9IHRydWUpIHtcbiAgbGV0IG9iajtcbiAgdHJ5IHtcbiAgICBvYmogPSBhd2FpdCBwYXJzZVBsaXN0RmlsZShwbGlzdCwgbXVzdEV4aXN0KTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgbG9nLmVycm9yQW5kVGhyb3coYENvdWxkIG5vdCB1cGRhdGUgcGxpc3Q6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gIH1cbiAgXy5leHRlbmQob2JqLCB1cGRhdGVkRmllbGRzKTtcbiAgbGV0IG5ld1BsaXN0ID0gYmluYXJ5ID8gYnBsaXN0Q3JlYXRlKG9iaikgOiB4bWxwbGlzdC5idWlsZChvYmopO1xuICB0cnkge1xuICAgIGF3YWl0IGZzLndyaXRlRmlsZShwbGlzdCwgbmV3UGxpc3QpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBsb2cuZXJyb3JBbmRUaHJvdyhgQ291bGQgbm90IHNhdmUgcGxpc3Q6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gIH1cbiAgaWYgKCFxdWlldCkge1xuICAgIGxvZy5kZWJ1ZyhgV3JvdGUgcGxpc3QgZmlsZSAnJHtwbGlzdH0nYCk7XG4gIH1cbn1cbi8qKlxuICogQ3JlYXRlcyBhIGJpbmFyeSBwbGlzdCBCdWZmZXIgZnJvbSBhbiBvYmplY3RcbiAqIEBwYXJhbSB7T2JqZWN0fSBkYXRhIFRoZSBvYmplY3QgdG8gYmUgdHVybmVkIGludG8gYSBiaW5hcnkgcGxpc3RcbiAqIEByZXR1cm5zIHtCdWZmZXJ9IHBsaXN0IGluIHRoZSBmb3JtIG9mIGEgYmluYXJ5IGJ1ZmZlclxuICovXG5mdW5jdGlvbiBjcmVhdGVCaW5hcnlQbGlzdCAoZGF0YSkge1xuICByZXR1cm4gYnBsaXN0Q3JlYXRlKGRhdGEpO1xufVxuXG4vKipcbiAqIFBhcnNlcyBhIEJ1ZmZlciBpbnRvIGFuIE9iamVjdFxuICogQHBhcmFtIHtCdWZmZXJ9IGRhdGEgVGhlIGJlZmZlciBvZiBhIGJpbmFyeSBwbGlzdFxuICovXG5mdW5jdGlvbiBwYXJzZUJpbmFyeVBsaXN0IChkYXRhKSB7XG4gIHJldHVybiBicGxpc3RQYXJzZS5wYXJzZUJ1ZmZlcihkYXRhKTtcbn1cblxuZnVuY3Rpb24gZ2V0WG1sUGxpc3QgKGRhdGEpIHtcbiAgaWYgKF8uaXNTdHJpbmcoZGF0YSkgJiYgZGF0YS5zdGFydHNXaXRoKFBMSVNUX0lERU5USUZJRVIuVEVYVCkpIHtcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuICBpZiAoXy5pc0J1ZmZlcihkYXRhKSAmJiBQTElTVF9JREVOVElGSUVSLkJVRkZFUi5jb21wYXJlKGRhdGEsIDAsIFBMSVNUX0lERU5USUZJRVIuQlVGRkVSLmxlbmd0aCkgPT09IDApIHtcbiAgICByZXR1cm4gZGF0YS50b1N0cmluZygpO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBnZXRCaW5hcnlQbGlzdCAoZGF0YSkge1xuICBpZiAoXy5pc1N0cmluZyhkYXRhKSAmJiBkYXRhLnN0YXJ0c1dpdGgoQlBMSVNUX0lERU5USUZJRVIuVEVYVCkpIHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oZGF0YSk7XG4gIH1cblxuICBpZiAoXy5pc0J1ZmZlcihkYXRhKSAmJiBCUExJU1RfSURFTlRJRklFUi5CVUZGRVIuY29tcGFyZShkYXRhLCAwLCBCUExJU1RfSURFTlRJRklFUi5CVUZGRVIubGVuZ3RoKSA9PT0gMCkge1xuICAgIHJldHVybiBkYXRhO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBwbGlzdCBmcm9tIGFuIG9iamVjdFxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgSlMgb2JqZWN0IHRvIGJlIHR1cm5lZCBpbnRvIGEgcGxpc3RcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gYmluYXJ5IFNldCBpdCB0byB0cnVlIGZvciBhIGJpbmFyeSBwbGlzdFxuICogQHJldHVybnMge3N0cmluZ3xCdWZmZXJ9IHJldHVybnMgYSBidWZmZXIgb3IgYSBzdHJpbmcgaW4gcmVzcGVjdCB0byB0aGUgYmluYXJ5IHBhcmFtZXRlclxuICovXG5mdW5jdGlvbiBjcmVhdGVQbGlzdCAob2JqZWN0LCBiaW5hcnkgPSBmYWxzZSkge1xuICBpZiAoYmluYXJ5KSB7XG4gICAgcmV0dXJuIGNyZWF0ZUJpbmFyeVBsaXN0KG9iamVjdCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHhtbHBsaXN0LmJ1aWxkKG9iamVjdCk7XG4gIH1cbn1cblxuLyoqXG4gKiBQYXJzZXMgYW4gYnVmZmVyIG9yIGEgc3RyaW5nIHRvIGEgSlMgb2JqZWN0IGEgcGxpc3QgZnJvbSBhbiBvYmplY3RcbiAqIEBwYXJhbSB7c3RyaW5nfEJ1ZmZlcn0gZGF0YSBUaGUgcGxpc3QgaW4gdGhlIGZvcm0gb2Ygc3RyaW5nIG9yIEJ1ZmZlclxuICogQHJldHVybnMge09iamVjdH0gcGFyc2VkIHBsaXN0IEpTIE9iamVjdFxuICogQHRocm93cyBXaWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBwbGlzdCB0eXBlIGlzIHVua25vd25cbiAqL1xuZnVuY3Rpb24gcGFyc2VQbGlzdCAoZGF0YSkge1xuICBsZXQgdGV4dFBsaXN0ID0gZ2V0WG1sUGxpc3QoZGF0YSk7XG4gIGlmICh0ZXh0UGxpc3QpIHtcbiAgICByZXR1cm4geG1scGxpc3QucGFyc2UodGV4dFBsaXN0KTtcbiAgfVxuXG4gIGxldCBiaW5hcnlQbGlzdCA9IGdldEJpbmFyeVBsaXN0KGRhdGEpO1xuICBpZiAoYmluYXJ5UGxpc3QpIHtcbiAgICByZXR1cm4gcGFyc2VCaW5hcnlQbGlzdChiaW5hcnlQbGlzdClbMF07XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gdHlwZSBvZiBwbGlzdCwgZGF0YTogJHtkYXRhLnRvU3RyaW5nKCl9YCk7XG59XG5cbmV4cG9ydCB7IHBhcnNlUGxpc3RGaWxlLCBwYXJzZVBsaXN0LCBjcmVhdGVQbGlzdCwgdXBkYXRlUGxpc3RGaWxlLCBjcmVhdGVCaW5hcnlQbGlzdCwgcGFyc2VCaW5hcnlQbGlzdCB9O1xuIl0sImZpbGUiOiJsaWIvcGxpc3QuanMiLCJzb3VyY2VSb290IjoiLi4vLi4ifQ==
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9wbGlzdC5qcyJdLCJuYW1lcyI6WyJCUExJU1RfSURFTlRJRklFUiIsIkJVRkZFUiIsIkJ1ZmZlciIsImZyb20iLCJURVhUIiwiUExJU1RfSURFTlRJRklFUiIsInBhcnNlWG1sUGxpc3RGaWxlIiwicGxpc3RGaWxlbmFtZSIsInhtbENvbnRlbnQiLCJmcyIsInJlYWRGaWxlIiwieG1scGxpc3QiLCJwYXJzZSIsInBhcnNlUGxpc3RGaWxlIiwicGxpc3QiLCJtdXN0RXhpc3QiLCJxdWlldCIsImV4aXN0cyIsImxvZyIsImVycm9yQW5kVGhyb3ciLCJkZWJ1ZyIsIm9iaiIsInR5cGUiLCJicGxpc3RQYXJzZSIsInBhcnNlRmlsZSIsImxlbmd0aCIsIkVycm9yIiwiaWduIiwiZXJyIiwibWVzc2FnZSIsInVwZGF0ZVBsaXN0RmlsZSIsInVwZGF0ZWRGaWVsZHMiLCJiaW5hcnkiLCJfIiwiZXh0ZW5kIiwibmV3UGxpc3QiLCJidWlsZCIsIndyaXRlRmlsZSIsImNyZWF0ZUJpbmFyeVBsaXN0IiwiZGF0YSIsInBhcnNlQmluYXJ5UGxpc3QiLCJwYXJzZUJ1ZmZlciIsImdldFhtbFBsaXN0IiwiaXNTdHJpbmciLCJzdGFydHNXaXRoIiwiaXNCdWZmZXIiLCJjb21wYXJlIiwidG9TdHJpbmciLCJnZXRCaW5hcnlQbGlzdCIsImNyZWF0ZVBsaXN0Iiwib2JqZWN0IiwicGFyc2VQbGlzdCIsInRleHRQbGlzdCIsImJpbmFyeVBsaXN0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0EsTUFBTUEsaUJBQWlCLEdBQUc7QUFDeEJDLEVBQUFBLE1BQU0sRUFBRUMsTUFBTSxDQUFDQyxJQUFQLENBQVksVUFBWixDQURnQjtBQUV4QkMsRUFBQUEsSUFBSSxFQUFFO0FBRmtCLENBQTFCO0FBSUEsTUFBTUMsZ0JBQWdCLEdBQUc7QUFDdkJKLEVBQUFBLE1BQU0sRUFBRUMsTUFBTSxD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QyxNQUF0QixFQUE4QmxCLE1BQU0sR0FBRyxLQUF2QyxFQUE4QztBQUM1QyxNQUFJQSxNQUFKLEVBQVk7QUFDVixXQUFPTSxpQkFBaUIsQ0FBQ1ksTUFBRCxDQUF4QjtBQUNELEdBRkQsTUFFTztBQUNMLFdBQU92QyxlQUFTeUIsS0FBVCxDQUFlYyxNQUFmLENBQVA7QUFDRDtBQUNGOztBQVFELFNBQVNDLFVBQVQsQ0FBcUJaLElBQXJCLEVBQTJCO0FBQ3pCLE1BQUlhLFNBQVMsR0FBR1YsV0FBVyxDQUFDSCxJQUFELENBQTNCOztBQUNBLE1BQUlhLFNBQUosRUFBZTtBQUNiLFdBQU96QyxlQUFTQyxLQUFULENBQWV3QyxTQUFmLENBQVA7QUFDRDs7QUFFRCxNQUFJQyxXQUFXLEdBQUdMLGNBQWMsQ0FBQ1QsSUFBRCxDQUFoQzs7QUFDQSxNQUFJYyxXQUFKLEVBQWlCO0FBQ2YsV0FBT2IsZ0JBQWdCLENBQUNhLFdBQUQsQ0FBaEIsQ0FBOEIsQ0FBOUIsQ0FBUDtBQUNEOztBQUVELFFBQU0sSUFBSTNCLEtBQUosQ0FBVyxnQ0FBK0JhLElBQUksQ0FBQ1EsUUFBTCxFQUFnQixFQUExRCxDQUFOO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeG1scGxpc3QgZnJvbSAncGxpc3QnO1xuaW1wb3J0IGJwbGlzdENyZWF0ZSBmcm9tICdicGxpc3QtY3JlYXRvcic7XG5pbXBvcnQgYnBsaXN0UGFyc2UgZnJvbSAnYnBsaXN0LXBhcnNlcic7XG5pbXBvcnQgZnMgZnJvbSAnLi9mcyc7XG5pbXBvcnQgbG9nIGZyb20gJy4vbG9nZ2VyJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cblxuY29uc3QgQlBMSVNUX0lERU5USUZJRVIgPSB7XG4gIEJVRkZFUjogQnVmZmVyLmZyb20oJ2JwbGlzdDAwJyksXG4gIFRFWFQ6ICdicGxpc3QwMCdcbn07XG5jb25zdCBQTElTVF9JREVOVElGSUVSID0ge1xuICBCVUZGRVI6IEJ1ZmZlci5mcm9tKCc8JyksXG4gIFRFWFQ6ICc8J1xufTtcblxuLy8gWE1MIFBsaXN0IGxpYnJhcnkgaGVscGVyXG5hc3luYyBmdW5jdGlvbiBwYXJzZVhtbFBsaXN0RmlsZSAocGxpc3RGaWxlbmFtZSkge1xuICBsZXQgeG1sQ29udGVudCA9IGF3YWl0IGZzLnJlYWRGaWxlKHBsaXN0RmlsZW5hbWUsICd1dGY4Jyk7XG4gIHJldHVybiB4bWxwbGlzdC5wYXJzZSh4bWxDb250ZW50KTtcbn1cblxuLyoqXG4gKiBQYXJzZXMgYSBmaWxlIGluIHhtbCBvciBiaW5hcnkgZm9ybWF0IG9mIHBsaXN0XG4gKiBAcGFyYW0ge3N0cmluZ30gcGxpc3QgVGhlIHBsaXN0IGZpbGUgcGF0aFxuICogQHBhcmFtIHtib29sZWFufSBtdXN0RXhpc3QgSWYgc2V0IHRvIGZhbHNlLCB0aGlzIG1ldGhvZCB3aWxsIHJldHVybiBhbiBlbXB0eSBvYmplY3Qgd2hlbiB0aGUgZmlsZSBkb2Vzbid0IGV4aXN0XG4gKiBAcGFyYW0ge2Jvb2xlYW59IHF1aWV0IElmIHNldCB0byBmYWxzZSwgdGhlIHBsaXN0IHBhdGggd2lsbCBiZSBsb2dnZWQgaW4gZGVidWcgbGV2ZWxcbiAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59IHBhcnNlZCBwbGlzdCBKUyBPYmplY3RcbiAqL1xuYXN5bmMgZnVuY3Rpb24gcGFyc2VQbGlzdEZpbGUgKHBsaXN0LCBtdXN0RXhpc3QgPSB0cnVlLCBxdWlldCA9IHRydWUpIHtcbiAgLy8gaGFuZGxlIG5vbmV4aXN0YW50IGZpbGVcbiAgaWYgKCFhd2FpdCBmcy5leGlzdHMocGxpc3QpKSB7XG4gICAgaWYgKG11c3RFeGlzdCkge1xuICAgICAgbG9nLmVycm9yQW5kVGhyb3coYFBsaXN0IGZpbGUgZG9lc24ndCBleGlzdDogJyR7cGxpc3R9J2ApO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2cuZGVidWcoYFBsaXN0IGZpbGUgJyR7cGxpc3R9JyBkb2VzIG5vdCBleGlzdC4gUmV0dXJuaW5nIGFuIGVtcHR5IHBsaXN0LmApO1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgfVxuXG4gIGxldCBvYmogPSB7fTtcbiAgbGV0IHR5cGUgPSAnYmluYXJ5JztcbiAgdHJ5IHtcbiAgICBvYmogPSBhd2FpdCBicGxpc3RQYXJzZS5wYXJzZUZpbGUocGxpc3QpO1xuICAgIGlmIChvYmoubGVuZ3RoKSB7XG4gICAgICBvYmogPSBvYmpbMF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQmluYXJ5IGZpbGUgJyR7cGxpc3R9JycgYXBwZWFycyB0byBiZSBlbXB0eWApO1xuICAgIH1cbiAgfSBjYXRjaCAoaWduKSB7XG4gICAgdHJ5IHtcbiAgICAgIG9iaiA9IGF3YWl0IHBhcnNlWG1sUGxpc3RGaWxlKHBsaXN0KTtcbiAgICAgIHR5cGUgPSAneG1sJztcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGxvZy5lcnJvckFuZFRocm93KGBDb3VsZCBub3QgcGFyc2UgcGxpc3QgZmlsZSAnJHtwbGlzdH0nIGFzIFhNTDogJHtlcnIubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cblxuICBpZiAoIXF1aWV0KSB7XG4gICAgbG9nLmRlYnVnKGBQYXJzZWQgcGxpc3QgZmlsZSAnJHtwbGlzdH0nIGFzICR7dHlwZX1gKTtcbiAgfVxuICByZXR1cm4gb2JqO1xufVxuXG4vKipcbiAqIFVwZGF0ZXMgYSBwbGlzdCBmaWxlIHdpdGggdGhlIGdpdmVuIGZpZWxkc1xuICogQHBhcmFtIHtzdHJpbmd9IHBsaXN0IFRoZSBwbGlzdCBmaWxlIHBhdGhcbiAqIEBwYXJhbSB7T2JqZWN0fSB1cGRhdGVkRmllbGRzIFRoZSB1cGRhdGVkIGZpZWxkcy12YWx1ZSBwYWlyc1xuICogQHBhcmFtIHtib29sZWFufSBiaW5hcnkgSWYgc2V0IHRvIGZhbHNlLCB0aGUgZmlsZSB3aWxsIGJlIGNyZWF0ZWQgYXMgYSB4bWwgcGxpc3RcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gbXVzdEV4aXN0IElmIHNldCB0byBmYWxzZSwgdGhpcyBtZXRob2Qgd2lsbCB1cGRhdGUgYW4gZW1wdHkgcGxpc3RcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gcXVpZXQgSWYgc2V0IHRvIGZhbHNlLCB0aGUgcGxpc3QgcGF0aCB3aWxsIGJlIGxvZ2dlZCBpbiBkZWJ1ZyBsZXZlbFxuICovXG5hc3luYyBmdW5jdGlvbiB1cGRhdGVQbGlzdEZpbGUgKHBsaXN0LCB1cGRhdGVkRmllbGRzLCBiaW5hcnkgPSB0cnVlLCBtdXN0RXhpc3QgPSB0cnVlLCBxdWlldCA9IHRydWUpIHtcbiAgbGV0IG9iajtcbiAgdHJ5IHtcbiAgICBvYmogPSBhd2FpdCBwYXJzZVBsaXN0RmlsZShwbGlzdCwgbXVzdEV4aXN0KTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgbG9nLmVycm9yQW5kVGhyb3coYENvdWxkIG5vdCB1cGRhdGUgcGxpc3Q6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gIH1cbiAgXy5leHRlbmQob2JqLCB1cGRhdGVkRmllbGRzKTtcbiAgbGV0IG5ld1BsaXN0ID0gYmluYXJ5ID8gYnBsaXN0Q3JlYXRlKG9iaikgOiB4bWxwbGlzdC5idWlsZChvYmopO1xuICB0cnkge1xuICAgIGF3YWl0IGZzLndyaXRlRmlsZShwbGlzdCwgbmV3UGxpc3QpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBsb2cuZXJyb3JBbmRUaHJvdyhgQ291bGQgbm90IHNhdmUgcGxpc3Q6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gIH1cbiAgaWYgKCFxdWlldCkge1xuICAgIGxvZy5kZWJ1ZyhgV3JvdGUgcGxpc3QgZmlsZSAnJHtwbGlzdH0nYCk7XG4gIH1cbn1cbi8qKlxuICogQ3JlYXRlcyBhIGJpbmFyeSBwbGlzdCBCdWZmZXIgZnJvbSBhbiBvYmplY3RcbiAqIEBwYXJhbSB7T2JqZWN0fSBkYXRhIFRoZSBvYmplY3QgdG8gYmUgdHVybmVkIGludG8gYSBiaW5hcnkgcGxpc3RcbiAqIEByZXR1cm5zIHtCdWZmZXJ9IHBsaXN0IGluIHRoZSBmb3JtIG9mIGEgYmluYXJ5IGJ1ZmZlclxuICovXG5mdW5jdGlvbiBjcmVhdGVCaW5hcnlQbGlzdCAoZGF0YSkge1xuICByZXR1cm4gYnBsaXN0Q3JlYXRlKGRhdGEpO1xufVxuXG4vKipcbiAqIFBhcnNlcyBhIEJ1ZmZlciBpbnRvIGFuIE9iamVjdFxuICogQHBhcmFtIHtCdWZmZXJ9IGRhdGEgVGhlIGJlZmZlciBvZiBhIGJpbmFyeSBwbGlzdFxuICovXG5mdW5jdGlvbiBwYXJzZUJpbmFyeVBsaXN0IChkYXRhKSB7XG4gIC8vIHRoaXMgZnVuY3Rpb24gZXhpc3RzLCBidXQgaXMgbm90IGluIHRoZSB0eXBlIGRlY2xhcmF0aW9ucy5cbiAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICByZXR1cm4gYnBsaXN0UGFyc2UucGFyc2VCdWZmZXIoZGF0YSk7XG59XG5cbmZ1bmN0aW9uIGdldFhtbFBsaXN0IChkYXRhKSB7XG4gIGlmIChfLmlzU3RyaW5nKGRhdGEpICYmIGRhdGEuc3RhcnRzV2l0aChQTElTVF9JREVOVElGSUVSLlRFWFQpKSB7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cbiAgaWYgKF8uaXNCdWZmZXIoZGF0YSkgJiYgUExJU1RfSURFTlRJRklFUi5CVUZGRVIuY29tcGFyZShkYXRhLCAwLCBQTElTVF9JREVOVElGSUVSLkJVRkZFUi5sZW5ndGgpID09PSAwKSB7XG4gICAgcmV0dXJuIGRhdGEudG9TdHJpbmcoKTtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gZ2V0QmluYXJ5UGxpc3QgKGRhdGEpIHtcbiAgaWYgKF8uaXNTdHJpbmcoZGF0YSkgJiYgZGF0YS5zdGFydHNXaXRoKEJQTElTVF9JREVOVElGSUVSLlRFWFQpKSB7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKGRhdGEpO1xuICB9XG5cbiAgaWYgKF8uaXNCdWZmZXIoZGF0YSkgJiYgQlBMSVNUX0lERU5USUZJRVIuQlVGRkVSLmNvbXBhcmUoZGF0YSwgMCwgQlBMSVNUX0lERU5USUZJRVIuQlVGRkVSLmxlbmd0aCkgPT09IDApIHtcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgcGxpc3QgZnJvbSBhbiBvYmplY3RcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIEpTIG9iamVjdCB0byBiZSB0dXJuZWQgaW50byBhIHBsaXN0XG4gKiBAcGFyYW0ge2Jvb2xlYW59IGJpbmFyeSBTZXQgaXQgdG8gdHJ1ZSBmb3IgYSBiaW5hcnkgcGxpc3RcbiAqIEByZXR1cm5zIHtzdHJpbmd8QnVmZmVyfSByZXR1cm5zIGEgYnVmZmVyIG9yIGEgc3RyaW5nIGluIHJlc3BlY3QgdG8gdGhlIGJpbmFyeSBwYXJhbWV0ZXJcbiAqL1xuZnVuY3Rpb24gY3JlYXRlUGxpc3QgKG9iamVjdCwgYmluYXJ5ID0gZmFsc2UpIHtcbiAgaWYgKGJpbmFyeSkge1xuICAgIHJldHVybiBjcmVhdGVCaW5hcnlQbGlzdChvYmplY3QpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB4bWxwbGlzdC5idWlsZChvYmplY3QpO1xuICB9XG59XG5cbi8qKlxuICogUGFyc2VzIGFuIGJ1ZmZlciBvciBhIHN0cmluZyB0byBhIEpTIG9iamVjdCBhIHBsaXN0IGZyb20gYW4gb2JqZWN0XG4gKiBAcGFyYW0ge3N0cmluZ3xCdWZmZXJ9IGRhdGEgVGhlIHBsaXN0IGluIHRoZSBmb3JtIG9mIHN0cmluZyBvciBCdWZmZXJcbiAqIEByZXR1cm5zIHtPYmplY3R9IHBhcnNlZCBwbGlzdCBKUyBPYmplY3RcbiAqIEB0aHJvd3MgV2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgcGxpc3QgdHlwZSBpcyB1bmtub3duXG4gKi9cbmZ1bmN0aW9uIHBhcnNlUGxpc3QgKGRhdGEpIHtcbiAgbGV0IHRleHRQbGlzdCA9IGdldFhtbFBsaXN0KGRhdGEpO1xuICBpZiAodGV4dFBsaXN0KSB7XG4gICAgcmV0dXJuIHhtbHBsaXN0LnBhcnNlKHRleHRQbGlzdCk7XG4gIH1cblxuICBsZXQgYmluYXJ5UGxpc3QgPSBnZXRCaW5hcnlQbGlzdChkYXRhKTtcbiAgaWYgKGJpbmFyeVBsaXN0KSB7XG4gICAgcmV0dXJuIHBhcnNlQmluYXJ5UGxpc3QoYmluYXJ5UGxpc3QpWzBdO1xuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHR5cGUgb2YgcGxpc3QsIGRhdGE6ICR7ZGF0YS50b1N0cmluZygpfWApO1xufVxuXG5leHBvcnQgeyBwYXJzZVBsaXN0RmlsZSwgcGFyc2VQbGlzdCwgY3JlYXRlUGxpc3QsIHVwZGF0ZVBsaXN0RmlsZSwgY3JlYXRlQmluYXJ5UGxpc3QsIHBhcnNlQmluYXJ5UGxpc3QgfTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../lib/process.js"],"names":[],"mappings":"AAWA,4DAYC;AAED,0EAgBC"}
|
package/build/lib/process.js
CHANGED
|
@@ -45,7 +45,5 @@ async function killProcess(appName, force = false) {
|
|
|
45
45
|
throw new Error(`Error killing app '${appName}' with pkill: ${err.message}`);
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9wcm9jZXNzLmpzIl0sIm5hbWVzIjpbImdldFByb2Nlc3NJZHMiLCJhcHBOYW1lIiwicGlkcyIsInN0ZG91dCIsInRyaW0iLCJzcGxpdCIsIm1hcCIsInBpZCIsInBhcnNlSW50IiwiZXJyIiwiY29kZSIsIkVycm9yIiwibWVzc2FnZSIsImtpbGxQcm9jZXNzIiwiZm9yY2UiLCJsZW5ndGgiLCJhcmdzIiwicHVzaCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBOztBQVdBLGVBQWVBLGFBQWYsQ0FBOEJDLE9BQTlCLEVBQXVDO0FBQ3JDLE1BQUlDLElBQUo7O0FBQ0EsTUFBSTtBQUNGLFFBQUk7QUFBQ0MsTUFBQUE7QUFBRCxRQUFXLE1BQU0sd0JBQUssT0FBTCxFQUFjLENBQUMsSUFBRCxFQUFPRixPQUFQLENBQWQsQ0FBckI7QUFDQUMsSUFBQUEsSUFBSSxHQUFHQyxNQUFNLENBQUNDLElBQVAsR0FBY0MsS0FBZCxDQUFvQixJQUFwQixFQUEwQkMsR0FBMUIsQ0FBK0JDLEdBQUQsSUFBU0MsUUFBUSxDQUFDRCxHQUFELEVBQU0sRUFBTixDQUEvQyxDQUFQO0FBQ0QsR0FIRCxDQUdFLE9BQU9FLEdBQVAsRUFBWTtBQUNaLFFBQUlELFFBQVEsQ0FBQ0MsR0FBRyxDQUFDQyxJQUFMLEVBQVcsRUFBWCxDQUFSLEtBQTJCLENBQS9CLEVBQWtDO0FBQ2hDLFlBQU0sSUFBSUMsS0FBSixDQUFXLHNDQUFxQ1YsT0FBUSxNQUFLUSxHQUFHLENBQUNHLE9BQVEsRUFBekUsQ0FBTjtBQUNEOztBQUNEVixJQUFBQSxJQUFJLEdBQUcsRUFBUDtBQUNEOztBQUNELFNBQU9BLElBQVA7QUFDRDs7QUFFRCxlQUFlVyxXQUFmLENBQTRCWixPQUE1QixFQUFxQ2EsS0FBSyxHQUFHLEtBQTdDLEVBQW9EO0FBQ2xELE1BQUlaLElBQUksR0FBRyxNQUFNRixhQUFhLENBQUNDLE9BQUQsQ0FBOUI7O0FBQ0EsTUFBSUMsSUFBSSxDQUFDYSxNQUFMLEtBQWdCLENBQXBCLEVBQXVCO0FBRXJCO0FBQ0Q7O0FBRUQsTUFBSTtBQUNGLFFBQUlDLElBQUksR0FBR0YsS0FBSyxHQUFHLENBQUMsSUFBRCxDQUFILEdBQVksRUFBNUI7QUFDQUUsSUFBQUEsSUFBSSxDQUFDQyxJQUFMLENBQVUsSUFBVixFQUFnQmhCLE9BQWhCO0FBQ0EsVUFBTSx3QkFBSyxPQUFMLEVBQWNlLElBQWQsQ0FBTjtBQUNELEdBSkQsQ0FJRSxPQUFPUCxHQUFQLEVBQVk7QUFDWixRQUFJRCxRQUFRLENBQUNDLEdBQUcsQ0FBQ0MsSUFBTCxFQUFXLEVBQVgsQ0FBUixLQUEyQixDQUEvQixFQUFrQztBQUNoQyxZQUFNLElBQUlDLEtBQUosQ0FBVyxzQkFBcUJWLE9BQVEsaUJBQWdCUSxHQUFHLENBQUNHLE9BQVEsRUFBcEUsQ0FBTjtBQUNEO0FBQ0Y7QUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4ZWMgfSBmcm9tICd0ZWVuX3Byb2Nlc3MnO1xuXG5cbi8qXG4gKiBFeGl0IFN0YXR1cyBmb3IgcGdyZXAgYW5kIHBraWxsIChgbWFuIHBraWxsYClcbiAqICAwLiBPbmUgb3IgbW9yZSBwcm9jZXNzZXMgbWF0Y2hlZCB0aGUgY3JpdGVyaWEuXG4gKiAgMS4gTm8gcHJvY2Vzc2VzIG1hdGNoZWQuXG4gKiAgMi4gU3ludGF4IGVycm9yIGluIHRoZSBjb21tYW5kIGxpbmUuXG4gKiAgMy4gRmF0YWwgZXJyb3I6IG91dCBvZiBtZW1vcnkgZXRjLlxuICovXG5cbmFzeW5jIGZ1bmN0aW9uIGdldFByb2Nlc3NJZHMgKGFwcE5hbWUpIHtcbiAgbGV0IHBpZHM7XG4gIHRyeSB7XG4gICAgbGV0IHtzdGRvdXR9ID0gYXdhaXQgZXhlYygncGdyZXAnLCBbJy14JywgYXBwTmFtZV0pO1xuICAgIHBpZHMgPSBzdGRvdXQudHJpbSgpLnNwbGl0KCdcXG4nKS5tYXAoKHBpZCkgPT4gcGFyc2VJbnQocGlkLCAxMCkpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBpZiAocGFyc2VJbnQoZXJyLmNvZGUsIDEwKSAhPT0gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFcnJvciBnZXR0aW5nIHByb2Nlc3MgaWRzIGZvciBhcHAgJyR7YXBwTmFtZX0nOiAke2Vyci5tZXNzYWdlfWApO1xuICAgIH1cbiAgICBwaWRzID0gW107XG4gIH1cbiAgcmV0dXJuIHBpZHM7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGtpbGxQcm9jZXNzIChhcHBOYW1lLCBmb3JjZSA9IGZhbHNlKSB7XG4gIGxldCBwaWRzID0gYXdhaXQgZ2V0UHJvY2Vzc0lkcyhhcHBOYW1lKTtcbiAgaWYgKHBpZHMubGVuZ3RoID09PSAwKSB7XG4gICAgLy8gdGhlIHByb2Nlc3MgaXMgbm90IHJ1bm5pbmdcbiAgICByZXR1cm47XG4gIH1cblxuICB0cnkge1xuICAgIGxldCBhcmdzID0gZm9yY2UgPyBbJy05J10gOiBbXTtcbiAgICBhcmdzLnB1c2goJy14JywgYXBwTmFtZSk7XG4gICAgYXdhaXQgZXhlYygncGtpbGwnLCBhcmdzKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgaWYgKHBhcnNlSW50KGVyci5jb2RlLCAxMCkgIT09IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRXJyb3Iga2lsbGluZyBhcHAgJyR7YXBwTmFtZX0nIHdpdGggcGtpbGw6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCB7IGdldFByb2Nlc3NJZHMsIGtpbGxQcm9jZXNzIH07XG4iXSwiZmlsZSI6ImxpYi9wcm9jZXNzLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uIn0=
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9wcm9jZXNzLmpzIl0sIm5hbWVzIjpbImdldFByb2Nlc3NJZHMiLCJhcHBOYW1lIiwicGlkcyIsInN0ZG91dCIsInRyaW0iLCJzcGxpdCIsIm1hcCIsInBpZCIsInBhcnNlSW50IiwiZXJyIiwiY29kZSIsIkVycm9yIiwibWVzc2FnZSIsImtpbGxQcm9jZXNzIiwiZm9yY2UiLCJsZW5ndGgiLCJhcmdzIiwicHVzaCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBOztBQVdBLGVBQWVBLGFBQWYsQ0FBOEJDLE9BQTlCLEVBQXVDO0FBQ3JDLE1BQUlDLElBQUo7O0FBQ0EsTUFBSTtBQUNGLFFBQUk7QUFBQ0MsTUFBQUE7QUFBRCxRQUFXLE1BQU0sd0JBQUssT0FBTCxFQUFjLENBQUMsSUFBRCxFQUFPRixPQUFQLENBQWQsQ0FBckI7QUFDQUMsSUFBQUEsSUFBSSxHQUFHQyxNQUFNLENBQUNDLElBQVAsR0FBY0MsS0FBZCxDQUFvQixJQUFwQixFQUEwQkMsR0FBMUIsQ0FBK0JDLEdBQUQsSUFBU0MsUUFBUSxDQUFDRCxHQUFELEVBQU0sRUFBTixDQUEvQyxDQUFQO0FBQ0QsR0FIRCxDQUdFLE9BQU9FLEdBQVAsRUFBWTtBQUNaLFFBQUlELFFBQVEsQ0FBQ0MsR0FBRyxDQUFDQyxJQUFMLEVBQVcsRUFBWCxDQUFSLEtBQTJCLENBQS9CLEVBQWtDO0FBQ2hDLFlBQU0sSUFBSUMsS0FBSixDQUFXLHNDQUFxQ1YsT0FBUSxNQUFLUSxHQUFHLENBQUNHLE9BQVEsRUFBekUsQ0FBTjtBQUNEOztBQUNEVixJQUFBQSxJQUFJLEdBQUcsRUFBUDtBQUNEOztBQUNELFNBQU9BLElBQVA7QUFDRDs7QUFFRCxlQUFlVyxXQUFmLENBQTRCWixPQUE1QixFQUFxQ2EsS0FBSyxHQUFHLEtBQTdDLEVBQW9EO0FBQ2xELE1BQUlaLElBQUksR0FBRyxNQUFNRixhQUFhLENBQUNDLE9BQUQsQ0FBOUI7O0FBQ0EsTUFBSUMsSUFBSSxDQUFDYSxNQUFMLEtBQWdCLENBQXBCLEVBQXVCO0FBRXJCO0FBQ0Q7O0FBRUQsTUFBSTtBQUNGLFFBQUlDLElBQUksR0FBR0YsS0FBSyxHQUFHLENBQUMsSUFBRCxDQUFILEdBQVksRUFBNUI7QUFDQUUsSUFBQUEsSUFBSSxDQUFDQyxJQUFMLENBQVUsSUFBVixFQUFnQmhCLE9BQWhCO0FBQ0EsVUFBTSx3QkFBSyxPQUFMLEVBQWNlLElBQWQsQ0FBTjtBQUNELEdBSkQsQ0FJRSxPQUFPUCxHQUFQLEVBQVk7QUFDWixRQUFJRCxRQUFRLENBQUNDLEdBQUcsQ0FBQ0MsSUFBTCxFQUFXLEVBQVgsQ0FBUixLQUEyQixDQUEvQixFQUFrQztBQUNoQyxZQUFNLElBQUlDLEtBQUosQ0FBVyxzQkFBcUJWLE9BQVEsaUJBQWdCUSxHQUFHLENBQUNHLE9BQVEsRUFBcEUsQ0FBTjtBQUNEO0FBQ0Y7QUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4ZWMgfSBmcm9tICd0ZWVuX3Byb2Nlc3MnO1xuXG5cbi8qXG4gKiBFeGl0IFN0YXR1cyBmb3IgcGdyZXAgYW5kIHBraWxsIChgbWFuIHBraWxsYClcbiAqICAwLiBPbmUgb3IgbW9yZSBwcm9jZXNzZXMgbWF0Y2hlZCB0aGUgY3JpdGVyaWEuXG4gKiAgMS4gTm8gcHJvY2Vzc2VzIG1hdGNoZWQuXG4gKiAgMi4gU3ludGF4IGVycm9yIGluIHRoZSBjb21tYW5kIGxpbmUuXG4gKiAgMy4gRmF0YWwgZXJyb3I6IG91dCBvZiBtZW1vcnkgZXRjLlxuICovXG5cbmFzeW5jIGZ1bmN0aW9uIGdldFByb2Nlc3NJZHMgKGFwcE5hbWUpIHtcbiAgbGV0IHBpZHM7XG4gIHRyeSB7XG4gICAgbGV0IHtzdGRvdXR9ID0gYXdhaXQgZXhlYygncGdyZXAnLCBbJy14JywgYXBwTmFtZV0pO1xuICAgIHBpZHMgPSBzdGRvdXQudHJpbSgpLnNwbGl0KCdcXG4nKS5tYXAoKHBpZCkgPT4gcGFyc2VJbnQocGlkLCAxMCkpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBpZiAocGFyc2VJbnQoZXJyLmNvZGUsIDEwKSAhPT0gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFcnJvciBnZXR0aW5nIHByb2Nlc3MgaWRzIGZvciBhcHAgJyR7YXBwTmFtZX0nOiAke2Vyci5tZXNzYWdlfWApO1xuICAgIH1cbiAgICBwaWRzID0gW107XG4gIH1cbiAgcmV0dXJuIHBpZHM7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGtpbGxQcm9jZXNzIChhcHBOYW1lLCBmb3JjZSA9IGZhbHNlKSB7XG4gIGxldCBwaWRzID0gYXdhaXQgZ2V0UHJvY2Vzc0lkcyhhcHBOYW1lKTtcbiAgaWYgKHBpZHMubGVuZ3RoID09PSAwKSB7XG4gICAgLy8gdGhlIHByb2Nlc3MgaXMgbm90IHJ1bm5pbmdcbiAgICByZXR1cm47XG4gIH1cblxuICB0cnkge1xuICAgIGxldCBhcmdzID0gZm9yY2UgPyBbJy05J10gOiBbXTtcbiAgICBhcmdzLnB1c2goJy14JywgYXBwTmFtZSk7XG4gICAgYXdhaXQgZXhlYygncGtpbGwnLCBhcmdzKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgaWYgKHBhcnNlSW50KGVyci5jb2RlLCAxMCkgIT09IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRXJyb3Iga2lsbGluZyBhcHAgJyR7YXBwTmFtZX0nIHdpdGggcGtpbGw6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCB7IGdldFByb2Nlc3NJZHMsIGtpbGxQcm9jZXNzIH07XG4iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export function isWindows(): boolean;
|
|
2
|
+
export function isMac(): boolean;
|
|
3
|
+
export function isLinux(): boolean;
|
|
4
|
+
export function isOSWin64(): boolean;
|
|
5
|
+
export function arch(): Promise<"32" | "64" | undefined>;
|
|
6
|
+
export function macOsxVersion(): Promise<string>;
|
|
7
|
+
//# sourceMappingURL=system.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../lib/system.js"],"names":[],"mappings":"AAMA,qCAEC;AAED,iCAEC;AAED,mCAEC;AAED,qCAEC;AAED,yDAQC;AAED,iDAaC"}
|
package/build/lib/system.js
CHANGED
|
@@ -66,7 +66,5 @@ async function macOsxVersion() {
|
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
return versionMatch[1];
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zeXN0ZW0uanMiXSwibmFtZXMiOlsiVkVSU0lPTl9QQVRURVJOIiwiaXNXaW5kb3dzIiwib3MiLCJ0eXBlIiwiaXNNYWMiLCJpc0xpbnV4IiwiaXNPU1dpbjY0IiwicHJvY2VzcyIsImFyY2giLCJfIiwiaGFzIiwiZW52Iiwic3Rkb3V0IiwidHJpbSIsImlzNjQiLCJtYWNPc3hWZXJzaW9uIiwiZXJyIiwiRXJyb3IiLCJ2ZXJzaW9uTWF0Y2giLCJleGVjIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUEsTUFBTUEsZUFBZSxHQUFHLGNBQXhCOztBQUVBLFNBQVNDLFNBQVQsR0FBc0I7QUFDcEIsU0FBT0MsWUFBR0MsSUFBSCxPQUFjLFlBQXJCO0FBQ0Q7O0FBRUQsU0FBU0MsS0FBVCxHQUFrQjtBQUNoQixTQUFPRixZQUFHQyxJQUFILE9BQWMsUUFBckI7QUFDRDs7QUFFRCxTQUFTRSxPQUFULEdBQW9CO0FBQ2xCLFNBQU8sQ0FBQ0osU0FBUyxFQUFWLElBQWdCLENBQUNHLEtBQUssRUFBN0I7QUFDRDs7QUFFRCxTQUFTRSxTQUFULEdBQXNCO0FBQ3BCLFNBQU9DLE9BQU8sQ0FBQ0MsSUFBUixLQUFpQixLQUFqQixJQUEwQkMsZ0JBQUVDLEdBQUYsQ0FBTUgsT0FBTyxDQUFDSSxHQUFkLEVBQW1CLHdCQUFuQixDQUFqQztBQUNEOztBQUVELGVBQWVILElBQWYsR0FBdUI7QUFDckIsTUFBSUgsT0FBTyxNQUFNRCxLQUFLLEVBQXRCLEVBQTBCO0FBQ3hCLFFBQUk7QUFBQ1EsTUFBQUE7QUFBRCxRQUFXLE1BQU0sd0JBQUssT0FBTCxFQUFjLENBQUMsSUFBRCxDQUFkLENBQXJCO0FBQ0EsV0FBT0EsTUFBTSxDQUFDQyxJQUFQLE9BQWtCLE1BQWxCLEdBQTJCLElBQTNCLEdBQWtDLElBQXpDO0FBQ0QsR0FIRCxNQUdPLElBQUlaLFNBQVMsRUFBYixFQUFpQjtBQUN0QixRQUFJYSxJQUFJLEdBQUcsS0FBS1IsU0FBTCxFQUFYO0FBQ0EsV0FBT1EsSUFBSSxHQUFHLElBQUgsR0FBVSxJQUFyQjtBQUNEO0FBQ0Y7O0FBRUQsZUFBZUMsYUFBZixHQUFnQztBQUM5QixNQUFJSCxNQUFKOztBQUNBLE1BQUk7QUFDRkEsSUFBQUEsTUFBTSxHQUFHLENBQUMsTUFBTSx3QkFBSyxTQUFMLEVBQWdCLENBQUMsaUJBQUQsQ0FBaEIsQ0FBUCxFQUE2Q0EsTUFBN0MsQ0FBb0RDLElBQXBELEVBQVQ7QUFDRCxHQUZELENBRUUsT0FBT0csR0FBUCxFQUFZO0FBQ1osVUFBTSxJQUFJQyxLQUFKLENBQVcsc0NBQXFDRCxHQUFJLEVBQXBELENBQU47QUFDRDs7QUFFRCxRQUFNRSxZQUFZLEdBQUdsQixlQUFlLENBQUNtQixJQUFoQixDQUFxQlAsTUFBckIsQ0FBckI7O0FBQ0EsTUFBSSxDQUFDTSxZQUFMLEVBQW1CO0FBQ2pCLFVBQU0sSUFBSUQsS0FBSixDQUFXLDJEQUEwREwsTUFBTyxHQUE1RSxDQUFOO0FBQ0Q7O0FBQ0QsU0FBT00sWUFBWSxDQUFDLENBQUQsQ0FBbkI7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4ZWMgfSBmcm9tICd0ZWVuX3Byb2Nlc3MnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBvcyBmcm9tICdvcyc7XG5cbmNvbnN0IFZFUlNJT05fUEFUVEVSTiA9IC9eKFxcZCtcXC5cXGQrKS9tO1xuXG5mdW5jdGlvbiBpc1dpbmRvd3MgKCkge1xuICByZXR1cm4gb3MudHlwZSgpID09PSAnV2luZG93c19OVCc7XG59XG5cbmZ1bmN0aW9uIGlzTWFjICgpIHtcbiAgcmV0dXJuIG9zLnR5cGUoKSA9PT0gJ0Rhcndpbic7XG59XG5cbmZ1bmN0aW9uIGlzTGludXggKCkge1xuICByZXR1cm4gIWlzV2luZG93cygpICYmICFpc01hYygpO1xufVxuXG5mdW5jdGlvbiBpc09TV2luNjQgKCkge1xuICByZXR1cm4gcHJvY2Vzcy5hcmNoID09PSAneDY0JyB8fCBfLmhhcyhwcm9jZXNzLmVudiwgJ1BST0NFU1NPUl9BUkNISVRFVzY0MzInKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gYXJjaCAoKSB7XG4gIGlmIChpc0xpbnV4KCkgfHwgaXNNYWMoKSkge1xuICAgIGxldCB7c3Rkb3V0fSA9IGF3YWl0IGV4ZWMoJ3VuYW1lJywgWyctbSddKTtcbiAgICByZXR1cm4gc3Rkb3V0LnRyaW0oKSA9PT0gJ2k2ODYnID8gJzMyJyA6ICc2NCc7XG4gIH0gZWxzZSBpZiAoaXNXaW5kb3dzKCkpIHtcbiAgICBsZXQgaXM2NCA9IHRoaXMuaXNPU1dpbjY0KCk7XG4gICAgcmV0dXJuIGlzNjQgPyAnNjQnIDogJzMyJztcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBtYWNPc3hWZXJzaW9uICgpIHtcbiAgbGV0IHN0ZG91dDtcbiAgdHJ5IHtcbiAgICBzdGRvdXQgPSAoYXdhaXQgZXhlYygnc3dfdmVycycsIFsnLXByb2R1Y3RWZXJzaW9uJ10pKS5zdGRvdXQudHJpbSgpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBkZXRlY3QgTWFjIE9TIFggVmVyc2lvbjogJHtlcnJ9YCk7XG4gIH1cblxuICBjb25zdCB2ZXJzaW9uTWF0Y2ggPSBWRVJTSU9OX1BBVFRFUk4uZXhlYyhzdGRvdXQpO1xuICBpZiAoIXZlcnNpb25NYXRjaCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGRldGVjdCBNYWMgT1MgWCBWZXJzaW9uIGZyb20gc3dfdmVycyBvdXRwdXQ6ICcke3N0ZG91dH0nYCk7XG4gIH1cbiAgcmV0dXJuIHZlcnNpb25NYXRjaFsxXTtcbn1cblxuZXhwb3J0IHsgaXNXaW5kb3dzLCBpc01hYywgaXNMaW51eCwgaXNPU1dpbjY0LCBhcmNoLCBtYWNPc3hWZXJzaW9uIH07XG4iXSwiZmlsZSI6ImxpYi9zeXN0ZW0uanMiLCJzb3VyY2VSb290IjoiLi4vLi4ifQ==
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9zeXN0ZW0uanMiXSwibmFtZXMiOlsiVkVSU0lPTl9QQVRURVJOIiwiaXNXaW5kb3dzIiwib3MiLCJ0eXBlIiwiaXNNYWMiLCJpc0xpbnV4IiwiaXNPU1dpbjY0IiwicHJvY2VzcyIsImFyY2giLCJfIiwiaGFzIiwiZW52Iiwic3Rkb3V0IiwidHJpbSIsImlzNjQiLCJtYWNPc3hWZXJzaW9uIiwiZXJyIiwiRXJyb3IiLCJ2ZXJzaW9uTWF0Y2giLCJleGVjIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUEsTUFBTUEsZUFBZSxHQUFHLGNBQXhCOztBQUVBLFNBQVNDLFNBQVQsR0FBc0I7QUFDcEIsU0FBT0MsWUFBR0MsSUFBSCxPQUFjLFlBQXJCO0FBQ0Q7O0FBRUQsU0FBU0MsS0FBVCxHQUFrQjtBQUNoQixTQUFPRixZQUFHQyxJQUFILE9BQWMsUUFBckI7QUFDRDs7QUFFRCxTQUFTRSxPQUFULEdBQW9CO0FBQ2xCLFNBQU8sQ0FBQ0osU0FBUyxFQUFWLElBQWdCLENBQUNHLEtBQUssRUFBN0I7QUFDRDs7QUFFRCxTQUFTRSxTQUFULEdBQXNCO0FBQ3BCLFNBQU9DLE9BQU8sQ0FBQ0MsSUFBUixLQUFpQixLQUFqQixJQUEwQkMsZ0JBQUVDLEdBQUYsQ0FBTUgsT0FBTyxDQUFDSSxHQUFkLEVBQW1CLHdCQUFuQixDQUFqQztBQUNEOztBQUVELGVBQWVILElBQWYsR0FBdUI7QUFDckIsTUFBSUgsT0FBTyxNQUFNRCxLQUFLLEVBQXRCLEVBQTBCO0FBQ3hCLFFBQUk7QUFBQ1EsTUFBQUE7QUFBRCxRQUFXLE1BQU0sd0JBQUssT0FBTCxFQUFjLENBQUMsSUFBRCxDQUFkLENBQXJCO0FBQ0EsV0FBT0EsTUFBTSxDQUFDQyxJQUFQLE9BQWtCLE1BQWxCLEdBQTJCLElBQTNCLEdBQWtDLElBQXpDO0FBQ0QsR0FIRCxNQUdPLElBQUlaLFNBQVMsRUFBYixFQUFpQjtBQUN0QixRQUFJYSxJQUFJLEdBQUcsS0FBS1IsU0FBTCxFQUFYO0FBQ0EsV0FBT1EsSUFBSSxHQUFHLElBQUgsR0FBVSxJQUFyQjtBQUNEO0FBQ0Y7O0FBRUQsZUFBZUMsYUFBZixHQUFnQztBQUM5QixNQUFJSCxNQUFKOztBQUNBLE1BQUk7QUFDRkEsSUFBQUEsTUFBTSxHQUFHLENBQUMsTUFBTSx3QkFBSyxTQUFMLEVBQWdCLENBQUMsaUJBQUQsQ0FBaEIsQ0FBUCxFQUE2Q0EsTUFBN0MsQ0FBb0RDLElBQXBELEVBQVQ7QUFDRCxHQUZELENBRUUsT0FBT0csR0FBUCxFQUFZO0FBQ1osVUFBTSxJQUFJQyxLQUFKLENBQVcsc0NBQXFDRCxHQUFJLEVBQXBELENBQU47QUFDRDs7QUFFRCxRQUFNRSxZQUFZLEdBQUdsQixlQUFlLENBQUNtQixJQUFoQixDQUFxQlAsTUFBckIsQ0FBckI7O0FBQ0EsTUFBSSxDQUFDTSxZQUFMLEVBQW1CO0FBQ2pCLFVBQU0sSUFBSUQsS0FBSixDQUFXLDJEQUEwREwsTUFBTyxHQUE1RSxDQUFOO0FBQ0Q7O0FBQ0QsU0FBT00sWUFBWSxDQUFDLENBQUQsQ0FBbkI7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4ZWMgfSBmcm9tICd0ZWVuX3Byb2Nlc3MnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBvcyBmcm9tICdvcyc7XG5cbmNvbnN0IFZFUlNJT05fUEFUVEVSTiA9IC9eKFxcZCtcXC5cXGQrKS9tO1xuXG5mdW5jdGlvbiBpc1dpbmRvd3MgKCkge1xuICByZXR1cm4gb3MudHlwZSgpID09PSAnV2luZG93c19OVCc7XG59XG5cbmZ1bmN0aW9uIGlzTWFjICgpIHtcbiAgcmV0dXJuIG9zLnR5cGUoKSA9PT0gJ0Rhcndpbic7XG59XG5cbmZ1bmN0aW9uIGlzTGludXggKCkge1xuICByZXR1cm4gIWlzV2luZG93cygpICYmICFpc01hYygpO1xufVxuXG5mdW5jdGlvbiBpc09TV2luNjQgKCkge1xuICByZXR1cm4gcHJvY2Vzcy5hcmNoID09PSAneDY0JyB8fCBfLmhhcyhwcm9jZXNzLmVudiwgJ1BST0NFU1NPUl9BUkNISVRFVzY0MzInKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gYXJjaCAoKSB7XG4gIGlmIChpc0xpbnV4KCkgfHwgaXNNYWMoKSkge1xuICAgIGxldCB7c3Rkb3V0fSA9IGF3YWl0IGV4ZWMoJ3VuYW1lJywgWyctbSddKTtcbiAgICByZXR1cm4gc3Rkb3V0LnRyaW0oKSA9PT0gJ2k2ODYnID8gJzMyJyA6ICc2NCc7XG4gIH0gZWxzZSBpZiAoaXNXaW5kb3dzKCkpIHtcbiAgICBsZXQgaXM2NCA9IHRoaXMuaXNPU1dpbjY0KCk7XG4gICAgcmV0dXJuIGlzNjQgPyAnNjQnIDogJzMyJztcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBtYWNPc3hWZXJzaW9uICgpIHtcbiAgbGV0IHN0ZG91dDtcbiAgdHJ5IHtcbiAgICBzdGRvdXQgPSAoYXdhaXQgZXhlYygnc3dfdmVycycsIFsnLXByb2R1Y3RWZXJzaW9uJ10pKS5zdGRvdXQudHJpbSgpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBkZXRlY3QgTWFjIE9TIFggVmVyc2lvbjogJHtlcnJ9YCk7XG4gIH1cblxuICBjb25zdCB2ZXJzaW9uTWF0Y2ggPSBWRVJTSU9OX1BBVFRFUk4uZXhlYyhzdGRvdXQpO1xuICBpZiAoIXZlcnNpb25NYXRjaCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGRldGVjdCBNYWMgT1MgWCBWZXJzaW9uIGZyb20gc3dfdmVycyBvdXRwdXQ6ICcke3N0ZG91dH0nYCk7XG4gIH1cbiAgcmV0dXJuIHZlcnNpb25NYXRjaFsxXTtcbn1cblxuZXhwb3J0IHsgaXNXaW5kb3dzLCBpc01hYywgaXNMaW51eCwgaXNPU1dpbjY0LCBhcmNoLCBtYWNPc3hWZXJzaW9uIH07XG4iXX0=
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export type Affixes = {
|
|
2
|
+
/**
|
|
3
|
+
* - prefix of the temp directory name
|
|
4
|
+
*/
|
|
5
|
+
prefix?: string | undefined;
|
|
6
|
+
/**
|
|
7
|
+
* - suffix of the temp directory name
|
|
8
|
+
*/
|
|
9
|
+
suffix?: string | undefined;
|
|
10
|
+
};
|
|
11
|
+
export type OpenedAffixes = {
|
|
12
|
+
/**
|
|
13
|
+
* - The path to file
|
|
14
|
+
*/
|
|
15
|
+
path: string;
|
|
16
|
+
/**
|
|
17
|
+
* - The file descriptor opened
|
|
18
|
+
*/
|
|
19
|
+
fd: number;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* @typedef OpenedAffixes
|
|
23
|
+
* @property {string} path - The path to file
|
|
24
|
+
* @property {number} fd - The file descriptor opened
|
|
25
|
+
*/
|
|
26
|
+
/**
|
|
27
|
+
* Generate a temporary directory in os.tempdir() or process.env.APPIUM_TMP_DIR
|
|
28
|
+
* with arbitrary prefix/suffix for the directory name and return it as open.
|
|
29
|
+
*
|
|
30
|
+
* @param {Affixes} affixes
|
|
31
|
+
* @returns {Promise<OpenedAffixes>}
|
|
32
|
+
*/
|
|
33
|
+
export function open(affixes: Affixes): Promise<OpenedAffixes>;
|
|
34
|
+
/**
|
|
35
|
+
* @typedef Affixes
|
|
36
|
+
* @property {string} [prefix] - prefix of the temp directory name
|
|
37
|
+
* @property {string} [suffix] - suffix of the temp directory name
|
|
38
|
+
*/
|
|
39
|
+
/**
|
|
40
|
+
* Generate a temporary directory in os.tempdir() or process.env.APPIUM_TMP_DIR
|
|
41
|
+
* with arbitrary prefix/suffix for the directory name.
|
|
42
|
+
*
|
|
43
|
+
* @param {string|Affixes} rawAffixes
|
|
44
|
+
* @param {string} [defaultPrefix]
|
|
45
|
+
* @returns {Promise<string>} A path to the temporary directory with rawAffixes and defaultPrefix
|
|
46
|
+
*/
|
|
47
|
+
export function path(rawAffixes: string | Affixes, defaultPrefix?: string | undefined): Promise<string>;
|
|
48
|
+
/**
|
|
49
|
+
* Generate a temporary directory in os.tempdir() or process.env.APPIUM_TMP_DIR.
|
|
50
|
+
* e.g.
|
|
51
|
+
* - No `process.env.APPIUM_TMP_DIR`: `/var/folders/34/2222sh8n27d6rcp7jqlkw8km0000gn/T/xxxxxxxx.yyyy`
|
|
52
|
+
* - With `process.env.APPIUM_TMP_DIR = '/path/to/root'`: `/path/to/root/xxxxxxxx.yyyy`
|
|
53
|
+
*
|
|
54
|
+
* @returns {Promise<string>} A path to the temporary directory
|
|
55
|
+
*/
|
|
56
|
+
export function openDir(): Promise<string>;
|
|
57
|
+
/**
|
|
58
|
+
* Returns a path to a temporary directory whcih is defined as static in the same process
|
|
59
|
+
*
|
|
60
|
+
* @returns {Promise<string>} A temp directory path whcih is defined as static in the same process
|
|
61
|
+
*/
|
|
62
|
+
export function staticDir(): Promise<string>;
|
|
63
|
+
//# sourceMappingURL=tempdir.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tempdir.d.ts","sourceRoot":"","sources":["../../lib/tempdir.js"],"names":[],"mappings":";;;;;;;;;;;;;;UAyDc,MAAM;;;;QACN,MAAM;;AAHpB;;;;GAIG;AAEH;;;;;;GAMG;AACH,8BAHW,OAAO,GACL,QAAQ,aAAa,CAAC,CAWlC;AA3CD;;;;GAIG;AAEH;;;;;;;GAOG;AACH,iCAJW,MAAM,GAAC,OAAO,uCAEZ,QAAQ,MAAM,CAAC,CAO3B;AA5CD;;;;;;;GAOG;AACH,2BAFa,QAAQ,MAAM,CAAC,CAiB3B;AAoFD;;;;GAIG;AACH,6BAFa,QAAQ,MAAM,CAAC,CAI3B"}
|
package/build/lib/tempdir.js
CHANGED
|
@@ -50,15 +50,12 @@ async function open(affixes) {
|
|
|
50
50
|
fd
|
|
51
51
|
};
|
|
52
52
|
} catch (err) {
|
|
53
|
-
_logger.default.errorAndThrow(err);
|
|
53
|
+
return _logger.default.errorAndThrow(err);
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
function parseAffixes(rawAffixes, defaultPrefix) {
|
|
58
|
-
let affixes = {
|
|
59
|
-
prefix: null,
|
|
60
|
-
suffix: null
|
|
61
|
-
};
|
|
58
|
+
let affixes = {};
|
|
62
59
|
|
|
63
60
|
if (rawAffixes) {
|
|
64
61
|
switch (typeof rawAffixes) {
|
|
@@ -87,7 +84,5 @@ exports.openDir = openDir;
|
|
|
87
84
|
|
|
88
85
|
async function staticDir() {
|
|
89
86
|
return _static;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi90ZW1wZGlyLmpzIl0sIm5hbWVzIjpbIlJEV1JfRVhDTCIsImNuc3QiLCJPX0NSRUFUIiwiT19UUlVOQyIsIk9fUkRXUiIsIk9fRVhDTCIsInRlbXBEaXIiLCJub3ciLCJEYXRlIiwiZmlsZVBhdGgiLCJub2RlUGF0aCIsImpvaW4iLCJwcm9jZXNzIiwiZW52IiwiQVBQSVVNX1RNUF9ESVIiLCJvcyIsInRtcGRpciIsImdldEZ1bGxZZWFyIiwiZ2V0TW9udGgiLCJnZXREYXRlIiwicGlkIiwiTWF0aCIsInJhbmRvbSIsInRvU3RyaW5nIiwiZnMiLCJta2RpciIsInBhdGgiLCJyYXdBZmZpeGVzIiwiZGVmYXVsdFByZWZpeCIsImFmZml4ZXMiLCJwYXJzZUFmZml4ZXMiLCJuYW1lIiwicHJlZml4Iiwic3VmZml4IiwidGVtcERpcmVjdG9yeSIsIm9wZW4iLCJmZCIsImVyciIsImxvZyIsImVycm9yQW5kVGhyb3ciLCJFcnJvciIsIl9zdGF0aWMiLCJvcGVuRGlyIiwic3RhdGljRGlyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLE1BQU1BLFNBQVMsR0FBR0MsbUJBQUtDLE9BQUwsR0FBZUQsbUJBQUtFLE9BQXBCLEdBQThCRixtQkFBS0csTUFBbkMsR0FBNENILG1CQUFLSSxNQUFuRTs7QUFVQSxlQUFlQyxPQUFmLEdBQTBCO0FBQ3hCLFFBQU1DLEdBQUcsR0FBRyxJQUFJQyxJQUFKLEVBQVo7O0FBQ0EsUUFBTUMsUUFBUSxHQUFHQyxjQUFTQyxJQUFULENBQWNDLE9BQU8sQ0FBQ0MsR0FBUixDQUFZQyxjQUFaLElBQThCQyxZQUFHQyxNQUFILEVBQTVDLEVBQ2YsQ0FDRVQsR0FBRyxDQUFDVSxXQUFKLEVBREYsRUFDcUJWLEdBQUcsQ0FBQ1csUUFBSixFQURyQixFQUNxQ1gsR0FBRyxDQUFDWSxPQUFKLEVBRHJDLEVBRUUsR0FGRixFQUdFUCxPQUFPLENBQUNRLEdBSFYsRUFJRSxHQUpGLEVBS0UsQ0FBQ0MsSUFBSSxDQUFDQyxNQUFMLEtBQWdCLFdBQWhCLEdBQThCLENBQS9CLEVBQWtDQyxRQUFsQyxDQUEyQyxFQUEzQyxDQUxGLEVBTUVaLElBTkYsQ0FNTyxFQU5QLENBRGUsQ0FBakI7O0FBVUEsUUFBTWEsWUFBR0MsS0FBSCxDQUFTaEIsUUFBVCxDQUFOO0FBRUEsU0FBT0EsUUFBUDtBQUNEOztBQWdCRCxlQUFlaUIsSUFBZixDQUFxQkMsVUFBckIsRUFBaUNDLGFBQWpDLEVBQWdEO0FBQzlDLFFBQU1DLE9BQU8sR0FBR0MsWUFBWSxDQUFDSCxVQUFELEVBQWFDLGFBQWIsQ0FBNUI7QUFDQSxRQUFNRyxJQUFJLEdBQUksR0FBRUYsT0FBTyxDQUFDRyxNQUFSLElBQWtCLEVBQUcsR0FBRUgsT0FBTyxDQUFDSSxNQUFSLElBQWtCLEVBQUcsRUFBNUQ7QUFDQSxRQUFNQyxhQUFhLEdBQUcsTUFBTTVCLE9BQU8sRUFBbkM7QUFDQSxTQUFPSSxjQUFTQyxJQUFULENBQWN1QixhQUFkLEVBQTZCSCxJQUE3QixDQUFQO0FBQ0Q7O0FBZUQsZUFBZUksSUFBZixDQUFxQk4sT0FBckIsRUFBOEI7QUFDNUIsUUFBTXBCLFFBQVEsR0FBRyxNQUFNaUIsSUFBSSxDQUFDRyxPQUFELEVBQVUsSUFBVixDQUEzQjs7QUFDQSxNQUFJO0FBQ0YsUUFBSU8sRUFBRSxHQUFHLE1BQU1aLFlBQUdXLElBQUgsQ0FBUTFCLFFBQVIsRUFBa0JULFNBQWxCLEVBQTZCLEtBQTdCLENBQWY7QUFFQSxXQUFPO0FBQUMwQixNQUFBQSxJQUFJLEVBQUVqQixRQUFQO0FBQWlCMkIsTUFBQUE7QUFBakIsS0FBUDtBQUNELEdBSkQsQ0FJRSxPQUFPQyxHQUFQLEVBQVk7QUFDWkMsb0JBQUlDLGFBQUosQ0FBa0JGLEdBQWxCO0FBQ0Q7QUFDRjs7QUFVRCxTQUFTUCxZQUFULENBQXVCSCxVQUF2QixFQUFtQ0MsYUFBbkMsRUFBa0Q7QUFDaEQsTUFBSUMsT0FBTyxHQUFHO0FBQUNHLElBQUFBLE1BQU0sRUFBRSxJQUFUO0FBQWVDLElBQUFBLE1BQU0sRUFBRTtBQUF2QixHQUFkOztBQUNBLE1BQUlOLFVBQUosRUFBZ0I7QUFDZCxZQUFRLE9BQU9BLFVBQWY7QUFDRSxXQUFLLFFBQUw7QUFDRUUsUUFBQUEsT0FBTyxDQUFDRyxNQUFSLEdBQWlCTCxVQUFqQjtBQUNBOztBQUNGLFdBQUssUUFBTDtBQUNFRSxRQUFBQSxPQUFPLEdBQUdGLFVBQVY7QUFDQTs7QUFDRjtBQUNFLGNBQU0sSUFBSWEsS0FBSixDQUFXLDhCQUE2QlgsT0FBUSxFQUFoRCxDQUFOO0FBUko7QUFVRCxHQVhELE1BV087QUFDTEEsSUFBQUEsT0FBTyxDQUFDRyxNQUFSLEdBQWlCSixhQUFqQjtBQUNEOztBQUNELFNBQU9DLE9BQVA7QUFDRDs7QUFFRCxNQUFNWSxPQUFPLEdBQUduQyxPQUFPLEVBQXZCOztBQU9BLE1BQU1vQyxPQUFPLEdBQUdwQyxPQUFoQjs7O0FBT0EsZUFBZXFDLFNBQWYsR0FBNEI7QUFDMUIsU0FBT0YsT0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLyogVGhpcyBsaWJyYXJ5IGlzIG9yaWdpbmF0ZWQgZnJvbSB0ZW1wLmpzIGF0IGh0dHA6Ly9naXRodWIuY29tL2JydWNlL25vZGUtdGVtcCAqL1xuaW1wb3J0IGZzIGZyb20gJy4vZnMnO1xuaW1wb3J0IG9zIGZyb20gJ29zJztcbmltcG9ydCBub2RlUGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBjbnN0IGZyb20gJ2NvbnN0YW50cyc7XG5pbXBvcnQgbG9nIGZyb20gJy4vbG9nZ2VyJztcblxuY29uc3QgUkRXUl9FWENMID0gY25zdC5PX0NSRUFUIHwgY25zdC5PX1RSVU5DIHwgY25zdC5PX1JEV1IgfCBjbnN0Lk9fRVhDTDtcblxuLyoqXG4gKiBHZW5lcmF0ZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgaW4gb3MudGVtcGRpcigpIG9yIHByb2Nlc3MuZW52LkFQUElVTV9UTVBfRElSLlxuICogZS5nLlxuICogLSBObyBgcHJvY2Vzcy5lbnYuQVBQSVVNX1RNUF9ESVJgOiBgL3Zhci9mb2xkZXJzLzM0LzIyMjJzaDhuMjdkNnJjcDdqcWxrdzhrbTAwMDBnbi9UL3h4eHh4eHh4Lnl5eXlgXG4gKiAtIFdpdGggYHByb2Nlc3MuZW52LkFQUElVTV9UTVBfRElSID0gJy9wYXRoL3RvL3Jvb3QnYDogYC9wYXRoL3RvL3Jvb3QveHh4eHh4eHgueXl5eWBcbiAqXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBBIHBhdGggdG8gdGhlIHRlbXBvcmFyeSBkaXJlY3RvcnlcbiAqL1xuYXN5bmMgZnVuY3Rpb24gdGVtcERpciAoKSB7XG4gIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gIGNvbnN0IGZpbGVQYXRoID0gbm9kZVBhdGguam9pbihwcm9jZXNzLmVudi5BUFBJVU1fVE1QX0RJUiB8fCBvcy50bXBkaXIoKSxcbiAgICBbXG4gICAgICBub3cuZ2V0RnVsbFllYXIoKSwgbm93LmdldE1vbnRoKCksIG5vdy5nZXREYXRlKCksXG4gICAgICAnLScsXG4gICAgICBwcm9jZXNzLnBpZCxcbiAgICAgICctJyxcbiAgICAgIChNYXRoLnJhbmRvbSgpICogMHgxMDAwMDAwMDAgKyAxKS50b1N0cmluZygzNiksXG4gICAgXS5qb2luKCcnKSk7XG4gIC8vIGNyZWF0ZXMgYSB0ZW1wIGRpcmVjdG9yeSB1c2luZyB0aGUgZGF0ZSBhbmQgYSByYW5kb20gc3RyaW5nXG5cbiAgYXdhaXQgZnMubWtkaXIoZmlsZVBhdGgpO1xuXG4gIHJldHVybiBmaWxlUGF0aDtcbn1cblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBBZmZpeGVzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gcHJlZml4IC0gcHJlZml4IG9mIHRoZSB0ZW1wIGRpcmVjdG9yeSBuYW1lXG4gKiBAcHJvcGVydHkge3N0cmluZ30gc3VmZml4IC0gc3VmZml4IG9mIHRoZSB0ZW1wIGRpcmVjdG9yeSBuYW1lXG4gKi9cblxuLyoqXG4gKiBHZW5lcmF0ZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgaW4gb3MudGVtcGRpcigpIG9yIHByb2Nlc3MuZW52LkFQUElVTV9UTVBfRElSXG4gKiB3aXRoIGFyYml0cmFyeSBwcmVmaXgvc3VmZml4IGZvciB0aGUgZGlyZWN0b3J5IG5hbWUuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd8QWZmaXhlc30gcmF3QWZmaXhlc1xuICogQHBhcmFtIHs/c3RyaW5nfSBkZWZhdWx0UHJlZml4XG4gKiBAcmV0dXJucyB7c3RyaW5nfSAgQSBwYXRoIHRvIHRoZSB0ZW1wb3JhcnkgZGlyZWN0b3J5IHdpdGggcmF3QWZmaXhlcyBhbmQgZGVmYXVsdFByZWZpeFxuICovXG5hc3luYyBmdW5jdGlvbiBwYXRoIChyYXdBZmZpeGVzLCBkZWZhdWx0UHJlZml4KSB7XG4gIGNvbnN0IGFmZml4ZXMgPSBwYXJzZUFmZml4ZXMocmF3QWZmaXhlcywgZGVmYXVsdFByZWZpeCk7XG4gIGNvbnN0IG5hbWUgPSBgJHthZmZpeGVzLnByZWZpeCB8fCAnJ30ke2FmZml4ZXMuc3VmZml4IHx8ICcnfWA7XG4gIGNvbnN0IHRlbXBEaXJlY3RvcnkgPSBhd2FpdCB0ZW1wRGlyKCk7XG4gIHJldHVybiBub2RlUGF0aC5qb2luKHRlbXBEaXJlY3RvcnksIG5hbWUpO1xufVxuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IE9wZW5lZEFmZml4ZXNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBwYXRoIC0gVGhlIHBhdGggdG8gZmlsZVxuICogQHByb3BlcnR5IHtpbnRlZ2VyfSBmZCAtIFRoZSBmaWxlIGRlc2NyaXB0b3Igb3BlbmVkXG4gKi9cblxuLyoqXG4gKiBHZW5lcmF0ZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgaW4gb3MudGVtcGRpcigpIG9yIHByb2Nlc3MuZW52LkFQUElVTV9UTVBfRElSXG4gKiB3aXRoIGFyYml0cmFyeSBwcmVmaXgvc3VmZml4IGZvciB0aGUgZGlyZWN0b3J5IG5hbWUgYW5kIHJldHVybiBpdCBhcyBvcGVuLlxuICpcbiAqIEBwYXJhbSB7QWZmaXhlc30gYWZmaXhlc1xuICogQHJldHVybnMge09wZW5lZEFmZml4ZXN9XG4gKi9cbmFzeW5jIGZ1bmN0aW9uIG9wZW4gKGFmZml4ZXMpIHtcbiAgY29uc3QgZmlsZVBhdGggPSBhd2FpdCBwYXRoKGFmZml4ZXMsICdmLScpO1xuICB0cnkge1xuICAgIGxldCBmZCA9IGF3YWl0IGZzLm9wZW4oZmlsZVBhdGgsIFJEV1JfRVhDTCwgMG82MDApO1xuICAgIC8vIG9wZW5zIHRoZSBmaWxlIGluIG1vZGUgMzg0XG4gICAgcmV0dXJuIHtwYXRoOiBmaWxlUGF0aCwgZmR9O1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBsb2cuZXJyb3JBbmRUaHJvdyhlcnIpO1xuICB9XG59XG5cbi8qKlxuICpcbiAqIFJldHVybnMgcHJlZml4L3N1ZmZpeCBvYmplY3RcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ3xBZmZpeGVzfSByYXdBZmZpeGVzXG4gKiBAcGFyYW0gez9zdHJpbmd9IGRlZmF1bHRQcmVmaXhcbiAqIEByZXR1cm5zIHtBZmZpeGVzfVxuICovXG5mdW5jdGlvbiBwYXJzZUFmZml4ZXMgKHJhd0FmZml4ZXMsIGRlZmF1bHRQcmVmaXgpIHtcbiAgbGV0IGFmZml4ZXMgPSB7cHJlZml4OiBudWxsLCBzdWZmaXg6IG51bGx9O1xuICBpZiAocmF3QWZmaXhlcykge1xuICAgIHN3aXRjaCAodHlwZW9mIHJhd0FmZml4ZXMpIHtcbiAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgIGFmZml4ZXMucHJlZml4ID0gcmF3QWZmaXhlcztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdvYmplY3QnOlxuICAgICAgICBhZmZpeGVzID0gcmF3QWZmaXhlcztcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gYWZmaXggZGVjbGFyYXRpb246ICR7YWZmaXhlc31gKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgYWZmaXhlcy5wcmVmaXggPSBkZWZhdWx0UHJlZml4O1xuICB9XG4gIHJldHVybiBhZmZpeGVzO1xufVxuXG5jb25zdCBfc3RhdGljID0gdGVtcERpcigpO1xuXG4vKipcbiAqIFJldHVybnMgYSBuZXcgcGF0aCB0byBhIHRlbXBvcmFyeSBkaXJlY3RvcnlcbiAqXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBBIG5ldyB0ZW1wRGlyKCkgaWYgdGVtcFJvb3REaXJlY3RvcnkgaXMgbm90IHByb3ZpZGVkXG4gKi9cbmNvbnN0IG9wZW5EaXIgPSB0ZW1wRGlyO1xuXG4vKipcbiAqIFJldHVybnMgYSBwYXRoIHRvIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSB3aGNpaCBpcyBkZWZpbmVkIGFzIHN0YXRpYyBpbiB0aGUgc2FtZSBwcm9jZXNzXG4gKlxuICogQHJldHVybnMge3N0cmluZ30gQSB0ZW1wIGRpcmVjdG9yeSBwYXRoIHdoY2loIGlzIGRlZmluZWQgYXMgc3RhdGljIGluIHRoZSBzYW1lIHByb2Nlc3NcbiAqL1xuYXN5bmMgZnVuY3Rpb24gc3RhdGljRGlyICgpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSByZXF1aXJlLWF3YWl0XG4gIHJldHVybiBfc3RhdGljO1xufVxuXG5leHBvcnQgeyBvcGVuLCBwYXRoLCBvcGVuRGlyLCBzdGF0aWNEaXIgfTtcbiJdLCJmaWxlIjoibGliL3RlbXBkaXIuanMiLCJzb3VyY2VSb290IjoiLi4vLi4ifQ==
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi90ZW1wZGlyLmpzIl0sIm5hbWVzIjpbIlJEV1JfRVhDTCIsImNuc3QiLCJPX0NSRUFUIiwiT19UUlVOQyIsIk9fUkRXUiIsIk9fRVhDTCIsInRlbXBEaXIiLCJub3ciLCJEYXRlIiwiZmlsZVBhdGgiLCJub2RlUGF0aCIsImpvaW4iLCJwcm9jZXNzIiwiZW52IiwiQVBQSVVNX1RNUF9ESVIiLCJvcyIsInRtcGRpciIsImdldEZ1bGxZZWFyIiwiZ2V0TW9udGgiLCJnZXREYXRlIiwicGlkIiwiTWF0aCIsInJhbmRvbSIsInRvU3RyaW5nIiwiZnMiLCJta2RpciIsInBhdGgiLCJyYXdBZmZpeGVzIiwiZGVmYXVsdFByZWZpeCIsImFmZml4ZXMiLCJwYXJzZUFmZml4ZXMiLCJuYW1lIiwicHJlZml4Iiwic3VmZml4IiwidGVtcERpcmVjdG9yeSIsIm9wZW4iLCJmZCIsImVyciIsImxvZyIsImVycm9yQW5kVGhyb3ciLCJFcnJvciIsIl9zdGF0aWMiLCJvcGVuRGlyIiwic3RhdGljRGlyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLE1BQU1BLFNBQVMsR0FBR0MsbUJBQUtDLE9BQUwsR0FBZUQsbUJBQUtFLE9BQXBCLEdBQThCRixtQkFBS0csTUFBbkMsR0FBNENILG1CQUFLSSxNQUFuRTs7QUFVQSxlQUFlQyxPQUFmLEdBQTBCO0FBQ3hCLFFBQU1DLEdBQUcsR0FBRyxJQUFJQyxJQUFKLEVBQVo7O0FBQ0EsUUFBTUMsUUFBUSxHQUFHQyxjQUFTQyxJQUFULENBQWNDLE9BQU8sQ0FBQ0MsR0FBUixDQUFZQyxjQUFaLElBQThCQyxZQUFHQyxNQUFILEVBQTVDLEVBQ2YsQ0FDRVQsR0FBRyxDQUFDVSxXQUFKLEVBREYsRUFDcUJWLEdBQUcsQ0FBQ1csUUFBSixFQURyQixFQUNxQ1gsR0FBRyxDQUFDWSxPQUFKLEVBRHJDLEVBRUUsR0FGRixFQUdFUCxPQUFPLENBQUNRLEdBSFYsRUFJRSxHQUpGLEVBS0UsQ0FBQ0MsSUFBSSxDQUFDQyxNQUFMLEtBQWdCLFdBQWhCLEdBQThCLENBQS9CLEVBQWtDQyxRQUFsQyxDQUEyQyxFQUEzQyxDQUxGLEVBTUVaLElBTkYsQ0FNTyxFQU5QLENBRGUsQ0FBakI7O0FBVUEsUUFBTWEsWUFBR0MsS0FBSCxDQUFTaEIsUUFBVCxDQUFOO0FBRUEsU0FBT0EsUUFBUDtBQUNEOztBQWdCRCxlQUFlaUIsSUFBZixDQUFxQkMsVUFBckIsRUFBaUNDLGFBQWpDLEVBQWdEO0FBQzlDLFFBQU1DLE9BQU8sR0FBR0MsWUFBWSxDQUFDSCxVQUFELEVBQWFDLGFBQWIsQ0FBNUI7QUFDQSxRQUFNRyxJQUFJLEdBQUksR0FBRUYsT0FBTyxDQUFDRyxNQUFSLElBQWtCLEVBQUcsR0FBRUgsT0FBTyxDQUFDSSxNQUFSLElBQWtCLEVBQUcsRUFBNUQ7QUFDQSxRQUFNQyxhQUFhLEdBQUcsTUFBTTVCLE9BQU8sRUFBbkM7QUFDQSxTQUFPSSxjQUFTQyxJQUFULENBQWN1QixhQUFkLEVBQTZCSCxJQUE3QixDQUFQO0FBQ0Q7O0FBZUQsZUFBZUksSUFBZixDQUFxQk4sT0FBckIsRUFBOEI7QUFDNUIsUUFBTXBCLFFBQVEsR0FBRyxNQUFNaUIsSUFBSSxDQUFDRyxPQUFELEVBQVUsSUFBVixDQUEzQjs7QUFDQSxNQUFJO0FBQ0YsUUFBSU8sRUFBRSxHQUFHLE1BQU1aLFlBQUdXLElBQUgsQ0FBUTFCLFFBQVIsRUFBa0JULFNBQWxCLEVBQTZCLEtBQTdCLENBQWY7QUFFQSxXQUFPO0FBQUMwQixNQUFBQSxJQUFJLEVBQUVqQixRQUFQO0FBQWlCMkIsTUFBQUE7QUFBakIsS0FBUDtBQUNELEdBSkQsQ0FJRSxPQUFPQyxHQUFQLEVBQVk7QUFDWixXQUFPQyxnQkFBSUMsYUFBSixDQUFrQkYsR0FBbEIsQ0FBUDtBQUNEO0FBQ0Y7O0FBVUQsU0FBU1AsWUFBVCxDQUF1QkgsVUFBdkIsRUFBbUNDLGFBQW5DLEVBQWtEO0FBRWhELE1BQUlDLE9BQU8sR0FBRyxFQUFkOztBQUNBLE1BQUlGLFVBQUosRUFBZ0I7QUFDZCxZQUFRLE9BQU9BLFVBQWY7QUFDRSxXQUFLLFFBQUw7QUFDRUUsUUFBQUEsT0FBTyxDQUFDRyxNQUFSLEdBQWlCTCxVQUFqQjtBQUNBOztBQUNGLFdBQUssUUFBTDtBQUNFRSxRQUFBQSxPQUFPLEdBQUdGLFVBQVY7QUFDQTs7QUFDRjtBQUNFLGNBQU0sSUFBSWEsS0FBSixDQUFXLDhCQUE2QlgsT0FBUSxFQUFoRCxDQUFOO0FBUko7QUFVRCxHQVhELE1BV087QUFDTEEsSUFBQUEsT0FBTyxDQUFDRyxNQUFSLEdBQWlCSixhQUFqQjtBQUNEOztBQUNELFNBQU9DLE9BQVA7QUFDRDs7QUFFRCxNQUFNWSxPQUFPLEdBQUduQyxPQUFPLEVBQXZCOztBQU9BLE1BQU1vQyxPQUFPLEdBQUdwQyxPQUFoQjs7O0FBT0EsZUFBZXFDLFNBQWYsR0FBNEI7QUFDMUIsU0FBT0YsT0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLyogVGhpcyBsaWJyYXJ5IGlzIG9yaWdpbmF0ZWQgZnJvbSB0ZW1wLmpzIGF0IGh0dHA6Ly9naXRodWIuY29tL2JydWNlL25vZGUtdGVtcCAqL1xuaW1wb3J0IGZzIGZyb20gJy4vZnMnO1xuaW1wb3J0IG9zIGZyb20gJ29zJztcbmltcG9ydCBub2RlUGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBjbnN0IGZyb20gJ2NvbnN0YW50cyc7XG5pbXBvcnQgbG9nIGZyb20gJy4vbG9nZ2VyJztcblxuY29uc3QgUkRXUl9FWENMID0gY25zdC5PX0NSRUFUIHwgY25zdC5PX1RSVU5DIHwgY25zdC5PX1JEV1IgfCBjbnN0Lk9fRVhDTDtcblxuLyoqXG4gKiBHZW5lcmF0ZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgaW4gb3MudGVtcGRpcigpIG9yIHByb2Nlc3MuZW52LkFQUElVTV9UTVBfRElSLlxuICogZS5nLlxuICogLSBObyBgcHJvY2Vzcy5lbnYuQVBQSVVNX1RNUF9ESVJgOiBgL3Zhci9mb2xkZXJzLzM0LzIyMjJzaDhuMjdkNnJjcDdqcWxrdzhrbTAwMDBnbi9UL3h4eHh4eHh4Lnl5eXlgXG4gKiAtIFdpdGggYHByb2Nlc3MuZW52LkFQUElVTV9UTVBfRElSID0gJy9wYXRoL3RvL3Jvb3QnYDogYC9wYXRoL3RvL3Jvb3QveHh4eHh4eHgueXl5eWBcbiAqXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmc+fSBBIHBhdGggdG8gdGhlIHRlbXBvcmFyeSBkaXJlY3RvcnlcbiAqL1xuYXN5bmMgZnVuY3Rpb24gdGVtcERpciAoKSB7XG4gIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gIGNvbnN0IGZpbGVQYXRoID0gbm9kZVBhdGguam9pbihwcm9jZXNzLmVudi5BUFBJVU1fVE1QX0RJUiB8fCBvcy50bXBkaXIoKSxcbiAgICBbXG4gICAgICBub3cuZ2V0RnVsbFllYXIoKSwgbm93LmdldE1vbnRoKCksIG5vdy5nZXREYXRlKCksXG4gICAgICAnLScsXG4gICAgICBwcm9jZXNzLnBpZCxcbiAgICAgICctJyxcbiAgICAgIChNYXRoLnJhbmRvbSgpICogMHgxMDAwMDAwMDAgKyAxKS50b1N0cmluZygzNiksXG4gICAgXS5qb2luKCcnKSk7XG4gIC8vIGNyZWF0ZXMgYSB0ZW1wIGRpcmVjdG9yeSB1c2luZyB0aGUgZGF0ZSBhbmQgYSByYW5kb20gc3RyaW5nXG5cbiAgYXdhaXQgZnMubWtkaXIoZmlsZVBhdGgpO1xuXG4gIHJldHVybiBmaWxlUGF0aDtcbn1cblxuLyoqXG4gKiBAdHlwZWRlZiBBZmZpeGVzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3ByZWZpeF0gLSBwcmVmaXggb2YgdGhlIHRlbXAgZGlyZWN0b3J5IG5hbWVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbc3VmZml4XSAtIHN1ZmZpeCBvZiB0aGUgdGVtcCBkaXJlY3RvcnkgbmFtZVxuICovXG5cbi8qKlxuICogR2VuZXJhdGUgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IGluIG9zLnRlbXBkaXIoKSBvciBwcm9jZXNzLmVudi5BUFBJVU1fVE1QX0RJUlxuICogd2l0aCBhcmJpdHJhcnkgcHJlZml4L3N1ZmZpeCBmb3IgdGhlIGRpcmVjdG9yeSBuYW1lLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfEFmZml4ZXN9IHJhd0FmZml4ZXNcbiAqIEBwYXJhbSB7c3RyaW5nfSBbZGVmYXVsdFByZWZpeF1cbiAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59ICBBIHBhdGggdG8gdGhlIHRlbXBvcmFyeSBkaXJlY3Rvcnkgd2l0aCByYXdBZmZpeGVzIGFuZCBkZWZhdWx0UHJlZml4XG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHBhdGggKHJhd0FmZml4ZXMsIGRlZmF1bHRQcmVmaXgpIHtcbiAgY29uc3QgYWZmaXhlcyA9IHBhcnNlQWZmaXhlcyhyYXdBZmZpeGVzLCBkZWZhdWx0UHJlZml4KTtcbiAgY29uc3QgbmFtZSA9IGAke2FmZml4ZXMucHJlZml4IHx8ICcnfSR7YWZmaXhlcy5zdWZmaXggfHwgJyd9YDtcbiAgY29uc3QgdGVtcERpcmVjdG9yeSA9IGF3YWl0IHRlbXBEaXIoKTtcbiAgcmV0dXJuIG5vZGVQYXRoLmpvaW4odGVtcERpcmVjdG9yeSwgbmFtZSk7XG59XG5cbi8qKlxuICogQHR5cGVkZWYgT3BlbmVkQWZmaXhlc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IHBhdGggLSBUaGUgcGF0aCB0byBmaWxlXG4gKiBAcHJvcGVydHkge251bWJlcn0gZmQgLSBUaGUgZmlsZSBkZXNjcmlwdG9yIG9wZW5lZFxuICovXG5cbi8qKlxuICogR2VuZXJhdGUgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IGluIG9zLnRlbXBkaXIoKSBvciBwcm9jZXNzLmVudi5BUFBJVU1fVE1QX0RJUlxuICogd2l0aCBhcmJpdHJhcnkgcHJlZml4L3N1ZmZpeCBmb3IgdGhlIGRpcmVjdG9yeSBuYW1lIGFuZCByZXR1cm4gaXQgYXMgb3Blbi5cbiAqXG4gKiBAcGFyYW0ge0FmZml4ZXN9IGFmZml4ZXNcbiAqIEByZXR1cm5zIHtQcm9taXNlPE9wZW5lZEFmZml4ZXM+fVxuICovXG5hc3luYyBmdW5jdGlvbiBvcGVuIChhZmZpeGVzKSB7XG4gIGNvbnN0IGZpbGVQYXRoID0gYXdhaXQgcGF0aChhZmZpeGVzLCAnZi0nKTtcbiAgdHJ5IHtcbiAgICBsZXQgZmQgPSBhd2FpdCBmcy5vcGVuKGZpbGVQYXRoLCBSRFdSX0VYQ0wsIDBvNjAwKTtcbiAgICAvLyBvcGVucyB0aGUgZmlsZSBpbiBtb2RlIDM4NFxuICAgIHJldHVybiB7cGF0aDogZmlsZVBhdGgsIGZkfTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgcmV0dXJuIGxvZy5lcnJvckFuZFRocm93KGVycik7XG4gIH1cbn1cblxuLyoqXG4gKlxuICogUmV0dXJucyBwcmVmaXgvc3VmZml4IG9iamVjdFxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfEFmZml4ZXN9IHJhd0FmZml4ZXNcbiAqIEBwYXJhbSB7c3RyaW5nfSBbZGVmYXVsdFByZWZpeF1cbiAqIEByZXR1cm5zIHtBZmZpeGVzfVxuICovXG5mdW5jdGlvbiBwYXJzZUFmZml4ZXMgKHJhd0FmZml4ZXMsIGRlZmF1bHRQcmVmaXgpIHtcbiAgLyoqIEB0eXBlIHtBZmZpeGVzfSAqL1xuICBsZXQgYWZmaXhlcyA9IHt9O1xuICBpZiAocmF3QWZmaXhlcykge1xuICAgIHN3aXRjaCAodHlwZW9mIHJhd0FmZml4ZXMpIHtcbiAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgIGFmZml4ZXMucHJlZml4ID0gcmF3QWZmaXhlcztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdvYmplY3QnOlxuICAgICAgICBhZmZpeGVzID0gcmF3QWZmaXhlcztcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gYWZmaXggZGVjbGFyYXRpb246ICR7YWZmaXhlc31gKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgYWZmaXhlcy5wcmVmaXggPSBkZWZhdWx0UHJlZml4O1xuICB9XG4gIHJldHVybiBhZmZpeGVzO1xufVxuXG5jb25zdCBfc3RhdGljID0gdGVtcERpcigpO1xuXG4vKipcbiAqIFJldHVybnMgYSBuZXcgcGF0aCB0byBhIHRlbXBvcmFyeSBkaXJlY3RvcnlcbiAqXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBBIG5ldyB0ZW1wRGlyKCkgaWYgdGVtcFJvb3REaXJlY3RvcnkgaXMgbm90IHByb3ZpZGVkXG4gKi9cbmNvbnN0IG9wZW5EaXIgPSB0ZW1wRGlyO1xuXG4vKipcbiAqIFJldHVybnMgYSBwYXRoIHRvIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSB3aGNpaCBpcyBkZWZpbmVkIGFzIHN0YXRpYyBpbiB0aGUgc2FtZSBwcm9jZXNzXG4gKlxuICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn0gQSB0ZW1wIGRpcmVjdG9yeSBwYXRoIHdoY2loIGlzIGRlZmluZWQgYXMgc3RhdGljIGluIHRoZSBzYW1lIHByb2Nlc3NcbiAqL1xuYXN5bmMgZnVuY3Rpb24gc3RhdGljRGlyICgpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSByZXF1aXJlLWF3YWl0XG4gIHJldHVybiBfc3RhdGljO1xufVxuXG5leHBvcnQgeyBvcGVuLCBwYXRoLCBvcGVuRGlyLCBzdGF0aWNEaXIgfTtcbiJdfQ==
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export default Timer;
|
|
2
|
+
export class Timer {
|
|
3
|
+
_startTime: bigint | [number, number] | null;
|
|
4
|
+
get startTime(): bigint | [number, number] | null;
|
|
5
|
+
/**
|
|
6
|
+
* Start the timer
|
|
7
|
+
*
|
|
8
|
+
* @return {Timer} The current instance, for chaining
|
|
9
|
+
*/
|
|
10
|
+
start(): Timer;
|
|
11
|
+
/**
|
|
12
|
+
* Get the duration since the timer was started
|
|
13
|
+
*
|
|
14
|
+
* @return {Duration} the duration
|
|
15
|
+
*/
|
|
16
|
+
getDuration(): Duration;
|
|
17
|
+
toString(): string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Class representing a duration, encapsulating the number and units.
|
|
21
|
+
*/
|
|
22
|
+
export class Duration {
|
|
23
|
+
constructor(nanos: any);
|
|
24
|
+
_nanos: any;
|
|
25
|
+
get nanos(): any;
|
|
26
|
+
/**
|
|
27
|
+
* Get the duration as nanoseconds
|
|
28
|
+
*
|
|
29
|
+
* @returns {number} The duration as nanoseconds
|
|
30
|
+
*/
|
|
31
|
+
get asNanoSeconds(): number;
|
|
32
|
+
/**
|
|
33
|
+
* Get the duration converted into milliseconds
|
|
34
|
+
*
|
|
35
|
+
* @returns {number} The duration as milliseconds
|
|
36
|
+
*/
|
|
37
|
+
get asMilliSeconds(): number;
|
|
38
|
+
/**
|
|
39
|
+
* Get the duration converted into seconds
|
|
40
|
+
*
|
|
41
|
+
* @returns {number} The duration fas seconds
|
|
42
|
+
*/
|
|
43
|
+
get asSeconds(): number;
|
|
44
|
+
toString(): string;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=timing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../../lib/timing.js"],"names":[],"mappings":";AAoDA;IAKI,6CAAsB;IAGxB,kDAEC;IAED;;;;OAIG;IACH,SAFY,KAAK,CAWhB;IAED;;;;OAIG;IACH,eAFY,QAAQ,CAsBnB;IAED,mBAMC;CACF;AA3GD;;GAEG;AACH;IACE,wBAEC;IADC,YAAmB;IAGrB,iBAEC;IAED;;;;OAIG;IACH,4BAEC;IAED;;;;OAIG;IACH,6BAEC;IAED;;;;OAIG;IACH,wBAEC;IAED,mBAGC;CACF"}
|