node-simctl 7.1.4 → 7.1.6
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/CHANGELOG.md +1 -0
- package/build/index.js +1 -5
- package/build/lib/helpers.js +2 -10
- package/build/lib/helpers.js.map +1 -0
- package/build/lib/logger.js +1 -9
- package/build/lib/logger.js.map +1 -0
- package/build/lib/simctl.js +3 -34
- package/build/lib/simctl.js.map +1 -0
- package/build/lib/subcommands/addmedia.js +1 -4
- package/build/lib/subcommands/addmedia.js.map +1 -0
- package/build/lib/subcommands/appinfo.js +1 -4
- package/build/lib/subcommands/appinfo.js.map +1 -0
- package/build/lib/subcommands/boot.js +1 -10
- package/build/lib/subcommands/boot.js.map +1 -0
- package/build/lib/subcommands/bootstatus.js +1 -18
- package/build/lib/subcommands/bootstatus.js.map +1 -0
- package/build/lib/subcommands/create.js +3 -21
- package/build/lib/subcommands/create.js.map +1 -0
- package/build/lib/subcommands/delete.js +1 -4
- package/build/lib/subcommands/delete.js.map +1 -0
- package/build/lib/subcommands/erase.js +1 -5
- package/build/lib/subcommands/erase.js.map +1 -0
- package/build/lib/subcommands/get_app_container.js +1 -6
- package/build/lib/subcommands/get_app_container.js.map +1 -0
- package/build/lib/subcommands/getenv.js +1 -4
- package/build/lib/subcommands/getenv.js.map +1 -0
- package/build/lib/subcommands/index.js +1 -29
- package/build/lib/subcommands/index.js.map +1 -0
- package/build/lib/subcommands/install.js +1 -4
- package/build/lib/subcommands/install.js.map +1 -0
- package/build/lib/subcommands/io.js +1 -15
- package/build/lib/subcommands/io.js.map +1 -0
- package/build/lib/subcommands/keychain.js +1 -21
- package/build/lib/subcommands/keychain.js.map +1 -0
- package/build/lib/subcommands/launch.js +1 -7
- package/build/lib/subcommands/launch.js.map +1 -0
- package/build/lib/subcommands/list.js +2 -35
- package/build/lib/subcommands/list.js.map +1 -0
- package/build/lib/subcommands/location.js +1 -6
- package/build/lib/subcommands/location.js.map +1 -0
- package/build/lib/subcommands/openurl.js +1 -4
- package/build/lib/subcommands/openurl.js.map +1 -0
- package/build/lib/subcommands/pbcopy.js +1 -4
- package/build/lib/subcommands/pbcopy.js.map +1 -0
- package/build/lib/subcommands/pbpaste.js +1 -4
- package/build/lib/subcommands/pbpaste.js.map +1 -0
- package/build/lib/subcommands/privacy.js +1 -4
- package/build/lib/subcommands/privacy.js.map +1 -0
- package/build/lib/subcommands/push.js +1 -14
- package/build/lib/subcommands/push.js.map +1 -0
- package/build/lib/subcommands/shutdown.js +1 -10
- package/build/lib/subcommands/shutdown.js.map +1 -0
- package/build/lib/subcommands/spawn.js +1 -8
- package/build/lib/subcommands/spawn.js.map +1 -0
- package/build/lib/subcommands/terminate.js +1 -4
- package/build/lib/subcommands/terminate.js.map +1 -0
- package/build/lib/subcommands/ui.js +1 -6
- package/build/lib/subcommands/ui.js.map +1 -0
- package/build/lib/subcommands/uninstall.js +1 -4
- package/build/lib/subcommands/uninstall.js.map +1 -0
- package/package.json +5 -3
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
## [7.1.6](https://github.com/appium/node-simctl/compare/v7.1.5...v7.1.6) (2022-11-06)
|
package/build/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -12,11 +11,8 @@ Object.defineProperty(exports, "Simctl", {
|
|
|
12
11
|
}
|
|
13
12
|
});
|
|
14
13
|
exports.default = void 0;
|
|
15
|
-
|
|
16
14
|
require("source-map-support/register");
|
|
17
|
-
|
|
18
15
|
var _simctl = _interopRequireDefault(require("./lib/simctl"));
|
|
19
|
-
|
|
20
16
|
var _default = _simctl.default;
|
|
21
17
|
exports.default = _default;
|
|
22
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTaW1jdGwiXSwic291cmNlcyI6WyIuLi9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU2ltY3RsIGZyb20gJy4vbGliL3NpbWN0bCc7XG5cbmV4cG9ydCB7IFNpbWN0bCB9O1xuZXhwb3J0IGRlZmF1bHQgU2ltY3RsO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBO0FBQWtDLGVBR25CQSxlQUFNO0FBQUEifQ==
|
package/build/lib/helpers.js
CHANGED
|
@@ -1,33 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.getXcrunBinary = exports.SIM_RUNTIME_NAME = exports.DEFAULT_EXEC_TIMEOUT = void 0;
|
|
9
8
|
exports.normalizeVersion = normalizeVersion;
|
|
10
|
-
|
|
11
9
|
require("source-map-support/register");
|
|
12
|
-
|
|
13
10
|
var _semver = _interopRequireDefault(require("semver"));
|
|
14
|
-
|
|
15
11
|
const DEFAULT_EXEC_TIMEOUT = 10 * 60 * 1000;
|
|
16
12
|
exports.DEFAULT_EXEC_TIMEOUT = DEFAULT_EXEC_TIMEOUT;
|
|
17
13
|
const SIM_RUNTIME_NAME = 'com.apple.CoreSimulator.SimRuntime.';
|
|
18
|
-
exports.SIM_RUNTIME_NAME = SIM_RUNTIME_NAME;
|
|
19
14
|
|
|
15
|
+
exports.SIM_RUNTIME_NAME = SIM_RUNTIME_NAME;
|
|
20
16
|
function normalizeVersion(version) {
|
|
21
17
|
const semverVersion = _semver.default.coerce(version);
|
|
22
|
-
|
|
23
18
|
if (!semverVersion) {
|
|
24
19
|
throw new Error(`Unable to parse version '${version}'`);
|
|
25
20
|
}
|
|
26
|
-
|
|
27
21
|
return `${semverVersion.major}.${semverVersion.minor}`;
|
|
28
22
|
}
|
|
29
|
-
|
|
30
23
|
const getXcrunBinary = () => process.env.XCRUN_BINARY || 'xcrun';
|
|
31
|
-
|
|
32
24
|
exports.getXcrunBinary = getXcrunBinary;
|
|
33
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJERUZBVUxUX0VYRUNfVElNRU9VVCIsIlNJTV9SVU5USU1FX05BTUUiLCJub3JtYWxpemVWZXJzaW9uIiwidmVyc2lvbiIsInNlbXZlclZlcnNpb24iLCJzZW12ZXIiLCJjb2VyY2UiLCJFcnJvciIsIm1ham9yIiwibWlub3IiLCJnZXRYY3J1bkJpbmFyeSIsInByb2Nlc3MiLCJlbnYiLCJYQ1JVTl9CSU5BUlkiXSwic291cmNlcyI6WyIuLi8uLi9saWIvaGVscGVycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc2VtdmVyIGZyb20gJ3NlbXZlcic7XG5cbmNvbnN0IERFRkFVTFRfRVhFQ19USU1FT1VUID0gMTAgKiA2MCAqIDEwMDA7IC8vIG1zXG5jb25zdCBTSU1fUlVOVElNRV9OQU1FID0gJ2NvbS5hcHBsZS5Db3JlU2ltdWxhdG9yLlNpbVJ1bnRpbWUuJztcblxuLyoqXG4gKiBcIk5vcm1hbGl6ZVwiIHRoZSB2ZXJzaW9uLCBzaW5jZSBpT1MgdXNlcyAnbWFqb3IubWlub3InIGJ1dCB0aGUgcnVudGltZXMgY2FuXG4gKiBiZSAnbWFqb3IubWlub3IucGF0Y2gnXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHZlcnNpb24gLSB0aGUgc3RyaW5nIHZlcnNpb25cbiAqIEByZXR1cm4ge3N0cmluZ30gVGhlIHZlcnNpb24gaW4gJ21ham9yLm1pbm9yJyBmb3JtXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIHZlcnNpb24gbm90IHBhcnNlYWJsZSBieSB0aGUgYHNlbXZlcmAgcGFja2FnZVxuICovXG5mdW5jdGlvbiBub3JtYWxpemVWZXJzaW9uICh2ZXJzaW9uKSB7XG4gIGNvbnN0IHNlbXZlclZlcnNpb24gPSBzZW12ZXIuY29lcmNlKHZlcnNpb24pO1xuICBpZiAoIXNlbXZlclZlcnNpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBwYXJzZSB2ZXJzaW9uICcke3ZlcnNpb259J2ApO1xuICB9XG4gIHJldHVybiBgJHtzZW12ZXJWZXJzaW9uLm1ham9yfS4ke3NlbXZlclZlcnNpb24ubWlub3J9YDtcbn1cblxuZXhwb3J0IHtcbiAgREVGQVVMVF9FWEVDX1RJTUVPVVQsIFNJTV9SVU5USU1FX05BTUUsXG4gIG5vcm1hbGl6ZVZlcnNpb24sXG59O1xuXG5leHBvcnQgY29uc3QgZ2V0WGNydW5CaW5hcnkgPSAoKSA9PiBwcm9jZXNzLmVudi5YQ1JVTl9CSU5BUlkgfHwgJ3hjcnVuJztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7QUFFQSxNQUFNQSxvQkFBb0IsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUk7QUFBQztBQUM1QyxNQUFNQyxnQkFBZ0IsR0FBRyxxQ0FBcUM7O0FBQUM7QUFVL0QsU0FBU0MsZ0JBQWdCLENBQUVDLE9BQU8sRUFBRTtFQUNsQyxNQUFNQyxhQUFhLEdBQUdDLGVBQU0sQ0FBQ0MsTUFBTSxDQUFDSCxPQUFPLENBQUM7RUFDNUMsSUFBSSxDQUFDQyxhQUFhLEVBQUU7SUFDbEIsTUFBTSxJQUFJRyxLQUFLLENBQUUsNEJBQTJCSixPQUFRLEdBQUUsQ0FBQztFQUN6RDtFQUNBLE9BQVEsR0FBRUMsYUFBYSxDQUFDSSxLQUFNLElBQUdKLGFBQWEsQ0FBQ0ssS0FBTSxFQUFDO0FBQ3hEO0FBT08sTUFBTUMsY0FBYyxHQUFHLE1BQU1DLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDQyxZQUFZLElBQUksT0FBTztBQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","names":["DEFAULT_EXEC_TIMEOUT","SIM_RUNTIME_NAME","normalizeVersion","version","semverVersion","semver","coerce","Error","major","minor","getXcrunBinary","process","env","XCRUN_BINARY"],"sources":["../../lib/helpers.js"],"sourcesContent":["import semver from 'semver';\n\nconst DEFAULT_EXEC_TIMEOUT = 10 * 60 * 1000; // ms\nconst SIM_RUNTIME_NAME = 'com.apple.CoreSimulator.SimRuntime.';\n\n/**\n * \"Normalize\" the version, since iOS uses 'major.minor' but the runtimes can\n * be 'major.minor.patch'\n *\n * @param {string} version - the string version\n * @return {string} The version in 'major.minor' form\n * @throws {Error} If the version not parseable by the `semver` package\n */\nfunction normalizeVersion (version) {\n const semverVersion = semver.coerce(version);\n if (!semverVersion) {\n throw new Error(`Unable to parse version '${version}'`);\n }\n return `${semverVersion.major}.${semverVersion.minor}`;\n}\n\nexport {\n DEFAULT_EXEC_TIMEOUT, SIM_RUNTIME_NAME,\n normalizeVersion,\n};\n\nexport const getXcrunBinary = () => process.env.XCRUN_BINARY || 'xcrun';\n"],"mappings":";;;;;;;;;AAAA;AAEA,MAAMA,oBAAoB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;AAAC;AAC5C,MAAMC,gBAAgB,GAAG,qCAAqC;;AAAC;AAU/D,SAASC,gBAAgB,CAAEC,OAAO,EAAE;EAClC,MAAMC,aAAa,GAAGC,eAAM,CAACC,MAAM,CAACH,OAAO,CAAC;EAC5C,IAAI,CAACC,aAAa,EAAE;IAClB,MAAM,IAAIG,KAAK,CAAE,4BAA2BJ,OAAQ,GAAE,CAAC;EACzD;EACA,OAAQ,GAAEC,aAAa,CAACI,KAAM,IAAGJ,aAAa,CAACK,KAAM,EAAC;AACxD;AAOO,MAAMC,cAAc,GAAG,MAAMC,OAAO,CAACC,GAAG,CAACC,YAAY,IAAI,OAAO;AAAC"}
|
package/build/lib/logger.js
CHANGED
|
@@ -1,33 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = exports.LOG_PREFIX = void 0;
|
|
9
|
-
|
|
10
8
|
require("source-map-support/register");
|
|
11
|
-
|
|
12
9
|
var _npmlog = _interopRequireDefault(require("npmlog"));
|
|
13
|
-
|
|
14
10
|
const LOG_PREFIX = 'simctl';
|
|
15
11
|
exports.LOG_PREFIX = LOG_PREFIX;
|
|
16
|
-
|
|
17
12
|
function getLogger() {
|
|
18
13
|
const logger = global._global_npmlog || _npmlog.default;
|
|
19
|
-
|
|
20
14
|
if (!logger.debug) {
|
|
21
15
|
logger.addLevel('debug', 1000, {
|
|
22
16
|
fg: 'blue',
|
|
23
17
|
bg: 'black'
|
|
24
18
|
}, 'dbug');
|
|
25
19
|
}
|
|
26
|
-
|
|
27
20
|
return logger;
|
|
28
21
|
}
|
|
29
|
-
|
|
30
22
|
const log = getLogger();
|
|
31
23
|
var _default = log;
|
|
32
24
|
exports.default = _default;
|
|
33
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMT0dfUFJFRklYIiwiZ2V0TG9nZ2VyIiwibG9nZ2VyIiwiZ2xvYmFsIiwiX2dsb2JhbF9ucG1sb2ciLCJucG1sb2ciLCJkZWJ1ZyIsImFkZExldmVsIiwiZmciLCJiZyIsImxvZyJdLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9sb2dnZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG5wbWxvZyBmcm9tICducG1sb2cnO1xuXG5cbmNvbnN0IExPR19QUkVGSVggPSAnc2ltY3RsJztcblxuZnVuY3Rpb24gZ2V0TG9nZ2VyICgpIHtcbiAgY29uc3QgbG9nZ2VyID0gZ2xvYmFsLl9nbG9iYWxfbnBtbG9nIHx8IG5wbWxvZztcbiAgaWYgKCFsb2dnZXIuZGVidWcpIHtcbiAgICBsb2dnZXIuYWRkTGV2ZWwoJ2RlYnVnJywgMTAwMCwgeyBmZzogJ2JsdWUnLCBiZzogJ2JsYWNrJyB9LCAnZGJ1ZycpO1xuICB9XG4gIHJldHVybiBsb2dnZXI7XG59XG5cbmNvbnN0IGxvZyA9IGdldExvZ2dlcigpO1xuXG5leHBvcnQgeyBMT0dfUFJFRklYIH07XG5leHBvcnQgZGVmYXVsdCBsb2c7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFHQSxNQUFNQSxVQUFVLEdBQUcsUUFBUTtBQUFDO0FBRTVCLFNBQVNDLFNBQVMsR0FBSTtFQUNwQixNQUFNQyxNQUFNLEdBQUdDLE1BQU0sQ0FBQ0MsY0FBYyxJQUFJQyxlQUFNO0VBQzlDLElBQUksQ0FBQ0gsTUFBTSxDQUFDSSxLQUFLLEVBQUU7SUFDakJKLE1BQU0sQ0FBQ0ssUUFBUSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUU7TUFBRUMsRUFBRSxFQUFFLE1BQU07TUFBRUMsRUFBRSxFQUFFO0lBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztFQUNyRTtFQUNBLE9BQU9QLE1BQU07QUFDZjtBQUVBLE1BQU1RLEdBQUcsR0FBR1QsU0FBUyxFQUFFO0FBQUMsZUFHVFMsR0FBRztBQUFBIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","names":["LOG_PREFIX","getLogger","logger","global","_global_npmlog","npmlog","debug","addLevel","fg","bg","log"],"sources":["../../lib/logger.js"],"sourcesContent":["import npmlog from 'npmlog';\n\n\nconst LOG_PREFIX = 'simctl';\n\nfunction getLogger () {\n const logger = global._global_npmlog || npmlog;\n if (!logger.debug) {\n logger.addLevel('debug', 1000, { fg: 'blue', bg: 'black' }, 'dbug');\n }\n return logger;\n}\n\nconst log = getLogger();\n\nexport { LOG_PREFIX };\nexport default log;\n"],"mappings":";;;;;;;;AAAA;AAGA,MAAMA,UAAU,GAAG,QAAQ;AAAC;AAE5B,SAASC,SAAS,GAAI;EACpB,MAAMC,MAAM,GAAGC,MAAM,CAACC,cAAc,IAAIC,eAAM;EAC9C,IAAI,CAACH,MAAM,CAACI,KAAK,EAAE;IACjBJ,MAAM,CAACK,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE;MAAEC,EAAE,EAAE,MAAM;MAAEC,EAAE,EAAE;IAAQ,CAAC,EAAE,MAAM,CAAC;EACrE;EACA,OAAOP,MAAM;AACf;AAEA,MAAMQ,GAAG,GAAGT,SAAS,EAAE;AAAC,eAGTS,GAAG;AAAA"}
|
package/build/lib/simctl.js
CHANGED
|
@@ -1,30 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = exports.Simctl = void 0;
|
|
9
|
-
|
|
10
8
|
require("source-map-support/register");
|
|
11
|
-
|
|
12
9
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
13
|
-
|
|
14
10
|
var _index = _interopRequireDefault(require("./subcommands/index.js"));
|
|
15
|
-
|
|
16
11
|
var _which = _interopRequireDefault(require("which"));
|
|
17
|
-
|
|
18
12
|
var _logger = _interopRequireWildcard(require("./logger"));
|
|
19
|
-
|
|
20
13
|
var _helpers = require("./helpers");
|
|
21
|
-
|
|
22
14
|
var _teen_process = require("teen_process");
|
|
23
|
-
|
|
24
15
|
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); }
|
|
25
|
-
|
|
26
16
|
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; }
|
|
27
|
-
|
|
28
17
|
const SIMCTL_ENV_PREFIX = 'SIMCTL_CHILD_';
|
|
29
18
|
const DEFAULT_OPTS = {
|
|
30
19
|
xcrun: {
|
|
@@ -37,44 +26,33 @@ const DEFAULT_OPTS = {
|
|
|
37
26
|
class Simctl {
|
|
38
27
|
constructor(opts = {}) {
|
|
39
28
|
opts = _lodash.default.cloneDeep(opts);
|
|
40
|
-
|
|
41
29
|
_lodash.default.defaultsDeep(opts, DEFAULT_OPTS);
|
|
42
|
-
|
|
43
30
|
for (const key of _lodash.default.keys(DEFAULT_OPTS)) {
|
|
44
31
|
this[key] = opts[key];
|
|
45
32
|
}
|
|
46
|
-
|
|
47
33
|
this._udid = _lodash.default.isNil(opts.udid) ? null : opts.udid;
|
|
48
34
|
this._devicesSetPath = _lodash.default.isNil(opts.devicesSetPath) ? null : opts.devicesSetPath;
|
|
49
35
|
}
|
|
50
|
-
|
|
51
36
|
set udid(value) {
|
|
52
37
|
this._udid = value;
|
|
53
38
|
}
|
|
54
|
-
|
|
55
39
|
get udid() {
|
|
56
40
|
return this._udid;
|
|
57
41
|
}
|
|
58
|
-
|
|
59
42
|
set devicesSetPath(value) {
|
|
60
43
|
this._devicesSetPath = value;
|
|
61
44
|
}
|
|
62
|
-
|
|
63
45
|
get devicesSetPath() {
|
|
64
46
|
return this._devicesSetPath;
|
|
65
47
|
}
|
|
66
|
-
|
|
67
48
|
requireUdid(commandName = null) {
|
|
68
49
|
if (!this.udid) {
|
|
69
50
|
throw new Error(`udid is required to be set for ` + (commandName ? `the '${commandName}' command` : 'this simctl command'));
|
|
70
51
|
}
|
|
71
|
-
|
|
72
52
|
return this.udid;
|
|
73
53
|
}
|
|
74
|
-
|
|
75
54
|
async requireXcrun() {
|
|
76
55
|
const xcrunBinary = (0, _helpers.getXcrunBinary)();
|
|
77
|
-
|
|
78
56
|
if (!this.xcrun.path) {
|
|
79
57
|
try {
|
|
80
58
|
this.xcrun.path = await (0, _which.default)(xcrunBinary);
|
|
@@ -82,7 +60,6 @@ class Simctl {
|
|
|
82
60
|
throw new Error(`${xcrunBinary} tool has not been found in PATH. ` + `Are Xcode developers tools installed?`);
|
|
83
61
|
}
|
|
84
62
|
}
|
|
85
|
-
|
|
86
63
|
return this.xcrun.path;
|
|
87
64
|
}
|
|
88
65
|
|
|
@@ -100,38 +77,30 @@ class Simctl {
|
|
|
100
77
|
env,
|
|
101
78
|
encoding
|
|
102
79
|
};
|
|
103
|
-
|
|
104
80
|
if (!asynchronous) {
|
|
105
81
|
execOpts.timeout = this.execTimeout;
|
|
106
82
|
}
|
|
107
|
-
|
|
108
83
|
const xcrun = await this.requireXcrun();
|
|
109
|
-
|
|
110
84
|
try {
|
|
111
85
|
return asynchronous ? new _teen_process.SubProcess(xcrun, args, execOpts) : await (0, _teen_process.exec)(xcrun, args, execOpts);
|
|
112
86
|
} catch (e) {
|
|
113
|
-
if (!this.logErrors || !logErrors) {
|
|
87
|
+
if (!this.logErrors || !logErrors) {
|
|
88
|
+
} else if (e.stderr) {
|
|
114
89
|
const msg = `Error running '${subcommand}': ${e.stderr.trim()}`;
|
|
115
|
-
|
|
116
90
|
_logger.default.debug(_logger.LOG_PREFIX, msg);
|
|
117
|
-
|
|
118
91
|
e.message = msg;
|
|
119
92
|
} else {
|
|
120
93
|
_logger.default.debug(_logger.LOG_PREFIX, e.message);
|
|
121
94
|
}
|
|
122
|
-
|
|
123
95
|
throw e;
|
|
124
96
|
}
|
|
125
97
|
}
|
|
126
|
-
|
|
127
98
|
}
|
|
128
99
|
|
|
129
100
|
exports.Simctl = Simctl;
|
|
130
|
-
|
|
131
101
|
for (const [fnName, fn] of _lodash.default.toPairs(_index.default)) {
|
|
132
102
|
Simctl.prototype[fnName] = fn;
|
|
133
103
|
}
|
|
134
|
-
|
|
135
104
|
var _default = Simctl;
|
|
136
105
|
exports.default = _default;
|
|
137
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTSU1DVExfRU5WX1BSRUZJWCIsIkRFRkFVTFRfT1BUUyIsInhjcnVuIiwicGF0aCIsImV4ZWNUaW1lb3V0IiwiREVGQVVMVF9FWEVDX1RJTUVPVVQiLCJsb2dFcnJvcnMiLCJTaW1jdGwiLCJjb25zdHJ1Y3RvciIsIm9wdHMiLCJfIiwiY2xvbmVEZWVwIiwiZGVmYXVsdHNEZWVwIiwia2V5Iiwia2V5cyIsIl91ZGlkIiwiaXNOaWwiLCJ1ZGlkIiwiX2RldmljZXNTZXRQYXRoIiwiZGV2aWNlc1NldFBhdGgiLCJ2YWx1ZSIsInJlcXVpcmVVZGlkIiwiY29tbWFuZE5hbWUiLCJFcnJvciIsInJlcXVpcmVYY3J1biIsInhjcnVuQmluYXJ5IiwiZ2V0WGNydW5CaW5hcnkiLCJ3aGljaCIsImUiLCJleGVjIiwic3ViY29tbWFuZCIsImFyZ3MiLCJlbnYiLCJhc3luY2hyb25vdXMiLCJlbmNvZGluZyIsImRlZmF1bHRzIiwibWFwS2V5cyIsInN0YXJ0c1dpdGgiLCJwcm9jZXNzIiwiZXhlY09wdHMiLCJ0aW1lb3V0IiwiU3ViUHJvY2VzcyIsInRwRXhlYyIsInN0ZGVyciIsIm1zZyIsInRyaW0iLCJsb2ciLCJkZWJ1ZyIsIkxPR19QUkVGSVgiLCJtZXNzYWdlIiwiZm5OYW1lIiwiZm4iLCJ0b1BhaXJzIiwic3ViY29tbWFuZHMiLCJwcm90b3R5cGUiXSwic291cmNlcyI6WyIuLi8uLi9saWIvc2ltY3RsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgc3ViY29tbWFuZHMgZnJvbSAnLi9zdWJjb21tYW5kcy9pbmRleC5qcyc7XG5pbXBvcnQgd2hpY2ggZnJvbSAnd2hpY2gnO1xuaW1wb3J0IGxvZywgeyBMT0dfUFJFRklYIH0gZnJvbSAnLi9sb2dnZXInO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9FWEVDX1RJTUVPVVQsIGdldFhjcnVuQmluYXJ5LFxufSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgZXhlYyBhcyB0cEV4ZWMsIFN1YlByb2Nlc3MgfSBmcm9tICd0ZWVuX3Byb2Nlc3MnO1xuXG5jb25zdCBTSU1DVExfRU5WX1BSRUZJWCA9ICdTSU1DVExfQ0hJTERfJztcbmNvbnN0IERFRkFVTFRfT1BUUyA9IHtcbiAgeGNydW46IHtcbiAgICBwYXRoOiBudWxsLFxuICB9LFxuICBleGVjVGltZW91dDogREVGQVVMVF9FWEVDX1RJTUVPVVQsXG4gIGxvZ0Vycm9yczogdHJ1ZSxcbn07XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gRXhlY09wdHNcbiAqIEBwcm9wZXJ0eSB7QXJyYXkuPHN0cmluZz59IGFyZ3MgW1tdXSAtIFRoZSBsaXN0IG9mIGFkZGl0aW9uYWwgc3ViY29tbWFuZCBhcmd1bWVudHMuXG4gKiBJdCdzIGVtcHR5IGJ5IGRlZmF1bHQuXG4gKiBAcHJvcGVydHkge09iamVjdH0gZW52IFt7fV0gLSBFbnZpcm9ubWVudCB2YXJpYWJsZXMgbWFwcGluZy4gQWxsIHRoZXNlIHZhcmlhYmxlc1xuICogd2lsbCBiZSBwYXNzZWQgU2ltdWxhdG9yIGFuZCB1c2VkIGluIHRoZSBleGVjdXRpbmcgZnVuY3Rpb24uXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGxvZ0Vycm9ycyBbdHJ1ZV0gLSBTZXQgaXQgdG8gX2ZhbHNlXyB0byB0aHJvdyBleGVjdXRpb24gZXJyb3JzXG4gKiBpbW1lZGlhdGVseSB3aXRob3V0IGxvZ2dpbmcgYW55IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGFzeW5jaHJvbm91cyBbZmFsc2VdIC0gV2hldGhlciB0byBleGVjdXRlIHRoZSBnaXZlbiBjb21tYW5kXG4gKiAnc3luY2hyb25vdXNseScgb3IgJ2FzeW5jaHJvbm91c2x5Jy4gQWZmZWN0cyB0aGUgcmV0dXJuZWQgcmVzdWx0IG9mIHRoZSBmdW5jdGlvbi5cbiAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gZW5jb2RpbmcgLSBFeHBsaWNpdGx5IHNldHMgc3RyZWFtcyBlbmNvZGluZyBmb3IgdGhlIGV4ZWN1dGVkXG4gKiBjb21tYW5kIGlucHV0IGFuZCBvdXRwdXRzLlxuICovXG5cblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBTaW1jdGxPcHRzXG4gKiBAcHJvcGVydHkgez9PYmplY3R9IHhjcnVuIC0gVGhlIHhjcnVuIHByb3BlcnRpZXMuIEN1cnJlbnRseSBvbmx5IG9uZSBwcm9wZXJ0eVxuICogaXMgc3VwcG9ydGVkLCB3aGljaCBpcyBgcGF0aGAgYW5kIGl0IGJ5IGRlZmF1bHQgY29udGFpbnMgYG51bGxgLCB3aGljaCBlbmZvcmNlc1xuICogdGhlIGluc3RhbmNlIHRvIGF1dG9tYXRpY2FsbHkgZGV0ZWN0IHRoZSBmdWxsIHBhdGggdG8gYHhjcnVuYCB0b29sIGFuZCB0byB0aHJvd1xuICogYW4gZXhjZXB0aW9uIGlmIGl0IGNhbm5vdCBiZSBkZXRlY3RlZC4gSWYgdGhlIHBhdGggaXMgc2V0IHVwb24gaW5zdGFuY2UgY3JlYXRpb25cbiAqIHRoZW4gaXQgaXMgZ29pbmcgdG8gYmUgdXNlZCBieSBgZXhlY2AgYW5kIG5vIGF1dG9kZXRlY3Rpb24gd2lsbCBoYXBwZW4uXG4gKiBAcHJvcGVydHkgez9udW1iZXJ9IGV4ZWNUaW1lb3V0IFs2MDAwMDBdIC0gVGhlIG1heGltdW0gbnVtYmVyIG9mIG1pbGxpc2Vjb25kc1xuICogdG8gd2FpdCBmb3Igc2luZ2xlIHN5bmNocm9ub3VzIHhjcnVuIGNvbW1hbmQuXG4gKiBAcHJvcGVydHkgez9ib29sZWFufSBsb2dFcnJvcnMgW3RydWVdIC0gV2hldGhlciB0byB3aXJlIHhjcnVuIGVycm9yIG1lc3NhZ2VzXG4gKiBpbnRvIGRlYnVnIGxvZyBiZWZvcmUgdGhyb3dpbmcgdGhlbS5cbiAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gdWRpZCBbbnVsbF0gLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGN1cnJlbnQgZGV2aWNlLCB3aGljaCBpc1xuICogZ29pbmcgdG8gYmUgaW1wbGljaXRseSBwYXNzZWQgdG8gYWxsIG1ldGhvZHMsIHdoaWNoIHJlcXVpcmUgaXQuIEl0IGNhbiBlaXRoZXIgYmUgc2V0XG4gKiB1cG9uIGluc3RhbmNlIGNyZWF0aW9uIGlmIGl0IGlzIGFscmVhZHkga25vd24gaW4gYWR2YW5jZSBvciBsYXRlciB3aGVuL2lmIG5lZWRlZCB2aWEgdGhlXG4gKiBjb3JyZXNwb25kaW5nIGluc3RhbmNlIHNldHRlci5cbiAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gZGV2aWNlc1NldFBhdGggLSBGdWxsIHBhdGggdG8gdGhlIHNldCBvZiBkZXZpY2VzIHRoYXQgeW91IHdhbnQgdG8gbWFuYWdlLlxuICogQnkgZGVmYXVsdCB0aGlzIHBhdGggdXN1YWxseSBlcXVhbHMgdG8gfi9MaWJyYXJ5L0RldmVsb3Blci9Db3JlU2ltdWxhdG9yL0RldmljZXNcbiAqL1xuXG5cbmNsYXNzIFNpbWN0bCB7XG4gIC8qKlxuICAgKiBAcGFyYW0gez9TaW1jdGxPcHRzfSBvcHRzXG4gICAqL1xuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgb3B0cyA9IF8uY2xvbmVEZWVwKG9wdHMpO1xuICAgIF8uZGVmYXVsdHNEZWVwKG9wdHMsIERFRkFVTFRfT1BUUyk7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgXy5rZXlzKERFRkFVTFRfT1BUUykpIHtcbiAgICAgIHRoaXNba2V5XSA9IG9wdHNba2V5XTtcbiAgICB9XG4gICAgdGhpcy5fdWRpZCA9IF8uaXNOaWwob3B0cy51ZGlkKSA/IG51bGwgOiBvcHRzLnVkaWQ7XG4gICAgdGhpcy5fZGV2aWNlc1NldFBhdGggPSBfLmlzTmlsKG9wdHMuZGV2aWNlc1NldFBhdGgpID8gbnVsbCA6IG9wdHMuZGV2aWNlc1NldFBhdGg7XG4gIH1cblxuICBzZXQgdWRpZCAodmFsdWUpIHtcbiAgICB0aGlzLl91ZGlkID0gdmFsdWU7XG4gIH1cblxuICBnZXQgdWRpZCAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3VkaWQ7XG4gIH1cblxuICBzZXQgZGV2aWNlc1NldFBhdGggKHZhbHVlKSB7XG4gICAgdGhpcy5fZGV2aWNlc1NldFBhdGggPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBkZXZpY2VzU2V0UGF0aCAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RldmljZXNTZXRQYXRoO1xuICB9XG5cbiAgcmVxdWlyZVVkaWQgKGNvbW1hbmROYW1lID0gbnVsbCkge1xuICAgIGlmICghdGhpcy51ZGlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHVkaWQgaXMgcmVxdWlyZWQgdG8gYmUgc2V0IGZvciBgICtcbiAgICAgICAgKGNvbW1hbmROYW1lID8gYHRoZSAnJHtjb21tYW5kTmFtZX0nIGNvbW1hbmRgIDogJ3RoaXMgc2ltY3RsIGNvbW1hbmQnKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnVkaWQ7XG4gIH1cblxuICBhc3luYyByZXF1aXJlWGNydW4gKCkge1xuICAgIGNvbnN0IHhjcnVuQmluYXJ5ID0gZ2V0WGNydW5CaW5hcnkoKTtcblxuICAgIGlmICghdGhpcy54Y3J1bi5wYXRoKSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLnhjcnVuLnBhdGggPSBhd2FpdCB3aGljaCh4Y3J1bkJpbmFyeSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHt4Y3J1bkJpbmFyeX0gdG9vbCBoYXMgbm90IGJlZW4gZm91bmQgaW4gUEFUSC4gYCArXG4gICAgICAgICAgYEFyZSBYY29kZSBkZXZlbG9wZXJzIHRvb2xzIGluc3RhbGxlZD9gKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMueGNydW4ucGF0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlIHRoZSBwYXJ0aWN1bGFyIHNpbWN0bCBjb21tYW5kLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3ViY29tbWFuZCAtIE9uZSBvZiBhdmFpbGFibGUgc2ltY3RsIHN1YmNvbW1hbmRzLlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4ZWN1dGUgYHhjcnVuIHNpbWN0bGAgaW4gVGVybWluYWwgdG8gc2VlIHRoZSBmdWxsIGxpc3RcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBhdmFpbGFibGUgc3ViY29tbWFuZHMuXG4gICAqIEBwYXJhbSB7P0V4ZWNPcHRzfSBvcHRzXG4gICAqIEByZXR1cm4ge0V4ZWNSZXN1bHR8U3ViUHJvY2Vzc30gRWl0aGVyIHRoZSByZXN1bHQgb2YgdGVlbiBwcm9jZXNzJ3MgYGV4ZWNgIG9yXG4gICAqIGBTdWJQcm9jZXNzYCBpbnN0YW5jZSBkZXBlbmRpbmcgb2YgYG9wdHMuYXN5bmNocm9ub3VzYCB2YWx1ZS5cbiAgICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kIHJldHVybnMgbm9uLXplcm8gcmV0dXJuIGNvZGUuXG4gICAqL1xuICBhc3luYyBleGVjIChzdWJjb21tYW5kLCBvcHRzID0ge30pIHtcbiAgICBsZXQge1xuICAgICAgYXJncyA9IFtdLFxuICAgICAgZW52ID0ge30sXG4gICAgICBhc3luY2hyb25vdXMgPSBmYWxzZSxcbiAgICAgIGVuY29kaW5nLFxuICAgICAgbG9nRXJyb3JzID0gdHJ1ZSxcbiAgICB9ID0gb3B0cztcbiAgICAvLyBydW4gYSBwYXJ0aWN1bGFyIHNpbWN0bCBjb21tYW5kXG4gICAgYXJncyA9IFsnc2ltY3RsJyxcbiAgICAgIC4uLih0aGlzLmRldmljZXNTZXRQYXRoID8gWyctLXNldCcsIHRoaXMuZGV2aWNlc1NldFBhdGhdIDogW10pLFxuICAgICAgc3ViY29tbWFuZCxcbiAgICAgIC4uLmFyZ3NcbiAgICBdO1xuICAgIC8vIFByZWZpeCBhbGwgcGFzc2VkIGluIGVudmlyb25tZW50IHZhcmlhYmxlcyB3aXRoICdTSU1DVExfQ0hJTERfJywgc2ltY3RsXG4gICAgLy8gd2lsbCB0aGVuIHBhc3MgdGhlc2UgdG8gdGhlIGNoaWxkIChzcGF3bmVkKSBwcm9jZXNzLlxuICAgIGVudiA9IF8uZGVmYXVsdHMoXG4gICAgICBfLm1hcEtleXMoZW52LFxuICAgICAgICAodmFsdWUsIGtleSkgPT4gXy5zdGFydHNXaXRoKGtleSwgU0lNQ1RMX0VOVl9QUkVGSVgpID8ga2V5IDogYCR7U0lNQ1RMX0VOVl9QUkVGSVh9JHtrZXl9YCksXG4gICAgICBwcm9jZXNzLmVudik7XG5cbiAgICBjb25zdCBleGVjT3B0cyA9IHtcbiAgICAgIGVudixcbiAgICAgIGVuY29kaW5nLFxuICAgIH07XG4gICAgaWYgKCFhc3luY2hyb25vdXMpIHtcbiAgICAgIGV4ZWNPcHRzLnRpbWVvdXQgPSB0aGlzLmV4ZWNUaW1lb3V0O1xuICAgIH1cbiAgICBjb25zdCB4Y3J1biA9IGF3YWl0IHRoaXMucmVxdWlyZVhjcnVuKCk7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhc3luY2hyb25vdXMgPyBuZXcgU3ViUHJvY2Vzcyh4Y3J1biwgYXJncywgZXhlY09wdHMpIDogYXdhaXQgdHBFeGVjKHhjcnVuLCBhcmdzLCBleGVjT3B0cyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKCF0aGlzLmxvZ0Vycm9ycyB8fCAhbG9nRXJyb3JzKSB7XG4gICAgICAgIC8vIGlmIHdlIGRvbid0IHdhbnQgdG8gc2VlIHRoZSBlcnJvcnMsIGp1c3QgdGhyb3cgYW5kIGFsbG93IHRoZSBjYWxsaW5nXG4gICAgICAgIC8vIGNvZGUgZG8gd2hhdCBpdCB3YW50c1xuICAgICAgfSBlbHNlIGlmIChlLnN0ZGVycikge1xuICAgICAgICBjb25zdCBtc2cgPSBgRXJyb3IgcnVubmluZyAnJHtzdWJjb21tYW5kfSc6ICR7ZS5zdGRlcnIudHJpbSgpfWA7XG4gICAgICAgIGxvZy5kZWJ1ZyhMT0dfUFJFRklYLCBtc2cpO1xuICAgICAgICBlLm1lc3NhZ2UgPSBtc2c7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsb2cuZGVidWcoTE9HX1BSRUZJWCwgZS5tZXNzYWdlKTtcbiAgICAgIH1cbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG59XG5cblxuLy8gYWRkIGFsbCB0aGUgc3ViY29tbWFuZHMgdG8gdGhlIFNpbWN0bCBwcm90b3R5cGVcbmZvciAoY29uc3QgW2ZuTmFtZSwgZm5dIG9mIF8udG9QYWlycyhzdWJjb21tYW5kcykpIHtcbiAgU2ltY3RsLnByb3RvdHlwZVtmbk5hbWVdID0gZm47XG59XG5cbmV4cG9ydCBkZWZhdWx0IFNpbWN0bDtcbmV4cG9ydCB7IFNpbWN0bCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUdBOzs7Ozs7QUFFQSxNQUFNQSxpQkFBaUIsR0FBRyxlQUExQjtBQUNBLE1BQU1DLFlBQVksR0FBRztFQUNuQkMsS0FBSyxFQUFFO0lBQ0xDLElBQUksRUFBRTtFQURELENBRFk7RUFJbkJDLFdBQVcsRUFBRUMsNkJBSk07RUFLbkJDLFNBQVMsRUFBRTtBQUxRLENBQXJCOztBQTJDQSxNQUFNQyxNQUFOLENBQWE7RUFJWEMsV0FBVyxDQUFFQyxJQUFJLEdBQUcsRUFBVCxFQUFhO0lBQ3RCQSxJQUFJLEdBQUdDLGVBQUEsQ0FBRUMsU0FBRixDQUFZRixJQUFaLENBQVA7O0lBQ0FDLGVBQUEsQ0FBRUUsWUFBRixDQUFlSCxJQUFmLEVBQXFCUixZQUFyQjs7SUFDQSxLQUFLLE1BQU1ZLEdBQVgsSUFBa0JILGVBQUEsQ0FBRUksSUFBRixDQUFPYixZQUFQLENBQWxCLEVBQXdDO01BQ3RDLEtBQUtZLEdBQUwsSUFBWUosSUFBSSxDQUFDSSxHQUFELENBQWhCO0lBQ0Q7O0lBQ0QsS0FBS0UsS0FBTCxHQUFhTCxlQUFBLENBQUVNLEtBQUYsQ0FBUVAsSUFBSSxDQUFDUSxJQUFiLElBQXFCLElBQXJCLEdBQTRCUixJQUFJLENBQUNRLElBQTlDO0lBQ0EsS0FBS0MsZUFBTCxHQUF1QlIsZUFBQSxDQUFFTSxLQUFGLENBQVFQLElBQUksQ0FBQ1UsY0FBYixJQUErQixJQUEvQixHQUFzQ1YsSUFBSSxDQUFDVSxjQUFsRTtFQUNEOztFQUVPLElBQUpGLElBQUksQ0FBRUcsS0FBRixFQUFTO0lBQ2YsS0FBS0wsS0FBTCxHQUFhSyxL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
|
|
106
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTSU1DVExfRU5WX1BSRUZJWCIsIkRFRkFVTFRfT1BUUyIsInhjcnVuIiwicGF0aCIsImV4ZWNUaW1lb3V0IiwiREVGQVVMVF9FWEVDX1RJTUVPVVQiLCJsb2dFcnJvcnMiLCJTaW1jdGwiLCJjb25zdHJ1Y3RvciIsIm9wdHMiLCJfIiwiY2xvbmVEZWVwIiwiZGVmYXVsdHNEZWVwIiwia2V5Iiwia2V5cyIsIl91ZGlkIiwiaXNOaWwiLCJ1ZGlkIiwiX2RldmljZXNTZXRQYXRoIiwiZGV2aWNlc1NldFBhdGgiLCJ2YWx1ZSIsInJlcXVpcmVVZGlkIiwiY29tbWFuZE5hbWUiLCJFcnJvciIsInJlcXVpcmVYY3J1biIsInhjcnVuQmluYXJ5IiwiZ2V0WGNydW5CaW5hcnkiLCJ3aGljaCIsImUiLCJleGVjIiwic3ViY29tbWFuZCIsImFyZ3MiLCJlbnYiLCJhc3luY2hyb25vdXMiLCJlbmNvZGluZyIsImRlZmF1bHRzIiwibWFwS2V5cyIsInN0YXJ0c1dpdGgiLCJwcm9jZXNzIiwiZXhlY09wdHMiLCJ0aW1lb3V0IiwiU3ViUHJvY2VzcyIsInRwRXhlYyIsInN0ZGVyciIsIm1zZyIsInRyaW0iLCJsb2ciLCJkZWJ1ZyIsIkxPR19QUkVGSVgiLCJtZXNzYWdlIiwiZm5OYW1lIiwiZm4iLCJ0b1BhaXJzIiwic3ViY29tbWFuZHMiLCJwcm90b3R5cGUiXSwic291cmNlcyI6WyIuLi8uLi9saWIvc2ltY3RsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgc3ViY29tbWFuZHMgZnJvbSAnLi9zdWJjb21tYW5kcy9pbmRleC5qcyc7XG5pbXBvcnQgd2hpY2ggZnJvbSAnd2hpY2gnO1xuaW1wb3J0IGxvZywgeyBMT0dfUFJFRklYIH0gZnJvbSAnLi9sb2dnZXInO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9FWEVDX1RJTUVPVVQsIGdldFhjcnVuQmluYXJ5LFxufSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgZXhlYyBhcyB0cEV4ZWMsIFN1YlByb2Nlc3MgfSBmcm9tICd0ZWVuX3Byb2Nlc3MnO1xuXG5jb25zdCBTSU1DVExfRU5WX1BSRUZJWCA9ICdTSU1DVExfQ0hJTERfJztcbmNvbnN0IERFRkFVTFRfT1BUUyA9IHtcbiAgeGNydW46IHtcbiAgICBwYXRoOiBudWxsLFxuICB9LFxuICBleGVjVGltZW91dDogREVGQVVMVF9FWEVDX1RJTUVPVVQsXG4gIGxvZ0Vycm9yczogdHJ1ZSxcbn07XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gRXhlY09wdHNcbiAqIEBwcm9wZXJ0eSB7QXJyYXkuPHN0cmluZz59IGFyZ3MgW1tdXSAtIFRoZSBsaXN0IG9mIGFkZGl0aW9uYWwgc3ViY29tbWFuZCBhcmd1bWVudHMuXG4gKiBJdCdzIGVtcHR5IGJ5IGRlZmF1bHQuXG4gKiBAcHJvcGVydHkge09iamVjdH0gZW52IFt7fV0gLSBFbnZpcm9ubWVudCB2YXJpYWJsZXMgbWFwcGluZy4gQWxsIHRoZXNlIHZhcmlhYmxlc1xuICogd2lsbCBiZSBwYXNzZWQgU2ltdWxhdG9yIGFuZCB1c2VkIGluIHRoZSBleGVjdXRpbmcgZnVuY3Rpb24uXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGxvZ0Vycm9ycyBbdHJ1ZV0gLSBTZXQgaXQgdG8gX2ZhbHNlXyB0byB0aHJvdyBleGVjdXRpb24gZXJyb3JzXG4gKiBpbW1lZGlhdGVseSB3aXRob3V0IGxvZ2dpbmcgYW55IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGFzeW5jaHJvbm91cyBbZmFsc2VdIC0gV2hldGhlciB0byBleGVjdXRlIHRoZSBnaXZlbiBjb21tYW5kXG4gKiAnc3luY2hyb25vdXNseScgb3IgJ2FzeW5jaHJvbm91c2x5Jy4gQWZmZWN0cyB0aGUgcmV0dXJuZWQgcmVzdWx0IG9mIHRoZSBmdW5jdGlvbi5cbiAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gZW5jb2RpbmcgLSBFeHBsaWNpdGx5IHNldHMgc3RyZWFtcyBlbmNvZGluZyBmb3IgdGhlIGV4ZWN1dGVkXG4gKiBjb21tYW5kIGlucHV0IGFuZCBvdXRwdXRzLlxuICovXG5cblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBTaW1jdGxPcHRzXG4gKiBAcHJvcGVydHkgez9PYmplY3R9IHhjcnVuIC0gVGhlIHhjcnVuIHByb3BlcnRpZXMuIEN1cnJlbnRseSBvbmx5IG9uZSBwcm9wZXJ0eVxuICogaXMgc3VwcG9ydGVkLCB3aGljaCBpcyBgcGF0aGAgYW5kIGl0IGJ5IGRlZmF1bHQgY29udGFpbnMgYG51bGxgLCB3aGljaCBlbmZvcmNlc1xuICogdGhlIGluc3RhbmNlIHRvIGF1dG9tYXRpY2FsbHkgZGV0ZWN0IHRoZSBmdWxsIHBhdGggdG8gYHhjcnVuYCB0b29sIGFuZCB0byB0aHJvd1xuICogYW4gZXhjZXB0aW9uIGlmIGl0IGNhbm5vdCBiZSBkZXRlY3RlZC4gSWYgdGhlIHBhdGggaXMgc2V0IHVwb24gaW5zdGFuY2UgY3JlYXRpb25cbiAqIHRoZW4gaXQgaXMgZ29pbmcgdG8gYmUgdXNlZCBieSBgZXhlY2AgYW5kIG5vIGF1dG9kZXRlY3Rpb24gd2lsbCBoYXBwZW4uXG4gKiBAcHJvcGVydHkgez9udW1iZXJ9IGV4ZWNUaW1lb3V0IFs2MDAwMDBdIC0gVGhlIG1heGltdW0gbnVtYmVyIG9mIG1pbGxpc2Vjb25kc1xuICogdG8gd2FpdCBmb3Igc2luZ2xlIHN5bmNocm9ub3VzIHhjcnVuIGNvbW1hbmQuXG4gKiBAcHJvcGVydHkgez9ib29sZWFufSBsb2dFcnJvcnMgW3RydWVdIC0gV2hldGhlciB0byB3aXJlIHhjcnVuIGVycm9yIG1lc3NhZ2VzXG4gKiBpbnRvIGRlYnVnIGxvZyBiZWZvcmUgdGhyb3dpbmcgdGhlbS5cbiAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gdWRpZCBbbnVsbF0gLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGN1cnJlbnQgZGV2aWNlLCB3aGljaCBpc1xuICogZ29pbmcgdG8gYmUgaW1wbGljaXRseSBwYXNzZWQgdG8gYWxsIG1ldGhvZHMsIHdoaWNoIHJlcXVpcmUgaXQuIEl0IGNhbiBlaXRoZXIgYmUgc2V0XG4gKiB1cG9uIGluc3RhbmNlIGNyZWF0aW9uIGlmIGl0IGlzIGFscmVhZHkga25vd24gaW4gYWR2YW5jZSBvciBsYXRlciB3aGVuL2lmIG5lZWRlZCB2aWEgdGhlXG4gKiBjb3JyZXNwb25kaW5nIGluc3RhbmNlIHNldHRlci5cbiAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gZGV2aWNlc1NldFBhdGggLSBGdWxsIHBhdGggdG8gdGhlIHNldCBvZiBkZXZpY2VzIHRoYXQgeW91IHdhbnQgdG8gbWFuYWdlLlxuICogQnkgZGVmYXVsdCB0aGlzIHBhdGggdXN1YWxseSBlcXVhbHMgdG8gfi9MaWJyYXJ5L0RldmVsb3Blci9Db3JlU2ltdWxhdG9yL0RldmljZXNcbiAqL1xuXG5cbmNsYXNzIFNpbWN0bCB7XG4gIC8qKlxuICAgKiBAcGFyYW0gez9TaW1jdGxPcHRzfSBvcHRzXG4gICAqL1xuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgb3B0cyA9IF8uY2xvbmVEZWVwKG9wdHMpO1xuICAgIF8uZGVmYXVsdHNEZWVwKG9wdHMsIERFRkFVTFRfT1BUUyk7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgXy5rZXlzKERFRkFVTFRfT1BUUykpIHtcbiAgICAgIHRoaXNba2V5XSA9IG9wdHNba2V5XTtcbiAgICB9XG4gICAgdGhpcy5fdWRpZCA9IF8uaXNOaWwob3B0cy51ZGlkKSA/IG51bGwgOiBvcHRzLnVkaWQ7XG4gICAgdGhpcy5fZGV2aWNlc1NldFBhdGggPSBfLmlzTmlsKG9wdHMuZGV2aWNlc1NldFBhdGgpID8gbnVsbCA6IG9wdHMuZGV2aWNlc1NldFBhdGg7XG4gIH1cblxuICBzZXQgdWRpZCAodmFsdWUpIHtcbiAgICB0aGlzLl91ZGlkID0gdmFsdWU7XG4gIH1cblxuICBnZXQgdWRpZCAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3VkaWQ7XG4gIH1cblxuICBzZXQgZGV2aWNlc1NldFBhdGggKHZhbHVlKSB7XG4gICAgdGhpcy5fZGV2aWNlc1NldFBhdGggPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBkZXZpY2VzU2V0UGF0aCAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RldmljZXNTZXRQYXRoO1xuICB9XG5cbiAgcmVxdWlyZVVkaWQgKGNvbW1hbmROYW1lID0gbnVsbCkge1xuICAgIGlmICghdGhpcy51ZGlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHVkaWQgaXMgcmVxdWlyZWQgdG8gYmUgc2V0IGZvciBgICtcbiAgICAgICAgKGNvbW1hbmROYW1lID8gYHRoZSAnJHtjb21tYW5kTmFtZX0nIGNvbW1hbmRgIDogJ3RoaXMgc2ltY3RsIGNvbW1hbmQnKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnVkaWQ7XG4gIH1cblxuICBhc3luYyByZXF1aXJlWGNydW4gKCkge1xuICAgIGNvbnN0IHhjcnVuQmluYXJ5ID0gZ2V0WGNydW5CaW5hcnkoKTtcblxuICAgIGlmICghdGhpcy54Y3J1bi5wYXRoKSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLnhjcnVuLnBhdGggPSBhd2FpdCB3aGljaCh4Y3J1bkJpbmFyeSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHt4Y3J1bkJpbmFyeX0gdG9vbCBoYXMgbm90IGJlZW4gZm91bmQgaW4gUEFUSC4gYCArXG4gICAgICAgICAgYEFyZSBYY29kZSBkZXZlbG9wZXJzIHRvb2xzIGluc3RhbGxlZD9gKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMueGNydW4ucGF0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlIHRoZSBwYXJ0aWN1bGFyIHNpbWN0bCBjb21tYW5kLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3ViY29tbWFuZCAtIE9uZSBvZiBhdmFpbGFibGUgc2ltY3RsIHN1YmNvbW1hbmRzLlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4ZWN1dGUgYHhjcnVuIHNpbWN0bGAgaW4gVGVybWluYWwgdG8gc2VlIHRoZSBmdWxsIGxpc3RcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBhdmFpbGFibGUgc3ViY29tbWFuZHMuXG4gICAqIEBwYXJhbSB7P0V4ZWNPcHRzfSBvcHRzXG4gICAqIEByZXR1cm4ge0V4ZWNSZXN1bHR8U3ViUHJvY2Vzc30gRWl0aGVyIHRoZSByZXN1bHQgb2YgdGVlbiBwcm9jZXNzJ3MgYGV4ZWNgIG9yXG4gICAqIGBTdWJQcm9jZXNzYCBpbnN0YW5jZSBkZXBlbmRpbmcgb2YgYG9wdHMuYXN5bmNocm9ub3VzYCB2YWx1ZS5cbiAgICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kIHJldHVybnMgbm9uLXplcm8gcmV0dXJuIGNvZGUuXG4gICAqL1xuICBhc3luYyBleGVjIChzdWJjb21tYW5kLCBvcHRzID0ge30pIHtcbiAgICBsZXQge1xuICAgICAgYXJncyA9IFtdLFxuICAgICAgZW52ID0ge30sXG4gICAgICBhc3luY2hyb25vdXMgPSBmYWxzZSxcbiAgICAgIGVuY29kaW5nLFxuICAgICAgbG9nRXJyb3JzID0gdHJ1ZSxcbiAgICB9ID0gb3B0cztcbiAgICAvLyBydW4gYSBwYXJ0aWN1bGFyIHNpbWN0bCBjb21tYW5kXG4gICAgYXJncyA9IFsnc2ltY3RsJyxcbiAgICAgIC4uLih0aGlzLmRldmljZXNTZXRQYXRoID8gWyctLXNldCcsIHRoaXMuZGV2aWNlc1NldFBhdGhdIDogW10pLFxuICAgICAgc3ViY29tbWFuZCxcbiAgICAgIC4uLmFyZ3NcbiAgICBdO1xuICAgIC8vIFByZWZpeCBhbGwgcGFzc2VkIGluIGVudmlyb25tZW50IHZhcmlhYmxlcyB3aXRoICdTSU1DVExfQ0hJTERfJywgc2ltY3RsXG4gICAgLy8gd2lsbCB0aGVuIHBhc3MgdGhlc2UgdG8gdGhlIGNoaWxkIChzcGF3bmVkKSBwcm9jZXNzLlxuICAgIGVudiA9IF8uZGVmYXVsdHMoXG4gICAgICBfLm1hcEtleXMoZW52LFxuICAgICAgICAodmFsdWUsIGtleSkgPT4gXy5zdGFydHNXaXRoKGtleSwgU0lNQ1RMX0VOVl9QUkVGSVgpID8ga2V5IDogYCR7U0lNQ1RMX0VOVl9QUkVGSVh9JHtrZXl9YCksXG4gICAgICBwcm9jZXNzLmVudik7XG5cbiAgICBjb25zdCBleGVjT3B0cyA9IHtcbiAgICAgIGVudixcbiAgICAgIGVuY29kaW5nLFxuICAgIH07XG4gICAgaWYgKCFhc3luY2hyb25vdXMpIHtcbiAgICAgIGV4ZWNPcHRzLnRpbWVvdXQgPSB0aGlzLmV4ZWNUaW1lb3V0O1xuICAgIH1cbiAgICBjb25zdCB4Y3J1biA9IGF3YWl0IHRoaXMucmVxdWlyZVhjcnVuKCk7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhc3luY2hyb25vdXMgPyBuZXcgU3ViUHJvY2Vzcyh4Y3J1biwgYXJncywgZXhlY09wdHMpIDogYXdhaXQgdHBFeGVjKHhjcnVuLCBhcmdzLCBleGVjT3B0cyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKCF0aGlzLmxvZ0Vycm9ycyB8fCAhbG9nRXJyb3JzKSB7XG4gICAgICAgIC8vIGlmIHdlIGRvbid0IHdhbnQgdG8gc2VlIHRoZSBlcnJvcnMsIGp1c3QgdGhyb3cgYW5kIGFsbG93IHRoZSBjYWxsaW5nXG4gICAgICAgIC8vIGNvZGUgZG8gd2hhdCBpdCB3YW50c1xuICAgICAgfSBlbHNlIGlmIChlLnN0ZGVycikge1xuICAgICAgICBjb25zdCBtc2cgPSBgRXJyb3IgcnVubmluZyAnJHtzdWJjb21tYW5kfSc6ICR7ZS5zdGRlcnIudHJpbSgpfWA7XG4gICAgICAgIGxvZy5kZWJ1ZyhMT0dfUFJFRklYLCBtc2cpO1xuICAgICAgICBlLm1lc3NhZ2UgPSBtc2c7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsb2cuZGVidWcoTE9HX1BSRUZJWCwgZS5tZXNzYWdlKTtcbiAgICAgIH1cbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG59XG5cblxuLy8gYWRkIGFsbCB0aGUgc3ViY29tbWFuZHMgdG8gdGhlIFNpbWN0bCBwcm90b3R5cGVcbmZvciAoY29uc3QgW2ZuTmFtZSwgZm5dIG9mIF8udG9QYWlycyhzdWJjb21tYW5kcykpIHtcbiAgU2ltY3RsLnByb3RvdHlwZVtmbk5hbWVdID0gZm47XG59XG5cbmV4cG9ydCBkZWZhdWx0IFNpbWN0bDtcbmV4cG9ydCB7IFNpbWN0bCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUEwRDtBQUFBO0FBRTFELE1BQU1BLGlCQUFpQixHQUFHLGVBQWU7QUFDekMsTUFBTUMsWUFBWSxHQUFHO0VBQ25CQyxLQUFLLEVBQUU7SUFDTEMsSUFBSSxFQUFFO0VBQ1IsQ0FBQztFQUNEQyxXQUFXLEVBQUVDLDZCQUFvQjtFQUNqQ0MsU0FBUyxFQUFFO0FBQ2IsQ0FBQzs7QUFxQ0QsTUFBTUMsTUFBTSxDQUFDO0VBSVhDLFdBQVcsQ0FBRUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFO0lBQ3RCQSxJQUFJLEdBQUdDLGVBQUMsQ0FBQ0MsU0FBUyxDQUFDRixJQUFJLENBQUM7SUFDeEJDLGVBQUMsQ0FBQ0UsWUFBWSxDQUFDSCxJQUFJLEVBQUVSLFlBQVksQ0FBQztJQUNsQyxLQUFLLE1BQU1ZLEdBQUcsSUFBSUgsZUFBQyxDQUFDSSxJQUFJLENBQUNiLFlBQVksQ0FBQyxFQUFFO01BQ3RDLElBQUksQ0FBQ1ksR0FBRyxDQUFDLEdBQUdKLElBQUksQ0FBQ0ksR0FBRyxDQUFDO0lBQ3ZCO0lBQ0EsSUFBSSxDQUFDRSxLQUFLLEdBQUdMLGVBQUMsQ0FBQ00sS0FBSyxDQUFDUCxJQUFJLENBQUNRLElBQUksQ0FBQyxHQUFHLElBQUksR0FBR1IsSUFBSSxDQUFDUSxJQUFJO0lBQ2xELElBQUksQ0FBQ0MsZUFBZSxHQUFHUixlQUFDLENBQUNNLEtBQUssQ0FBQ1AsSUFBSSxDQUFDVSxjQUFjLENBQUMsR0FBRyxJQUFJLEdBQUdWLElBQUksQ0FBQ1UsY0FBYztFQUNsRjtFQUVBLElBQUlGLElBQUksQ0FBRUcsS0FBSyxFQUFFO0lBQ2YsSUFBSSxDQUFDTCxLQUFLLEdBQUdLLEtBQUs7RUFDcEI7RUFFQSxJQUFJSCxJQUFJLEdBQUk7SUFDVixPQUFPLElBQUksQ0FBQ0YsS0FBSztFQUNuQjtFQUVBLElBQUlJLGNBQWMsQ0FBRUMsS0FBSyxFQUFFO0lBQ3pCLElBQUksQ0FBQ0YsZUFBZSxHQUFHRSxLQUFLO0VBQzlCO0VBRUEsSUFBSUQsY0FBYyxHQUFJO0lBQ3BCLE9BQU8sSUFBSSxDQUFDRCxlQUFlO0VBQzdCO0VBRUFHLFdBQVcsQ0FBRUMsV0FBVyxHQUFHLElBQUksRUFBRTtJQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDTCxJQUFJLEVBQUU7TUFDZCxNQUFNLElBQUlNLEtBQUssQ0FBRSxpQ0FBZ0MsSUFDOUNELFdBQVcsR0FBSSxRQUFPQSxXQUFZLFdBQVUsR0FBRyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzNFO0lBQ0EsT0FBTyxJQUFJLENBQUNMLElBQUk7RUFDbEI7RUFFQSxNQUFNTyxZQUFZLEdBQUk7SUFDcEIsTUFBTUMsV0FBVyxHQUFHLElBQUFDLHVCQUFjLEdBQUU7SUFFcEMsSUFBSSxDQUFDLElBQUksQ0FBQ3hCLEtBQUssQ0FBQ0MsSUFBSSxFQUFFO01BQ3BCLElBQUk7UUFDRixJQUFJLENBQUNELEtBQUssQ0FBQ0MsSUFBSSxHQUFHLE1BQU0sSUFBQXdCLGNBQUssRUFBQ0YsV0FBVyxDQUFDO01BQzVDLENBQUMsQ0FBQyxPQUFPRyxDQUFDLEVBQUU7UUFDVixNQUFNLElBQUlMLEtBQUssQ0FBRSxHQUFFRSxXQUFZLG9DQUFtQyxHQUMvRCx1Q0FBc0MsQ0FBQztNQUM1QztJQUNGO0lBQ0EsT0FBTyxJQUFJLENBQUN2QixLQUFLLENBQUNDLElBQUk7RUFDeEI7O0VBYUEsTUFBTTBCLElBQUksQ0FBRUMsVUFBVSxFQUFFckIsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFO0lBQ2pDLElBQUk7TUFDRnNCLElBQUksR0FBRyxFQUFFO01BQ1RDLEdBQUcsR0FBRyxDQUFDLENBQUM7TUFDUkMsWUFBWSxHQUFHLEtBQUs7TUFDcEJDLFFBQVE7TUFDUjVCLFNBQVMsR0FBRztJQUNkLENBQUMsR0FBR0csSUFBSTtJQUVSc0IsSUFBSSxHQUFHLENBQUMsUUFBUSxFQUNkLElBQUksSUFBSSxDQUFDWixjQUFjLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDQSxjQUFjLENBQUMsR0FBRyxFQUFFLENBQUMsRUFDOURXLFVBQVUsRUFDVixHQUFHQyxJQUFJLENBQ1I7SUFHREMsR0FBRyxHQUFHdEIsZUFBQyxDQUFDeUIsUUFBUSxDQUNkekIsZUFBQyxDQUFDMEIsT0FBTyxDQUFDSixHQUFHLEVBQ1gsQ0FBQ1osS0FBSyxFQUFFUCxHQUFHLEtBQUtILGVBQUMsQ0FBQzJCLFVBQVUsQ0FBQ3hCLEdBQUcsRUFBRWIsaUJBQWlCLENBQUMsR0FBR2EsR0FBRyxHQUFJLEdBQUViLGlCQUFrQixHQUFFYSxHQUFJLEVBQUMsQ0FBQyxFQUM1RnlCLE9BQU8sQ0FBQ04sR0FBRyxDQUFDO0lBRWQsTUFBTU8sUUFBUSxHQUFHO01BQ2ZQLEdBQUc7TUFDSEU7SUFDRixDQUFDO0lBQ0QsSUFBSSxDQUFDRCxZQUFZLEVBQUU7TUFDakJNLFFBQVEsQ0FBQ0MsT0FBTyxHQUFHLElBQUksQ0FBQ3BDLFdBQVc7SUFDckM7SUFDQSxNQUFNRixLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUNzQixZQUFZLEVBQUU7SUFDdkMsSUFBSTtNQUNGLE9BQU9TLFlBQVksR0FBRyxJQUFJUSx3QkFBVSxDQUFDdkMsS0FBSyxFQUFFNkIsSUFBSSxFQUFFUSxRQUFRLENBQUMsR0FBRyxNQUFNLElBQUFHLGtCQUFNLEVBQUN4QyxLQUFLLEVBQUU2QixJQUFJLEVBQUVRLFFBQVEsQ0FBQztJQUNuRyxDQUFDLENBQUMsT0FBT1gsQ0FBQyxFQUFFO01BQ1YsSUFBSSxDQUFDLElBQUksQ0FBQ3RCLFNBQVMsSUFBSSxDQUFDQSxTQUFTLEVBQUU7TUFHbkMsQ0FBQyxNQUFNLElBQUlzQixDQUFDLENBQUNlLE1BQU0sRUFBRTtRQUNuQixNQUFNQyxHQUFHLEdBQUksa0JBQWlCZCxVQUFXLE1BQUtGLENBQUMsQ0FBQ2UsTUFBTSxDQUFDRSxJQUFJLEVBQUcsRUFBQztRQUMvREMsZUFBRyxDQUFDQyxLQUFLLENBQUNDLGtCQUFVLEVBQUVKLEdBQUcsQ0FBQztRQUMxQmhCLENBQUMsQ0FBQ3FCLE9BQU8sR0FBR0wsR0FBRztNQUNqQixDQUFDLE1BQU07UUFDTEUsZUFBRyxDQUFDQyxLQUFLLENBQUNDLGtCQUFVLEVBQUVwQixDQUFDLENBQUNxQixPQUFPLENBQUM7TUFDbEM7TUFDQSxNQUFNckIsQ0FBQztJQUNUO0VBQ0Y7QUFDRjs7QUFBQztBQUlELEtBQUssTUFBTSxDQUFDc0IsTUFBTSxFQUFFQyxFQUFFLENBQUMsSUFBSXpDLGVBQUMsQ0FBQzBDLE9BQU8sQ0FBQ0MsY0FBVyxDQUFDLEVBQUU7RUFDakQ5QyxNQUFNLENBQUMrQyxTQUFTLENBQUNKLE1BQU0sQ0FBQyxHQUFHQyxFQUFFO0FBQy9CO0FBQUMsZUFFYzVDLE1BQU07QUFBQSJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simctl.js","names":["SIMCTL_ENV_PREFIX","DEFAULT_OPTS","xcrun","path","execTimeout","DEFAULT_EXEC_TIMEOUT","logErrors","Simctl","constructor","opts","_","cloneDeep","defaultsDeep","key","keys","_udid","isNil","udid","_devicesSetPath","devicesSetPath","value","requireUdid","commandName","Error","requireXcrun","xcrunBinary","getXcrunBinary","which","e","exec","subcommand","args","env","asynchronous","encoding","defaults","mapKeys","startsWith","process","execOpts","timeout","SubProcess","tpExec","stderr","msg","trim","log","debug","LOG_PREFIX","message","fnName","fn","toPairs","subcommands","prototype"],"sources":["../../lib/simctl.js"],"sourcesContent":["import _ from 'lodash';\nimport subcommands from './subcommands/index.js';\nimport which from 'which';\nimport log, { LOG_PREFIX } from './logger';\nimport {\n DEFAULT_EXEC_TIMEOUT, getXcrunBinary,\n} from './helpers';\nimport { exec as tpExec, SubProcess } from 'teen_process';\n\nconst SIMCTL_ENV_PREFIX = 'SIMCTL_CHILD_';\nconst DEFAULT_OPTS = {\n xcrun: {\n path: null,\n },\n execTimeout: DEFAULT_EXEC_TIMEOUT,\n logErrors: true,\n};\n\n/**\n * @typedef {Object} ExecOpts\n * @property {Array.<string>} args [[]] - The list of additional subcommand arguments.\n * It's empty by default.\n * @property {Object} env [{}] - Environment variables mapping. All these variables\n * will be passed Simulator and used in the executing function.\n * @property {boolean} logErrors [true] - Set it to _false_ to throw execution errors\n * immediately without logging any additional information.\n * @property {boolean} asynchronous [false] - Whether to execute the given command\n * 'synchronously' or 'asynchronously'. Affects the returned result of the function.\n * @property {?string} encoding - Explicitly sets streams encoding for the executed\n * command input and outputs.\n */\n\n\n/**\n * @typedef {Object} SimctlOpts\n * @property {?Object} xcrun - The xcrun properties. Currently only one property\n * is supported, which is `path` and it by default contains `null`, which enforces\n * the instance to automatically detect the full path to `xcrun` tool and to throw\n * an exception if it cannot be detected. If the path is set upon instance creation\n * then it is going to be used by `exec` and no autodetection will happen.\n * @property {?number} execTimeout [600000] - The maximum number of milliseconds\n * to wait for single synchronous xcrun command.\n * @property {?boolean} logErrors [true] - Whether to wire xcrun error messages\n * into debug log before throwing them.\n * @property {?string} udid [null] - The unique identifier of the current device, which is\n * going to be implicitly passed to all methods, which require it. It can either be set\n * upon instance creation if it is already known in advance or later when/if needed via the\n * corresponding instance setter.\n * @property {?string} devicesSetPath - Full path to the set of devices that you want to manage.\n * By default this path usually equals to ~/Library/Developer/CoreSimulator/Devices\n */\n\n\nclass Simctl {\n /**\n * @param {?SimctlOpts} opts\n */\n constructor (opts = {}) {\n opts = _.cloneDeep(opts);\n _.defaultsDeep(opts, DEFAULT_OPTS);\n for (const key of _.keys(DEFAULT_OPTS)) {\n this[key] = opts[key];\n }\n this._udid = _.isNil(opts.udid) ? null : opts.udid;\n this._devicesSetPath = _.isNil(opts.devicesSetPath) ? null : opts.devicesSetPath;\n }\n\n set udid (value) {\n this._udid = value;\n }\n\n get udid () {\n return this._udid;\n }\n\n set devicesSetPath (value) {\n this._devicesSetPath = value;\n }\n\n get devicesSetPath () {\n return this._devicesSetPath;\n }\n\n requireUdid (commandName = null) {\n if (!this.udid) {\n throw new Error(`udid is required to be set for ` +\n (commandName ? `the '${commandName}' command` : 'this simctl command'));\n }\n return this.udid;\n }\n\n async requireXcrun () {\n const xcrunBinary = getXcrunBinary();\n\n if (!this.xcrun.path) {\n try {\n this.xcrun.path = await which(xcrunBinary);\n } catch (e) {\n throw new Error(`${xcrunBinary} tool has not been found in PATH. ` +\n `Are Xcode developers tools installed?`);\n }\n }\n return this.xcrun.path;\n }\n\n /**\n * Execute the particular simctl command.\n *\n * @param {string} subcommand - One of available simctl subcommands.\n * Execute `xcrun simctl` in Terminal to see the full list\n * of available subcommands.\n * @param {?ExecOpts} opts\n * @return {ExecResult|SubProcess} Either the result of teen process's `exec` or\n * `SubProcess` instance depending of `opts.asynchronous` value.\n * @throws {Error} If the simctl subcommand command returns non-zero return code.\n */\n async exec (subcommand, opts = {}) {\n let {\n args = [],\n env = {},\n asynchronous = false,\n encoding,\n logErrors = true,\n } = opts;\n // run a particular simctl command\n args = ['simctl',\n ...(this.devicesSetPath ? ['--set', this.devicesSetPath] : []),\n subcommand,\n ...args\n ];\n // Prefix all passed in environment variables with 'SIMCTL_CHILD_', simctl\n // will then pass these to the child (spawned) process.\n env = _.defaults(\n _.mapKeys(env,\n (value, key) => _.startsWith(key, SIMCTL_ENV_PREFIX) ? key : `${SIMCTL_ENV_PREFIX}${key}`),\n process.env);\n\n const execOpts = {\n env,\n encoding,\n };\n if (!asynchronous) {\n execOpts.timeout = this.execTimeout;\n }\n const xcrun = await this.requireXcrun();\n try {\n return asynchronous ? new SubProcess(xcrun, args, execOpts) : await tpExec(xcrun, args, execOpts);\n } catch (e) {\n if (!this.logErrors || !logErrors) {\n // if we don't want to see the errors, just throw and allow the calling\n // code do what it wants\n } else if (e.stderr) {\n const msg = `Error running '${subcommand}': ${e.stderr.trim()}`;\n log.debug(LOG_PREFIX, msg);\n e.message = msg;\n } else {\n log.debug(LOG_PREFIX, e.message);\n }\n throw e;\n }\n }\n}\n\n\n// add all the subcommands to the Simctl prototype\nfor (const [fnName, fn] of _.toPairs(subcommands)) {\n Simctl.prototype[fnName] = fn;\n}\n\nexport default Simctl;\nexport { Simctl };\n"],"mappings":"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"}
|
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
require("source-map-support/register");
|
|
9
|
-
|
|
10
8
|
const commands = {};
|
|
11
9
|
|
|
12
10
|
commands.addMedia = async function addMedia(filePath) {
|
|
@@ -14,7 +12,6 @@ commands.addMedia = async function addMedia(filePath) {
|
|
|
14
12
|
args: [this.requireUdid('addmedia'), filePath]
|
|
15
13
|
});
|
|
16
14
|
};
|
|
17
|
-
|
|
18
15
|
var _default = commands;
|
|
19
16
|
exports.default = _default;
|
|
20
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImFkZE1lZGlhIiwiZmlsZVBhdGgiLCJleGVjIiwiYXJncyIsInJlcXVpcmVVZGlkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N1YmNvbW1hbmRzL2FkZG1lZGlhLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8qKlxuICogQWRkIHRoZSBwYXJ0aWN1bGFyIG1lZGlhIGZpbGUgdG8gU2ltdWxhdG9yJ3MgbGlicmFyeS5cbiAqIEl0IGlzIHJlcXVpcmVkIHRoYXQgU2ltdWxhdG9yIGlzIGluIF9ib290ZWRfIHN0YXRlLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBmaWxlUGF0aCAtIEZ1bGwgcGF0aCB0byBhIG1lZGlhIGZpbGUgb24gdGhlIGxvY2FsXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlIHN5c3RlbS5cbiAqIEByZXR1cm4ge0V4ZWNSZXN1bHR9IENvbW1hbmQgZXhlY3V0aW9uIHJlc3VsdC5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kXG4gKiAgICAgICAgICAgICAgICAgcmV0dXJucyBub24temVybyByZXR1cm4gY29kZS5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgYHVkaWRgIGluc3RhbmNlIHByb3BlcnR5IGlzIHVuc2V0XG4gKi9cbmNvbW1hbmRzLmFkZE1lZGlhID0gYXN5bmMgZnVuY3Rpb24gYWRkTWVkaWEgKGZpbGVQYXRoKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLmV4ZWMoJ2FkZG1lZGlhJywge1xuICAgIGFyZ3M6IFt0aGlzLnJlcXVpcmVVZGlkKCdhZGRtZWRpYScpLCBmaWxlUGF0aF0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxNQUFNQSxRQUFRLEdBQUcsQ0FBQyxDQUFDOztBQWFuQkEsUUFBUSxDQUFDQyxRQUFRLEdBQUcsZUFBZUEsUUFBUSxDQUFFQyxRQUFRLEVBQUU7RUFDckQsT0FBTyxNQUFNLElBQUksQ0FBQ0MsSUFBSSxDQUFDLFVBQVUsRUFBRTtJQUNqQ0MsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDQyxXQUFXLENBQUMsVUFBVSxDQUFDLEVBQUVILFFBQVE7RUFDL0MsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUFDLGVBRWFGLFFBQVE7QUFBQSJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addmedia.js","names":["commands","addMedia","filePath","exec","args","requireUdid"],"sources":["../../../lib/subcommands/addmedia.js"],"sourcesContent":["const commands = {};\n\n/**\n * Add the particular media file to Simulator's library.\n * It is required that Simulator is in _booted_ state.\n *\n * @param {string} filePath - Full path to a media file on the local\n * file system.\n * @return {ExecResult} Command execution result.\n * @throws {Error} If the corresponding simctl subcommand command\n * returns non-zero return code.\n * @throws {Error} If the `udid` instance property is unset\n */\ncommands.addMedia = async function addMedia (filePath) {\n return await this.exec('addmedia', {\n args: [this.requireUdid('addmedia'), filePath],\n });\n};\n\nexport default commands;\n"],"mappings":";;;;;;;AAAA,MAAMA,QAAQ,GAAG,CAAC,CAAC;;AAanBA,QAAQ,CAACC,QAAQ,GAAG,eAAeA,QAAQ,CAAEC,QAAQ,EAAE;EACrD,OAAO,MAAM,IAAI,CAACC,IAAI,CAAC,UAAU,EAAE;IACjCC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,UAAU,CAAC,EAAEH,QAAQ;EAC/C,CAAC,CAAC;AACJ,CAAC;AAAC,eAEaF,QAAQ;AAAA"}
|
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
require("source-map-support/register");
|
|
9
|
-
|
|
10
8
|
const commands = {};
|
|
11
9
|
|
|
12
10
|
commands.appInfo = async function appInfo(bundleId) {
|
|
@@ -17,7 +15,6 @@ commands.appInfo = async function appInfo(bundleId) {
|
|
|
17
15
|
});
|
|
18
16
|
return (stdout || '').trim();
|
|
19
17
|
};
|
|
20
|
-
|
|
21
18
|
var _default = commands;
|
|
22
19
|
exports.default = _default;
|
|
23
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImFwcEluZm8iLCJidW5kbGVJZCIsInN0ZG91dCIsImV4ZWMiLCJhcmdzIiwicmVxdWlyZVVkaWQiLCJ0cmltIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N1YmNvbW1hbmRzL2FwcGluZm8uanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBJbnZva2UgaGlkZGVuIGFwcGluZm8gc3ViY29tbWFuZCB0byBnZXQgdGhlIGluZm9ybWF0aW9uXG4gKiBhYm91dCBhcHBsaWNhdGlvbnMgaW5zdGFsbGVkIG9uIFNpbXVsYXRvciwgaW5jbHVkaW5nXG4gKiBzeXN0ZW0gYXBwbGljYXRpb25zICh7QGxpbmsgZ2V0QXBwQ29udGFpbmVyfSBkb2VzIG5vdCBcInNlZVwiIHN1Y2ggYXBwcykuXG4gKiBTaW11bGF0b3Igc2VydmVyIHNob3VsZCBiZSBpbiAnYm9vdGVkJyBzdGF0ZSBmb3IgdGhpcyBjYWxsIHRvIHdvcmsgcHJvcGVybHkuXG4gKiBUaGUgdG9vbCBpcyBvbmx5IGF2YWlsYWJsZSBzaW5jZSBYY29kZSBTREsgOC4xXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGJ1bmRsZUlkIC0gVGhlIGJ1bmRsZSBpZGVudGlmaWVyIG9mIHRoZSB0YXJnZXQgYXBwbGljYXRpb24uXG4gKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBpbmZvcm1hdGlvbiBhYm91dCBpbnN0YWxsZWQgYXBwbGljYXRpb24uXG4gKlxuICogRXhhbXBsZSBvdXRwdXQgZm9yIG5vbi1leGlzdGluZyBhcHBsaWNhdGlvbiBjb250YWluZXI6XG4gKiA8cHJlPlxuICoge1xuICogICBDRkJ1bmRsZUlkZW50aWZpZXIgPSBcImNvbS5hcHBsZS5Nb2JpbGVTYWZhcmlcIjtcbiAqICAgR3JvdXBDb250YWluZXJzID0gICAgIHtcbiAqICAgfTtcbiAqICAgU0JBcHBUYWdzID0gICAgIChcbiAqICAgKTtcbiAqIH1cbiAqIDwvcHJlPlxuICpcbiAqIEV4YW1wbGUgb3V0cHV0IGZvciBhbiBleGlzdGluZyBzeXN0ZW0gYXBwbGljYXRpb24gY29udGFpbmVyOlxuICogPHByZT5cbiAqIHtcbiAqICAgQXBwbGljYXRpb25UeXBlID0gSGlkZGVuO1xuICogICBCdW5kbGUgPSBcImZpbGU6Ly8vQXBwbGljYXRpb25zL1hjb2RlLWJldGEuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvaVBob25lT1MucGxhdGZvcm0vRGV2ZWxvcGVyL0xpYnJhcnkvQ29yZVNpbXVsYXRvci9Qcm9maWxlcy9SdW50aW1lcy9pT1Muc2ltcnVudGltZS9Db250ZW50cy9SZXNvdXJjZXMvUnVudGltZVJvb3QvU3lzdGVtL0xpYnJhcnkvQ29yZVNlcnZpY2VzL1NwcmluZ0JvYXJkLmFwcFwiO1xuICogICBDRkJ1bmRsZURpc3BsYXlOYW1lID0gU3ByaW5nQm9hcmQ7XG4gKiAgIENGQnVuZGxlRXhlY3V0YWJsZSA9IFNwcmluZ0JvYXJkO1xuICogICBDRkJ1bmRsZUlkZW50aWZpZXIgPSBcImNvbS5hcHBsZS5zcHJpbmdib2FyZFwiO1xuICogICBDRkJ1bmRsZU5hbWUgPSBTcHJpbmdCb2FyZDtcbiAqICAgQ0ZCdW5kbGVWZXJzaW9uID0gNTA7XG4gKiAgIEdyb3VwQ29udGFpbmVycyA9ICAgICB7XG4gKiAgIH07XG4gKiAgIFBhdGggPSBcIi9BcHBsaWNhdGlvbnMvWGNvZGUtYmV0YS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9pUGhvbmVPUy5wbGF0Zm9ybS9EZXZlbG9wZXIvTGlicmFyeS9Db3JlU2ltdWxhdG9yL1Byb2ZpbGVzL1J1bnRpbWVzL2lPUy5zaW1ydW50aW1lL0NvbnRlbnRzL1Jlc291cmNlcy9SdW50aW1lUm9vdC9TeXN0ZW0vTGlicmFyeS9Db3JlU2VydmljZXMvU3ByaW5nQm9hcmQuYXBwXCI7XG4gKiAgIFNCQXBwVGFncyA9ICAgICAoXG4gKiAgICk7XG4gKiB9XG4gKiA8L3ByZT5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgYHVkaWRgIGluc3RhbmNlIHByb3BlcnR5IGlzIHVuc2V0XG4gKi9cbmNvbW1hbmRzLmFwcEluZm8gPSBhc3luYyBmdW5jdGlvbiBhcHBJbmZvIChidW5kbGVJZCkge1xuICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IHRoaXMuZXhlYygnYXBwaW5mbycsIHtcbiAgICBhcmdzOiBbdGhpcy5yZXF1aXJlVWRpZCgnYXBwaW5mbycpLCBidW5kbGVJZF0sXG4gIH0pO1xuICByZXR1cm4gKHN0ZG91dCB8fCAnJykudHJpbSgpO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxNQUFNQSxRQUFRLEdBQUcsQ0FBQyxDQUFDOztBQTBDbkJBLFFBQVEsQ0FBQ0MsT0FBTyxHQUFHLGVBQWVBLE9BQU8sQ0FBRUMsUUFBUSxFQUFFO0VBQ25ELE1BQU07SUFBQ0M7RUFBTSxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUNDLElBQUksQ0FBQyxTQUFTLEVBQUU7SUFDMUNDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQ0MsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFSixRQUFRO0VBQzlDLENBQUMsQ0FBQztFQUNGLE9BQU8sQ0FBQ0MsTUFBTSxJQUFJLEVBQUUsRUFBRUksSUFBSSxFQUFFO0FBQzlCLENBQUM7QUFBQyxlQUVhUCxRQUFRO0FBQUEifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appinfo.js","names":["commands","appInfo","bundleId","stdout","exec","args","requireUdid","trim"],"sources":["../../../lib/subcommands/appinfo.js"],"sourcesContent":["const commands = {};\n\n/**\n * Invoke hidden appinfo subcommand to get the information\n * about applications installed on Simulator, including\n * system applications ({@link getAppContainer} does not \"see\" such apps).\n * Simulator server should be in 'booted' state for this call to work properly.\n * The tool is only available since Xcode SDK 8.1\n *\n * @param {string} bundleId - The bundle identifier of the target application.\n * @return {string} The information about installed application.\n *\n * Example output for non-existing application container:\n * <pre>\n * {\n * CFBundleIdentifier = \"com.apple.MobileSafari\";\n * GroupContainers = {\n * };\n * SBAppTags = (\n * );\n * }\n * </pre>\n *\n * Example output for an existing system application container:\n * <pre>\n * {\n * ApplicationType = Hidden;\n * Bundle = \"file:///Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/CoreServices/SpringBoard.app\";\n * CFBundleDisplayName = SpringBoard;\n * CFBundleExecutable = SpringBoard;\n * CFBundleIdentifier = \"com.apple.springboard\";\n * CFBundleName = SpringBoard;\n * CFBundleVersion = 50;\n * GroupContainers = {\n * };\n * Path = \"/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/CoreServices/SpringBoard.app\";\n * SBAppTags = (\n * );\n * }\n * </pre>\n * @throws {Error} If the `udid` instance property is unset\n */\ncommands.appInfo = async function appInfo (bundleId) {\n const {stdout} = await this.exec('appinfo', {\n args: [this.requireUdid('appinfo'), bundleId],\n });\n return (stdout || '').trim();\n};\n\nexport default commands;\n"],"mappings":";;;;;;;AAAA,MAAMA,QAAQ,GAAG,CAAC,CAAC;;AA0CnBA,QAAQ,CAACC,OAAO,GAAG,eAAeA,OAAO,CAAEC,QAAQ,EAAE;EACnD,MAAM;IAACC;EAAM,CAAC,GAAG,MAAM,IAAI,CAACC,IAAI,CAAC,SAAS,EAAE;IAC1CC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,SAAS,CAAC,EAAEJ,QAAQ;EAC9C,CAAC,CAAC;EACF,OAAO,CAACC,MAAM,IAAI,EAAE,EAAEI,IAAI,EAAE;AAC9B,CAAC;AAAC,eAEaP,QAAQ;AAAA"}
|
|
@@ -1,22 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
require("source-map-support/register");
|
|
11
|
-
|
|
12
9
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
13
|
-
|
|
14
10
|
var _logger = _interopRequireWildcard(require("../logger"));
|
|
15
|
-
|
|
16
11
|
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); }
|
|
17
|
-
|
|
18
12
|
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; }
|
|
19
|
-
|
|
20
13
|
const commands = {};
|
|
21
14
|
|
|
22
15
|
commands.bootDevice = async function bootDevice() {
|
|
@@ -28,11 +21,9 @@ commands.bootDevice = async function bootDevice() {
|
|
|
28
21
|
if (_lodash.default.includes(e.message, 'Unable to boot device in current state: Booted')) {
|
|
29
22
|
throw e;
|
|
30
23
|
}
|
|
31
|
-
|
|
32
24
|
_logger.default.debug(_logger.LOG_PREFIX, `Simulator already in 'Booted' state. Continuing`);
|
|
33
25
|
}
|
|
34
26
|
};
|
|
35
|
-
|
|
36
27
|
var _default = commands;
|
|
37
28
|
exports.default = _default;
|
|
38
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImJvb3REZXZpY2UiLCJleGVjIiwiYXJncyIsInJlcXVpcmVVZGlkIiwiZSIsIl8iLCJpbmNsdWRlcyIsIm1lc3NhZ2UiLCJsb2ciLCJkZWJ1ZyIsIkxPR19QUkVGSVgiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3ViY29tbWFuZHMvYm9vdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IGxvZywgeyBMT0dfUFJFRklYIH0gZnJvbSAnLi4vbG9nZ2VyJztcblxuXG5jb25zdCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIEJvb3QgdGhlIHBhcnRpY3VsYXIgU2ltdWxhdG9yIGlmIGl0IGlzIG5vdCBydW5uaW5nLlxuICpcbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kXG4gKiAgICAgICAgICAgICAgICAgcmV0dXJucyBub24temVybyByZXR1cm4gY29kZS5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgYHVkaWRgIGluc3RhbmNlIHByb3BlcnR5IGlzIHVuc2V0XG4gKi9cbmNvbW1hbmRzLmJvb3REZXZpY2UgPSBhc3luYyBmdW5jdGlvbiBib290RGV2aWNlICgpIHtcbiAgdHJ5IHtcbiAgICBhd2FpdCB0aGlzLmV4ZWMoJ2Jvb3QnLCB7XG4gICAgICBhcmdzOiBbdGhpcy5yZXF1aXJlVWRpZCgnYm9vdCcpXVxuICAgIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgaWYgKF8uaW5jbHVkZXMoZS5tZXNzYWdlLCAnVW5hYmxlIHRvIGJvb3QgZGV2aWNlIGluIGN1cnJlbnQgc3RhdGU6IEJvb3RlZCcpKSB7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgICBsb2cuZGVidWcoTE9HX1BSRUZJWCwgYFNpbXVsYXRvciBhbHJlYWR5IGluICdCb290ZWQnIHN0YXRlLiBDb250aW51aW5nYCk7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7QUFBNEM7QUFBQTtBQUc1QyxNQUFNQSxRQUFRLEdBQUcsQ0FBQyxDQUFDOztBQVNuQkEsUUFBUSxDQUFDQyxVQUFVLEdBQUcsZUFBZUEsVUFBVSxHQUFJO0VBQ2pELElBQUk7SUFDRixNQUFNLElBQUksQ0FBQ0MsSUFBSSxDQUFDLE1BQU0sRUFBRTtNQUN0QkMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDQyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQ2pDLENBQUMsQ0FBQztFQUNKLENBQUMsQ0FBQyxPQUFPQyxDQUFDLEVBQUU7SUFDVixJQUFJQyxlQUFDLENBQUNDLFFBQVEsQ0FBQ0YsQ0FBQyxDQUFDRyxPQUFPLEVBQUUsZ0RBQWdELENBQUMsRUFBRTtNQUMzRSxNQUFNSCxDQUFDO0lBQ1Q7SUFDQUksZUFBRyxDQUFDQyxLQUFLLENBQUNDLGtCQUFVLEVBQUcsaURBQWdELENBQUM7RUFDMUU7QUFDRixDQUFDO0FBQUMsZUFFYVgsUUFBUTtBQUFBIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boot.js","names":["commands","bootDevice","exec","args","requireUdid","e","_","includes","message","log","debug","LOG_PREFIX"],"sources":["../../../lib/subcommands/boot.js"],"sourcesContent":["import _ from 'lodash';\nimport log, { LOG_PREFIX } from '../logger';\n\n\nconst commands = {};\n\n/**\n * Boot the particular Simulator if it is not running.\n *\n * @throws {Error} If the corresponding simctl subcommand command\n * returns non-zero return code.\n * @throws {Error} If the `udid` instance property is unset\n */\ncommands.bootDevice = async function bootDevice () {\n try {\n await this.exec('boot', {\n args: [this.requireUdid('boot')]\n });\n } catch (e) {\n if (_.includes(e.message, 'Unable to boot device in current state: Booted')) {\n throw e;\n }\n log.debug(LOG_PREFIX, `Simulator already in 'Booted' state. Continuing`);\n }\n};\n\nexport default commands;\n"],"mappings":";;;;;;;;AAAA;AACA;AAA4C;AAAA;AAG5C,MAAMA,QAAQ,GAAG,CAAC,CAAC;;AASnBA,QAAQ,CAACC,UAAU,GAAG,eAAeA,UAAU,GAAI;EACjD,IAAI;IACF,MAAM,IAAI,CAACC,IAAI,CAAC,MAAM,EAAE;MACtBC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,MAAM,CAAC;IACjC,CAAC,CAAC;EACJ,CAAC,CAAC,OAAOC,CAAC,EAAE;IACV,IAAIC,eAAC,CAACC,QAAQ,CAACF,CAAC,CAACG,OAAO,EAAE,gDAAgD,CAAC,EAAE;MAC3E,MAAMH,CAAC;IACT;IACAI,eAAG,CAACC,KAAK,CAACC,kBAAU,EAAG,iDAAgD,CAAC;EAC1E;AACF,CAAC;AAAC,eAEaX,QAAQ;AAAA"}
|
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
require("source-map-support/register");
|
|
11
|
-
|
|
12
9
|
var _logger = _interopRequireDefault(require("../logger"));
|
|
13
|
-
|
|
14
10
|
var _asyncbox = require("asyncbox");
|
|
15
|
-
|
|
16
11
|
const commands = {};
|
|
17
12
|
|
|
18
13
|
commands.startBootMonitor = async function startBootMonitor(opts = {}) {
|
|
@@ -30,18 +25,15 @@ commands.startBootMonitor = async function startBootMonitor(opts = {}) {
|
|
|
30
25
|
let error = null;
|
|
31
26
|
let timeoutHandler = null;
|
|
32
27
|
const args = [udid];
|
|
33
|
-
|
|
34
28
|
if (shouldPreboot) {
|
|
35
29
|
args.push('-b');
|
|
36
30
|
}
|
|
37
|
-
|
|
38
31
|
const bootMonitor = await this.exec('bootstatus', {
|
|
39
32
|
args,
|
|
40
33
|
asynchronous: true
|
|
41
34
|
});
|
|
42
35
|
bootMonitor.on('output', (stdout, stderr) => {
|
|
43
36
|
status += stdout || stderr;
|
|
44
|
-
|
|
45
37
|
if (stdout) {
|
|
46
38
|
if (stdout.includes('Waiting on Data Migration') && onWaitingDataMigration) {
|
|
47
39
|
onWaitingDataMigration();
|
|
@@ -54,24 +46,20 @@ commands.startBootMonitor = async function startBootMonitor(opts = {}) {
|
|
|
54
46
|
if (timeoutHandler) {
|
|
55
47
|
clearTimeout(timeoutHandler);
|
|
56
48
|
}
|
|
57
|
-
|
|
58
49
|
if (code === 0) {
|
|
59
50
|
if (onFinished) {
|
|
60
51
|
onFinished();
|
|
61
52
|
}
|
|
62
|
-
|
|
63
53
|
isBootingFinished = true;
|
|
64
54
|
} else {
|
|
65
55
|
status = status || signal;
|
|
66
56
|
error = new Error(status);
|
|
67
|
-
|
|
68
57
|
if (onError) {
|
|
69
58
|
onError(error);
|
|
70
59
|
}
|
|
71
60
|
}
|
|
72
61
|
});
|
|
73
62
|
await bootMonitor.start(0);
|
|
74
|
-
|
|
75
63
|
const stopMonitor = async () => {
|
|
76
64
|
if (bootMonitor.isRunning) {
|
|
77
65
|
try {
|
|
@@ -81,9 +69,7 @@ commands.startBootMonitor = async function startBootMonitor(opts = {}) {
|
|
|
81
69
|
}
|
|
82
70
|
}
|
|
83
71
|
};
|
|
84
|
-
|
|
85
72
|
const start = process.hrtime();
|
|
86
|
-
|
|
87
73
|
if (onFinished) {
|
|
88
74
|
timeoutHandler = setTimeout(stopMonitor, timeout);
|
|
89
75
|
} else {
|
|
@@ -92,7 +78,6 @@ commands.startBootMonitor = async function startBootMonitor(opts = {}) {
|
|
|
92
78
|
if (error) {
|
|
93
79
|
throw error;
|
|
94
80
|
}
|
|
95
|
-
|
|
96
81
|
return isBootingFinished;
|
|
97
82
|
}, {
|
|
98
83
|
waitMs: timeout,
|
|
@@ -104,10 +89,8 @@ commands.startBootMonitor = async function startBootMonitor(opts = {}) {
|
|
|
104
89
|
throw new Error(`The simulator ${udid} has failed to finish booting after ${seconds}s. ` + `Original status: ${status}`);
|
|
105
90
|
}
|
|
106
91
|
}
|
|
107
|
-
|
|
108
92
|
return bootMonitor;
|
|
109
93
|
};
|
|
110
|
-
|
|
111
94
|
var _default = commands;
|
|
112
95
|
exports.default = _default;
|
|
113
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsInN0YXJ0Qm9vdE1vbml0b3IiLCJvcHRzIiwidGltZW91dCIsIm9uV2FpdGluZ0RhdGFNaWdyYXRpb24iLCJvbldhaXRpbmdTeXN0ZW1BcHAiLCJvbkZpbmlzaGVkIiwib25FcnJvciIsInNob3VsZFByZWJvb3QiLCJ1ZGlkIiwicmVxdWlyZVVkaWQiLCJzdGF0dXMiLCJpc0Jvb3RpbmdGaW5pc2hlZCIsImVycm9yIiwidGltZW91dEhhbmRsZXIiLCJhcmdzIiwicHVzaCIsImJvb3RNb25pdG9yIiwiZXhlYyIsImFzeW5jaHJvbm91cyIsIm9uIiwic3Rkb3V0Iiwic3RkZXJyIiwiaW5jbHVkZXMiLCJjb2RlIiwic2lnbmFsIiwiY2xlYXJUaW1lb3V0IiwiRXJyb3IiLCJzdGFydCIsInN0b3BNb25pdG9yIiwiaXNSdW5uaW5nIiwic3RvcCIsImUiLCJsb2ciLCJ3YXJuIiwibWVzc2FnZSIsInByb2Nlc3MiLCJocnRpbWUiLCJzZXRUaW1lb3V0Iiwid2FpdEZvckNvbmRpdGlvbiIsIndhaXRNcyIsImludGVydmFsTXMiLCJlcnIiLCJzZWNvbmRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N1YmNvbW1hbmRzL2Jvb3RzdGF0dXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGxvZyBmcm9tICcuLi9sb2dnZXInO1xuaW1wb3J0IHsgd2FpdEZvckNvbmRpdGlvbiB9IGZyb20gJ2FzeW5jYm94JztcblxuXG5jb25zdCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEJvb3RNb25pdG9yT3B0aW9uc1xuICogQHByb3BlcnR5IHs/bnVtYmVyfSB0aW1lb3V0IFsyNDAwMDBdIC0gU2ltdWxhdG9yIGJvb3RpbmcgdGltZW91dCBpbiBtcy5cbiAqIEBwcm9wZXJ0eSB7P0Z1bmN0aW9ufSBvbldhaXRpbmdEYXRhTWlncmF0aW9uIC0gVGhpcyBldmVudCBpcyBmaXJlZCB3aGVuIGRhdGEgbWlncmF0aW9uIHN0YWdlIHN0YXJ0cy5cbiAqIEBwcm9wZXJ0eSB7P0Z1bmN0aW9ufSBvbldhaXRpbmdTeXN0ZW1BcHAgLSBUaGlzIGV2ZW50IGlzIGZpcmVkIHdoZW4gc3lzdGVtIGFwcCB3YWl0IHN0YWdlIHN0YXJ0cy5cbiAqIEBwcm9wZXJ0eSB7P0Z1bmN0aW9ufSBvbkZpbmlzaGVkIC0gVGhpcyBldmVudCBpcyBmaXJlZCB3aGVuIFNpbXVsYXRvciBpcyBmdWxseSBib290ZWQuXG4gKiBAcHJvcGVydHkgez9GdW5jdGlvbn0gb25FcnJvciAtIFRoaXMgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgbW9uaXRvcmluZyB0aGUgYm9vdGluZyBwcm9jZXNzXG4gKiBvciB3aGVuIHRoZSB0aW1lb3V0IGhhcyBleHBpcmVkLlxuICogQHByb3BlcnR5IHs/Ym9vbGVhbn0gc2hvdWxkUHJlYm9vdCBbZmFsc2VdIFdoZXRoZXIgdG8gcHJlYm9vdCB0aGUgU2ltdWxhdG9yXG4gKiBpZiB0aGlzIGNvbW1hbmQgaXMgY2FsbGVkIGFuZCBpdCBpcyBub3QgYWxyZWFkeSBpbiBib290ZWQgb3IgYm9vdGluZyBzdGF0ZS5cbiAqL1xuXG4vKipcbiAqIFN0YXJ0IG1vbml0b3JpbmcgZm9yIGJvb3Qgc3RhdHVzIG9mIHRoZSBwYXJ0aWN1bGFyIFNpbXVsYXRvci5cbiAqIElmIG9uRmluaXNoZWQgcHJvcGVydHkgaXMgbm90IHNldCB0aGVuIHRoZSBtZXRob2Qgd2lsbCBibG9ja1xuICogdW50aWwgU2ltdWxhdG9yIGJvb3RpbmcgaXMgY29tcGxldGVkLlxuICogVGhlIG1ldGhvZCBpcyBvbmx5IGF2YWlsYWJsZSBzaW5jZSBYY29kZTguXG4gKlxuICogQHBhcmFtIHs/Qm9vdE1vbml0b3JPcHRpb25zfSBvcHRzIC0gTW9uaXRvcmluZyBvcHRpb25zLlxuICogQHJldHVybnMge1N1YlByb2Nlc3N9IFRoZSBpbnN0YW5jZSBvZiB0aGUgY29ycmVzcG9uZGluZyBtb25pdG9yaW5nIHByb2Nlc3MuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIFNpbXVsYXRvciBmYWlscyB0byBmaW5pc2ggYm9vdGluZyB3aXRoaW4gdGhlIGdpdmVuIHRpbWVvdXQgYW5kIG9uRmluaXNoZWRcbiAqIHByb3BlcnR5IGlzIG5vdCBzZXQuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGB1ZGlkYCBpbnN0YW5jZSBwcm9wZXJ0eSBpcyB1bnNldFxuICovXG5jb21tYW5kcy5zdGFydEJvb3RNb25pdG9yID0gYXN5bmMgZnVuY3Rpb24gc3RhcnRCb290TW9uaXRvciAob3B0cyA9IHt9KSB7XG4gIGNvbnN0IHtcbiAgICB0aW1lb3V0ID0gMjQwMDAwLFxuICAgIG9uV2FpdGluZ0RhdGFNaWdyYXRpb24sXG4gICAgb25XYWl0aW5nU3lzdGVtQXBwLFxuICAgIG9uRmluaXNoZWQsXG4gICAgb25FcnJvcixcbiAgICBzaG91bGRQcmVib290LFxuICB9ID0gb3B0cztcbiAgY29uc3QgdWRpZCA9IHRoaXMucmVxdWlyZVVkaWQoJ2Jvb3RzdGF0dXMnKTtcblxuICBsZXQgc3RhdHVzID0gJyc7XG4gIGxldCBpc0Jvb3RpbmdGaW5pc2hlZCA9IGZhbHNlO1xuICBsZXQgZXJyb3IgPSBudWxsO1xuICBsZXQgdGltZW91dEhhbmRsZXIgPSBudWxsO1xuICBjb25zdCBhcmdzID0gW3VkaWRdO1xuICBpZiAoc2hvdWxkUHJlYm9vdCkge1xuICAgIGFyZ3MucHVzaCgnLWInKTtcbiAgfVxuICBjb25zdCBib290TW9uaXRvciA9IGF3YWl0IHRoaXMuZXhlYygnYm9vdHN0YXR1cycsIHtcbiAgICBhcmdzLFxuICAgIGFzeW5jaHJvbm91czogdHJ1ZSxcbiAgfSk7XG4gIGJvb3RNb25pdG9yLm9uKCdvdXRwdXQnLCAoc3Rkb3V0LCBzdGRlcnIpID0+
|
|
96
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsInN0YXJ0Qm9vdE1vbml0b3IiLCJvcHRzIiwidGltZW91dCIsIm9uV2FpdGluZ0RhdGFNaWdyYXRpb24iLCJvbldhaXRpbmdTeXN0ZW1BcHAiLCJvbkZpbmlzaGVkIiwib25FcnJvciIsInNob3VsZFByZWJvb3QiLCJ1ZGlkIiwicmVxdWlyZVVkaWQiLCJzdGF0dXMiLCJpc0Jvb3RpbmdGaW5pc2hlZCIsImVycm9yIiwidGltZW91dEhhbmRsZXIiLCJhcmdzIiwicHVzaCIsImJvb3RNb25pdG9yIiwiZXhlYyIsImFzeW5jaHJvbm91cyIsIm9uIiwic3Rkb3V0Iiwic3RkZXJyIiwiaW5jbHVkZXMiLCJjb2RlIiwic2lnbmFsIiwiY2xlYXJUaW1lb3V0IiwiRXJyb3IiLCJzdGFydCIsInN0b3BNb25pdG9yIiwiaXNSdW5uaW5nIiwic3RvcCIsImUiLCJsb2ciLCJ3YXJuIiwibWVzc2FnZSIsInByb2Nlc3MiLCJocnRpbWUiLCJzZXRUaW1lb3V0Iiwid2FpdEZvckNvbmRpdGlvbiIsIndhaXRNcyIsImludGVydmFsTXMiLCJlcnIiLCJzZWNvbmRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N1YmNvbW1hbmRzL2Jvb3RzdGF0dXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGxvZyBmcm9tICcuLi9sb2dnZXInO1xuaW1wb3J0IHsgd2FpdEZvckNvbmRpdGlvbiB9IGZyb20gJ2FzeW5jYm94JztcblxuXG5jb25zdCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEJvb3RNb25pdG9yT3B0aW9uc1xuICogQHByb3BlcnR5IHs/bnVtYmVyfSB0aW1lb3V0IFsyNDAwMDBdIC0gU2ltdWxhdG9yIGJvb3RpbmcgdGltZW91dCBpbiBtcy5cbiAqIEBwcm9wZXJ0eSB7P0Z1bmN0aW9ufSBvbldhaXRpbmdEYXRhTWlncmF0aW9uIC0gVGhpcyBldmVudCBpcyBmaXJlZCB3aGVuIGRhdGEgbWlncmF0aW9uIHN0YWdlIHN0YXJ0cy5cbiAqIEBwcm9wZXJ0eSB7P0Z1bmN0aW9ufSBvbldhaXRpbmdTeXN0ZW1BcHAgLSBUaGlzIGV2ZW50IGlzIGZpcmVkIHdoZW4gc3lzdGVtIGFwcCB3YWl0IHN0YWdlIHN0YXJ0cy5cbiAqIEBwcm9wZXJ0eSB7P0Z1bmN0aW9ufSBvbkZpbmlzaGVkIC0gVGhpcyBldmVudCBpcyBmaXJlZCB3aGVuIFNpbXVsYXRvciBpcyBmdWxseSBib290ZWQuXG4gKiBAcHJvcGVydHkgez9GdW5jdGlvbn0gb25FcnJvciAtIFRoaXMgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgbW9uaXRvcmluZyB0aGUgYm9vdGluZyBwcm9jZXNzXG4gKiBvciB3aGVuIHRoZSB0aW1lb3V0IGhhcyBleHBpcmVkLlxuICogQHByb3BlcnR5IHs/Ym9vbGVhbn0gc2hvdWxkUHJlYm9vdCBbZmFsc2VdIFdoZXRoZXIgdG8gcHJlYm9vdCB0aGUgU2ltdWxhdG9yXG4gKiBpZiB0aGlzIGNvbW1hbmQgaXMgY2FsbGVkIGFuZCBpdCBpcyBub3QgYWxyZWFkeSBpbiBib290ZWQgb3IgYm9vdGluZyBzdGF0ZS5cbiAqL1xuXG4vKipcbiAqIFN0YXJ0IG1vbml0b3JpbmcgZm9yIGJvb3Qgc3RhdHVzIG9mIHRoZSBwYXJ0aWN1bGFyIFNpbXVsYXRvci5cbiAqIElmIG9uRmluaXNoZWQgcHJvcGVydHkgaXMgbm90IHNldCB0aGVuIHRoZSBtZXRob2Qgd2lsbCBibG9ja1xuICogdW50aWwgU2ltdWxhdG9yIGJvb3RpbmcgaXMgY29tcGxldGVkLlxuICogVGhlIG1ldGhvZCBpcyBvbmx5IGF2YWlsYWJsZSBzaW5jZSBYY29kZTguXG4gKlxuICogQHBhcmFtIHs/Qm9vdE1vbml0b3JPcHRpb25zfSBvcHRzIC0gTW9uaXRvcmluZyBvcHRpb25zLlxuICogQHJldHVybnMge1N1YlByb2Nlc3N9IFRoZSBpbnN0YW5jZSBvZiB0aGUgY29ycmVzcG9uZGluZyBtb25pdG9yaW5nIHByb2Nlc3MuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIFNpbXVsYXRvciBmYWlscyB0byBmaW5pc2ggYm9vdGluZyB3aXRoaW4gdGhlIGdpdmVuIHRpbWVvdXQgYW5kIG9uRmluaXNoZWRcbiAqIHByb3BlcnR5IGlzIG5vdCBzZXQuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGB1ZGlkYCBpbnN0YW5jZSBwcm9wZXJ0eSBpcyB1bnNldFxuICovXG5jb21tYW5kcy5zdGFydEJvb3RNb25pdG9yID0gYXN5bmMgZnVuY3Rpb24gc3RhcnRCb290TW9uaXRvciAob3B0cyA9IHt9KSB7XG4gIGNvbnN0IHtcbiAgICB0aW1lb3V0ID0gMjQwMDAwLFxuICAgIG9uV2FpdGluZ0RhdGFNaWdyYXRpb24sXG4gICAgb25XYWl0aW5nU3lzdGVtQXBwLFxuICAgIG9uRmluaXNoZWQsXG4gICAgb25FcnJvcixcbiAgICBzaG91bGRQcmVib290LFxuICB9ID0gb3B0cztcbiAgY29uc3QgdWRpZCA9IHRoaXMucmVxdWlyZVVkaWQoJ2Jvb3RzdGF0dXMnKTtcblxuICBsZXQgc3RhdHVzID0gJyc7XG4gIGxldCBpc0Jvb3RpbmdGaW5pc2hlZCA9IGZhbHNlO1xuICBsZXQgZXJyb3IgPSBudWxsO1xuICBsZXQgdGltZW91dEhhbmRsZXIgPSBudWxsO1xuICBjb25zdCBhcmdzID0gW3VkaWRdO1xuICBpZiAoc2hvdWxkUHJlYm9vdCkge1xuICAgIGFyZ3MucHVzaCgnLWInKTtcbiAgfVxuICBjb25zdCBib290TW9uaXRvciA9IGF3YWl0IHRoaXMuZXhlYygnYm9vdHN0YXR1cycsIHtcbiAgICBhcmdzLFxuICAgIGFzeW5jaHJvbm91czogdHJ1ZSxcbiAgfSk7XG4gIGJvb3RNb25pdG9yLm9uKCdvdXRwdXQnLCAoc3Rkb3V0LCBzdGRlcnIpID0+IHtcbiAgICBzdGF0dXMgKz0gc3Rkb3V0IHx8IHN0ZGVycjtcbiAgICBpZiAoc3Rkb3V0KSB7XG4gICAgICBpZiAoc3Rkb3V0LmluY2x1ZGVzKCdXYWl0aW5nIG9uIERhdGEgTWlncmF0aW9uJykgJiYgb25XYWl0aW5nRGF0YU1pZ3JhdGlvbikge1xuICAgICAgICBvbldhaXRpbmdEYXRhTWlncmF0aW9uKCk7XG4gICAgICB9IGVsc2UgaWYgKHN0ZG91dC5pbmNsdWRlcygnV2FpdGluZyBvbiBTeXN0ZW0gQXBwJykgJiYgb25XYWl0aW5nU3lzdGVtQXBwKSB7XG4gICAgICAgIG9uV2FpdGluZ1N5c3RlbUFwcCgpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG4gIGJvb3RNb25pdG9yLm9uKCdleGl0JywgKGNvZGUsIHNpZ25hbCkgPT4ge1xuICAgIGlmICh0aW1lb3V0SGFuZGxlcikge1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRIYW5kbGVyKTtcbiAgICB9XG4gICAgaWYgKGNvZGUgPT09IDApIHtcbiAgICAgIGlmIChvbkZpbmlzaGVkKSB7XG4gICAgICAgIG9uRmluaXNoZWQoKTtcbiAgICAgIH1cbiAgICAgIGlzQm9vdGluZ0ZpbmlzaGVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhdHVzID0gc3RhdHVzIHx8IHNpZ25hbDtcbiAgICAgIGVycm9yID0gbmV3IEVycm9yKHN0YXR1cyk7XG4gICAgICBpZiAob25FcnJvcikge1xuICAgICAgICBvbkVycm9yKGVycm9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuICBhd2FpdCBib290TW9uaXRvci5zdGFydCgwKTtcbiAgY29uc3Qgc3RvcE1vbml0b3IgPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKGJvb3RNb25pdG9yLmlzUnVubmluZykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgYm9vdE1vbml0b3Iuc3RvcCgpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBsb2cud2FybihlLm1lc3NhZ2UpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbiAgY29uc3Qgc3RhcnQgPSBwcm9jZXNzLmhydGltZSgpO1xuICBpZiAob25GaW5pc2hlZCkge1xuICAgIHRpbWVvdXRIYW5kbGVyID0gc2V0VGltZW91dChzdG9wTW9uaXRvciwgdGltZW91dCk7XG4gIH0gZWxzZSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHdhaXRGb3JDb25kaXRpb24oKCkgPT4ge1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNCb290aW5nRmluaXNoZWQ7XG4gICAgICB9LCB7d2FpdE1zOiB0aW1lb3V0LCBpbnRlcnZhbE1zOiA1MDB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGF3YWl0IHN0b3BNb25pdG9yKCk7XG4gICAgICBjb25zdCBbc2Vjb25kc10gPSBwcm9jZXNzLmhydGltZShzdGFydCk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBUaGUgc2ltdWxhdG9yICR7dWRpZH0gaGFzIGZhaWxlZCB0byBmaW5pc2ggYm9vdGluZyBhZnRlciAke3NlY29uZHN9cy4gYCArXG4gICAgICAgIGBPcmlnaW5hbCBzdGF0dXM6ICR7c3RhdHVzfWApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gYm9vdE1vbml0b3I7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNBO0FBR0EsTUFBTUEsUUFBUSxHQUFHLENBQUMsQ0FBQzs7QUEwQm5CQSxRQUFRLENBQUNDLGdCQUFnQixHQUFHLGVBQWVBLGdCQUFnQixDQUFFQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUU7RUFDdEUsTUFBTTtJQUNKQyxPQUFPLEdBQUcsTUFBTTtJQUNoQkMsc0JBQXNCO0lBQ3RCQyxrQkFBa0I7SUFDbEJDLFVBQVU7SUFDVkMsT0FBTztJQUNQQztFQUNGLENBQUMsR0FBR04sSUFBSTtFQUNSLE1BQU1PLElBQUksR0FBRyxJQUFJLENBQUNDLFdBQVcsQ0FBQyxZQUFZLENBQUM7RUFFM0MsSUFBSUMsTUFBTSxHQUFHLEVBQUU7RUFDZixJQUFJQyxpQkFBaUIsR0FBRyxLQUFLO0VBQzdCLElBQUlD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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstatus.js","names":["commands","startBootMonitor","opts","timeout","onWaitingDataMigration","onWaitingSystemApp","onFinished","onError","shouldPreboot","udid","requireUdid","status","isBootingFinished","error","timeoutHandler","args","push","bootMonitor","exec","asynchronous","on","stdout","stderr","includes","code","signal","clearTimeout","Error","start","stopMonitor","isRunning","stop","e","log","warn","message","process","hrtime","setTimeout","waitForCondition","waitMs","intervalMs","err","seconds"],"sources":["../../../lib/subcommands/bootstatus.js"],"sourcesContent":["import log from '../logger';\nimport { waitForCondition } from 'asyncbox';\n\n\nconst commands = {};\n\n/**\n * @typedef {Object} BootMonitorOptions\n * @property {?number} timeout [240000] - Simulator booting timeout in ms.\n * @property {?Function} onWaitingDataMigration - This event is fired when data migration stage starts.\n * @property {?Function} onWaitingSystemApp - This event is fired when system app wait stage starts.\n * @property {?Function} onFinished - This event is fired when Simulator is fully booted.\n * @property {?Function} onError - This event is fired when there was an error while monitoring the booting process\n * or when the timeout has expired.\n * @property {?boolean} shouldPreboot [false] Whether to preboot the Simulator\n * if this command is called and it is not already in booted or booting state.\n */\n\n/**\n * Start monitoring for boot status of the particular Simulator.\n * If onFinished property is not set then the method will block\n * until Simulator booting is completed.\n * The method is only available since Xcode8.\n *\n * @param {?BootMonitorOptions} opts - Monitoring options.\n * @returns {SubProcess} The instance of the corresponding monitoring process.\n * @throws {Error} If the Simulator fails to finish booting within the given timeout and onFinished\n * property is not set.\n * @throws {Error} If the `udid` instance property is unset\n */\ncommands.startBootMonitor = async function startBootMonitor (opts = {}) {\n const {\n timeout = 240000,\n onWaitingDataMigration,\n onWaitingSystemApp,\n onFinished,\n onError,\n shouldPreboot,\n } = opts;\n const udid = this.requireUdid('bootstatus');\n\n let status = '';\n let isBootingFinished = false;\n let error = null;\n let timeoutHandler = null;\n const args = [udid];\n if (shouldPreboot) {\n args.push('-b');\n }\n const bootMonitor = await this.exec('bootstatus', {\n args,\n asynchronous: true,\n });\n bootMonitor.on('output', (stdout, stderr) => {\n status += stdout || stderr;\n if (stdout) {\n if (stdout.includes('Waiting on Data Migration') && onWaitingDataMigration) {\n onWaitingDataMigration();\n } else if (stdout.includes('Waiting on System App') && onWaitingSystemApp) {\n onWaitingSystemApp();\n }\n }\n });\n bootMonitor.on('exit', (code, signal) => {\n if (timeoutHandler) {\n clearTimeout(timeoutHandler);\n }\n if (code === 0) {\n if (onFinished) {\n onFinished();\n }\n isBootingFinished = true;\n } else {\n status = status || signal;\n error = new Error(status);\n if (onError) {\n onError(error);\n }\n }\n });\n await bootMonitor.start(0);\n const stopMonitor = async () => {\n if (bootMonitor.isRunning) {\n try {\n await bootMonitor.stop();\n } catch (e) {\n log.warn(e.message);\n }\n }\n };\n const start = process.hrtime();\n if (onFinished) {\n timeoutHandler = setTimeout(stopMonitor, timeout);\n } else {\n try {\n await waitForCondition(() => {\n if (error) {\n throw error;\n }\n return isBootingFinished;\n }, {waitMs: timeout, intervalMs: 500});\n } catch (err) {\n await stopMonitor();\n const [seconds] = process.hrtime(start);\n throw new Error(\n `The simulator ${udid} has failed to finish booting after ${seconds}s. ` +\n `Original status: ${status}`);\n }\n }\n return bootMonitor;\n};\n\nexport default commands;\n"],"mappings":"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"}
|