node-simctl 7.1.6 → 7.1.8

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.
Files changed (56) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/build/lib/helpers.js +1 -2
  3. package/build/lib/helpers.js.map +1 -1
  4. package/build/lib/simctl.js +2 -6
  5. package/build/lib/simctl.js.map +1 -1
  6. package/build/lib/subcommands/addmedia.js +1 -2
  7. package/build/lib/subcommands/addmedia.js.map +1 -1
  8. package/build/lib/subcommands/appinfo.js +1 -2
  9. package/build/lib/subcommands/appinfo.js.map +1 -1
  10. package/build/lib/subcommands/boot.js +1 -2
  11. package/build/lib/subcommands/boot.js.map +1 -1
  12. package/build/lib/subcommands/bootstatus.js +1 -2
  13. package/build/lib/subcommands/bootstatus.js.map +1 -1
  14. package/build/lib/subcommands/create.js +2 -9
  15. package/build/lib/subcommands/create.js.map +1 -1
  16. package/build/lib/subcommands/delete.js +1 -2
  17. package/build/lib/subcommands/delete.js.map +1 -1
  18. package/build/lib/subcommands/erase.js +1 -2
  19. package/build/lib/subcommands/erase.js.map +1 -1
  20. package/build/lib/subcommands/get_app_container.js +1 -2
  21. package/build/lib/subcommands/get_app_container.js.map +1 -1
  22. package/build/lib/subcommands/getenv.js +1 -2
  23. package/build/lib/subcommands/getenv.js.map +1 -1
  24. package/build/lib/subcommands/install.js +1 -2
  25. package/build/lib/subcommands/install.js.map +1 -1
  26. package/build/lib/subcommands/io.js +1 -2
  27. package/build/lib/subcommands/io.js.map +1 -1
  28. package/build/lib/subcommands/keychain.js +1 -4
  29. package/build/lib/subcommands/keychain.js.map +1 -1
  30. package/build/lib/subcommands/launch.js +1 -2
  31. package/build/lib/subcommands/launch.js.map +1 -1
  32. package/build/lib/subcommands/list.js +1 -10
  33. package/build/lib/subcommands/list.js.map +1 -1
  34. package/build/lib/subcommands/location.js +1 -4
  35. package/build/lib/subcommands/location.js.map +1 -1
  36. package/build/lib/subcommands/openurl.js +1 -2
  37. package/build/lib/subcommands/openurl.js.map +1 -1
  38. package/build/lib/subcommands/pbcopy.js +1 -2
  39. package/build/lib/subcommands/pbcopy.js.map +1 -1
  40. package/build/lib/subcommands/pbpaste.js +1 -2
  41. package/build/lib/subcommands/pbpaste.js.map +1 -1
  42. package/build/lib/subcommands/privacy.js +1 -4
  43. package/build/lib/subcommands/privacy.js.map +1 -1
  44. package/build/lib/subcommands/push.js +1 -2
  45. package/build/lib/subcommands/push.js.map +1 -1
  46. package/build/lib/subcommands/shutdown.js +1 -2
  47. package/build/lib/subcommands/shutdown.js.map +1 -1
  48. package/build/lib/subcommands/spawn.js +1 -3
  49. package/build/lib/subcommands/spawn.js.map +1 -1
  50. package/build/lib/subcommands/terminate.js +1 -2
  51. package/build/lib/subcommands/terminate.js.map +1 -1
  52. package/build/lib/subcommands/ui.js +1 -3
  53. package/build/lib/subcommands/ui.js.map +1 -1
  54. package/build/lib/subcommands/uninstall.js +1 -2
  55. package/build/lib/subcommands/uninstall.js.map +1 -1
  56. package/package.json +3 -2
package/CHANGELOG.md CHANGED
@@ -1 +1,10 @@
1
+ ## [7.1.8](https://github.com/appium/node-simctl/compare/v7.1.7...v7.1.8) (2022-12-01)
2
+
3
+
4
+ ### Miscellaneous Chores
5
+
6
+ * update releaserc ([#170](https://github.com/appium/node-simctl/issues/170)) ([378e58f](https://github.com/appium/node-simctl/commit/378e58fdfe10f163aaf0e2be510c12d20d440c17))
7
+
8
+ ## [7.1.7](https://github.com/appium/node-simctl/compare/v7.1.6...v7.1.7) (2022-11-29)
9
+
1
10
  ## [7.1.6](https://github.com/appium/node-simctl/compare/v7.1.5...v7.1.6) (2022-11-06)
@@ -11,7 +11,6 @@ var _semver = _interopRequireDefault(require("semver"));
11
11
  const DEFAULT_EXEC_TIMEOUT = 10 * 60 * 1000;
12
12
  exports.DEFAULT_EXEC_TIMEOUT = DEFAULT_EXEC_TIMEOUT;
13
13
  const SIM_RUNTIME_NAME = 'com.apple.CoreSimulator.SimRuntime.';
14
-
15
14
  exports.SIM_RUNTIME_NAME = SIM_RUNTIME_NAME;
16
15
  function normalizeVersion(version) {
17
16
  const semverVersion = _semver.default.coerce(version);
@@ -22,4 +21,4 @@ function normalizeVersion(version) {
22
21
  }
23
22
  const getXcrunBinary = () => process.env.XCRUN_BINARY || 'xcrun';
24
23
  exports.getXcrunBinary = getXcrunBinary;
25
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJERUZBVUxUX0VYRUNfVElNRU9VVCIsIlNJTV9SVU5USU1FX05BTUUiLCJub3JtYWxpemVWZXJzaW9uIiwidmVyc2lvbiIsInNlbXZlclZlcnNpb24iLCJzZW12ZXIiLCJjb2VyY2UiLCJFcnJvciIsIm1ham9yIiwibWlub3IiLCJnZXRYY3J1bkJpbmFyeSIsInByb2Nlc3MiLCJlbnYiLCJYQ1JVTl9CSU5BUlkiXSwic291cmNlcyI6WyIuLi8uLi9saWIvaGVscGVycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc2VtdmVyIGZyb20gJ3NlbXZlcic7XG5cbmNvbnN0IERFRkFVTFRfRVhFQ19USU1FT1VUID0gMTAgKiA2MCAqIDEwMDA7IC8vIG1zXG5jb25zdCBTSU1fUlVOVElNRV9OQU1FID0gJ2NvbS5hcHBsZS5Db3JlU2ltdWxhdG9yLlNpbVJ1bnRpbWUuJztcblxuLyoqXG4gKiBcIk5vcm1hbGl6ZVwiIHRoZSB2ZXJzaW9uLCBzaW5jZSBpT1MgdXNlcyAnbWFqb3IubWlub3InIGJ1dCB0aGUgcnVudGltZXMgY2FuXG4gKiBiZSAnbWFqb3IubWlub3IucGF0Y2gnXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHZlcnNpb24gLSB0aGUgc3RyaW5nIHZlcnNpb25cbiAqIEByZXR1cm4ge3N0cmluZ30gVGhlIHZlcnNpb24gaW4gJ21ham9yLm1pbm9yJyBmb3JtXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIHZlcnNpb24gbm90IHBhcnNlYWJsZSBieSB0aGUgYHNlbXZlcmAgcGFja2FnZVxuICovXG5mdW5jdGlvbiBub3JtYWxpemVWZXJzaW9uICh2ZXJzaW9uKSB7XG4gIGNvbnN0IHNlbXZlclZlcnNpb24gPSBzZW12ZXIuY29lcmNlKHZlcnNpb24pO1xuICBpZiAoIXNlbXZlclZlcnNpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBwYXJzZSB2ZXJzaW9uICcke3ZlcnNpb259J2ApO1xuICB9XG4gIHJldHVybiBgJHtzZW12ZXJWZXJzaW9uLm1ham9yfS4ke3NlbXZlclZlcnNpb24ubWlub3J9YDtcbn1cblxuZXhwb3J0IHtcbiAgREVGQVVMVF9FWEVDX1RJTUVPVVQsIFNJTV9SVU5USU1FX05BTUUsXG4gIG5vcm1hbGl6ZVZlcnNpb24sXG59O1xuXG5leHBvcnQgY29uc3QgZ2V0WGNydW5CaW5hcnkgPSAoKSA9PiBwcm9jZXNzLmVudi5YQ1JVTl9CSU5BUlkgfHwgJ3hjcnVuJztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7QUFFQSxNQUFNQSxvQkFBb0IsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUk7QUFBQztBQUM1QyxNQUFNQyxnQkFBZ0IsR0FBRyxxQ0FBcUM7O0FBQUM7QUFVL0QsU0FBU0MsZ0JBQWdCLENBQUVDLE9BQU8sRUFBRTtFQUNsQyxNQUFNQyxhQUFhLEdBQUdDLGVBQU0sQ0FBQ0MsTUFBTSxDQUFDSCxPQUFPLENBQUM7RUFDNUMsSUFBSSxDQUFDQyxhQUFhLEVBQUU7SUFDbEIsTUFBTSxJQUFJRyxLQUFLLENBQUUsNEJBQTJCSixPQUFRLEdBQUUsQ0FBQztFQUN6RDtFQUNBLE9BQVEsR0FBRUMsYUFBYSxDQUFDSSxLQUFNLElBQUdKLGFBQWEsQ0FBQ0ssS0FBTSxFQUFDO0FBQ3hEO0FBT08sTUFBTUMsY0FBYyxHQUFHLE1BQU1DLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDQyxZQUFZLElBQUksT0FBTztBQUFDIn0=
24
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJERUZBVUxUX0VYRUNfVElNRU9VVCIsIlNJTV9SVU5USU1FX05BTUUiLCJub3JtYWxpemVWZXJzaW9uIiwidmVyc2lvbiIsInNlbXZlclZlcnNpb24iLCJzZW12ZXIiLCJjb2VyY2UiLCJFcnJvciIsIm1ham9yIiwibWlub3IiLCJnZXRYY3J1bkJpbmFyeSIsInByb2Nlc3MiLCJlbnYiLCJYQ1JVTl9CSU5BUlkiXSwic291cmNlcyI6WyIuLi8uLi9saWIvaGVscGVycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc2VtdmVyIGZyb20gJ3NlbXZlcic7XG5cbmNvbnN0IERFRkFVTFRfRVhFQ19USU1FT1VUID0gMTAgKiA2MCAqIDEwMDA7IC8vIG1zXG5jb25zdCBTSU1fUlVOVElNRV9OQU1FID0gJ2NvbS5hcHBsZS5Db3JlU2ltdWxhdG9yLlNpbVJ1bnRpbWUuJztcblxuLyoqXG4gKiBcIk5vcm1hbGl6ZVwiIHRoZSB2ZXJzaW9uLCBzaW5jZSBpT1MgdXNlcyAnbWFqb3IubWlub3InIGJ1dCB0aGUgcnVudGltZXMgY2FuXG4gKiBiZSAnbWFqb3IubWlub3IucGF0Y2gnXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHZlcnNpb24gLSB0aGUgc3RyaW5nIHZlcnNpb25cbiAqIEByZXR1cm4ge3N0cmluZ30gVGhlIHZlcnNpb24gaW4gJ21ham9yLm1pbm9yJyBmb3JtXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIHZlcnNpb24gbm90IHBhcnNlYWJsZSBieSB0aGUgYHNlbXZlcmAgcGFja2FnZVxuICovXG5mdW5jdGlvbiBub3JtYWxpemVWZXJzaW9uICh2ZXJzaW9uKSB7XG4gIGNvbnN0IHNlbXZlclZlcnNpb24gPSBzZW12ZXIuY29lcmNlKHZlcnNpb24pO1xuICBpZiAoIXNlbXZlclZlcnNpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBwYXJzZSB2ZXJzaW9uICcke3ZlcnNpb259J2ApO1xuICB9XG4gIHJldHVybiBgJHtzZW12ZXJWZXJzaW9uLm1ham9yfS4ke3NlbXZlclZlcnNpb24ubWlub3J9YDtcbn1cblxuZXhwb3J0IHtcbiAgREVGQVVMVF9FWEVDX1RJTUVPVVQsIFNJTV9SVU5USU1FX05BTUUsXG4gIG5vcm1hbGl6ZVZlcnNpb24sXG59O1xuXG5leHBvcnQgY29uc3QgZ2V0WGNydW5CaW5hcnkgPSAoKSA9PiBwcm9jZXNzLmVudi5YQ1JVTl9CSU5BUlkgfHwgJ3hjcnVuJztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7QUFFQSxNQUFNQSxvQkFBb0IsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUk7QUFBQztBQUM1QyxNQUFNQyxnQkFBZ0IsR0FBRyxxQ0FBcUM7QUFBQztBQVUvRCxTQUFTQyxnQkFBZ0IsQ0FBRUMsT0FBTyxFQUFFO0VBQ2xDLE1BQU1DLGFBQWEsR0FBR0MsZUFBTSxDQUFDQyxNQUFNLENBQUNILE9BQU8sQ0FBQztFQUM1QyxJQUFJLENBQUNDLGFBQWEsRUFBRTtJQUNsQixNQUFNLElBQUlHLEtBQUssQ0FBRSw0QkFBMkJKLE9BQVEsR0FBRSxDQUFDO0VBQ3pEO0VBQ0EsT0FBUSxHQUFFQyxhQUFhLENBQUNJLEtBQU0sSUFBR0osYUFBYSxDQUFDSyxLQUFNLEVBQUM7QUFDeEQ7QUFPTyxNQUFNQyxjQUFjLEdBQUcsTUFBTUMsT0FBTyxDQUFDQyxHQUFHLENBQUNDLFlBQVksSUFBSSxPQUFPO0FBQUMifQ==
@@ -1 +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"}
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"}
@@ -22,7 +22,6 @@ const DEFAULT_OPTS = {
22
22
  execTimeout: _helpers.DEFAULT_EXEC_TIMEOUT,
23
23
  logErrors: true
24
24
  };
25
-
26
25
  class Simctl {
27
26
  constructor(opts = {}) {
28
27
  opts = _lodash.default.cloneDeep(opts);
@@ -62,7 +61,6 @@ class Simctl {
62
61
  }
63
62
  return this.xcrun.path;
64
63
  }
65
-
66
64
  async exec(subcommand, opts = {}) {
67
65
  let {
68
66
  args = [],
@@ -84,8 +82,7 @@ class Simctl {
84
82
  try {
85
83
  return asynchronous ? new _teen_process.SubProcess(xcrun, args, execOpts) : await (0, _teen_process.exec)(xcrun, args, execOpts);
86
84
  } catch (e) {
87
- if (!this.logErrors || !logErrors) {
88
- } else if (e.stderr) {
85
+ if (!this.logErrors || !logErrors) {} else if (e.stderr) {
89
86
  const msg = `Error running '${subcommand}': ${e.stderr.trim()}`;
90
87
  _logger.default.debug(_logger.LOG_PREFIX, msg);
91
88
  e.message = msg;
@@ -96,11 +93,10 @@ class Simctl {
96
93
  }
97
94
  }
98
95
  }
99
-
100
96
  exports.Simctl = Simctl;
101
97
  for (const [fnName, fn] of _lodash.default.toPairs(_index.default)) {
102
98
  Simctl.prototype[fnName] = fn;
103
99
  }
104
100
  var _default = Simctl;
105
101
  exports.default = _default;
106
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTSU1DVExfRU5WX1BSRUZJWCIsIkRFRkFVTFRfT1BUUyIsInhjcnVuIiwicGF0aCIsImV4ZWNUaW1lb3V0IiwiREVGQVVMVF9FWEVDX1RJTUVPVVQiLCJsb2dFcnJvcnMiLCJTaW1jdGwiLCJjb25zdHJ1Y3RvciIsIm9wdHMiLCJfIiwiY2xvbmVEZWVwIiwiZGVmYXVsdHNEZWVwIiwia2V5Iiwia2V5cyIsIl91ZGlkIiwiaXNOaWwiLCJ1ZGlkIiwiX2RldmljZXNTZXRQYXRoIiwiZGV2aWNlc1NldFBhdGgiLCJ2YWx1ZSIsInJlcXVpcmVVZGlkIiwiY29tbWFuZE5hbWUiLCJFcnJvciIsInJlcXVpcmVYY3J1biIsInhjcnVuQmluYXJ5IiwiZ2V0WGNydW5CaW5hcnkiLCJ3aGljaCIsImUiLCJleGVjIiwic3ViY29tbWFuZCIsImFyZ3MiLCJlbnYiLCJhc3luY2hyb25vdXMiLCJlbmNvZGluZyIsImRlZmF1bHRzIiwibWFwS2V5cyIsInN0YXJ0c1dpdGgiLCJwcm9jZXNzIiwiZXhlY09wdHMiLCJ0aW1lb3V0IiwiU3ViUHJvY2VzcyIsInRwRXhlYyIsInN0ZGVyciIsIm1zZyIsInRyaW0iLCJsb2ciLCJkZWJ1ZyIsIkxPR19QUkVGSVgiLCJtZXNzYWdlIiwiZm5OYW1lIiwiZm4iLCJ0b1BhaXJzIiwic3ViY29tbWFuZHMiLCJwcm90b3R5cGUiXSwic291cmNlcyI6WyIuLi8uLi9saWIvc2ltY3RsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgc3ViY29tbWFuZHMgZnJvbSAnLi9zdWJjb21tYW5kcy9pbmRleC5qcyc7XG5pbXBvcnQgd2hpY2ggZnJvbSAnd2hpY2gnO1xuaW1wb3J0IGxvZywgeyBMT0dfUFJFRklYIH0gZnJvbSAnLi9sb2dnZXInO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9FWEVDX1RJTUVPVVQsIGdldFhjcnVuQmluYXJ5LFxufSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgZXhlYyBhcyB0cEV4ZWMsIFN1YlByb2Nlc3MgfSBmcm9tICd0ZWVuX3Byb2Nlc3MnO1xuXG5jb25zdCBTSU1DVExfRU5WX1BSRUZJWCA9ICdTSU1DVExfQ0hJTERfJztcbmNvbnN0IERFRkFVTFRfT1BUUyA9IHtcbiAgeGNydW46IHtcbiAgICBwYXRoOiBudWxsLFxuICB9LFxuICBleGVjVGltZW91dDogREVGQVVMVF9FWEVDX1RJTUVPVVQsXG4gIGxvZ0Vycm9yczogdHJ1ZSxcbn07XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gRXhlY09wdHNcbiAqIEBwcm9wZXJ0eSB7QXJyYXkuPHN0cmluZz59IGFyZ3MgW1tdXSAtIFRoZSBsaXN0IG9mIGFkZGl0aW9uYWwgc3ViY29tbWFuZCBhcmd1bWVudHMuXG4gKiBJdCdzIGVtcHR5IGJ5IGRlZmF1bHQuXG4gKiBAcHJvcGVydHkge09iamVjdH0gZW52IFt7fV0gLSBFbnZpcm9ubWVudCB2YXJpYWJsZXMgbWFwcGluZy4gQWxsIHRoZXNlIHZhcmlhYmxlc1xuICogd2lsbCBiZSBwYXNzZWQgU2ltdWxhdG9yIGFuZCB1c2VkIGluIHRoZSBleGVjdXRpbmcgZnVuY3Rpb24uXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGxvZ0Vycm9ycyBbdHJ1ZV0gLSBTZXQgaXQgdG8gX2ZhbHNlXyB0byB0aHJvdyBleGVjdXRpb24gZXJyb3JzXG4gKiBpbW1lZGlhdGVseSB3aXRob3V0IGxvZ2dpbmcgYW55IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGFzeW5jaHJvbm91cyBbZmFsc2VdIC0gV2hldGhlciB0byBleGVjdXRlIHRoZSBnaXZlbiBjb21tYW5kXG4gKiAnc3luY2hyb25vdXNseScgb3IgJ2FzeW5jaHJvbm91c2x5Jy4gQWZmZWN0cyB0aGUgcmV0dXJuZWQgcmVzdWx0IG9mIHRoZSBmdW5jdGlvbi5cbiAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gZW5jb2RpbmcgLSBFeHBsaWNpdGx5IHNldHMgc3RyZWFtcyBlbmNvZGluZyBmb3IgdGhlIGV4ZWN1dGVkXG4gKiBjb21tYW5kIGlucHV0IGFuZCBvdXRwdXRzLlxuICovXG5cblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBTaW1jdGxPcHRzXG4gKiBAcHJvcGVydHkgez9PYmplY3R9IHhjcnVuIC0gVGhlIHhjcnVuIHByb3BlcnRpZXMuIEN1cnJlbnRseSBvbmx5IG9uZSBwcm9wZXJ0eVxuICogaXMgc3VwcG9ydGVkLCB3aGljaCBpcyBgcGF0aGAgYW5kIGl0IGJ5IGRlZmF1bHQgY29udGFpbnMgYG51bGxgLCB3aGljaCBlbmZvcmNlc1xuICogdGhlIGluc3RhbmNlIHRvIGF1dG9tYXRpY2FsbHkgZGV0ZWN0IHRoZSBmdWxsIHBhdGggdG8gYHhjcnVuYCB0b29sIGFuZCB0byB0aHJvd1xuICogYW4gZXhjZXB0aW9uIGlmIGl0IGNhbm5vdCBiZSBkZXRlY3RlZC4gSWYgdGhlIHBhdGggaXMgc2V0IHVwb24gaW5zdGFuY2UgY3JlYXRpb25cbiAqIHRoZW4gaXQgaXMgZ29pbmcgdG8gYmUgdXNlZCBieSBgZXhlY2AgYW5kIG5vIGF1dG9kZXRlY3Rpb24gd2lsbCBoYXBwZW4uXG4gKiBAcHJvcGVydHkgez9udW1iZXJ9IGV4ZWNUaW1lb3V0IFs2MDAwMDBdIC0gVGhlIG1heGltdW0gbnVtYmVyIG9mIG1pbGxpc2Vjb25kc1xuICogdG8gd2FpdCBmb3Igc2luZ2xlIHN5bmNocm9ub3VzIHhjcnVuIGNvbW1hbmQuXG4gKiBAcHJvcGVydHkgez9ib29sZWFufSBsb2dFcnJvcnMgW3RydWVdIC0gV2hldGhlciB0byB3aXJlIHhjcnVuIGVycm9yIG1lc3NhZ2VzXG4gKiBpbnRvIGRlYnVnIGxvZyBiZWZvcmUgdGhyb3dpbmcgdGhlbS5cbiAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gdWRpZCBbbnVsbF0gLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGN1cnJlbnQgZGV2aWNlLCB3aGljaCBpc1xuICogZ29pbmcgdG8gYmUgaW1wbGljaXRseSBwYXNzZWQgdG8gYWxsIG1ldGhvZHMsIHdoaWNoIHJlcXVpcmUgaXQuIEl0IGNhbiBlaXRoZXIgYmUgc2V0XG4gKiB1cG9uIGluc3RhbmNlIGNyZWF0aW9uIGlmIGl0IGlzIGFscmVhZHkga25vd24gaW4gYWR2YW5jZSBvciBsYXRlciB3aGVuL2lmIG5lZWRlZCB2aWEgdGhlXG4gKiBjb3JyZXNwb25kaW5nIGluc3RhbmNlIHNldHRlci5cbiAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gZGV2aWNlc1NldFBhdGggLSBGdWxsIHBhdGggdG8gdGhlIHNldCBvZiBkZXZpY2VzIHRoYXQgeW91IHdhbnQgdG8gbWFuYWdlLlxuICogQnkgZGVmYXVsdCB0aGlzIHBhdGggdXN1YWxseSBlcXVhbHMgdG8gfi9MaWJyYXJ5L0RldmVsb3Blci9Db3JlU2ltdWxhdG9yL0RldmljZXNcbiAqL1xuXG5cbmNsYXNzIFNpbWN0bCB7XG4gIC8qKlxuICAgKiBAcGFyYW0gez9TaW1jdGxPcHRzfSBvcHRzXG4gICAqL1xuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgb3B0cyA9IF8uY2xvbmVEZWVwKG9wdHMpO1xuICAgIF8uZGVmYXVsdHNEZWVwKG9wdHMsIERFRkFVTFRfT1BUUyk7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgXy5rZXlzKERFRkFVTFRfT1BUUykpIHtcbiAgICAgIHRoaXNba2V5XSA9IG9wdHNba2V5XTtcbiAgICB9XG4gICAgdGhpcy5fdWRpZCA9IF8uaXNOaWwob3B0cy51ZGlkKSA/IG51bGwgOiBvcHRzLnVkaWQ7XG4gICAgdGhpcy5fZGV2aWNlc1NldFBhdGggPSBfLmlzTmlsKG9wdHMuZGV2aWNlc1NldFBhdGgpID8gbnVsbCA6IG9wdHMuZGV2aWNlc1NldFBhdGg7XG4gIH1cblxuICBzZXQgdWRpZCAodmFsdWUpIHtcbiAgICB0aGlzLl91ZGlkID0gdmFsdWU7XG4gIH1cblxuICBnZXQgdWRpZCAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3VkaWQ7XG4gIH1cblxuICBzZXQgZGV2aWNlc1NldFBhdGggKHZhbHVlKSB7XG4gICAgdGhpcy5fZGV2aWNlc1NldFBhdGggPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBkZXZpY2VzU2V0UGF0aCAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RldmljZXNTZXRQYXRoO1xuICB9XG5cbiAgcmVxdWlyZVVkaWQgKGNvbW1hbmROYW1lID0gbnVsbCkge1xuICAgIGlmICghdGhpcy51ZGlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHVkaWQgaXMgcmVxdWlyZWQgdG8gYmUgc2V0IGZvciBgICtcbiAgICAgICAgKGNvbW1hbmROYW1lID8gYHRoZSAnJHtjb21tYW5kTmFtZX0nIGNvbW1hbmRgIDogJ3RoaXMgc2ltY3RsIGNvbW1hbmQnKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnVkaWQ7XG4gIH1cblxuICBhc3luYyByZXF1aXJlWGNydW4gKCkge1xuICAgIGNvbnN0IHhjcnVuQmluYXJ5ID0gZ2V0WGNydW5CaW5hcnkoKTtcblxuICAgIGlmICghdGhpcy54Y3J1bi5wYXRoKSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLnhjcnVuLnBhdGggPSBhd2FpdCB3aGljaCh4Y3J1bkJpbmFyeSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHt4Y3J1bkJpbmFyeX0gdG9vbCBoYXMgbm90IGJlZW4gZm91bmQgaW4gUEFUSC4gYCArXG4gICAgICAgICAgYEFyZSBYY29kZSBkZXZlbG9wZXJzIHRvb2xzIGluc3RhbGxlZD9gKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMueGNydW4ucGF0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlIHRoZSBwYXJ0aWN1bGFyIHNpbWN0bCBjb21tYW5kLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3ViY29tbWFuZCAtIE9uZSBvZiBhdmFpbGFibGUgc2ltY3RsIHN1YmNvbW1hbmRzLlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4ZWN1dGUgYHhjcnVuIHNpbWN0bGAgaW4gVGVybWluYWwgdG8gc2VlIHRoZSBmdWxsIGxpc3RcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBhdmFpbGFibGUgc3ViY29tbWFuZHMuXG4gICAqIEBwYXJhbSB7P0V4ZWNPcHRzfSBvcHRzXG4gICAqIEByZXR1cm4ge0V4ZWNSZXN1bHR8U3ViUHJvY2Vzc30gRWl0aGVyIHRoZSByZXN1bHQgb2YgdGVlbiBwcm9jZXNzJ3MgYGV4ZWNgIG9yXG4gICAqIGBTdWJQcm9jZXNzYCBpbnN0YW5jZSBkZXBlbmRpbmcgb2YgYG9wdHMuYXN5bmNocm9ub3VzYCB2YWx1ZS5cbiAgICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kIHJldHVybnMgbm9uLXplcm8gcmV0dXJuIGNvZGUuXG4gICAqL1xuICBhc3luYyBleGVjIChzdWJjb21tYW5kLCBvcHRzID0ge30pIHtcbiAgICBsZXQge1xuICAgICAgYXJncyA9IFtdLFxuICAgICAgZW52ID0ge30sXG4gICAgICBhc3luY2hyb25vdXMgPSBmYWxzZSxcbiAgICAgIGVuY29kaW5nLFxuICAgICAgbG9nRXJyb3JzID0gdHJ1ZSxcbiAgICB9ID0gb3B0cztcbiAgICAvLyBydW4gYSBwYXJ0aWN1bGFyIHNpbWN0bCBjb21tYW5kXG4gICAgYXJncyA9IFsnc2ltY3RsJyxcbiAgICAgIC4uLih0aGlzLmRldmljZXNTZXRQYXRoID8gWyctLXNldCcsIHRoaXMuZGV2aWNlc1NldFBhdGhdIDogW10pLFxuICAgICAgc3ViY29tbWFuZCxcbiAgICAgIC4uLmFyZ3NcbiAgICBdO1xuICAgIC8vIFByZWZpeCBhbGwgcGFzc2VkIGluIGVudmlyb25tZW50IHZhcmlhYmxlcyB3aXRoICdTSU1DVExfQ0hJTERfJywgc2ltY3RsXG4gICAgLy8gd2lsbCB0aGVuIHBhc3MgdGhlc2UgdG8gdGhlIGNoaWxkIChzcGF3bmVkKSBwcm9jZXNzLlxuICAgIGVudiA9IF8uZGVmYXVsdHMoXG4gICAgICBfLm1hcEtleXMoZW52LFxuICAgICAgICAodmFsdWUsIGtleSkgPT4gXy5zdGFydHNXaXRoKGtleSwgU0lNQ1RMX0VOVl9QUkVGSVgpID8ga2V5IDogYCR7U0lNQ1RMX0VOVl9QUkVGSVh9JHtrZXl9YCksXG4gICAgICBwcm9jZXNzLmVudik7XG5cbiAgICBjb25zdCBleGVjT3B0cyA9IHtcbiAgICAgIGVudixcbiAgICAgIGVuY29kaW5nLFxuICAgIH07XG4gICAgaWYgKCFhc3luY2hyb25vdXMpIHtcbiAgICAgIGV4ZWNPcHRzLnRpbWVvdXQgPSB0aGlzLmV4ZWNUaW1lb3V0O1xuICAgIH1cbiAgICBjb25zdCB4Y3J1biA9IGF3YWl0IHRoaXMucmVxdWlyZVhjcnVuKCk7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhc3luY2hyb25vdXMgPyBuZXcgU3ViUHJvY2Vzcyh4Y3J1biwgYXJncywgZXhlY09wdHMpIDogYXdhaXQgdHBFeGVjKHhjcnVuLCBhcmdzLCBleGVjT3B0cyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKCF0aGlzLmxvZ0Vycm9ycyB8fCAhbG9nRXJyb3JzKSB7XG4gICAgICAgIC8vIGlmIHdlIGRvbid0IHdhbnQgdG8gc2VlIHRoZSBlcnJvcnMsIGp1c3QgdGhyb3cgYW5kIGFsbG93IHRoZSBjYWxsaW5nXG4gICAgICAgIC8vIGNvZGUgZG8gd2hhdCBpdCB3YW50c1xuICAgICAgfSBlbHNlIGlmIChlLnN0ZGVycikge1xuICAgICAgICBjb25zdCBtc2cgPSBgRXJyb3IgcnVubmluZyAnJHtzdWJjb21tYW5kfSc6ICR7ZS5zdGRlcnIudHJpbSgpfWA7XG4gICAgICAgIGxvZy5kZWJ1ZyhMT0dfUFJFRklYLCBtc2cpO1xuICAgICAgICBlLm1lc3NhZ2UgPSBtc2c7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsb2cuZGVidWcoTE9HX1BSRUZJWCwgZS5tZXNzYWdlKTtcbiAgICAgIH1cbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG59XG5cblxuLy8gYWRkIGFsbCB0aGUgc3ViY29tbWFuZHMgdG8gdGhlIFNpbWN0bCBwcm90b3R5cGVcbmZvciAoY29uc3QgW2ZuTmFtZSwgZm5dIG9mIF8udG9QYWlycyhzdWJjb21tYW5kcykpIHtcbiAgU2ltY3RsLnByb3RvdHlwZVtmbk5hbWVdID0gZm47XG59XG5cbmV4cG9ydCBkZWZhdWx0IFNpbWN0bDtcbmV4cG9ydCB7IFNpbWN0bCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUEwRDtBQUFBO0FBRTFELE1BQU1BLGlCQUFpQixHQUFHLGVBQWU7QUFDekMsTUFBTUMsWUFBWSxHQUFHO0VBQ25CQyxLQUFLLEVBQUU7SUFDTEMsSUFBSSxFQUFFO0VBQ1IsQ0FBQztFQUNEQyxXQUFXLEVBQUVDLDZCQUFvQjtFQUNqQ0MsU0FBUyxFQUFFO0FBQ2IsQ0FBQzs7QUFxQ0QsTUFBTUMsTUFBTSxDQUFDO0VBSVhDLFdBQVcsQ0FBRUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFO0lBQ3RCQSxJQUFJLEdBQUdDLGVBQUMsQ0FBQ0MsU0FBUyxDQUFDRixJQUFJLENBQUM7SUFDeEJDLGVBQUMsQ0FBQ0UsWUFBWSxDQUFDSCxJQUFJLEVBQUVSLFlBQVksQ0FBQztJQUNsQyxLQUFLLE1BQU1ZLEdBQUcsSUFBSUgsZUFBQyxDQUFDSSxJQUFJLENBQUNiLFlBQVksQ0FBQyxFQUFFO01BQ3RDLElBQUksQ0FBQ1ksR0FBRyxDQUFDLEdBQUdKLElBQUksQ0FBQ0ksR0FBRyxDQUFDO0lBQ3ZCO0lBQ0EsSUFBSSxDQUFDRSxLQUFLLEdBQUdMLGVBQUMsQ0FBQ00sS0FBSyxDQUFDUCxJQUFJLENBQUNRLElBQUksQ0FBQyxHQUFHLElBQUksR0FBR1IsSUFBSSxDQUFDUSxJQUFJO0lBQ2xELElBQUksQ0FBQ0MsZUFBZSxHQUFHUixlQUFDLENBQUNNLEtBQUssQ0FBQ1AsSUFBSSxDQUFDVSxjQUFjLENBQUMsR0FBRyxJQUFJLEdBQUdWLElBQUksQ0FBQ1UsY0FBYztFQUNsRjtFQUVBLElBQUlGLElBQUksQ0FBRUcsS0FBSyxFQUFF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
102
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTSU1DVExfRU5WX1BSRUZJWCIsIkRFRkFVTFRfT1BUUyIsInhjcnVuIiwicGF0aCIsImV4ZWNUaW1lb3V0IiwiREVGQVVMVF9FWEVDX1RJTUVPVVQiLCJsb2dFcnJvcnMiLCJTaW1jdGwiLCJjb25zdHJ1Y3RvciIsIm9wdHMiLCJfIiwiY2xvbmVEZWVwIiwiZGVmYXVsdHNEZWVwIiwia2V5Iiwia2V5cyIsIl91ZGlkIiwiaXNOaWwiLCJ1ZGlkIiwiX2RldmljZXNTZXRQYXRoIiwiZGV2aWNlc1NldFBhdGgiLCJ2YWx1ZSIsInJlcXVpcmVVZGlkIiwiY29tbWFuZE5hbWUiLCJFcnJvciIsInJlcXVpcmVYY3J1biIsInhjcnVuQmluYXJ5IiwiZ2V0WGNydW5CaW5hcnkiLCJ3aGljaCIsImUiLCJleGVjIiwic3ViY29tbWFuZCIsImFyZ3MiLCJlbnYiLCJhc3luY2hyb25vdXMiLCJlbmNvZGluZyIsImRlZmF1bHRzIiwibWFwS2V5cyIsInN0YXJ0c1dpdGgiLCJwcm9jZXNzIiwiZXhlY09wdHMiLCJ0aW1lb3V0IiwiU3ViUHJvY2VzcyIsInRwRXhlYyIsInN0ZGVyciIsIm1zZyIsInRyaW0iLCJsb2ciLCJkZWJ1ZyIsIkxPR19QUkVGSVgiLCJtZXNzYWdlIiwiZm5OYW1lIiwiZm4iLCJ0b1BhaXJzIiwic3ViY29tbWFuZHMiLCJwcm90b3R5cGUiXSwic291cmNlcyI6WyIuLi8uLi9saWIvc2ltY3RsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgc3ViY29tbWFuZHMgZnJvbSAnLi9zdWJjb21tYW5kcy9pbmRleC5qcyc7XG5pbXBvcnQgd2hpY2ggZnJvbSAnd2hpY2gnO1xuaW1wb3J0IGxvZywgeyBMT0dfUFJFRklYIH0gZnJvbSAnLi9sb2dnZXInO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9FWEVDX1RJTUVPVVQsIGdldFhjcnVuQmluYXJ5LFxufSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgZXhlYyBhcyB0cEV4ZWMsIFN1YlByb2Nlc3MgfSBmcm9tICd0ZWVuX3Byb2Nlc3MnO1xuXG5jb25zdCBTSU1DVExfRU5WX1BSRUZJWCA9ICdTSU1DVExfQ0hJTERfJztcbmNvbnN0IERFRkFVTFRfT1BUUyA9IHtcbiAgeGNydW46IHtcbiAgICBwYXRoOiBudWxsLFxuICB9LFxuICBleGVjVGltZW91dDogREVGQVVMVF9FWEVDX1RJTUVPVVQsXG4gIGxvZ0Vycm9yczogdHJ1ZSxcbn07XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gRXhlY09wdHNcbiAqIEBwcm9wZXJ0eSB7QXJyYXkuPHN0cmluZz59IGFyZ3MgW1tdXSAtIFRoZSBsaXN0IG9mIGFkZGl0aW9uYWwgc3ViY29tbWFuZCBhcmd1bWVudHMuXG4gKiBJdCdzIGVtcHR5IGJ5IGRlZmF1bHQuXG4gKiBAcHJvcGVydHkge09iamVjdH0gZW52IFt7fV0gLSBFbnZpcm9ubWVudCB2YXJpYWJsZXMgbWFwcGluZy4gQWxsIHRoZXNlIHZhcmlhYmxlc1xuICogd2lsbCBiZSBwYXNzZWQgU2ltdWxhdG9yIGFuZCB1c2VkIGluIHRoZSBleGVjdXRpbmcgZnVuY3Rpb24uXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGxvZ0Vycm9ycyBbdHJ1ZV0gLSBTZXQgaXQgdG8gX2ZhbHNlXyB0byB0aHJvdyBleGVjdXRpb24gZXJyb3JzXG4gKiBpbW1lZGlhdGVseSB3aXRob3V0IGxvZ2dpbmcgYW55IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGFzeW5jaHJvbm91cyBbZmFsc2VdIC0gV2hldGhlciB0byBleGVjdXRlIHRoZSBnaXZlbiBjb21tYW5kXG4gKiAnc3luY2hyb25vdXNseScgb3IgJ2FzeW5jaHJvbm91c2x5Jy4gQWZmZWN0cyB0aGUgcmV0dXJuZWQgcmVzdWx0IG9mIHRoZSBmdW5jdGlvbi5cbiAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gZW5jb2RpbmcgLSBFeHBsaWNpdGx5IHNldHMgc3RyZWFtcyBlbmNvZGluZyBmb3IgdGhlIGV4ZWN1dGVkXG4gKiBjb21tYW5kIGlucHV0IGFuZCBvdXRwdXRzLlxuICovXG5cblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBTaW1jdGxPcHRzXG4gKiBAcHJvcGVydHkgez9PYmplY3R9IHhjcnVuIC0gVGhlIHhjcnVuIHByb3BlcnRpZXMuIEN1cnJlbnRseSBvbmx5IG9uZSBwcm9wZXJ0eVxuICogaXMgc3VwcG9ydGVkLCB3aGljaCBpcyBgcGF0aGAgYW5kIGl0IGJ5IGRlZmF1bHQgY29udGFpbnMgYG51bGxgLCB3aGljaCBlbmZvcmNlc1xuICogdGhlIGluc3RhbmNlIHRvIGF1dG9tYXRpY2FsbHkgZGV0ZWN0IHRoZSBmdWxsIHBhdGggdG8gYHhjcnVuYCB0b29sIGFuZCB0byB0aHJvd1xuICogYW4gZXhjZXB0aW9uIGlmIGl0IGNhbm5vdCBiZSBkZXRlY3RlZC4gSWYgdGhlIHBhdGggaXMgc2V0IHVwb24gaW5zdGFuY2UgY3JlYXRpb25cbiAqIHRoZW4gaXQgaXMgZ29pbmcgdG8gYmUgdXNlZCBieSBgZXhlY2AgYW5kIG5vIGF1dG9kZXRlY3Rpb24gd2lsbCBoYXBwZW4uXG4gKiBAcHJvcGVydHkgez9udW1iZXJ9IGV4ZWNUaW1lb3V0IFs2MDAwMDBdIC0gVGhlIG1heGltdW0gbnVtYmVyIG9mIG1pbGxpc2Vjb25kc1xuICogdG8gd2FpdCBmb3Igc2luZ2xlIHN5bmNocm9ub3VzIHhjcnVuIGNvbW1hbmQuXG4gKiBAcHJvcGVydHkgez9ib29sZWFufSBsb2dFcnJvcnMgW3RydWVdIC0gV2hldGhlciB0byB3aXJlIHhjcnVuIGVycm9yIG1lc3NhZ2VzXG4gKiBpbnRvIGRlYnVnIGxvZyBiZWZvcmUgdGhyb3dpbmcgdGhlbS5cbiAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gdWRpZCBbbnVsbF0gLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGN1cnJlbnQgZGV2aWNlLCB3aGljaCBpc1xuICogZ29pbmcgdG8gYmUgaW1wbGljaXRseSBwYXNzZWQgdG8gYWxsIG1ldGhvZHMsIHdoaWNoIHJlcXVpcmUgaXQuIEl0IGNhbiBlaXRoZXIgYmUgc2V0XG4gKiB1cG9uIGluc3RhbmNlIGNyZWF0aW9uIGlmIGl0IGlzIGFscmVhZHkga25vd24gaW4gYWR2YW5jZSBvciBsYXRlciB3aGVuL2lmIG5lZWRlZCB2aWEgdGhlXG4gKiBjb3JyZXNwb25kaW5nIGluc3RhbmNlIHNldHRlci5cbiAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gZGV2aWNlc1NldFBhdGggLSBGdWxsIHBhdGggdG8gdGhlIHNldCBvZiBkZXZpY2VzIHRoYXQgeW91IHdhbnQgdG8gbWFuYWdlLlxuICogQnkgZGVmYXVsdCB0aGlzIHBhdGggdXN1YWxseSBlcXVhbHMgdG8gfi9MaWJyYXJ5L0RldmVsb3Blci9Db3JlU2ltdWxhdG9yL0RldmljZXNcbiAqL1xuXG5cbmNsYXNzIFNpbWN0bCB7XG4gIC8qKlxuICAgKiBAcGFyYW0gez9TaW1jdGxPcHRzfSBvcHRzXG4gICAqL1xuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgb3B0cyA9IF8uY2xvbmVEZWVwKG9wdHMpO1xuICAgIF8uZGVmYXVsdHNEZWVwKG9wdHMsIERFRkFVTFRfT1BUUyk7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgXy5rZXlzKERFRkFVTFRfT1BUUykpIHtcbiAgICAgIHRoaXNba2V5XSA9IG9wdHNba2V5XTtcbiAgICB9XG4gICAgdGhpcy5fdWRpZCA9IF8uaXNOaWwob3B0cy51ZGlkKSA/IG51bGwgOiBvcHRzLnVkaWQ7XG4gICAgdGhpcy5fZGV2aWNlc1NldFBhdGggPSBfLmlzTmlsKG9wdHMuZGV2aWNlc1NldFBhdGgpID8gbnVsbCA6IG9wdHMuZGV2aWNlc1NldFBhdGg7XG4gIH1cblxuICBzZXQgdWRpZCAodmFsdWUpIHtcbiAgICB0aGlzLl91ZGlkID0gdmFsdWU7XG4gIH1cblxuICBnZXQgdWRpZCAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3VkaWQ7XG4gIH1cblxuICBzZXQgZGV2aWNlc1NldFBhdGggKHZhbHVlKSB7XG4gICAgdGhpcy5fZGV2aWNlc1NldFBhdGggPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBkZXZpY2VzU2V0UGF0aCAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RldmljZXNTZXRQYXRoO1xuICB9XG5cbiAgcmVxdWlyZVVkaWQgKGNvbW1hbmROYW1lID0gbnVsbCkge1xuICAgIGlmICghdGhpcy51ZGlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHVkaWQgaXMgcmVxdWlyZWQgdG8gYmUgc2V0IGZvciBgICtcbiAgICAgICAgKGNvbW1hbmROYW1lID8gYHRoZSAnJHtjb21tYW5kTmFtZX0nIGNvbW1hbmRgIDogJ3RoaXMgc2ltY3RsIGNvbW1hbmQnKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnVkaWQ7XG4gIH1cblxuICBhc3luYyByZXF1aXJlWGNydW4gKCkge1xuICAgIGNvbnN0IHhjcnVuQmluYXJ5ID0gZ2V0WGNydW5CaW5hcnkoKTtcblxuICAgIGlmICghdGhpcy54Y3J1bi5wYXRoKSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLnhjcnVuLnBhdGggPSBhd2FpdCB3aGljaCh4Y3J1bkJpbmFyeSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHt4Y3J1bkJpbmFyeX0gdG9vbCBoYXMgbm90IGJlZW4gZm91bmQgaW4gUEFUSC4gYCArXG4gICAgICAgICAgYEFyZSBYY29kZSBkZXZlbG9wZXJzIHRvb2xzIGluc3RhbGxlZD9gKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMueGNydW4ucGF0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlIHRoZSBwYXJ0aWN1bGFyIHNpbWN0bCBjb21tYW5kLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3ViY29tbWFuZCAtIE9uZSBvZiBhdmFpbGFibGUgc2ltY3RsIHN1YmNvbW1hbmRzLlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4ZWN1dGUgYHhjcnVuIHNpbWN0bGAgaW4gVGVybWluYWwgdG8gc2VlIHRoZSBmdWxsIGxpc3RcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBhdmFpbGFibGUgc3ViY29tbWFuZHMuXG4gICAqIEBwYXJhbSB7P0V4ZWNPcHRzfSBvcHRzXG4gICAqIEByZXR1cm4ge0V4ZWNSZXN1bHR8U3ViUHJvY2Vzc30gRWl0aGVyIHRoZSByZXN1bHQgb2YgdGVlbiBwcm9jZXNzJ3MgYGV4ZWNgIG9yXG4gICAqIGBTdWJQcm9jZXNzYCBpbnN0YW5jZSBkZXBlbmRpbmcgb2YgYG9wdHMuYXN5bmNocm9ub3VzYCB2YWx1ZS5cbiAgICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kIHJldHVybnMgbm9uLXplcm8gcmV0dXJuIGNvZGUuXG4gICAqL1xuICBhc3luYyBleGVjIChzdWJjb21tYW5kLCBvcHRzID0ge30pIHtcbiAgICBsZXQge1xuICAgICAgYXJncyA9IFtdLFxuICAgICAgZW52ID0ge30sXG4gICAgICBhc3luY2hyb25vdXMgPSBmYWxzZSxcbiAgICAgIGVuY29kaW5nLFxuICAgICAgbG9nRXJyb3JzID0gdHJ1ZSxcbiAgICB9ID0gb3B0cztcbiAgICAvLyBydW4gYSBwYXJ0aWN1bGFyIHNpbWN0bCBjb21tYW5kXG4gICAgYXJncyA9IFsnc2ltY3RsJyxcbiAgICAgIC4uLih0aGlzLmRldmljZXNTZXRQYXRoID8gWyctLXNldCcsIHRoaXMuZGV2aWNlc1NldFBhdGhdIDogW10pLFxuICAgICAgc3ViY29tbWFuZCxcbiAgICAgIC4uLmFyZ3NcbiAgICBdO1xuICAgIC8vIFByZWZpeCBhbGwgcGFzc2VkIGluIGVudmlyb25tZW50IHZhcmlhYmxlcyB3aXRoICdTSU1DVExfQ0hJTERfJywgc2ltY3RsXG4gICAgLy8gd2lsbCB0aGVuIHBhc3MgdGhlc2UgdG8gdGhlIGNoaWxkIChzcGF3bmVkKSBwcm9jZXNzLlxuICAgIGVudiA9IF8uZGVmYXVsdHMoXG4gICAgICBfLm1hcEtleXMoZW52LFxuICAgICAgICAodmFsdWUsIGtleSkgPT4gXy5zdGFydHNXaXRoKGtleSwgU0lNQ1RMX0VOVl9QUkVGSVgpID8ga2V5IDogYCR7U0lNQ1RMX0VOVl9QUkVGSVh9JHtrZXl9YCksXG4gICAgICBwcm9jZXNzLmVudik7XG5cbiAgICBjb25zdCBleGVjT3B0cyA9IHtcbiAgICAgIGVudixcbiAgICAgIGVuY29kaW5nLFxuICAgIH07XG4gICAgaWYgKCFhc3luY2hyb25vdXMpIHtcbiAgICAgIGV4ZWNPcHRzLnRpbWVvdXQgPSB0aGlzLmV4ZWNUaW1lb3V0O1xuICAgIH1cbiAgICBjb25zdCB4Y3J1biA9IGF3YWl0IHRoaXMucmVxdWlyZVhjcnVuKCk7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhc3luY2hyb25vdXMgPyBuZXcgU3ViUHJvY2Vzcyh4Y3J1biwgYXJncywgZXhlY09wdHMpIDogYXdhaXQgdHBFeGVjKHhjcnVuLCBhcmdzLCBleGVjT3B0cyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKCF0aGlzLmxvZ0Vycm9ycyB8fCAhbG9nRXJyb3JzKSB7XG4gICAgICAgIC8vIGlmIHdlIGRvbid0IHdhbnQgdG8gc2VlIHRoZSBlcnJvcnMsIGp1c3QgdGhyb3cgYW5kIGFsbG93IHRoZSBjYWxsaW5nXG4gICAgICAgIC8vIGNvZGUgZG8gd2hhdCBpdCB3YW50c1xuICAgICAgfSBlbHNlIGlmIChlLnN0ZGVycikge1xuICAgICAgICBjb25zdCBtc2cgPSBgRXJyb3IgcnVubmluZyAnJHtzdWJjb21tYW5kfSc6ICR7ZS5zdGRlcnIudHJpbSgpfWA7XG4gICAgICAgIGxvZy5kZWJ1ZyhMT0dfUFJFRklYLCBtc2cpO1xuICAgICAgICBlLm1lc3NhZ2UgPSBtc2c7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsb2cuZGVidWcoTE9HX1BSRUZJWCwgZS5tZXNzYWdlKTtcbiAgICAgIH1cbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG59XG5cblxuLy8gYWRkIGFsbCB0aGUgc3ViY29tbWFuZHMgdG8gdGhlIFNpbWN0bCBwcm90b3R5cGVcbmZvciAoY29uc3QgW2ZuTmFtZSwgZm5dIG9mIF8udG9QYWlycyhzdWJjb21tYW5kcykpIHtcbiAgU2ltY3RsLnByb3RvdHlwZVtmbk5hbWVdID0gZm47XG59XG5cbmV4cG9ydCBkZWZhdWx0IFNpbWN0bDtcbmV4cG9ydCB7IFNpbWN0bCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUEwRDtBQUFBO0FBRTFELE1BQU1BLGlCQUFpQixHQUFHLGVBQWU7QUFDekMsTUFBTUMsWUFBWSxHQUFHO0VBQ25CQyxLQUFLLEVBQUU7SUFDTEMsSUFBSSxFQUFFO0VBQ1IsQ0FBQztFQUNEQyxXQUFXLEVBQUVDLDZCQUFvQjtFQUNqQ0MsU0FBUyxFQUFFO0FBQ2IsQ0FBQztBQXFDRCxNQUFNQyxNQUFNLENBQUM7RUFJWEMsV0FBVyxDQUFFQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUU7SUFDdEJBLElBQUksR0FBR0MsZUFBQyxDQUFDQyxTQUFTLENBQUNGLElBQUksQ0FBQztJQUN4QkMsZUFBQyxDQUFDRSxZQUFZLENBQUNILElBQUksRUFBRVIsWUFBWSxDQUFDO0lBQ2xDLEtBQUssTUFBTVksR0FBRyxJQUFJSCxlQUFDLENBQUNJLElBQUksQ0FBQ2IsWUFBWSxDQUFDLEVBQUU7TUFDdEMsSUFBSSxDQUFDWSxHQUFHLENBQUMsR0FBR0osSUFBSSxDQUFDSSxHQUFHLENBQUM7SUFDdkI7SUFDQSxJQUFJLENBQUNFLEtBQUssR0FBR0wsZUFBQyxDQUFDTSxLQUFLLENBQUNQLElBQUksQ0FBQ1EsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHUixJQUFJLENBQUNRLElBQUk7SUFDbEQsSUFBSSxDQUFDQyxlQUFlLEdBQUdSLGVBQUMsQ0FBQ00sS0FBSyxDQUFDUCxJQUFJLENBQUNVLGNBQWMsQ0FBQyxHQUFHLElBQUksR0FBR1YsSUFBSSxDQUFDVSxjQUFjO0VBQ2xGO0VBRUEsSUFBSUYsSUFBSSxDQUFFRyxLQUFLLEVBQUU7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
@@ -1 +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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"}
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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"}
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  require("source-map-support/register");
8
8
  const commands = {};
9
-
10
9
  commands.addMedia = async function addMedia(filePath) {
11
10
  return await this.exec('addmedia', {
12
11
  args: [this.requireUdid('addmedia'), filePath]
@@ -14,4 +13,4 @@ commands.addMedia = async function addMedia(filePath) {
14
13
  };
15
14
  var _default = commands;
16
15
  exports.default = _default;
17
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImFkZE1lZGlhIiwiZmlsZVBhdGgiLCJleGVjIiwiYXJncyIsInJlcXVpcmVVZGlkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N1YmNvbW1hbmRzL2FkZG1lZGlhLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8qKlxuICogQWRkIHRoZSBwYXJ0aWN1bGFyIG1lZGlhIGZpbGUgdG8gU2ltdWxhdG9yJ3MgbGlicmFyeS5cbiAqIEl0IGlzIHJlcXVpcmVkIHRoYXQgU2ltdWxhdG9yIGlzIGluIF9ib290ZWRfIHN0YXRlLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBmaWxlUGF0aCAtIEZ1bGwgcGF0aCB0byBhIG1lZGlhIGZpbGUgb24gdGhlIGxvY2FsXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlIHN5c3RlbS5cbiAqIEByZXR1cm4ge0V4ZWNSZXN1bHR9IENvbW1hbmQgZXhlY3V0aW9uIHJlc3VsdC5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kXG4gKiAgICAgICAgICAgICAgICAgcmV0dXJucyBub24temVybyByZXR1cm4gY29kZS5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgYHVkaWRgIGluc3RhbmNlIHByb3BlcnR5IGlzIHVuc2V0XG4gKi9cbmNvbW1hbmRzLmFkZE1lZGlhID0gYXN5bmMgZnVuY3Rpb24gYWRkTWVkaWEgKGZpbGVQYXRoKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLmV4ZWMoJ2FkZG1lZGlhJywge1xuICAgIGFyZ3M6IFt0aGlzLnJlcXVpcmVVZGlkKCdhZGRtZWRpYScpLCBmaWxlUGF0aF0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxNQUFNQSxRQUFRLEdBQUcsQ0FBQyxDQUFDOztBQWFuQkEsUUFBUSxDQUFDQyxRQUFRLEdBQUcsZUFBZUEsUUFBUSxDQUFFQyxRQUFRLEVBQUU7RUFDckQsT0FBTyxNQUFNLElBQUksQ0FBQ0MsSUFBSSxDQUFDLFVBQVUsRUFBRTtJQUNqQ0MsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDQyxXQUFXLENBQUMsVUFBVSxDQUFDLEVBQUVILFFBQVE7RUFDL0MsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUFDLGVBRWFGLFFBQVE7QUFBQSJ9
16
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImFkZE1lZGlhIiwiZmlsZVBhdGgiLCJleGVjIiwiYXJncyIsInJlcXVpcmVVZGlkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N1YmNvbW1hbmRzL2FkZG1lZGlhLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8qKlxuICogQWRkIHRoZSBwYXJ0aWN1bGFyIG1lZGlhIGZpbGUgdG8gU2ltdWxhdG9yJ3MgbGlicmFyeS5cbiAqIEl0IGlzIHJlcXVpcmVkIHRoYXQgU2ltdWxhdG9yIGlzIGluIF9ib290ZWRfIHN0YXRlLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBmaWxlUGF0aCAtIEZ1bGwgcGF0aCB0byBhIG1lZGlhIGZpbGUgb24gdGhlIGxvY2FsXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlIHN5c3RlbS5cbiAqIEByZXR1cm4ge0V4ZWNSZXN1bHR9IENvbW1hbmQgZXhlY3V0aW9uIHJlc3VsdC5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kXG4gKiAgICAgICAgICAgICAgICAgcmV0dXJucyBub24temVybyByZXR1cm4gY29kZS5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgYHVkaWRgIGluc3RhbmNlIHByb3BlcnR5IGlzIHVuc2V0XG4gKi9cbmNvbW1hbmRzLmFkZE1lZGlhID0gYXN5bmMgZnVuY3Rpb24gYWRkTWVkaWEgKGZpbGVQYXRoKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLmV4ZWMoJ2FkZG1lZGlhJywge1xuICAgIGFyZ3M6IFt0aGlzLnJlcXVpcmVVZGlkKCdhZGRtZWRpYScpLCBmaWxlUGF0aF0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxNQUFNQSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBYW5CQSxRQUFRLENBQUNDLFFBQVEsR0FBRyxlQUFlQSxRQUFRLENBQUVDLFFBQVEsRUFBRTtFQUNyRCxPQUFPLE1BQU0sSUFBSSxDQUFDQyxJQUFJLENBQUMsVUFBVSxFQUFFO0lBQ2pDQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUNDLFdBQVcsQ0FBQyxVQUFVLENBQUMsRUFBRUgsUUFBUTtFQUMvQyxDQUFDLENBQUM7QUFDSixDQUFDO0FBQUMsZUFFYUYsUUFBUTtBQUFBIn0=
@@ -1 +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"}
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"}
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  require("source-map-support/register");
8
8
  const commands = {};
9
-
10
9
  commands.appInfo = async function appInfo(bundleId) {
11
10
  const {
12
11
  stdout
@@ -17,4 +16,4 @@ commands.appInfo = async function appInfo(bundleId) {
17
16
  };
18
17
  var _default = commands;
19
18
  exports.default = _default;
20
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImFwcEluZm8iLCJidW5kbGVJZCIsInN0ZG91dCIsImV4ZWMiLCJhcmdzIiwicmVxdWlyZVVkaWQiLCJ0cmltIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N1YmNvbW1hbmRzL2FwcGluZm8uanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBJbnZva2UgaGlkZGVuIGFwcGluZm8gc3ViY29tbWFuZCB0byBnZXQgdGhlIGluZm9ybWF0aW9uXG4gKiBhYm91dCBhcHBsaWNhdGlvbnMgaW5zdGFsbGVkIG9uIFNpbXVsYXRvciwgaW5jbHVkaW5nXG4gKiBzeXN0ZW0gYXBwbGljYXRpb25zICh7QGxpbmsgZ2V0QXBwQ29udGFpbmVyfSBkb2VzIG5vdCBcInNlZVwiIHN1Y2ggYXBwcykuXG4gKiBTaW11bGF0b3Igc2VydmVyIHNob3VsZCBiZSBpbiAnYm9vdGVkJyBzdGF0ZSBmb3IgdGhpcyBjYWxsIHRvIHdvcmsgcHJvcGVybHkuXG4gKiBUaGUgdG9vbCBpcyBvbmx5IGF2YWlsYWJsZSBzaW5jZSBYY29kZSBTREsgOC4xXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGJ1bmRsZUlkIC0gVGhlIGJ1bmRsZSBpZGVudGlmaWVyIG9mIHRoZSB0YXJnZXQgYXBwbGljYXRpb24uXG4gKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBpbmZvcm1hdGlvbiBhYm91dCBpbnN0YWxsZWQgYXBwbGljYXRpb24uXG4gKlxuICogRXhhbXBsZSBvdXRwdXQgZm9yIG5vbi1leGlzdGluZyBhcHBsaWNhdGlvbiBjb250YWluZXI6XG4gKiA8cHJlPlxuICoge1xuICogICBDRkJ1bmRsZUlkZW50aWZpZXIgPSBcImNvbS5hcHBsZS5Nb2JpbGVTYWZhcmlcIjtcbiAqICAgR3JvdXBDb250YWluZXJzID0gICAgIHtcbiAqICAgfTtcbiAqICAgU0JBcHBUYWdzID0gICAgIChcbiAqICAgKTtcbiAqIH1cbiAqIDwvcHJlPlxuICpcbiAqIEV4YW1wbGUgb3V0cHV0IGZvciBhbiBleGlzdGluZyBzeXN0ZW0gYXBwbGljYXRpb24gY29udGFpbmVyOlxuICogPHByZT5cbiAqIHtcbiAqICAgQXBwbGljYXRpb25UeXBlID0gSGlkZGVuO1xuICogICBCdW5kbGUgPSBcImZpbGU6Ly8vQXBwbGljYXRpb25zL1hjb2RlLWJldGEuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvaVBob25lT1MucGxhdGZvcm0vRGV2ZWxvcGVyL0xpYnJhcnkvQ29yZVNpbXVsYXRvci9Qcm9maWxlcy9SdW50aW1lcy9pT1Muc2ltcnVudGltZS9Db250ZW50cy9SZXNvdXJjZXMvUnVudGltZVJvb3QvU3lzdGVtL0xpYnJhcnkvQ29yZVNlcnZpY2VzL1NwcmluZ0JvYXJkLmFwcFwiO1xuICogICBDRkJ1bmRsZURpc3BsYXlOYW1lID0gU3ByaW5nQm9hcmQ7XG4gKiAgIENGQnVuZGxlRXhlY3V0YWJsZSA9IFNwcmluZ0JvYXJkO1xuICogICBDRkJ1bmRsZUlkZW50aWZpZXIgPSBcImNvbS5hcHBsZS5zcHJpbmdib2FyZFwiO1xuICogICBDRkJ1bmRsZU5hbWUgPSBTcHJpbmdCb2FyZDtcbiAqICAgQ0ZCdW5kbGVWZXJzaW9uID0gNTA7XG4gKiAgIEdyb3VwQ29udGFpbmVycyA9ICAgICB7XG4gKiAgIH07XG4gKiAgIFBhdGggPSBcIi9BcHBsaWNhdGlvbnMvWGNvZGUtYmV0YS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9pUGhvbmVPUy5wbGF0Zm9ybS9EZXZlbG9wZXIvTGlicmFyeS9Db3JlU2ltdWxhdG9yL1Byb2ZpbGVzL1J1bnRpbWVzL2lPUy5zaW1ydW50aW1lL0NvbnRlbnRzL1Jlc291cmNlcy9SdW50aW1lUm9vdC9TeXN0ZW0vTGlicmFyeS9Db3JlU2VydmljZXMvU3ByaW5nQm9hcmQuYXBwXCI7XG4gKiAgIFNCQXBwVGFncyA9ICAgICAoXG4gKiAgICk7XG4gKiB9XG4gKiA8L3ByZT5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgYHVkaWRgIGluc3RhbmNlIHByb3BlcnR5IGlzIHVuc2V0XG4gKi9cbmNvbW1hbmRzLmFwcEluZm8gPSBhc3luYyBmdW5jdGlvbiBhcHBJbmZvIChidW5kbGVJZCkge1xuICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IHRoaXMuZXhlYygnYXBwaW5mbycsIHtcbiAgICBhcmdzOiBbdGhpcy5yZXF1aXJlVWRpZCgnYXBwaW5mbycpLCBidW5kbGVJZF0sXG4gIH0pO1xuICByZXR1cm4gKHN0ZG91dCB8fCAnJykudHJpbSgpO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxNQUFNQSxRQUFRLEdBQUcsQ0FBQyxDQUFDOztBQTBDbkJBLFFBQVEsQ0FBQ0MsT0FBTyxHQUFHLGVBQWVBLE9BQU8sQ0FBRUMsUUFBUSxFQUFFO0VBQ25ELE1BQU07SUFBQ0M7RUFBTSxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUNDLElBQUksQ0FBQyxTQUFTLEVBQUU7SUFDMUNDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQ0MsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFSixRQUFRO0VBQzlDLENBQUMsQ0FBQztFQUNGLE9BQU8sQ0FBQ0MsTUFBTSxJQUFJLEVBQUUsRUFBRUksSUFBSSxFQUFFO0FBQzlCLENBQUM7QUFBQyxlQUVhUCxRQUFRO0FBQUEifQ==
19
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImFwcEluZm8iLCJidW5kbGVJZCIsInN0ZG91dCIsImV4ZWMiLCJhcmdzIiwicmVxdWlyZVVkaWQiLCJ0cmltIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N1YmNvbW1hbmRzL2FwcGluZm8uanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBJbnZva2UgaGlkZGVuIGFwcGluZm8gc3ViY29tbWFuZCB0byBnZXQgdGhlIGluZm9ybWF0aW9uXG4gKiBhYm91dCBhcHBsaWNhdGlvbnMgaW5zdGFsbGVkIG9uIFNpbXVsYXRvciwgaW5jbHVkaW5nXG4gKiBzeXN0ZW0gYXBwbGljYXRpb25zICh7QGxpbmsgZ2V0QXBwQ29udGFpbmVyfSBkb2VzIG5vdCBcInNlZVwiIHN1Y2ggYXBwcykuXG4gKiBTaW11bGF0b3Igc2VydmVyIHNob3VsZCBiZSBpbiAnYm9vdGVkJyBzdGF0ZSBmb3IgdGhpcyBjYWxsIHRvIHdvcmsgcHJvcGVybHkuXG4gKiBUaGUgdG9vbCBpcyBvbmx5IGF2YWlsYWJsZSBzaW5jZSBYY29kZSBTREsgOC4xXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGJ1bmRsZUlkIC0gVGhlIGJ1bmRsZSBpZGVudGlmaWVyIG9mIHRoZSB0YXJnZXQgYXBwbGljYXRpb24uXG4gKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBpbmZvcm1hdGlvbiBhYm91dCBpbnN0YWxsZWQgYXBwbGljYXRpb24uXG4gKlxuICogRXhhbXBsZSBvdXRwdXQgZm9yIG5vbi1leGlzdGluZyBhcHBsaWNhdGlvbiBjb250YWluZXI6XG4gKiA8cHJlPlxuICoge1xuICogICBDRkJ1bmRsZUlkZW50aWZpZXIgPSBcImNvbS5hcHBsZS5Nb2JpbGVTYWZhcmlcIjtcbiAqICAgR3JvdXBDb250YWluZXJzID0gICAgIHtcbiAqICAgfTtcbiAqICAgU0JBcHBUYWdzID0gICAgIChcbiAqICAgKTtcbiAqIH1cbiAqIDwvcHJlPlxuICpcbiAqIEV4YW1wbGUgb3V0cHV0IGZvciBhbiBleGlzdGluZyBzeXN0ZW0gYXBwbGljYXRpb24gY29udGFpbmVyOlxuICogPHByZT5cbiAqIHtcbiAqICAgQXBwbGljYXRpb25UeXBlID0gSGlkZGVuO1xuICogICBCdW5kbGUgPSBcImZpbGU6Ly8vQXBwbGljYXRpb25zL1hjb2RlLWJldGEuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvaVBob25lT1MucGxhdGZvcm0vRGV2ZWxvcGVyL0xpYnJhcnkvQ29yZVNpbXVsYXRvci9Qcm9maWxlcy9SdW50aW1lcy9pT1Muc2ltcnVudGltZS9Db250ZW50cy9SZXNvdXJjZXMvUnVudGltZVJvb3QvU3lzdGVtL0xpYnJhcnkvQ29yZVNlcnZpY2VzL1NwcmluZ0JvYXJkLmFwcFwiO1xuICogICBDRkJ1bmRsZURpc3BsYXlOYW1lID0gU3ByaW5nQm9hcmQ7XG4gKiAgIENGQnVuZGxlRXhlY3V0YWJsZSA9IFNwcmluZ0JvYXJkO1xuICogICBDRkJ1bmRsZUlkZW50aWZpZXIgPSBcImNvbS5hcHBsZS5zcHJpbmdib2FyZFwiO1xuICogICBDRkJ1bmRsZU5hbWUgPSBTcHJpbmdCb2FyZDtcbiAqICAgQ0ZCdW5kbGVWZXJzaW9uID0gNTA7XG4gKiAgIEdyb3VwQ29udGFpbmVycyA9ICAgICB7XG4gKiAgIH07XG4gKiAgIFBhdGggPSBcIi9BcHBsaWNhdGlvbnMvWGNvZGUtYmV0YS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9pUGhvbmVPUy5wbGF0Zm9ybS9EZXZlbG9wZXIvTGlicmFyeS9Db3JlU2ltdWxhdG9yL1Byb2ZpbGVzL1J1bnRpbWVzL2lPUy5zaW1ydW50aW1lL0NvbnRlbnRzL1Jlc291cmNlcy9SdW50aW1lUm9vdC9TeXN0ZW0vTGlicmFyeS9Db3JlU2VydmljZXMvU3ByaW5nQm9hcmQuYXBwXCI7XG4gKiAgIFNCQXBwVGFncyA9ICAgICAoXG4gKiAgICk7XG4gKiB9XG4gKiA8L3ByZT5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgYHVkaWRgIGluc3RhbmNlIHByb3BlcnR5IGlzIHVuc2V0XG4gKi9cbmNvbW1hbmRzLmFwcEluZm8gPSBhc3luYyBmdW5jdGlvbiBhcHBJbmZvIChidW5kbGVJZCkge1xuICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IHRoaXMuZXhlYygnYXBwaW5mbycsIHtcbiAgICBhcmdzOiBbdGhpcy5yZXF1aXJlVWRpZCgnYXBwaW5mbycpLCBidW5kbGVJZF0sXG4gIH0pO1xuICByZXR1cm4gKHN0ZG91dCB8fCAnJykudHJpbSgpO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxNQUFNQSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBMENuQkEsUUFBUSxDQUFDQyxPQUFPLEdBQUcsZUFBZUEsT0FBTyxDQUFFQyxRQUFRLEVBQUU7RUFDbkQsTUFBTTtJQUFDQztFQUFNLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQ0MsSUFBSSxDQUFDLFNBQVMsRUFBRTtJQUMxQ0MsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUVKLFFBQVE7RUFDOUMsQ0FBQyxDQUFDO0VBQ0YsT0FBTyxDQUFDQyxNQUFNLElBQUksRUFBRSxFQUFFSSxJQUFJLEVBQUU7QUFDOUIsQ0FBQztBQUFDLGVBRWFQLFFBQVE7QUFBQSJ9
@@ -1 +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
+ {"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"}
@@ -11,7 +11,6 @@ var _logger = _interopRequireWildcard(require("../logger"));
11
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); }
12
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; }
13
13
  const commands = {};
14
-
15
14
  commands.bootDevice = async function bootDevice() {
16
15
  try {
17
16
  await this.exec('boot', {
@@ -26,4 +25,4 @@ commands.bootDevice = async function bootDevice() {
26
25
  };
27
26
  var _default = commands;
28
27
  exports.default = _default;
29
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImJvb3REZXZpY2UiLCJleGVjIiwiYXJncyIsInJlcXVpcmVVZGlkIiwiZSIsIl8iLCJpbmNsdWRlcyIsIm1lc3NhZ2UiLCJsb2ciLCJkZWJ1ZyIsIkxPR19QUkVGSVgiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3ViY29tbWFuZHMvYm9vdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IGxvZywgeyBMT0dfUFJFRklYIH0gZnJvbSAnLi4vbG9nZ2VyJztcblxuXG5jb25zdCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIEJvb3QgdGhlIHBhcnRpY3VsYXIgU2ltdWxhdG9yIGlmIGl0IGlzIG5vdCBydW5uaW5nLlxuICpcbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kXG4gKiAgICAgICAgICAgICAgICAgcmV0dXJucyBub24temVybyByZXR1cm4gY29kZS5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgYHVkaWRgIGluc3RhbmNlIHByb3BlcnR5IGlzIHVuc2V0XG4gKi9cbmNvbW1hbmRzLmJvb3REZXZpY2UgPSBhc3luYyBmdW5jdGlvbiBib290RGV2aWNlICgpIHtcbiAgdHJ5IHtcbiAgICBhd2FpdCB0aGlzLmV4ZWMoJ2Jvb3QnLCB7XG4gICAgICBhcmdzOiBbdGhpcy5yZXF1aXJlVWRpZCgnYm9vdCcpXVxuICAgIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgaWYgKF8uaW5jbHVkZXMoZS5tZXNzYWdlLCAnVW5hYmxlIHRvIGJvb3QgZGV2aWNlIGluIGN1cnJlbnQgc3RhdGU6IEJvb3RlZCcpKSB7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgICBsb2cuZGVidWcoTE9HX1BSRUZJWCwgYFNpbXVsYXRvciBhbHJlYWR5IGluICdCb290ZWQnIHN0YXRlLiBDb250aW51aW5nYCk7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7QUFBNEM7QUFBQTtBQUc1QyxNQUFNQSxRQUFRLEdBQUcsQ0FBQyxDQUFDOztBQVNuQkEsUUFBUSxDQUFDQyxVQUFVLEdBQUcsZUFBZUEsVUFBVSxHQUFJO0VBQ2pELElBQUk7SUFDRixNQUFNLElBQUksQ0FBQ0MsSUFBSSxDQUFDLE1BQU0sRUFBRTtNQUN0QkMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDQyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQ2pDLENBQUMsQ0FBQztFQUNKLENBQUMsQ0FBQyxPQUFPQyxDQUFDLEVBQUU7SUFDVixJQUFJQyxlQUFDLENBQUNDLFFBQVEsQ0FBQ0YsQ0FBQyxDQUFDRyxPQUFPLEVBQUUsZ0RBQWdELENBQUMsRUFBRTtNQUMzRSxNQUFNSCxDQUFDO0lBQ1Q7SUFDQUksZUFBRyxDQUFDQyxLQUFLLENBQUNDLGtCQUFVLEVBQUcsaURBQWdELENBQUM7RUFDMUU7QUFDRixDQUFDO0FBQUMsZUFFYVgsUUFBUTtBQUFBIn0=
28
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImJvb3REZXZpY2UiLCJleGVjIiwiYXJncyIsInJlcXVpcmVVZGlkIiwiZSIsIl8iLCJpbmNsdWRlcyIsIm1lc3NhZ2UiLCJsb2ciLCJkZWJ1ZyIsIkxPR19QUkVGSVgiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3ViY29tbWFuZHMvYm9vdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IGxvZywgeyBMT0dfUFJFRklYIH0gZnJvbSAnLi4vbG9nZ2VyJztcblxuXG5jb25zdCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIEJvb3QgdGhlIHBhcnRpY3VsYXIgU2ltdWxhdG9yIGlmIGl0IGlzIG5vdCBydW5uaW5nLlxuICpcbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kXG4gKiAgICAgICAgICAgICAgICAgcmV0dXJucyBub24temVybyByZXR1cm4gY29kZS5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgYHVkaWRgIGluc3RhbmNlIHByb3BlcnR5IGlzIHVuc2V0XG4gKi9cbmNvbW1hbmRzLmJvb3REZXZpY2UgPSBhc3luYyBmdW5jdGlvbiBib290RGV2aWNlICgpIHtcbiAgdHJ5IHtcbiAgICBhd2FpdCB0aGlzLmV4ZWMoJ2Jvb3QnLCB7XG4gICAgICBhcmdzOiBbdGhpcy5yZXF1aXJlVWRpZCgnYm9vdCcpXVxuICAgIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgaWYgKF8uaW5jbHVkZXMoZS5tZXNzYWdlLCAnVW5hYmxlIHRvIGJvb3QgZGV2aWNlIGluIGN1cnJlbnQgc3RhdGU6IEJvb3RlZCcpKSB7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgICBsb2cuZGVidWcoTE9HX1BSRUZJWCwgYFNpbXVsYXRvciBhbHJlYWR5IGluICdCb290ZWQnIHN0YXRlLiBDb250aW51aW5nYCk7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7QUFBNEM7QUFBQTtBQUc1QyxNQUFNQSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBU25CQSxRQUFRLENBQUNDLFVBQVUsR0FBRyxlQUFlQSxVQUFVLEdBQUk7RUFDakQsSUFBSTtJQUNGLE1BQU0sSUFBSSxDQUFDQyxJQUFJLENBQUMsTUFBTSxFQUFFO01BQ3RCQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUNDLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDakMsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDLE9BQU9DLENBQUMsRUFBRTtJQUNWLElBQUlDLGVBQUMsQ0FBQ0MsUUFBUSxDQUFDRixDQUFDLENBQUNHLE9BQU8sRUFBRSxnREFBZ0QsQ0FBQyxFQUFFO01BQzNFLE1BQU1ILENBQUM7SUFDVDtJQUNBSSxlQUFHLENBQUNDLEtBQUssQ0FBQ0Msa0JBQVUsRUFBRyxpREFBZ0QsQ0FBQztFQUMxRTtBQUNGLENBQUM7QUFBQyxlQUVhWCxRQUFRO0FBQUEifQ==
@@ -1 +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
+ {"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"}
@@ -9,7 +9,6 @@ require("source-map-support/register");
9
9
  var _logger = _interopRequireDefault(require("../logger"));
10
10
  var _asyncbox = require("asyncbox");
11
11
  const commands = {};
12
-
13
12
  commands.startBootMonitor = async function startBootMonitor(opts = {}) {
14
13
  const {
15
14
  timeout = 240000,
@@ -93,4 +92,4 @@ commands.startBootMonitor = async function startBootMonitor(opts = {}) {
93
92
  };
94
93
  var _default = commands;
95
94
  exports.default = _default;
96
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsInN0YXJ0Qm9vdE1vbml0b3IiLCJvcHRzIiwidGltZW91dCIsIm9uV2FpdGluZ0RhdGFNaWdyYXRpb24iLCJvbldhaXRpbmdTeXN0ZW1BcHAiLCJvbkZpbmlzaGVkIiwib25FcnJvciIsInNob3VsZFByZWJvb3QiLCJ1ZGlkIiwicmVxdWlyZVVkaWQiLCJzdGF0dXMiLCJpc0Jvb3RpbmdGaW5pc2hlZCIsImVycm9yIiwidGltZW91dEhhbmRsZXIiLCJhcmdzIiwicHVzaCIsImJvb3RNb25pdG9yIiwiZXhlYyIsImFzeW5jaHJvbm91cyIsIm9uIiwic3Rkb3V0Iiwic3RkZXJyIiwiaW5jbHVkZXMiLCJjb2RlIiwic2lnbmFsIiwiY2xlYXJUaW1lb3V0IiwiRXJyb3IiLCJzdGFydCIsInN0b3BNb25pdG9yIiwiaXNSdW5uaW5nIiwic3RvcCIsImUiLCJsb2ciLCJ3YXJuIiwibWVzc2FnZSIsInByb2Nlc3MiLCJocnRpbWUiLCJzZXRUaW1lb3V0Iiwid2FpdEZvckNvbmRpdGlvbiIsIndhaXRNcyIsImludGVydmFsTXMiLCJlcnIiLCJzZWNvbmRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N1YmNvbW1hbmRzL2Jvb3RzdGF0dXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGxvZyBmcm9tICcuLi9sb2dnZXInO1xuaW1wb3J0IHsgd2FpdEZvckNvbmRpdGlvbiB9IGZyb20gJ2FzeW5jYm94JztcblxuXG5jb25zdCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEJvb3RNb25pdG9yT3B0aW9uc1xuICogQHByb3BlcnR5IHs/bnVtYmVyfSB0aW1lb3V0IFsyNDAwMDBdIC0gU2ltdWxhdG9yIGJvb3RpbmcgdGltZW91dCBpbiBtcy5cbiAqIEBwcm9wZXJ0eSB7P0Z1bmN0aW9ufSBvbldhaXRpbmdEYXRhTWlncmF0aW9uIC0gVGhpcyBldmVudCBpcyBmaXJlZCB3aGVuIGRhdGEgbWlncmF0aW9uIHN0YWdlIHN0YXJ0cy5cbiAqIEBwcm9wZXJ0eSB7P0Z1bmN0aW9ufSBvbldhaXRpbmdTeXN0ZW1BcHAgLSBUaGlzIGV2ZW50IGlzIGZpcmVkIHdoZW4gc3lzdGVtIGFwcCB3YWl0IHN0YWdlIHN0YXJ0cy5cbiAqIEBwcm9wZXJ0eSB7P0Z1bmN0aW9ufSBvbkZpbmlzaGVkIC0gVGhpcyBldmVudCBpcyBmaXJlZCB3aGVuIFNpbXVsYXRvciBpcyBmdWxseSBib290ZWQuXG4gKiBAcHJvcGVydHkgez9GdW5jdGlvbn0gb25FcnJvciAtIFRoaXMgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgbW9uaXRvcmluZyB0aGUgYm9vdGluZyBwcm9jZXNzXG4gKiBvciB3aGVuIHRoZSB0aW1lb3V0IGhhcyBleHBpcmVkLlxuICogQHByb3BlcnR5IHs/Ym9vbGVhbn0gc2hvdWxkUHJlYm9vdCBbZmFsc2VdIFdoZXRoZXIgdG8gcHJlYm9vdCB0aGUgU2ltdWxhdG9yXG4gKiBpZiB0aGlzIGNvbW1hbmQgaXMgY2FsbGVkIGFuZCBpdCBpcyBub3QgYWxyZWFkeSBpbiBib290ZWQgb3IgYm9vdGluZyBzdGF0ZS5cbiAqL1xuXG4vKipcbiAqIFN0YXJ0IG1vbml0b3JpbmcgZm9yIGJvb3Qgc3RhdHVzIG9mIHRoZSBwYXJ0aWN1bGFyIFNpbXVsYXRvci5cbiAqIElmIG9uRmluaXNoZWQgcHJvcGVydHkgaXMgbm90IHNldCB0aGVuIHRoZSBtZXRob2Qgd2lsbCBibG9ja1xuICogdW50aWwgU2ltdWxhdG9yIGJvb3RpbmcgaXMgY29tcGxldGVkLlxuICogVGhlIG1ldGhvZCBpcyBvbmx5IGF2YWlsYWJsZSBzaW5jZSBYY29kZTguXG4gKlxuICogQHBhcmFtIHs/Qm9vdE1vbml0b3JPcHRpb25zfSBvcHRzIC0gTW9uaXRvcmluZyBvcHRpb25zLlxuICogQHJldHVybnMge1N1YlByb2Nlc3N9IFRoZSBpbnN0YW5jZSBvZiB0aGUgY29ycmVzcG9uZGluZyBtb25pdG9yaW5nIHByb2Nlc3MuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIFNpbXVsYXRvciBmYWlscyB0byBmaW5pc2ggYm9vdGluZyB3aXRoaW4gdGhlIGdpdmVuIHRpbWVvdXQgYW5kIG9uRmluaXNoZWRcbiAqIHByb3BlcnR5IGlzIG5vdCBzZXQuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGB1ZGlkYCBpbnN0YW5jZSBwcm9wZXJ0eSBpcyB1bnNldFxuICovXG5jb21tYW5kcy5zdGFydEJvb3RNb25pdG9yID0gYXN5bmMgZnVuY3Rpb24gc3RhcnRCb290TW9uaXRvciAob3B0cyA9IHt9KSB7XG4gIGNvbnN0IHtcbiAgICB0aW1lb3V0ID0gMjQwMDAwLFxuICAgIG9uV2FpdGluZ0RhdGFNaWdyYXRpb24sXG4gICAgb25XYWl0aW5nU3lzdGVtQXBwLFxuICAgIG9uRmluaXNoZWQsXG4gICAgb25FcnJvcixcbiAgICBzaG91bGRQcmVib290LFxuICB9ID0gb3B0cztcbiAgY29uc3QgdWRpZCA9IHRoaXMucmVxdWlyZVVkaWQoJ2Jvb3RzdGF0dXMnKTtcblxuICBsZXQgc3RhdHVzID0gJyc7XG4gIGxldCBpc0Jvb3RpbmdGaW5pc2hlZCA9IGZhbHNlO1xuICBsZXQgZXJyb3IgPSBudWxsO1xuICBsZXQgdGltZW91dEhhbmRsZXIgPSBudWxsO1xuICBjb25zdCBhcmdzID0gW3VkaWRdO1xuICBpZiAoc2hvdWxkUHJlYm9vdCkge1xuICAgIGFyZ3MucHVzaCgnLWInKTtcbiAgfVxuICBjb25zdCBib290TW9uaXRvciA9IGF3YWl0IHRoaXMuZXhlYygnYm9vdHN0YXR1cycsIHtcbiAgICBhcmdzLFxuICAgIGFzeW5jaHJvbm91czogdHJ1ZSxcbiAgfSk7XG4gIGJvb3RNb25pdG9yLm9uKCdvdXRwdXQnLCAoc3Rkb3V0LCBzdGRlcnIpID0+IHtcbiAgICBzdGF0dXMgKz0gc3Rkb3V0IHx8IHN0ZGVycjtcbiAgICBpZiAoc3Rkb3V0KSB7XG4gICAgICBpZiAoc3Rkb3V0LmluY2x1ZGVzKCdXYWl0aW5nIG9uIERhdGEgTWlncmF0aW9uJykgJiYgb25XYWl0aW5nRGF0YU1pZ3JhdGlvbikge1xuICAgICAgICBvbldhaXRpbmdEYXRhTWlncmF0aW9uKCk7XG4gICAgICB9IGVsc2UgaWYgKHN0ZG91dC5pbmNsdWRlcygnV2FpdGluZyBvbiBTeXN0ZW0gQXBwJykgJiYgb25XYWl0aW5nU3lzdGVtQXBwKSB7XG4gICAgICAgIG9uV2FpdGluZ1N5c3RlbUFwcCgpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG4gIGJvb3RNb25pdG9yLm9uKCdleGl0JywgKGNvZGUsIHNpZ25hbCkgPT4ge1xuICAgIGlmICh0aW1lb3V0SGFuZGxlcikge1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRIYW5kbGVyKTtcbiAgICB9XG4gICAgaWYgKGNvZGUgPT09IDApIHtcbiAgICAgIGlmIChvbkZpbmlzaGVkKSB7XG4gICAgICAgIG9uRmluaXNoZWQoKTtcbiAgICAgIH1cbiAgICAgIGlzQm9vdGluZ0ZpbmlzaGVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhdHVzID0gc3RhdHVzIHx8IHNpZ25hbDtcbiAgICAgIGVycm9yID0gbmV3IEVycm9yKHN0YXR1cyk7XG4gICAgICBpZiAob25FcnJvcikge1xuICAgICAgICBvbkVycm9yKGVycm9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuICBhd2FpdCBib290TW9uaXRvci5zdGFydCgwKTtcbiAgY29uc3Qgc3RvcE1vbml0b3IgPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKGJvb3RNb25pdG9yLmlzUnVubmluZykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgYm9vdE1vbml0b3Iuc3RvcCgpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBsb2cud2FybihlLm1lc3NhZ2UpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbiAgY29uc3Qgc3RhcnQgPSBwcm9jZXNzLmhydGltZSgpO1xuICBpZiAob25GaW5pc2hlZCkge1xuICAgIHRpbWVvdXRIYW5kbGVyID0gc2V0VGltZW91dChzdG9wTW9uaXRvciwgdGltZW91dCk7XG4gIH0gZWxzZSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHdhaXRGb3JDb25kaXRpb24oKCkgPT4ge1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNCb290aW5nRmluaXNoZWQ7XG4gICAgICB9LCB7d2FpdE1zOiB0aW1lb3V0LCBpbnRlcnZhbE1zOiA1MDB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGF3YWl0IHN0b3BNb25pdG9yKCk7XG4gICAgICBjb25zdCBbc2Vjb25kc10gPSBwcm9jZXNzLmhydGltZShzdGFydCk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBUaGUgc2ltdWxhdG9yICR7dWRpZH0gaGFzIGZhaWxlZCB0byBmaW5pc2ggYm9vdGluZyBhZnRlciAke3NlY29uZHN9cy4gYCArXG4gICAgICAgIGBPcmlnaW5hbCBzdGF0dXM6ICR7c3RhdHVzfWApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gYm9vdE1vbml0b3I7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNBO0FBR0EsTUFBTUEsUUFBUSxHQUFHLENBQUMsQ0FBQzs7QUEwQm5CQSxRQUFRLENBQUNDLGdCQUFnQixHQUFHLGVBQWVBLGdCQUFnQixDQUFFQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUU7RUFDdEUsTUFBTTtJQUNKQyxPQUFPLEdBQUcsTUFBTTtJQUNoQkMsc0JBQXNCO0lBQ3RCQyxrQkFBa0I7SUFDbEJDLFVBQVU7SUFDVkMsT0FBTztJQUNQQztFQUNGLENBQUMsR0FBR04sSUFBSTtFQUNSLE1BQU1PLElBQUksR0FBRyxJQUFJLENBQUNDLFdBQVcsQ0FBQyxZQUFZLENBQUM7RUFFM0MsSUFBSUMsTUFBTSxHQUFHLEVBQUU7RUFDZixJQUFJQyxpQkFBaUIsR0FBRyxLQUFLO0VBQzdCLElBQUlD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
95
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsInN0YXJ0Qm9vdE1vbml0b3IiLCJvcHRzIiwidGltZW91dCIsIm9uV2FpdGluZ0RhdGFNaWdyYXRpb24iLCJvbldhaXRpbmdTeXN0ZW1BcHAiLCJvbkZpbmlzaGVkIiwib25FcnJvciIsInNob3VsZFByZWJvb3QiLCJ1ZGlkIiwicmVxdWlyZVVkaWQiLCJzdGF0dXMiLCJpc0Jvb3RpbmdGaW5pc2hlZCIsImVycm9yIiwidGltZW91dEhhbmRsZXIiLCJhcmdzIiwicHVzaCIsImJvb3RNb25pdG9yIiwiZXhlYyIsImFzeW5jaHJvbm91cyIsIm9uIiwic3Rkb3V0Iiwic3RkZXJyIiwiaW5jbHVkZXMiLCJjb2RlIiwic2lnbmFsIiwiY2xlYXJUaW1lb3V0IiwiRXJyb3IiLCJzdGFydCIsInN0b3BNb25pdG9yIiwiaXNSdW5uaW5nIiwic3RvcCIsImUiLCJsb2ciLCJ3YXJuIiwibWVzc2FnZSIsInByb2Nlc3MiLCJocnRpbWUiLCJzZXRUaW1lb3V0Iiwid2FpdEZvckNvbmRpdGlvbiIsIndhaXRNcyIsImludGVydmFsTXMiLCJlcnIiLCJzZWNvbmRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N1YmNvbW1hbmRzL2Jvb3RzdGF0dXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGxvZyBmcm9tICcuLi9sb2dnZXInO1xuaW1wb3J0IHsgd2FpdEZvckNvbmRpdGlvbiB9IGZyb20gJ2FzeW5jYm94JztcblxuXG5jb25zdCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEJvb3RNb25pdG9yT3B0aW9uc1xuICogQHByb3BlcnR5IHs/bnVtYmVyfSB0aW1lb3V0IFsyNDAwMDBdIC0gU2ltdWxhdG9yIGJvb3RpbmcgdGltZW91dCBpbiBtcy5cbiAqIEBwcm9wZXJ0eSB7P0Z1bmN0aW9ufSBvbldhaXRpbmdEYXRhTWlncmF0aW9uIC0gVGhpcyBldmVudCBpcyBmaXJlZCB3aGVuIGRhdGEgbWlncmF0aW9uIHN0YWdlIHN0YXJ0cy5cbiAqIEBwcm9wZXJ0eSB7P0Z1bmN0aW9ufSBvbldhaXRpbmdTeXN0ZW1BcHAgLSBUaGlzIGV2ZW50IGlzIGZpcmVkIHdoZW4gc3lzdGVtIGFwcCB3YWl0IHN0YWdlIHN0YXJ0cy5cbiAqIEBwcm9wZXJ0eSB7P0Z1bmN0aW9ufSBvbkZpbmlzaGVkIC0gVGhpcyBldmVudCBpcyBmaXJlZCB3aGVuIFNpbXVsYXRvciBpcyBmdWxseSBib290ZWQuXG4gKiBAcHJvcGVydHkgez9GdW5jdGlvbn0gb25FcnJvciAtIFRoaXMgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgbW9uaXRvcmluZyB0aGUgYm9vdGluZyBwcm9jZXNzXG4gKiBvciB3aGVuIHRoZSB0aW1lb3V0IGhhcyBleHBpcmVkLlxuICogQHByb3BlcnR5IHs/Ym9vbGVhbn0gc2hvdWxkUHJlYm9vdCBbZmFsc2VdIFdoZXRoZXIgdG8gcHJlYm9vdCB0aGUgU2ltdWxhdG9yXG4gKiBpZiB0aGlzIGNvbW1hbmQgaXMgY2FsbGVkIGFuZCBpdCBpcyBub3QgYWxyZWFkeSBpbiBib290ZWQgb3IgYm9vdGluZyBzdGF0ZS5cbiAqL1xuXG4vKipcbiAqIFN0YXJ0IG1vbml0b3JpbmcgZm9yIGJvb3Qgc3RhdHVzIG9mIHRoZSBwYXJ0aWN1bGFyIFNpbXVsYXRvci5cbiAqIElmIG9uRmluaXNoZWQgcHJvcGVydHkgaXMgbm90IHNldCB0aGVuIHRoZSBtZXRob2Qgd2lsbCBibG9ja1xuICogdW50aWwgU2ltdWxhdG9yIGJvb3RpbmcgaXMgY29tcGxldGVkLlxuICogVGhlIG1ldGhvZCBpcyBvbmx5IGF2YWlsYWJsZSBzaW5jZSBYY29kZTguXG4gKlxuICogQHBhcmFtIHs/Qm9vdE1vbml0b3JPcHRpb25zfSBvcHRzIC0gTW9uaXRvcmluZyBvcHRpb25zLlxuICogQHJldHVybnMge1N1YlByb2Nlc3N9IFRoZSBpbnN0YW5jZSBvZiB0aGUgY29ycmVzcG9uZGluZyBtb25pdG9yaW5nIHByb2Nlc3MuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIFNpbXVsYXRvciBmYWlscyB0byBmaW5pc2ggYm9vdGluZyB3aXRoaW4gdGhlIGdpdmVuIHRpbWVvdXQgYW5kIG9uRmluaXNoZWRcbiAqIHByb3BlcnR5IGlzIG5vdCBzZXQuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGB1ZGlkYCBpbnN0YW5jZSBwcm9wZXJ0eSBpcyB1bnNldFxuICovXG5jb21tYW5kcy5zdGFydEJvb3RNb25pdG9yID0gYXN5bmMgZnVuY3Rpb24gc3RhcnRCb290TW9uaXRvciAob3B0cyA9IHt9KSB7XG4gIGNvbnN0IHtcbiAgICB0aW1lb3V0ID0gMjQwMDAwLFxuICAgIG9uV2FpdGluZ0RhdGFNaWdyYXRpb24sXG4gICAgb25XYWl0aW5nU3lzdGVtQXBwLFxuICAgIG9uRmluaXNoZWQsXG4gICAgb25FcnJvcixcbiAgICBzaG91bGRQcmVib290LFxuICB9ID0gb3B0cztcbiAgY29uc3QgdWRpZCA9IHRoaXMucmVxdWlyZVVkaWQoJ2Jvb3RzdGF0dXMnKTtcblxuICBsZXQgc3RhdHVzID0gJyc7XG4gIGxldCBpc0Jvb3RpbmdGaW5pc2hlZCA9IGZhbHNlO1xuICBsZXQgZXJyb3IgPSBudWxsO1xuICBsZXQgdGltZW91dEhhbmRsZXIgPSBudWxsO1xuICBjb25zdCBhcmdzID0gW3VkaWRdO1xuICBpZiAoc2hvdWxkUHJlYm9vdCkge1xuICAgIGFyZ3MucHVzaCgnLWInKTtcbiAgfVxuICBjb25zdCBib290TW9uaXRvciA9IGF3YWl0IHRoaXMuZXhlYygnYm9vdHN0YXR1cycsIHtcbiAgICBhcmdzLFxuICAgIGFzeW5jaHJvbm91czogdHJ1ZSxcbiAgfSk7XG4gIGJvb3RNb25pdG9yLm9uKCdvdXRwdXQnLCAoc3Rkb3V0LCBzdGRlcnIpID0+IHtcbiAgICBzdGF0dXMgKz0gc3Rkb3V0IHx8IHN0ZGVycjtcbiAgICBpZiAoc3Rkb3V0KSB7XG4gICAgICBpZiAoc3Rkb3V0LmluY2x1ZGVzKCdXYWl0aW5nIG9uIERhdGEgTWlncmF0aW9uJykgJiYgb25XYWl0aW5nRGF0YU1pZ3JhdGlvbikge1xuICAgICAgICBvbldhaXRpbmdEYXRhTWlncmF0aW9uKCk7XG4gICAgICB9IGVsc2UgaWYgKHN0ZG91dC5pbmNsdWRlcygnV2FpdGluZyBvbiBTeXN0ZW0gQXBwJykgJiYgb25XYWl0aW5nU3lzdGVtQXBwKSB7XG4gICAgICAgIG9uV2FpdGluZ1N5c3RlbUFwcCgpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG4gIGJvb3RNb25pdG9yLm9uKCdleGl0JywgKGNvZGUsIHNpZ25hbCkgPT4ge1xuICAgIGlmICh0aW1lb3V0SGFuZGxlcikge1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRIYW5kbGVyKTtcbiAgICB9XG4gICAgaWYgKGNvZGUgPT09IDApIHtcbiAgICAgIGlmIChvbkZpbmlzaGVkKSB7XG4gICAgICAgIG9uRmluaXNoZWQoKTtcbiAgICAgIH1cbiAgICAgIGlzQm9vdGluZ0ZpbmlzaGVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhdHVzID0gc3RhdHVzIHx8IHNpZ25hbDtcbiAgICAgIGVycm9yID0gbmV3IEVycm9yKHN0YXR1cyk7XG4gICAgICBpZiAob25FcnJvcikge1xuICAgICAgICBvbkVycm9yKGVycm9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuICBhd2FpdCBib290TW9uaXRvci5zdGFydCgwKTtcbiAgY29uc3Qgc3RvcE1vbml0b3IgPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKGJvb3RNb25pdG9yLmlzUnVubmluZykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgYm9vdE1vbml0b3Iuc3RvcCgpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBsb2cud2FybihlLm1lc3NhZ2UpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbiAgY29uc3Qgc3RhcnQgPSBwcm9jZXNzLmhydGltZSgpO1xuICBpZiAob25GaW5pc2hlZCkge1xuICAgIHRpbWVvdXRIYW5kbGVyID0gc2V0VGltZW91dChzdG9wTW9uaXRvciwgdGltZW91dCk7XG4gIH0gZWxzZSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHdhaXRGb3JDb25kaXRpb24oKCkgPT4ge1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNCb290aW5nRmluaXNoZWQ7XG4gICAgICB9LCB7d2FpdE1zOiB0aW1lb3V0LCBpbnRlcnZhbE1zOiA1MDB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGF3YWl0IHN0b3BNb25pdG9yKCk7XG4gICAgICBjb25zdCBbc2Vjb25kc10gPSBwcm9jZXNzLmhydGltZShzdGFydCk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBUaGUgc2ltdWxhdG9yICR7dWRpZH0gaGFzIGZhaWxlZCB0byBmaW5pc2ggYm9vdGluZyBhZnRlciAke3NlY29uZHN9cy4gYCArXG4gICAgICAgIGBPcmlnaW5hbCBzdGF0dXM6ICR7c3RhdHVzfWApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gYm9vdE1vbml0b3I7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNBO0FBR0EsTUFBTUEsUUFBUSxHQUFHLENBQUMsQ0FBQztBQTBCbkJBLFFBQVEsQ0FBQ0MsZ0JBQWdCLEdBQUcsZUFBZUEsZ0JBQWdCLENBQUVDLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRTtFQUN0RSxNQUFNO0lBQ0pDLE9BQU8sR0FBRyxNQUFNO0lBQ2hCQyxzQkFBc0I7SUFDdEJDLGtCQUFrQjtJQUNsQkMsVUFBVTtJQUNWQyxPQUFPO0lBQ1BDO0VBQ0YsQ0FBQyxHQUFHTixJQUFJO0VBQ1IsTUFBTU8sSUFBSSxHQUFHLElBQUksQ0FBQ0MsV0FBVyxDQUFDLFlBQVksQ0FBQztFQUUzQyxJQUFJQyxNQUFNLEdBQUcsRUFBRTtFQUNmLElBQUlDLGlCQUFpQixHQUFHLEtBQUs7RUFDN0IsSUFBSUMs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
@@ -1 +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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"}
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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"}
@@ -15,14 +15,12 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
15
15
  const SIM_RUNTIME_NAME_SUFFIX_IOS = 'iOS';
16
16
  const DEFAULT_CREATE_SIMULATOR_TIMEOUT = 10000;
17
17
  const commands = {};
18
-
19
18
  commands.createDevice = async function createDevice(name, deviceTypeId, platformVersion, opts = {}) {
20
19
  const {
21
20
  platform = SIM_RUNTIME_NAME_SUFFIX_IOS,
22
21
  timeout = DEFAULT_CREATE_SIMULATOR_TIMEOUT
23
22
  } = opts;
24
23
  let runtimeIds = [];
25
-
26
24
  try {
27
25
  runtimeIds.push(await this.getRuntimeForPlatformVersionViaJson(platformVersion, platform));
28
26
  } catch (ign) {}
@@ -34,15 +32,12 @@ commands.createDevice = async function createDevice(name, deviceTypeId, platform
34
32
  _logger.default.warn(`Unable to find runtime for iOS '${platformVersion}'. Continuing`);
35
33
  runtimeId = platformVersion;
36
34
  }
37
-
38
35
  let potentialRuntimeIds = [(0, _helpers.normalizeVersion)(runtimeId)];
39
36
  if (runtimeId.split('.').length === 3) {
40
37
  potentialRuntimeIds.push(runtimeId);
41
38
  }
42
-
43
39
  runtimeIds.push(...potentialRuntimeIds.map(id => `${_helpers.SIM_RUNTIME_NAME}${platform}-${id.replace(/\./g, '-')}`), ...potentialRuntimeIds);
44
40
  }
45
-
46
41
  let udid;
47
42
  for (const runtimeId of runtimeIds) {
48
43
  _logger.default.debug(_logger.LOG_PREFIX, `Creating simulator with name '${name}', device type id '${deviceTypeId}' and runtime id '${runtimeId}'`);
@@ -54,13 +49,11 @@ commands.createDevice = async function createDevice(name, deviceTypeId, platform
54
49
  });
55
50
  udid = stdout.trim();
56
51
  break;
57
- } catch (ign) {
58
- }
52
+ } catch (ign) {}
59
53
  }
60
54
  if (!udid) {
61
55
  throw new Error(`Could not create simulator with name '${name}', device ` + `type id '${deviceTypeId}', with runtime ids ` + `${runtimeIds.map(id => `'${id}'`).join(', ')}`);
62
56
  }
63
-
64
57
  const retries = parseInt(timeout / 1000, 10);
65
58
  await (0, _asyncbox.retryInterval)(retries, 1000, async () => {
66
59
  const devices = _lodash.default.values(await this.getDevices());
@@ -81,4 +74,4 @@ commands.createDevice = async function createDevice(name, deviceTypeId, platform
81
74
  };
82
75
  var _default = commands;
83
76
  exports.default = _default;
84
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTSU1fUlVOVElNRV9OQU1FX1NVRkZJWF9JT1MiLCJERUZBVUxUX0NSRUFURV9TSU1VTEFUT1JfVElNRU9VVCIsImNvbW1hbmRzIiwiY3JlYXRlRGV2aWNlIiwibmFtZSIsImRldmljZVR5cGVJZCIsInBsYXRmb3JtVmVyc2lvbiIsIm9wdHMiLCJwbGF0Zm9ybSIsInRpbWVvdXQiLCJydW50aW1lSWRzIiwicHVzaCIsImdldFJ1bnRpbWVGb3JQbGF0Zm9ybVZlcnNpb25WaWFKc29uIiwiaWduIiwiXyIsImlzRW1wdHkiLCJydW50aW1lSWQiLCJnZXRSdW50aW1lRm9yUGxhdGZvcm1WZXJzaW9uIiwiZXJyIiwibG9nIiwid2FybiIsInBvdGVudGlhbFJ1bnRpbWVJZHMiLCJub3JtYWxpemVWZXJzaW9uIiwic3BsaXQiLCJsZW5ndGgiLCJtYXAiLCJpZCIsIlNJTV9SVU5USU1FX05BTUUiLCJyZXBsYWNlIiwidWRpZCIsImRlYnVnIiwiTE9HX1BSRUZJWCIsInN0ZG91dCIsImV4ZWMiLCJhcmdzIiwidHJpbSIsIkVycm9yIiwiam9pbiIsInJldHJpZXMiLCJwYXJzZUludCIsInJldHJ5SW50ZXJ2YWwiLCJkZXZpY2VzIiwidmFsdWVzIiwiZ2V0RGV2aWNlcyIsImRldmljZUFyciIsImRldmljZSIsInN0YXRlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N1YmNvbW1hbmRzL2NyZWF0ZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IGxvZywgeyBMT0dfUFJFRklYIH0gZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCB7IHJldHJ5SW50ZXJ2YWwgfSBmcm9tICdhc3luY2JveCc7XG5pbXBvcnQgeyBTSU1fUlVOVElNRV9OQU1FLCBub3JtYWxpemVWZXJzaW9uIH0gZnJvbSAnLi4vaGVscGVycyc7XG5cblxuY29uc3QgU0lNX1JVTlRJTUVfTkFNRV9TVUZGSVhfSU9TID0gJ2lPUyc7XG5jb25zdCBERUZBVUxUX0NSRUFURV9TSU1VTEFUT1JfVElNRU9VVCA9IDEwMDAwO1xuXG5jb25zdCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFNpbUNyZWF0aW9uT3B0c1xuICogQHByb3BlcnR5IHtzdHJpbmd9IHBsYXRmb3JtIFtpT1NdIC0gUGxhdGZvcm0gbmFtZSBpbiBvcmRlciB0byBzcGVjaWZ5IHJ1bnRpbWUgc3VjaCBhcyAnaU9TJywgJ3R2T1MnLCAnd2F0Y2hPUydcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSB0aW1lb3V0IFsxMDAwMF0gLSBUaGUgbWF4aW11bSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIHdhaXRcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bml0IGRldmljZSBjcmVhdGlvbiBpcyBjb21wbGV0ZWQuXG4gKi9cblxuLyoqXG4gKiBDcmVhdGUgU2ltdWxhdG9yIGRldmljZSB3aXRoIGdpdmVuIG5hbWUgZm9yIHRoZSBwYXJ0aWN1bGFyXG4gKiBwbGF0Zm9ybSB0eXBlIGFuZCB2ZXJzaW9uLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gVGhlIGRldmljZSBuYW1lIHRvIGJlIGNyZWF0ZWQuXG4gKiBAcGFyYW0ge3N0cmluZ30gZGV2aWNlVHlwZUlkIC0gRGV2aWNlIHR5cGUsIGZvciBleGFtcGxlICdpUGhvbmUgNicuXG4gKiBAcGFyYW0ge3N0cmluZ30gcGxhdGZvcm1WZXJzaW9uIC0gUGxhdGZvcm0gdmVyc2lvbiwgZm9yIGV4YW1wbGUgJzEwLjMnLlxuICogQHBhcmFtIHs/U2ltQ3JlYXRpb25PcHRzfSBvcHRzIC0gU2ltdWxhdG9yIG9wdGlvbnMgZm9yIGNyZWF0aW5nIGRldmljZXMuXG4gKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBVRElEIG9mIHRoZSBuZXdseSBjcmVhdGVkIGRldmljZS5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kXG4gKiAgICAgICAgICAgICAgICAgcmV0dXJucyBub24temVybyByZXR1cm4gY29kZS5cbiAqL1xuY29tbWFuZHMuY3JlYXRlRGV2aWNlID0gYXN5bmMgZnVuY3Rpb24gY3JlYXRlRGV2aWNlIChuYW1lLCBkZXZpY2VUeXBlSWQsIHBsYXRmb3JtVmVyc2lvbiwgb3B0cyA9IHt9KSB7XG4gIGNvbnN0IHtcbiAgICBwbGF0Zm9ybSA9IFNJTV9SVU5USU1FX05BTUVfU1VGRklYX0lPUyxcbiAgICB0aW1lb3V0ID0gREVGQVVMVF9DUkVBVEVfU0lNVUxBVE9SX1RJTUVPVVRcbiAgfSA9IG9wdHM7XG5cbiAgbGV0IHJ1bnRpbWVJZHMgPSBbXTtcblxuICAvLyBUcnkgZ2V0dGluZyBydW50aW1lSWQgdXNpbmcgSlNPTiBmbGFnXG4gIHRyeSB7XG4gICAgcnVudGltZUlkcy5wdXNoKGF3YWl0IHRoaXMuZ2V0UnVudGltZUZvclBsYXRmb3JtVmVyc2lvblZpYUpzb24ocGxhdGZvcm1WZXJzaW9uLCBwbGF0Zm9ybSkpO1xuICB9IGNhdGNoIChpZ24pIHt9XG5cbiAgaWYgKF8uaXNFbXB0eShydW50aW1lSWRzKSkge1xuICAgIC8vIGF0IGZpcnN0IG1ha2Ugc3VyZSB0aGF0IHRoZSBydW50aW1lIGlkIGlzIHRoZSByaWdodCBvbmVcbiAgICAvLyBpbiBzb21lIHZlcnNpb25zIG9mIFhjb2RlIGl0IHdpbGwgYmUgYSBwYXRjaCB2ZXJzaW9uXG4gICAgbGV0IHJ1bnRpbWVJZDtcbiAgICB0cnkge1xuICAgICAgcnVudGltZUlkID0gYXdhaXQgdGhpcy5nZXRSdW50aW1lRm9yUGxhdGZvcm1WZXJzaW9uKHBsYXRmb3JtVmVyc2lvbiwgcGxhdGZvcm0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgbG9nLndhcm4oYFVuYWJsZSB0byBmaW5kIHJ1bnRpbWUgZm9yIGlPUyAnJHtwbGF0Zm9ybVZlcnNpb259Jy4gQ29udGludWluZ2ApO1xuICAgICAgcnVudGltZUlkID0gcGxhdGZvcm1WZXJzaW9uO1xuICAgIH1cblxuICAgIC8vIGdldCB0aGUgcG9zc2libGUgcnVudGltZXMsIHdoaWNoIHdpbGwgYmUgaXRlcmF0ZWQgb3ZlclxuXG4gICAgLy8gc3RhcnQgd2l0aCBtYWpvci1taW5vciB2ZXJzaW9uXG4gICAgbGV0IHBvdGVudGlhbFJ1bnRpbWVJZHMgPSBbbm9ybWFsaXplVmVyc2lvbihydW50aW1lSWQpXTtcbiAgICBpZiAocnVudGltZUlkLnNwbGl0KCcuJykubGVuZ3RoID09PSAzKSB7XG4gICAgICAvLyBhZGQgcGF0Y2ggdmVyc2lvbiBpZiBpdCBleGlzdHNcbiAgICAgIHBvdGVudGlhbFJ1bnRpbWVJZHMucHVzaChydW50aW1lSWQpO1xuICAgIH1cblxuICAgIC8vIGFkZCBtb2RpZmllZCB2ZXJzaW9ucywgc2luY2UgbW9kZXJuIFhjb2RlcyB1c2UgdGhpcywgdGhlbiB0aGUgYmFyZVxuICAgIC8vIHZlcnNpb25zLCB0byBhY2NvbW9kYXRlIG9sZGVyIFhjb2Rlc1xuICAgIHJ1bnRpbWVJZHMucHVzaChcbiAgICAgIC4uLihwb3RlbnRpYWxSdW50aW1lSWRzLm1hcCgoaWQpID0+IGAke1NJTV9SVU5USU1FX05BTUV9JHtwbGF0Zm9ybX0tJHtpZC5yZXBsYWNlKC9cXC4vZywgJy0nKX1gKSksXG4gICAgICAuLi5wb3RlbnRpYWxSdW50aW1lSWRzXG4gICAgKTtcbiAgfVxuXG4gIC8vIGdvIHRocm91Z2ggdGhlIHJ1bnRpbWUgaWRzIGFuZCB0cnkgdG8gY3JlYXRlIGEgc2ltdWxhdG9yIHdpdGggZWFjaFxuICBsZXQgdWRpZDtcbiAgZm9yIChjb25zdCBydW50aW1lSWQgb2YgcnVudGltZUlkcykge1xuICAgIGxvZy5kZWJ1ZyhMT0dfUFJFRklYLFxuICAgICAgYENyZWF0aW5nIHNpbXVsYXRvciB3aXRoIG5hbWUgJyR7bmFtZX0nLCBkZXZpY2UgdHlwZSBpZCAnJHtkZXZpY2VUeXBlSWR9JyBhbmQgcnVudGltZSBpZCAnJHtydW50aW1lSWR9J2ApO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IHRoaXMuZXhlYygnY3JlYXRlJywge1xuICAgICAgICBhcmdzOiBbbmFtZSwgZGV2aWNlVHlwZUlkLCBydW50aW1lSWRdXG4gICAgICB9KTtcbiAgICAgIHVkaWQgPSBzdGRvdXQudHJpbSgpO1xuICAgICAgYnJlYWs7XG4gICAgfSBjYXRjaCAoaWduKSB7XG4gICAgICAvLyB0aGUgZXJyb3IgZ2V0cyBsb2dnZWQgaW4gYHNpbUV4ZWNgXG4gICAgfVxuICB9XG5cbiAgaWYgKCF1ZGlkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgY3JlYXRlIHNpbXVsYXRvciB3aXRoIG5hbWUgJyR7bmFtZX0nLCBkZXZpY2UgYCArXG4gICAgICBgdHlwZSBpZCAnJHtkZXZpY2VUeXBlSWR9Jywgd2l0aCBydW50aW1lIGlkcyBgICtcbiAgICAgIGAke3J1bnRpbWVJZHMubWFwKChpZCkgPT4gYCcke2lkfSdgKS5qb2luKCcsICcpfWApO1xuICB9XG5cbiAgLy8gbWFrZSBzdXJlIHRoYXQgaXQgZ2V0cyBvdXQgb2YgdGhlIFwiQ3JlYXRpbmdcIiBzdGF0ZVxuICBjb25zdCByZXRyaWVzID0gcGFyc2VJbnQodGltZW91dCAvIDEwMDAsIDEwKTtcbiAgYXdhaXQgcmV0cnlJbnRlcnZhbChyZXRyaWVzLCAxMDAwLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZGV2aWNlcyA9IF8udmFsdWVzKGF3YWl0IHRoaXMuZ2V0RGV2aWNlcygpKTtcbiAgICBmb3IgKGNvbnN0IGRldmljZUFyciBvZiBfLnZhbHVlcyhkZXZpY2VzKSkge1xuICAgICAgZm9yIChjb25zdCBkZXZpY2Ugb2YgZGV2aWNlQXJyKSB7XG4gICAgICAgIGlmIChkZXZpY2UudWRpZCA9PT0gdWRpZCkge1xuICAgICAgICAgIGlmIChkZXZpY2Uuc3RhdGUgPT09ICdDcmVhdGluZycpIHtcbiAgICAgICAgICAgIC8vIG5lZWQgdG8gcmV0cnlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRGV2aWNlIHdpdGggdWRpZCAnJHt1ZGlkfScgc3RpbGwgYmVpbmcgY3JlYXRlZGApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBzdG9wIGxvb2tpbmcsIHdlJ3JlIGRvbmVcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGBEZXZpY2Ugd2l0aCB1ZGlkICcke3VkaWR9JyBub3QgeWV0IGNyZWF0ZWRgKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHVkaWQ7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFnRTtBQUFBO0FBR2hFLE1BQU1BLDJCQUEyQixHQUFHLEtBQUs7QUFDekMsTUFBTUMsZ0NBQWdDLEdBQUcsS0FBSztBQUU5QyxNQUFNQyxRQUFRLEdBQUcsQ0FBQyxDQUFDOztBQXFCbkJBLFFBQVEsQ0FBQ0MsWUFBWSxHQUFHLGVBQWVBLFlBQVksQ0FBRUMsSUFBSSxFQUFFQyxZQUFZLEVBQUVDLGVBQWUsRUFBRUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFO0VBQ25HLE1BQU07SUFDSkMsUUFBUSxHQUFHUiwyQkFBMkI7SUFDdENTLE9BQU8sR0FBR1I7RUFDWixDQUFDLEdBQUdNLElBQUk7RUFFUixJQUFJRyxVQUFVLEdBQUcsRUFBRTs7RUFHbkIsSUFBSTtJQUNGQSxVQUFVLENBQUNDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQ0MsbUNBQW1DLENBQUNOLGVBQWUsRUFBRUUsUUFBUSxDQUFDLENBQUM7RUFDNUYsQ0FBQyxDQUFDLE9BQU9LLEdBQUcsRUFBRSxDQUFDO0VBRWYsSUFBSUMsZUFBQyxDQUFDQyxPQUFPLENBQUNMLFVBQVUsQ0FBQyxFQUFFO0lBR3pCLElBQUlNLFNBQVM7SUFDYixJQUFJO01BQ0ZBLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQ0MsNEJBQTRCLENBQUNYLGVBQWUsRUFBRUUsUUFBUSxDQUFDO0lB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
77
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTSU1fUlVOVElNRV9OQU1FX1NVRkZJWF9JT1MiLCJERUZBVUxUX0NSRUFURV9TSU1VTEFUT1JfVElNRU9VVCIsImNvbW1hbmRzIiwiY3JlYXRlRGV2aWNlIiwibmFtZSIsImRldmljZVR5cGVJZCIsInBsYXRmb3JtVmVyc2lvbiIsIm9wdHMiLCJwbGF0Zm9ybSIsInRpbWVvdXQiLCJydW50aW1lSWRzIiwicHVzaCIsImdldFJ1bnRpbWVGb3JQbGF0Zm9ybVZlcnNpb25WaWFKc29uIiwiaWduIiwiXyIsImlzRW1wdHkiLCJydW50aW1lSWQiLCJnZXRSdW50aW1lRm9yUGxhdGZvcm1WZXJzaW9uIiwiZXJyIiwibG9nIiwid2FybiIsInBvdGVudGlhbFJ1bnRpbWVJZHMiLCJub3JtYWxpemVWZXJzaW9uIiwic3BsaXQiLCJsZW5ndGgiLCJtYXAiLCJpZCIsIlNJTV9SVU5USU1FX05BTUUiLCJyZXBsYWNlIiwidWRpZCIsImRlYnVnIiwiTE9HX1BSRUZJWCIsInN0ZG91dCIsImV4ZWMiLCJhcmdzIiwidHJpbSIsIkVycm9yIiwiam9pbiIsInJldHJpZXMiLCJwYXJzZUludCIsInJldHJ5SW50ZXJ2YWwiLCJkZXZpY2VzIiwidmFsdWVzIiwiZ2V0RGV2aWNlcyIsImRldmljZUFyciIsImRldmljZSIsInN0YXRlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N1YmNvbW1hbmRzL2NyZWF0ZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IGxvZywgeyBMT0dfUFJFRklYIH0gZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCB7IHJldHJ5SW50ZXJ2YWwgfSBmcm9tICdhc3luY2JveCc7XG5pbXBvcnQgeyBTSU1fUlVOVElNRV9OQU1FLCBub3JtYWxpemVWZXJzaW9uIH0gZnJvbSAnLi4vaGVscGVycyc7XG5cblxuY29uc3QgU0lNX1JVTlRJTUVfTkFNRV9TVUZGSVhfSU9TID0gJ2lPUyc7XG5jb25zdCBERUZBVUxUX0NSRUFURV9TSU1VTEFUT1JfVElNRU9VVCA9IDEwMDAwO1xuXG5jb25zdCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFNpbUNyZWF0aW9uT3B0c1xuICogQHByb3BlcnR5IHtzdHJpbmd9IHBsYXRmb3JtIFtpT1NdIC0gUGxhdGZvcm0gbmFtZSBpbiBvcmRlciB0byBzcGVjaWZ5IHJ1bnRpbWUgc3VjaCBhcyAnaU9TJywgJ3R2T1MnLCAnd2F0Y2hPUydcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSB0aW1lb3V0IFsxMDAwMF0gLSBUaGUgbWF4aW11bSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIHdhaXRcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bml0IGRldmljZSBjcmVhdGlvbiBpcyBjb21wbGV0ZWQuXG4gKi9cblxuLyoqXG4gKiBDcmVhdGUgU2ltdWxhdG9yIGRldmljZSB3aXRoIGdpdmVuIG5hbWUgZm9yIHRoZSBwYXJ0aWN1bGFyXG4gKiBwbGF0Zm9ybSB0eXBlIGFuZCB2ZXJzaW9uLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gVGhlIGRldmljZSBuYW1lIHRvIGJlIGNyZWF0ZWQuXG4gKiBAcGFyYW0ge3N0cmluZ30gZGV2aWNlVHlwZUlkIC0gRGV2aWNlIHR5cGUsIGZvciBleGFtcGxlICdpUGhvbmUgNicuXG4gKiBAcGFyYW0ge3N0cmluZ30gcGxhdGZvcm1WZXJzaW9uIC0gUGxhdGZvcm0gdmVyc2lvbiwgZm9yIGV4YW1wbGUgJzEwLjMnLlxuICogQHBhcmFtIHs/U2ltQ3JlYXRpb25PcHRzfSBvcHRzIC0gU2ltdWxhdG9yIG9wdGlvbnMgZm9yIGNyZWF0aW5nIGRldmljZXMuXG4gKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBVRElEIG9mIHRoZSBuZXdseSBjcmVhdGVkIGRldmljZS5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kXG4gKiAgICAgICAgICAgICAgICAgcmV0dXJucyBub24temVybyByZXR1cm4gY29kZS5cbiAqL1xuY29tbWFuZHMuY3JlYXRlRGV2aWNlID0gYXN5bmMgZnVuY3Rpb24gY3JlYXRlRGV2aWNlIChuYW1lLCBkZXZpY2VUeXBlSWQsIHBsYXRmb3JtVmVyc2lvbiwgb3B0cyA9IHt9KSB7XG4gIGNvbnN0IHtcbiAgICBwbGF0Zm9ybSA9IFNJTV9SVU5USU1FX05BTUVfU1VGRklYX0lPUyxcbiAgICB0aW1lb3V0ID0gREVGQVVMVF9DUkVBVEVfU0lNVUxBVE9SX1RJTUVPVVRcbiAgfSA9IG9wdHM7XG5cbiAgbGV0IHJ1bnRpbWVJZHMgPSBbXTtcblxuICAvLyBUcnkgZ2V0dGluZyBydW50aW1lSWQgdXNpbmcgSlNPTiBmbGFnXG4gIHRyeSB7XG4gICAgcnVudGltZUlkcy5wdXNoKGF3YWl0IHRoaXMuZ2V0UnVudGltZUZvclBsYXRmb3JtVmVyc2lvblZpYUpzb24ocGxhdGZvcm1WZXJzaW9uLCBwbGF0Zm9ybSkpO1xuICB9IGNhdGNoIChpZ24pIHt9XG5cbiAgaWYgKF8uaXNFbXB0eShydW50aW1lSWRzKSkge1xuICAgIC8vIGF0IGZpcnN0IG1ha2Ugc3VyZSB0aGF0IHRoZSBydW50aW1lIGlkIGlzIHRoZSByaWdodCBvbmVcbiAgICAvLyBpbiBzb21lIHZlcnNpb25zIG9mIFhjb2RlIGl0IHdpbGwgYmUgYSBwYXRjaCB2ZXJzaW9uXG4gICAgbGV0IHJ1bnRpbWVJZDtcbiAgICB0cnkge1xuICAgICAgcnVudGltZUlkID0gYXdhaXQgdGhpcy5nZXRSdW50aW1lRm9yUGxhdGZvcm1WZXJzaW9uKHBsYXRmb3JtVmVyc2lvbiwgcGxhdGZvcm0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgbG9nLndhcm4oYFVuYWJsZSB0byBmaW5kIHJ1bnRpbWUgZm9yIGlPUyAnJHtwbGF0Zm9ybVZlcnNpb259Jy4gQ29udGludWluZ2ApO1xuICAgICAgcnVudGltZUlkID0gcGxhdGZvcm1WZXJzaW9uO1xuICAgIH1cblxuICAgIC8vIGdldCB0aGUgcG9zc2libGUgcnVudGltZXMsIHdoaWNoIHdpbGwgYmUgaXRlcmF0ZWQgb3ZlclxuXG4gICAgLy8gc3RhcnQgd2l0aCBtYWpvci1taW5vciB2ZXJzaW9uXG4gICAgbGV0IHBvdGVudGlhbFJ1bnRpbWVJZHMgPSBbbm9ybWFsaXplVmVyc2lvbihydW50aW1lSWQpXTtcbiAgICBpZiAocnVudGltZUlkLnNwbGl0KCcuJykubGVuZ3RoID09PSAzKSB7XG4gICAgICAvLyBhZGQgcGF0Y2ggdmVyc2lvbiBpZiBpdCBleGlzdHNcbiAgICAgIHBvdGVudGlhbFJ1bnRpbWVJZHMucHVzaChydW50aW1lSWQpO1xuICAgIH1cblxuICAgIC8vIGFkZCBtb2RpZmllZCB2ZXJzaW9ucywgc2luY2UgbW9kZXJuIFhjb2RlcyB1c2UgdGhpcywgdGhlbiB0aGUgYmFyZVxuICAgIC8vIHZlcnNpb25zLCB0byBhY2NvbW9kYXRlIG9sZGVyIFhjb2Rlc1xuICAgIHJ1bnRpbWVJZHMucHVzaChcbiAgICAgIC4uLihwb3RlbnRpYWxSdW50aW1lSWRzLm1hcCgoaWQpID0+IGAke1NJTV9SVU5USU1FX05BTUV9JHtwbGF0Zm9ybX0tJHtpZC5yZXBsYWNlKC9cXC4vZywgJy0nKX1gKSksXG4gICAgICAuLi5wb3RlbnRpYWxSdW50aW1lSWRzXG4gICAgKTtcbiAgfVxuXG4gIC8vIGdvIHRocm91Z2ggdGhlIHJ1bnRpbWUgaWRzIGFuZCB0cnkgdG8gY3JlYXRlIGEgc2ltdWxhdG9yIHdpdGggZWFjaFxuICBsZXQgdWRpZDtcbiAgZm9yIChjb25zdCBydW50aW1lSWQgb2YgcnVudGltZUlkcykge1xuICAgIGxvZy5kZWJ1ZyhMT0dfUFJFRklYLFxuICAgICAgYENyZWF0aW5nIHNpbXVsYXRvciB3aXRoIG5hbWUgJyR7bmFtZX0nLCBkZXZpY2UgdHlwZSBpZCAnJHtkZXZpY2VUeXBlSWR9JyBhbmQgcnVudGltZSBpZCAnJHtydW50aW1lSWR9J2ApO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IHRoaXMuZXhlYygnY3JlYXRlJywge1xuICAgICAgICBhcmdzOiBbbmFtZSwgZGV2aWNlVHlwZUlkLCBydW50aW1lSWRdXG4gICAgICB9KTtcbiAgICAgIHVkaWQgPSBzdGRvdXQudHJpbSgpO1xuICAgICAgYnJlYWs7XG4gICAgfSBjYXRjaCAoaWduKSB7XG4gICAgICAvLyB0aGUgZXJyb3IgZ2V0cyBsb2dnZWQgaW4gYHNpbUV4ZWNgXG4gICAgfVxuICB9XG5cbiAgaWYgKCF1ZGlkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgY3JlYXRlIHNpbXVsYXRvciB3aXRoIG5hbWUgJyR7bmFtZX0nLCBkZXZpY2UgYCArXG4gICAgICBgdHlwZSBpZCAnJHtkZXZpY2VUeXBlSWR9Jywgd2l0aCBydW50aW1lIGlkcyBgICtcbiAgICAgIGAke3J1bnRpbWVJZHMubWFwKChpZCkgPT4gYCcke2lkfSdgKS5qb2luKCcsICcpfWApO1xuICB9XG5cbiAgLy8gbWFrZSBzdXJlIHRoYXQgaXQgZ2V0cyBvdXQgb2YgdGhlIFwiQ3JlYXRpbmdcIiBzdGF0ZVxuICBjb25zdCByZXRyaWVzID0gcGFyc2VJbnQodGltZW91dCAvIDEwMDAsIDEwKTtcbiAgYXdhaXQgcmV0cnlJbnRlcnZhbChyZXRyaWVzLCAxMDAwLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZGV2aWNlcyA9IF8udmFsdWVzKGF3YWl0IHRoaXMuZ2V0RGV2aWNlcygpKTtcbiAgICBmb3IgKGNvbnN0IGRldmljZUFyciBvZiBfLnZhbHVlcyhkZXZpY2VzKSkge1xuICAgICAgZm9yIChjb25zdCBkZXZpY2Ugb2YgZGV2aWNlQXJyKSB7XG4gICAgICAgIGlmIChkZXZpY2UudWRpZCA9PT0gdWRpZCkge1xuICAgICAgICAgIGlmIChkZXZpY2Uuc3RhdGUgPT09ICdDcmVhdGluZycpIHtcbiAgICAgICAgICAgIC8vIG5lZWQgdG8gcmV0cnlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRGV2aWNlIHdpdGggdWRpZCAnJHt1ZGlkfScgc3RpbGwgYmVpbmcgY3JlYXRlZGApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBzdG9wIGxvb2tpbmcsIHdlJ3JlIGRvbmVcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGBEZXZpY2Ugd2l0aCB1ZGlkICcke3VkaWR9JyBub3QgeWV0IGNyZWF0ZWRgKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHVkaWQ7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFnRTtBQUFBO0FBR2hFLE1BQU1BLDJCQUEyQixHQUFHLEtBQUs7QUFDekMsTUFBTUMsZ0NBQWdDLEdBQUcsS0FBSztBQUU5QyxNQUFNQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBcUJuQkEsUUFBUSxDQUFDQyxZQUFZLEdBQUcsZUFBZUEsWUFBWSxDQUFFQyxJQUFJLEVBQUVDLFlBQVksRUFBRUMsZUFBZSxFQUFFQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUU7RUFDbkcsTUFBTTtJQUNKQyxRQUFRLEdBQUdSLDJCQUEyQjtJQUN0Q1MsT0FBTyxHQUFHUjtFQUNaLENBQUMsR0FBR00sSUFBSTtFQUVSLElBQUlHLFVBQVUsR0FBRyxFQUFFO0VBR25CLElBQUk7SUFDRkEsVUFBVSxDQUFDQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUNDLG1DQUFtQyxDQUFDTixlQUFlLEVBQUVFLFFBQVEsQ0FBQyxDQUFDO0VBQzVGLENBQUMsQ0FBQyxPQUFPSyxHQUFHLEVBQUUsQ0FBQztFQUVmLElBQUlDLGVBQUMsQ0FBQ0MsT0FBTyxDQUFDTCxVQUFVLENBQUMsRUFBRTtJQUd6QixJQUFJTSxTQUFTO0lBQ2IsSUFBSTtNQUNGQSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUNDLDRCQUE0QixDQUFDWCxlQUFlLEVBQUVFLFFBQVEsQ0FBQztJQUNo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
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","names":["SIM_RUNTIME_NAME_SUFFIX_IOS","DEFAULT_CREATE_SIMULATOR_TIMEOUT","commands","createDevice","name","deviceTypeId","platformVersion","opts","platform","timeout","runtimeIds","push","getRuntimeForPlatformVersionViaJson","ign","_","isEmpty","runtimeId","getRuntimeForPlatformVersion","err","log","warn","potentialRuntimeIds","normalizeVersion","split","length","map","id","SIM_RUNTIME_NAME","replace","udid","debug","LOG_PREFIX","stdout","exec","args","trim","Error","join","retries","parseInt","retryInterval","devices","values","getDevices","deviceArr","device","state"],"sources":["../../../lib/subcommands/create.js"],"sourcesContent":["import _ from 'lodash';\nimport log, { LOG_PREFIX } from '../logger';\nimport { retryInterval } from 'asyncbox';\nimport { SIM_RUNTIME_NAME, normalizeVersion } from '../helpers';\n\n\nconst SIM_RUNTIME_NAME_SUFFIX_IOS = 'iOS';\nconst DEFAULT_CREATE_SIMULATOR_TIMEOUT = 10000;\n\nconst commands = {};\n\n/**\n * @typedef {Object} SimCreationOpts\n * @property {string} platform [iOS] - Platform name in order to specify runtime such as 'iOS', 'tvOS', 'watchOS'\n * @property {number} timeout [10000] - The maximum number of milliseconds to wait\n * unit device creation is completed.\n */\n\n/**\n * Create Simulator device with given name for the particular\n * platform type and version.\n *\n * @param {string} name - The device name to be created.\n * @param {string} deviceTypeId - Device type, for example 'iPhone 6'.\n * @param {string} platformVersion - Platform version, for example '10.3'.\n * @param {?SimCreationOpts} opts - Simulator options for creating devices.\n * @return {string} The UDID of the newly created device.\n * @throws {Error} If the corresponding simctl subcommand command\n * returns non-zero return code.\n */\ncommands.createDevice = async function createDevice (name, deviceTypeId, platformVersion, opts = {}) {\n const {\n platform = SIM_RUNTIME_NAME_SUFFIX_IOS,\n timeout = DEFAULT_CREATE_SIMULATOR_TIMEOUT\n } = opts;\n\n let runtimeIds = [];\n\n // Try getting runtimeId using JSON flag\n try {\n runtimeIds.push(await this.getRuntimeForPlatformVersionViaJson(platformVersion, platform));\n } catch (ign) {}\n\n if (_.isEmpty(runtimeIds)) {\n // at first make sure that the runtime id is the right one\n // in some versions of Xcode it will be a patch version\n let runtimeId;\n try {\n runtimeId = await this.getRuntimeForPlatformVersion(platformVersion, platform);\n } catch (err) {\n log.warn(`Unable to find runtime for iOS '${platformVersion}'. Continuing`);\n runtimeId = platformVersion;\n }\n\n // get the possible runtimes, which will be iterated over\n\n // start with major-minor version\n let potentialRuntimeIds = [normalizeVersion(runtimeId)];\n if (runtimeId.split('.').length === 3) {\n // add patch version if it exists\n potentialRuntimeIds.push(runtimeId);\n }\n\n // add modified versions, since modern Xcodes use this, then the bare\n // versions, to accomodate older Xcodes\n runtimeIds.push(\n ...(potentialRuntimeIds.map((id) => `${SIM_RUNTIME_NAME}${platform}-${id.replace(/\\./g, '-')}`)),\n ...potentialRuntimeIds\n );\n }\n\n // go through the runtime ids and try to create a simulator with each\n let udid;\n for (const runtimeId of runtimeIds) {\n log.debug(LOG_PREFIX,\n `Creating simulator with name '${name}', device type id '${deviceTypeId}' and runtime id '${runtimeId}'`);\n try {\n const {stdout} = await this.exec('create', {\n args: [name, deviceTypeId, runtimeId]\n });\n udid = stdout.trim();\n break;\n } catch (ign) {\n // the error gets logged in `simExec`\n }\n }\n\n if (!udid) {\n throw new Error(`Could not create simulator with name '${name}', device ` +\n `type id '${deviceTypeId}', with runtime ids ` +\n `${runtimeIds.map((id) => `'${id}'`).join(', ')}`);\n }\n\n // make sure that it gets out of the \"Creating\" state\n const retries = parseInt(timeout / 1000, 10);\n await retryInterval(retries, 1000, async () => {\n const devices = _.values(await this.getDevices());\n for (const deviceArr of _.values(devices)) {\n for (const device of deviceArr) {\n if (device.udid === udid) {\n if (device.state === 'Creating') {\n // need to retry\n throw new Error(`Device with udid '${udid}' still being created`);\n } else {\n // stop looking, we're done\n return;\n }\n }\n }\n }\n throw new Error(`Device with udid '${udid}' not yet created`);\n });\n\n return udid;\n};\n\nexport default commands;\n"],"mappings":"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"}
1
+ {"version":3,"file":"create.js","names":["SIM_RUNTIME_NAME_SUFFIX_IOS","DEFAULT_CREATE_SIMULATOR_TIMEOUT","commands","createDevice","name","deviceTypeId","platformVersion","opts","platform","timeout","runtimeIds","push","getRuntimeForPlatformVersionViaJson","ign","_","isEmpty","runtimeId","getRuntimeForPlatformVersion","err","log","warn","potentialRuntimeIds","normalizeVersion","split","length","map","id","SIM_RUNTIME_NAME","replace","udid","debug","LOG_PREFIX","stdout","exec","args","trim","Error","join","retries","parseInt","retryInterval","devices","values","getDevices","deviceArr","device","state"],"sources":["../../../lib/subcommands/create.js"],"sourcesContent":["import _ from 'lodash';\nimport log, { LOG_PREFIX } from '../logger';\nimport { retryInterval } from 'asyncbox';\nimport { SIM_RUNTIME_NAME, normalizeVersion } from '../helpers';\n\n\nconst SIM_RUNTIME_NAME_SUFFIX_IOS = 'iOS';\nconst DEFAULT_CREATE_SIMULATOR_TIMEOUT = 10000;\n\nconst commands = {};\n\n/**\n * @typedef {Object} SimCreationOpts\n * @property {string} platform [iOS] - Platform name in order to specify runtime such as 'iOS', 'tvOS', 'watchOS'\n * @property {number} timeout [10000] - The maximum number of milliseconds to wait\n * unit device creation is completed.\n */\n\n/**\n * Create Simulator device with given name for the particular\n * platform type and version.\n *\n * @param {string} name - The device name to be created.\n * @param {string} deviceTypeId - Device type, for example 'iPhone 6'.\n * @param {string} platformVersion - Platform version, for example '10.3'.\n * @param {?SimCreationOpts} opts - Simulator options for creating devices.\n * @return {string} The UDID of the newly created device.\n * @throws {Error} If the corresponding simctl subcommand command\n * returns non-zero return code.\n */\ncommands.createDevice = async function createDevice (name, deviceTypeId, platformVersion, opts = {}) {\n const {\n platform = SIM_RUNTIME_NAME_SUFFIX_IOS,\n timeout = DEFAULT_CREATE_SIMULATOR_TIMEOUT\n } = opts;\n\n let runtimeIds = [];\n\n // Try getting runtimeId using JSON flag\n try {\n runtimeIds.push(await this.getRuntimeForPlatformVersionViaJson(platformVersion, platform));\n } catch (ign) {}\n\n if (_.isEmpty(runtimeIds)) {\n // at first make sure that the runtime id is the right one\n // in some versions of Xcode it will be a patch version\n let runtimeId;\n try {\n runtimeId = await this.getRuntimeForPlatformVersion(platformVersion, platform);\n } catch (err) {\n log.warn(`Unable to find runtime for iOS '${platformVersion}'. Continuing`);\n runtimeId = platformVersion;\n }\n\n // get the possible runtimes, which will be iterated over\n\n // start with major-minor version\n let potentialRuntimeIds = [normalizeVersion(runtimeId)];\n if (runtimeId.split('.').length === 3) {\n // add patch version if it exists\n potentialRuntimeIds.push(runtimeId);\n }\n\n // add modified versions, since modern Xcodes use this, then the bare\n // versions, to accomodate older Xcodes\n runtimeIds.push(\n ...(potentialRuntimeIds.map((id) => `${SIM_RUNTIME_NAME}${platform}-${id.replace(/\\./g, '-')}`)),\n ...potentialRuntimeIds\n );\n }\n\n // go through the runtime ids and try to create a simulator with each\n let udid;\n for (const runtimeId of runtimeIds) {\n log.debug(LOG_PREFIX,\n `Creating simulator with name '${name}', device type id '${deviceTypeId}' and runtime id '${runtimeId}'`);\n try {\n const {stdout} = await this.exec('create', {\n args: [name, deviceTypeId, runtimeId]\n });\n udid = stdout.trim();\n break;\n } catch (ign) {\n // the error gets logged in `simExec`\n }\n }\n\n if (!udid) {\n throw new Error(`Could not create simulator with name '${name}', device ` +\n `type id '${deviceTypeId}', with runtime ids ` +\n `${runtimeIds.map((id) => `'${id}'`).join(', ')}`);\n }\n\n // make sure that it gets out of the \"Creating\" state\n const retries = parseInt(timeout / 1000, 10);\n await retryInterval(retries, 1000, async () => {\n const devices = _.values(await this.getDevices());\n for (const deviceArr of _.values(devices)) {\n for (const device of deviceArr) {\n if (device.udid === udid) {\n if (device.state === 'Creating') {\n // need to retry\n throw new Error(`Device with udid '${udid}' still being created`);\n } else {\n // stop looking, we're done\n return;\n }\n }\n }\n }\n throw new Error(`Device with udid '${udid}' not yet created`);\n });\n\n return udid;\n};\n\nexport default commands;\n"],"mappings":"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"}
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  require("source-map-support/register");
8
8
  const commands = {};
9
-
10
9
  commands.deleteDevice = async function deleteDevice() {
11
10
  await this.exec('delete', {
12
11
  args: [this.requireUdid('delete')]
@@ -14,4 +13,4 @@ commands.deleteDevice = async function deleteDevice() {
14
13
  };
15
14
  var _default = commands;
16
15
  exports.default = _default;
17
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImRlbGV0ZURldmljZSIsImV4ZWMiLCJhcmdzIiwicmVxdWlyZVVkaWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3ViY29tbWFuZHMvZGVsZXRlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8qKlxuICogRGVsZXRlIHRoZSBwYXJ0aWN1bGFyIFNpbXVsYXRvciBmcm9tIGF2YWlsYWJsZSBkZXZpY2VzIGxpc3QuXG4gKlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBjb3JyZXNwb25kaW5nIHNpbWN0bCBzdWJjb21tYW5kIGNvbW1hbmRcbiAqICAgICAgICAgICAgICAgICByZXR1cm5zIG5vbi16ZXJvIHJldHVybiBjb2RlLlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBgdWRpZGAgaW5zdGFuY2UgcHJvcGVydHkgaXMgdW5zZXRcbiAqL1xuY29tbWFuZHMuZGVsZXRlRGV2aWNlID0gYXN5bmMgZnVuY3Rpb24gZGVsZXRlRGV2aWNlICgpIHtcbiAgYXdhaXQgdGhpcy5leGVjKCdkZWxldGUnLCB7XG4gICAgYXJnczogW3RoaXMucmVxdWlyZVVkaWQoJ2RlbGV0ZScpXVxuICB9KTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsTUFBTUEsUUFBUSxHQUFHLENBQUMsQ0FBQzs7QUFTbkJBLFFBQVEsQ0FBQ0MsWUFBWSxHQUFHLGVBQWVBLFlBQVksR0FBSTtFQUNyRCxNQUFNLElBQUksQ0FBQ0MsSUFBSSxDQUFDLFFBQVEsRUFBRTtJQUN4QkMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDQyxXQUFXLENBQUMsUUFBUSxDQUFDO0VBQ25DLENBQUMsQ0FBQztBQUNKLENBQUM7QUFBQyxlQUVhSixRQUFRO0FBQUEifQ==
16
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImRlbGV0ZURldmljZSIsImV4ZWMiLCJhcmdzIiwicmVxdWlyZVVkaWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3ViY29tbWFuZHMvZGVsZXRlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8qKlxuICogRGVsZXRlIHRoZSBwYXJ0aWN1bGFyIFNpbXVsYXRvciBmcm9tIGF2YWlsYWJsZSBkZXZpY2VzIGxpc3QuXG4gKlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBjb3JyZXNwb25kaW5nIHNpbWN0bCBzdWJjb21tYW5kIGNvbW1hbmRcbiAqICAgICAgICAgICAgICAgICByZXR1cm5zIG5vbi16ZXJvIHJldHVybiBjb2RlLlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBgdWRpZGAgaW5zdGFuY2UgcHJvcGVydHkgaXMgdW5zZXRcbiAqL1xuY29tbWFuZHMuZGVsZXRlRGV2aWNlID0gYXN5bmMgZnVuY3Rpb24gZGVsZXRlRGV2aWNlICgpIHtcbiAgYXdhaXQgdGhpcy5leGVjKCdkZWxldGUnLCB7XG4gICAgYXJnczogW3RoaXMucmVxdWlyZVVkaWQoJ2RlbGV0ZScpXVxuICB9KTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsTUFBTUEsUUFBUSxHQUFHLENBQUMsQ0FBQztBQVNuQkEsUUFBUSxDQUFDQyxZQUFZLEdBQUcsZUFBZUEsWUFBWSxHQUFJO0VBQ3JELE1BQU0sSUFBSSxDQUFDQyxJQUFJLENBQUMsUUFBUSxFQUFFO0lBQ3hCQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUNDLFdBQVcsQ0FBQyxRQUFRLENBQUM7RUFDbkMsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUFDLGVBRWFKLFFBQVE7QUFBQSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","names":["commands","deleteDevice","exec","args","requireUdid"],"sources":["../../../lib/subcommands/delete.js"],"sourcesContent":["const commands = {};\n\n/**\n * Delete the particular Simulator from available devices list.\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.deleteDevice = async function deleteDevice () {\n await this.exec('delete', {\n args: [this.requireUdid('delete')]\n });\n};\n\nexport default commands;\n"],"mappings":";;;;;;;AAAA,MAAMA,QAAQ,GAAG,CAAC,CAAC;;AASnBA,QAAQ,CAACC,YAAY,GAAG,eAAeA,YAAY,GAAI;EACrD,MAAM,IAAI,CAACC,IAAI,CAAC,QAAQ,EAAE;IACxBC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,QAAQ,CAAC;EACnC,CAAC,CAAC;AACJ,CAAC;AAAC,eAEaJ,QAAQ;AAAA"}
1
+ {"version":3,"file":"delete.js","names":["commands","deleteDevice","exec","args","requireUdid"],"sources":["../../../lib/subcommands/delete.js"],"sourcesContent":["const commands = {};\n\n/**\n * Delete the particular Simulator from available devices list.\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.deleteDevice = async function deleteDevice () {\n await this.exec('delete', {\n args: [this.requireUdid('delete')]\n });\n};\n\nexport default commands;\n"],"mappings":";;;;;;;AAAA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AASnBA,QAAQ,CAACC,YAAY,GAAG,eAAeA,YAAY,GAAI;EACrD,MAAM,IAAI,CAACC,IAAI,CAAC,QAAQ,EAAE;IACxBC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,QAAQ,CAAC;EACnC,CAAC,CAAC;AACJ,CAAC;AAAC,eAEaJ,QAAQ;AAAA"}
@@ -7,7 +7,6 @@ exports.default = void 0;
7
7
  require("source-map-support/register");
8
8
  var _asyncbox = require("asyncbox");
9
9
  const commands = {};
10
-
11
10
  commands.eraseDevice = async function eraseDevice(timeout = 1000) {
12
11
  const retries = parseInt(timeout / 200, 10);
13
12
  await (0, _asyncbox.retryInterval)(retries, 200, async () => await this.exec('erase', {
@@ -16,4 +15,4 @@ commands.eraseDevice = async function eraseDevice(timeout = 1000) {
16
15
  };
17
16
  var _default = commands;
18
17
  exports.default = _default;
19
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImVyYXNlRGV2aWNlIiwidGltZW91dCIsInJldHJpZXMiLCJwYXJzZUludCIsInJldHJ5SW50ZXJ2YWwiLCJleGVjIiwiYXJncyIsInJlcXVpcmVVZGlkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N1YmNvbW1hbmRzL2VyYXNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJldHJ5SW50ZXJ2YWwgfSBmcm9tICdhc3luY2JveCc7XG5cbmNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8qKlxuICogUmVzZXQgdGhlIGNvbnRlbnQgYW5kIHNldHRpbmdzIG9mIHRoZSBwYXJ0aWN1bGFyIFNpbXVsYXRvci5cbiAqIEl0IGlzIHJlcXVpcmVkIHRoYXQgU2ltdWxhdG9yIGlzIGluIF9zaHV0ZG93bl8gc3RhdGUuXG4gKlxuICogQHBhcmFtIHtudW1iZXJ9IHRpbWVvdXQgWzEwMDAwXSAtIFRoZSBtYXhpbXVtIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gd2FpdFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXQgZGV2aWNlIHJlc2V0IGlzIGNvbXBsZXRlZC5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kXG4gKiAgICAgICAgICAgICAgICAgcmV0dXJucyBub24temVybyByZXR1cm4gY29kZS5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgYHVkaWRgIGluc3RhbmNlIHByb3BlcnR5IGlzIHVuc2V0XG4gKi9cbmNvbW1hbmRzLmVyYXNlRGV2aWNlID0gYXN5bmMgZnVuY3Rpb24gZXJhc2VEZXZpY2UgKHRpbWVvdXQgPSAxMDAwKSB7XG4gIC8vIHJldHJ5IGVyYXNlIHdpdGggYSBzbGVlcCBpbiBiZXR3ZWVuIGJlY2F1c2UgaXQncyBmbGFrZXlcbiAgY29uc3QgcmV0cmllcyA9IHBhcnNlSW50KHRpbWVvdXQgLyAyMDAsIDEwKTtcbiAgYXdhaXQgcmV0cnlJbnRlcnZhbChyZXRyaWVzLCAyMDAsXG4gICAgYXN5bmMgKCkgPT4gYXdhaXQgdGhpcy5leGVjKCdlcmFzZScsIHtcbiAgICAgIGFyZ3M6IFt0aGlzLnJlcXVpcmVVZGlkKCdlcmFzZScpXVxuICAgIH0pXG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBRUEsTUFBTUEsUUFBUSxHQUFHLENBQUMsQ0FBQzs7QUFZbkJBLFFBQVEsQ0FBQ0MsV0FBVyxHQUFHLGVBQWVBLFdBQVcsQ0FBRUMsT0FBTyxHQUFHLElBQUksRUFBRTtFQUVqRSxNQUFNQyxPQUFPLEdBQUdDLFFBQVEsQ0FBQ0YsT0FBTyxHQUFHLEdBQUcsRUFBRSxFQUFFLENBQUM7RUFDM0MsTUFBTSxJQUFBRyx1QkFBYSxFQUFDRixPQUFPLEVBQUUsR0FBRyxFQUM5QixZQUFZLE1BQU0sSUFBSSxDQUFDRyxJQUFJLENBQUMsT0FBTyxFQUFFO0lBQ25DQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUNDLFdBQVcsQ0FBQyxPQUFPLENBQUM7RUFDbEMsQ0FBQyxDQUFDLENBQ0g7QUFDSCxDQUFDO0FBQUMsZUFFYVIsUUFBUTtBQUFBIn0=
18
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImVyYXNlRGV2aWNlIiwidGltZW91dCIsInJldHJpZXMiLCJwYXJzZUludCIsInJldHJ5SW50ZXJ2YWwiLCJleGVjIiwiYXJncyIsInJlcXVpcmVVZGlkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N1YmNvbW1hbmRzL2VyYXNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJldHJ5SW50ZXJ2YWwgfSBmcm9tICdhc3luY2JveCc7XG5cbmNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8qKlxuICogUmVzZXQgdGhlIGNvbnRlbnQgYW5kIHNldHRpbmdzIG9mIHRoZSBwYXJ0aWN1bGFyIFNpbXVsYXRvci5cbiAqIEl0IGlzIHJlcXVpcmVkIHRoYXQgU2ltdWxhdG9yIGlzIGluIF9zaHV0ZG93bl8gc3RhdGUuXG4gKlxuICogQHBhcmFtIHtudW1iZXJ9IHRpbWVvdXQgWzEwMDAwXSAtIFRoZSBtYXhpbXVtIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gd2FpdFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXQgZGV2aWNlIHJlc2V0IGlzIGNvbXBsZXRlZC5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kXG4gKiAgICAgICAgICAgICAgICAgcmV0dXJucyBub24temVybyByZXR1cm4gY29kZS5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgYHVkaWRgIGluc3RhbmNlIHByb3BlcnR5IGlzIHVuc2V0XG4gKi9cbmNvbW1hbmRzLmVyYXNlRGV2aWNlID0gYXN5bmMgZnVuY3Rpb24gZXJhc2VEZXZpY2UgKHRpbWVvdXQgPSAxMDAwKSB7XG4gIC8vIHJldHJ5IGVyYXNlIHdpdGggYSBzbGVlcCBpbiBiZXR3ZWVuIGJlY2F1c2UgaXQncyBmbGFrZXlcbiAgY29uc3QgcmV0cmllcyA9IHBhcnNlSW50KHRpbWVvdXQgLyAyMDAsIDEwKTtcbiAgYXdhaXQgcmV0cnlJbnRlcnZhbChyZXRyaWVzLCAyMDAsXG4gICAgYXN5bmMgKCkgPT4gYXdhaXQgdGhpcy5leGVjKCdlcmFzZScsIHtcbiAgICAgIGFyZ3M6IFt0aGlzLnJlcXVpcmVVZGlkKCdlcmFzZScpXVxuICAgIH0pXG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBRUEsTUFBTUEsUUFBUSxHQUFHLENBQUMsQ0FBQztBQVluQkEsUUFBUSxDQUFDQyxXQUFXLEdBQUcsZUFBZUEsV0FBVyxDQUFFQyxPQUFPLEdBQUcsSUFBSSxFQUFFO0VBRWpFLE1BQU1DLE9BQU8sR0FBR0MsUUFBUSxDQUFDRixPQUFPLEdBQUcsR0FBRyxFQUFFLEVBQUUsQ0FBQztFQUMzQyxNQUFNLElBQUFHLHVCQUFhLEVBQUNGLE9BQU8sRUFBRSxHQUFHLEVBQzlCLFlBQVksTUFBTSxJQUFJLENBQUNHLElBQUksQ0FBQyxPQUFPLEVBQUU7SUFDbkNDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQ0MsV0FBVyxDQUFDLE9BQU8sQ0FBQztFQUNsQyxDQUFDLENBQUMsQ0FDSDtBQUNILENBQUM7QUFBQyxlQUVhUixRQUFRO0FBQUEifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"erase.js","names":["commands","eraseDevice","timeout","retries","parseInt","retryInterval","exec","args","requireUdid"],"sources":["../../../lib/subcommands/erase.js"],"sourcesContent":["import { retryInterval } from 'asyncbox';\n\nconst commands = {};\n\n/**\n * Reset the content and settings of the particular Simulator.\n * It is required that Simulator is in _shutdown_ state.\n *\n * @param {number} timeout [10000] - The maximum number of milliseconds to wait\n * unit device reset is completed.\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.eraseDevice = async function eraseDevice (timeout = 1000) {\n // retry erase with a sleep in between because it's flakey\n const retries = parseInt(timeout / 200, 10);\n await retryInterval(retries, 200,\n async () => await this.exec('erase', {\n args: [this.requireUdid('erase')]\n })\n );\n};\n\nexport default commands;\n"],"mappings":";;;;;;;AAAA;AAEA,MAAMA,QAAQ,GAAG,CAAC,CAAC;;AAYnBA,QAAQ,CAACC,WAAW,GAAG,eAAeA,WAAW,CAAEC,OAAO,GAAG,IAAI,EAAE;EAEjE,MAAMC,OAAO,GAAGC,QAAQ,CAACF,OAAO,GAAG,GAAG,EAAE,EAAE,CAAC;EAC3C,MAAM,IAAAG,uBAAa,EAACF,OAAO,EAAE,GAAG,EAC9B,YAAY,MAAM,IAAI,CAACG,IAAI,CAAC,OAAO,EAAE;IACnCC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,OAAO,CAAC;EAClC,CAAC,CAAC,CACH;AACH,CAAC;AAAC,eAEaR,QAAQ;AAAA"}
1
+ {"version":3,"file":"erase.js","names":["commands","eraseDevice","timeout","retries","parseInt","retryInterval","exec","args","requireUdid"],"sources":["../../../lib/subcommands/erase.js"],"sourcesContent":["import { retryInterval } from 'asyncbox';\n\nconst commands = {};\n\n/**\n * Reset the content and settings of the particular Simulator.\n * It is required that Simulator is in _shutdown_ state.\n *\n * @param {number} timeout [10000] - The maximum number of milliseconds to wait\n * unit device reset is completed.\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.eraseDevice = async function eraseDevice (timeout = 1000) {\n // retry erase with a sleep in between because it's flakey\n const retries = parseInt(timeout / 200, 10);\n await retryInterval(retries, 200,\n async () => await this.exec('erase', {\n args: [this.requireUdid('erase')]\n })\n );\n};\n\nexport default commands;\n"],"mappings":";;;;;;;AAAA;AAEA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AAYnBA,QAAQ,CAACC,WAAW,GAAG,eAAeA,WAAW,CAAEC,OAAO,GAAG,IAAI,EAAE;EAEjE,MAAMC,OAAO,GAAGC,QAAQ,CAACF,OAAO,GAAG,GAAG,EAAE,EAAE,CAAC;EAC3C,MAAM,IAAAG,uBAAa,EAACF,OAAO,EAAE,GAAG,EAC9B,YAAY,MAAM,IAAI,CAACG,IAAI,CAAC,OAAO,EAAE;IACnCC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,OAAO,CAAC;EAClC,CAAC,CAAC,CACH;AACH,CAAC;AAAC,eAEaR,QAAQ;AAAA"}