node-simctl 7.1.17 → 7.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/build/lib/simctl.js +9 -3
  3. package/build/lib/simctl.js.map +1 -1
  4. package/build/lib/subcommands/addmedia.js +1 -1
  5. package/build/lib/subcommands/addmedia.js.map +1 -1
  6. package/build/lib/subcommands/appinfo.js +1 -1
  7. package/build/lib/subcommands/appinfo.js.map +1 -1
  8. package/build/lib/subcommands/bootstatus.js +1 -1
  9. package/build/lib/subcommands/bootstatus.js.map +1 -1
  10. package/build/lib/subcommands/create.js +1 -1
  11. package/build/lib/subcommands/create.js.map +1 -1
  12. package/build/lib/subcommands/get_app_container.js +1 -1
  13. package/build/lib/subcommands/get_app_container.js.map +1 -1
  14. package/build/lib/subcommands/getenv.js +1 -1
  15. package/build/lib/subcommands/getenv.js.map +1 -1
  16. package/build/lib/subcommands/io.js +1 -1
  17. package/build/lib/subcommands/io.js.map +1 -1
  18. package/build/lib/subcommands/launch.js +1 -1
  19. package/build/lib/subcommands/launch.js.map +1 -1
  20. package/build/lib/subcommands/list.js +1 -1
  21. package/build/lib/subcommands/list.js.map +1 -1
  22. package/build/lib/subcommands/openurl.js +1 -1
  23. package/build/lib/subcommands/openurl.js.map +1 -1
  24. package/build/lib/subcommands/pbcopy.js +1 -1
  25. package/build/lib/subcommands/pbcopy.js.map +1 -1
  26. package/build/lib/subcommands/pbpaste.js +1 -1
  27. package/build/lib/subcommands/pbpaste.js.map +1 -1
  28. package/build/lib/subcommands/spawn.js +1 -1
  29. package/build/lib/subcommands/spawn.js.map +1 -1
  30. package/build/lib/subcommands/ui.js +1 -1
  31. package/build/lib/subcommands/ui.js.map +1 -1
  32. package/lib/simctl.js +21 -11
  33. package/lib/subcommands/addmedia.js +1 -1
  34. package/lib/subcommands/appinfo.js +1 -1
  35. package/lib/subcommands/bootstatus.js +8 -8
  36. package/lib/subcommands/create.js +2 -2
  37. package/lib/subcommands/get_app_container.js +2 -2
  38. package/lib/subcommands/getenv.js +1 -1
  39. package/lib/subcommands/io.js +1 -1
  40. package/lib/subcommands/launch.js +1 -1
  41. package/lib/subcommands/list.js +9 -9
  42. package/lib/subcommands/openurl.js +1 -1
  43. package/lib/subcommands/pbcopy.js +1 -1
  44. package/lib/subcommands/pbpaste.js +1 -1
  45. package/lib/subcommands/spawn.js +4 -4
  46. package/lib/subcommands/ui.js +1 -1
  47. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [7.2.0](https://github.com/appium/node-simctl/compare/v7.1.17...v7.2.0) (2023-08-09)
2
+
3
+
4
+ ### Features
5
+
6
+ * Add a possibility to select architecture while executing xcrun commands ([#188](https://github.com/appium/node-simctl/issues/188)) ([ab555d7](https://github.com/appium/node-simctl/commit/ab555d73d855991360af842f140a4164af50b6a6))
7
+
1
8
  ## [7.1.17](https://github.com/appium/node-simctl/compare/v7.1.16...v7.1.17) (2023-07-07)
2
9
 
3
10
 
@@ -67,7 +67,8 @@ class Simctl {
67
67
  env = {},
68
68
  asynchronous = false,
69
69
  encoding,
70
- logErrors = true
70
+ logErrors = true,
71
+ architectures
71
72
  } = opts;
72
73
  args = ['simctl', ...(this.devicesSetPath ? ['--set', this.devicesSetPath] : []), subcommand, ...args];
73
74
  env = _lodash.default.defaults(_lodash.default.mapKeys(env, (value, key) => _lodash.default.startsWith(key, SIMCTL_ENV_PREFIX) ? key : `${SIMCTL_ENV_PREFIX}${key}`), process.env);
@@ -80,7 +81,12 @@ class Simctl {
80
81
  }
81
82
  const xcrun = await this.requireXcrun();
82
83
  try {
83
- return asynchronous ? new _teen_process.SubProcess(xcrun, args, execOpts) : await (0, _teen_process.exec)(xcrun, args, execOpts);
84
+ let execArgs = [xcrun, args, execOpts];
85
+ if (!_lodash.default.isEmpty(architectures)) {
86
+ const archArgs = _lodash.default.flatMap((_lodash.default.isArray(architectures) ? architectures : [architectures]).map(arch => ['-arch', arch]));
87
+ execArgs = ['arch', ...archArgs, ...execArgs];
88
+ }
89
+ return asynchronous ? new _teen_process.SubProcess(...execArgs) : await (0, _teen_process.exec)(...execArgs);
84
90
  } catch (e) {
85
91
  if (!this.logErrors || !logErrors) {} else if (e.stderr) {
86
92
  const msg = `Error running '${subcommand}': ${e.stderr.trim()}`;
@@ -99,4 +105,4 @@ for (const [fnName, fn] of _lodash.default.toPairs(_index.default)) {
99
105
  }
100
106
  var _default = Simctl;
101
107
  exports.default = _default;
102
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfaW5kZXgiLCJfd2hpY2giLCJfbG9nZ2VyIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfaGVscGVycyIsIl90ZWVuX3Byb2Nlc3MiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiU0lNQ1RMX0VOVl9QUkVGSVgiLCJERUZBVUxUX09QVFMiLCJ4Y3J1biIsInBhdGgiLCJleGVjVGltZW91dCIsIkRFRkFVTFRfRVhFQ19USU1FT1VUIiwibG9nRXJyb3JzIiwiU2ltY3RsIiwiY29uc3RydWN0b3IiLCJvcHRzIiwiXyIsImNsb25lRGVlcCIsImRlZmF1bHRzRGVlcCIsImtleXMiLCJfdWRpZCIsImlzTmlsIiwidWRpZCIsIl9kZXZpY2VzU2V0UGF0aCIsImRldmljZXNTZXRQYXRoIiwidmFsdWUiLCJyZXF1aXJlVWRpZCIsImNvbW1hbmROYW1lIiwiRXJyb3IiLCJyZXF1aXJlWGNydW4iLCJ4Y3J1bkJpbmFyeSIsImdldFhjcnVuQmluYXJ5Iiwid2hpY2giLCJlIiwiZXhlYyIsInN1YmNvbW1hbmQiLCJhcmdzIiwiZW52IiwiYXN5bmNocm9ub3VzIiwiZW5jb2RpbmciLCJkZWZhdWx0cyIsIm1hcEtleXMiLCJzdGFydHNXaXRoIiwicHJvY2VzcyIsImV4ZWNPcHRzIiwidGltZW91dCIsIlN1YlByb2Nlc3MiLCJ0cEV4ZWMiLCJzdGRlcnIiLCJtc2ciLCJ0cmltIiwibG9nIiwiZGVidWciLCJMT0dfUFJFRklYIiwibWVzc2FnZSIsImV4cG9ydHMiLCJmbk5hbWUiLCJmbiIsInRvUGFpcnMiLCJzdWJjb21tYW5kcyIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vbGliL3NpbWN0bC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHN1YmNvbW1hbmRzIGZyb20gJy4vc3ViY29tbWFuZHMvaW5kZXguanMnO1xuaW1wb3J0IHdoaWNoIGZyb20gJ3doaWNoJztcbmltcG9ydCBsb2csIHsgTE9HX1BSRUZJWCB9IGZyb20gJy4vbG9nZ2VyJztcbmltcG9ydCB7XG4gIERFRkFVTFRfRVhFQ19USU1FT1VULCBnZXRYY3J1bkJpbmFyeSxcbn0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IGV4ZWMgYXMgdHBFeGVjLCBTdWJQcm9jZXNzIH0gZnJvbSAndGVlbl9wcm9jZXNzJztcblxuY29uc3QgU0lNQ1RMX0VOVl9QUkVGSVggPSAnU0lNQ1RMX0NISUxEXyc7XG5jb25zdCBERUZBVUxUX09QVFMgPSB7XG4gIHhjcnVuOiB7XG4gICAgcGF0aDogbnVsbCxcbiAgfSxcbiAgZXhlY1RpbWVvdXQ6IERFRkFVTFRfRVhFQ19USU1FT1VULFxuICBsb2dFcnJvcnM6IHRydWUsXG59O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEV4ZWNPcHRzXG4gKiBAcHJvcGVydHkge0FycmF5LjxzdHJpbmc+fSBhcmdzIFtbXV0gLSBUaGUgbGlzdCBvZiBhZGRpdGlvbmFsIHN1YmNvbW1hbmQgYXJndW1lbnRzLlxuICogSXQncyBlbXB0eSBieSBkZWZhdWx0LlxuICogQHByb3BlcnR5IHtPYmplY3R9IGVudiBbe31dIC0gRW52aXJvbm1lbnQgdmFyaWFibGVzIG1hcHBpbmcuIEFsbCB0aGVzZSB2YXJpYWJsZXNcbiAqIHdpbGwgYmUgcGFzc2VkIFNpbXVsYXRvciBhbmQgdXNlZCBpbiB0aGUgZXhlY3V0aW5nIGZ1bmN0aW9uLlxuICogQHByb3BlcnR5IHtib29sZWFufSBsb2dFcnJvcnMgW3RydWVdIC0gU2V0IGl0IHRvIF9mYWxzZV8gdG8gdGhyb3cgZXhlY3V0aW9uIGVycm9yc1xuICogaW1tZWRpYXRlbHkgd2l0aG91dCBsb2dnaW5nIGFueSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLlxuICogQHByb3BlcnR5IHtib29sZWFufSBhc3luY2hyb25vdXMgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gZXhlY3V0ZSB0aGUgZ2l2ZW4gY29tbWFuZFxuICogJ3N5bmNocm9ub3VzbHknIG9yICdhc3luY2hyb25vdXNseScuIEFmZmVjdHMgdGhlIHJldHVybmVkIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb24uXG4gKiBAcHJvcGVydHkgez9zdHJpbmd9IGVuY29kaW5nIC0gRXhwbGljaXRseSBzZXRzIHN0cmVhbXMgZW5jb2RpbmcgZm9yIHRoZSBleGVjdXRlZFxuICogY29tbWFuZCBpbnB1dCBhbmQgb3V0cHV0cy5cbiAqL1xuXG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gU2ltY3RsT3B0c1xuICogQHByb3BlcnR5IHs/T2JqZWN0fSB4Y3J1biAtIFRoZSB4Y3J1biBwcm9wZXJ0aWVzLiBDdXJyZW50bHkgb25seSBvbmUgcHJvcGVydHlcbiAqIGlzIHN1cHBvcnRlZCwgd2hpY2ggaXMgYHBhdGhgIGFuZCBpdCBieSBkZWZhdWx0IGNvbnRhaW5zIGBudWxsYCwgd2hpY2ggZW5mb3JjZXNcbiAqIHRoZSBpbnN0YW5jZSB0byBhdXRvbWF0aWNhbGx5IGRldGVjdCB0aGUgZnVsbCBwYXRoIHRvIGB4Y3J1bmAgdG9vbCBhbmQgdG8gdGhyb3dcbiAqIGFuIGV4Y2VwdGlvbiBpZiBpdCBjYW5ub3QgYmUgZGV0ZWN0ZWQuIElmIHRoZSBwYXRoIGlzIHNldCB1cG9uIGluc3RhbmNlIGNyZWF0aW9uXG4gKiB0aGVuIGl0IGlzIGdvaW5nIHRvIGJlIHVzZWQgYnkgYGV4ZWNgIGFuZCBubyBhdXRvZGV0ZWN0aW9uIHdpbGwgaGFwcGVuLlxuICogQHByb3BlcnR5IHs/bnVtYmVyfSBleGVjVGltZW91dCBbNjAwMDAwXSAtIFRoZSBtYXhpbXVtIG51bWJlciBvZiBtaWxsaXNlY29uZHNcbiAqIHRvIHdhaXQgZm9yIHNpbmdsZSBzeW5jaHJvbm91cyB4Y3J1biBjb21tYW5kLlxuICogQHByb3BlcnR5IHs/Ym9vbGVhbn0gbG9nRXJyb3JzIFt0cnVlXSAtIFdoZXRoZXIgdG8gd2lyZSB4Y3J1biBlcnJvciBtZXNzYWdlc1xuICogaW50byBkZWJ1ZyBsb2cgYmVmb3JlIHRocm93aW5nIHRoZW0uXG4gKiBAcHJvcGVydHkgez9zdHJpbmd9IHVkaWQgW251bGxdIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBjdXJyZW50IGRldmljZSwgd2hpY2ggaXNcbiAqIGdvaW5nIHRvIGJlIGltcGxpY2l0bHkgcGFzc2VkIHRvIGFsbCBtZXRob2RzLCB3aGljaCByZXF1aXJlIGl0LiBJdCBjYW4gZWl0aGVyIGJlIHNldFxuICogdXBvbiBpbnN0YW5jZSBjcmVhdGlvbiBpZiBpdCBpcyBhbHJlYWR5IGtub3duIGluIGFkdmFuY2Ugb3IgbGF0ZXIgd2hlbi9pZiBuZWVkZWQgdmlhIHRoZVxuICogY29ycmVzcG9uZGluZyBpbnN0YW5jZSBzZXR0ZXIuXG4gKiBAcHJvcGVydHkgez9zdHJpbmd9IGRldmljZXNTZXRQYXRoIC0gRnVsbCBwYXRoIHRvIHRoZSBzZXQgb2YgZGV2aWNlcyB0aGF0IHlvdSB3YW50IHRvIG1hbmFnZS5cbiAqIEJ5IGRlZmF1bHQgdGhpcyBwYXRoIHVzdWFsbHkgZXF1YWxzIHRvIH4vTGlicmFyeS9EZXZlbG9wZXIvQ29yZVNpbXVsYXRvci9EZXZpY2VzXG4gKi9cblxuXG5jbGFzcyBTaW1jdGwge1xuICAvKipcbiAgICogQHBhcmFtIHs/U2ltY3RsT3B0c30gb3B0c1xuICAgKi9cbiAgY29uc3RydWN0b3IgKG9wdHMgPSB7fSkge1xuICAgIG9wdHMgPSBfLmNsb25lRGVlcChvcHRzKTtcbiAgICBfLmRlZmF1bHRzRGVlcChvcHRzLCBERUZBVUxUX09QVFMpO1xuICAgIGZvciAoY29uc3Qga2V5IG9mIF8ua2V5cyhERUZBVUxUX09QVFMpKSB7XG4gICAgICB0aGlzW2tleV0gPSBvcHRzW2tleV07XG4gICAgfVxuICAgIHRoaXMuX3VkaWQgPSBfLmlzTmlsKG9wdHMudWRpZCkgPyBudWxsIDogb3B0cy51ZGlkO1xuICAgIHRoaXMuX2RldmljZXNTZXRQYXRoID0gXy5pc05pbChvcHRzLmRldmljZXNTZXRQYXRoKSA/IG51bGwgOiBvcHRzLmRldmljZXNTZXRQYXRoO1xuICB9XG5cbiAgc2V0IHVkaWQgKHZhbHVlKSB7XG4gICAgdGhpcy5fdWRpZCA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IHVkaWQgKCkge1xuICAgIHJldHVybiB0aGlzLl91ZGlkO1xuICB9XG5cbiAgc2V0IGRldmljZXNTZXRQYXRoICh2YWx1ZSkge1xuICAgIHRoaXMuX2RldmljZXNTZXRQYXRoID0gdmFsdWU7XG4gIH1cblxuICBnZXQgZGV2aWNlc1NldFBhdGggKCkge1xuICAgIHJldHVybiB0aGlzLl9kZXZpY2VzU2V0UGF0aDtcbiAgfVxuXG4gIHJlcXVpcmVVZGlkIChjb21tYW5kTmFtZSA9IG51bGwpIHtcbiAgICBpZiAoIXRoaXMudWRpZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGB1ZGlkIGlzIHJlcXVpcmVkIHRvIGJlIHNldCBmb3IgYCArXG4gICAgICAgIChjb21tYW5kTmFtZSA/IGB0aGUgJyR7Y29tbWFuZE5hbWV9JyBjb21tYW5kYCA6ICd0aGlzIHNpbWN0bCBjb21tYW5kJykpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy51ZGlkO1xuICB9XG5cbiAgYXN5bmMgcmVxdWlyZVhjcnVuICgpIHtcbiAgICBjb25zdCB4Y3J1bkJpbmFyeSA9IGdldFhjcnVuQmluYXJ5KCk7XG5cbiAgICBpZiAoIXRoaXMueGNydW4ucGF0aCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy54Y3J1bi5wYXRoID0gYXdhaXQgd2hpY2goeGNydW5CaW5hcnkpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7eGNydW5CaW5hcnl9IHRvb2wgaGFzIG5vdCBiZWVuIGZvdW5kIGluIFBBVEguIGAgK1xuICAgICAgICAgIGBBcmUgWGNvZGUgZGV2ZWxvcGVycyB0b29scyBpbnN0YWxsZWQ/YCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnhjcnVuLnBhdGg7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZSB0aGUgcGFydGljdWxhciBzaW1jdGwgY29tbWFuZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHN1YmNvbW1hbmQgLSBPbmUgb2YgYXZhaWxhYmxlIHNpbWN0bCBzdWJjb21tYW5kcy5cbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICBFeGVjdXRlIGB4Y3J1biBzaW1jdGxgIGluIFRlcm1pbmFsIHRvIHNlZSB0aGUgZnVsbCBsaXN0XG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgYXZhaWxhYmxlIHN1YmNvbW1hbmRzLlxuICAgKiBAcGFyYW0gez9FeGVjT3B0c30gb3B0c1xuICAgKiBAcmV0dXJuIHtFeGVjUmVzdWx0fFN1YlByb2Nlc3N9IEVpdGhlciB0aGUgcmVzdWx0IG9mIHRlZW4gcHJvY2VzcydzIGBleGVjYCBvclxuICAgKiBgU3ViUHJvY2Vzc2AgaW5zdGFuY2UgZGVwZW5kaW5nIG9mIGBvcHRzLmFzeW5jaHJvbm91c2AgdmFsdWUuXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgc2ltY3RsIHN1YmNvbW1hbmQgY29tbWFuZCByZXR1cm5zIG5vbi16ZXJvIHJldHVybiBjb2RlLlxuICAgKi9cbiAgYXN5bmMgZXhlYyAoc3ViY29tbWFuZCwgb3B0cyA9IHt9KSB7XG4gICAgbGV0IHtcbiAgICAgIGFyZ3MgPSBbXSxcbiAgICAgIGVudiA9IHt9LFxuICAgICAgYXN5bmNocm9ub3VzID0gZmFsc2UsXG4gICAgICBlbmNvZGluZyxcbiAgICAgIGxvZ0Vycm9ycyA9IHRydWUsXG4gICAgfSA9IG9wdHM7XG4gICAgLy8gcnVuIGEgcGFydGljdWxhciBzaW1jdGwgY29tbWFuZFxuICAgIGFyZ3MgPSBbJ3NpbWN0bCcsXG4gICAgICAuLi4odGhpcy5kZXZpY2VzU2V0UGF0aCA/IFsnLS1zZXQnLCB0aGlzLmRldmljZXNTZXRQYXRoXSA6IFtdKSxcbiAgICAgIHN1YmNvbW1hbmQsXG4gICAgICAuLi5hcmdzXG4gICAgXTtcbiAgICAvLyBQcmVmaXggYWxsIHBhc3NlZCBpbiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgd2l0aCAnU0lNQ1RMX0NISUxEXycsIHNpbWN0bFxuICAgIC8vIHdpbGwgdGhlbiBwYXNzIHRoZXNlIHRvIHRoZSBjaGlsZCAoc3Bhd25lZCkgcHJvY2Vzcy5cbiAgICBlbnYgPSBfLmRlZmF1bHRzKFxuICAgICAgXy5tYXBLZXlzKGVudixcbiAgICAgICAgKHZhbHVlLCBrZXkpID0+IF8uc3RhcnRzV2l0aChrZXksIFNJTUNUTF9FTlZfUFJFRklYKSA/IGtleSA6IGAke1NJTUNUTF9FTlZfUFJFRklYfSR7a2V5fWApLFxuICAgICAgcHJvY2Vzcy5lbnYpO1xuXG4gICAgY29uc3QgZXhlY09wdHMgPSB7XG4gICAgICBlbnYsXG4gICAgICBlbmNvZGluZyxcbiAgICB9O1xuICAgIGlmICghYXN5bmNocm9ub3VzKSB7XG4gICAgICBleGVjT3B0cy50aW1lb3V0ID0gdGhpcy5leGVjVGltZW91dDtcbiAgICB9XG4gICAgY29uc3QgeGNydW4gPSBhd2FpdCB0aGlzLnJlcXVpcmVYY3J1bigpO1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXN5bmNocm9ub3VzID8gbmV3IFN1YlByb2Nlc3MoeGNydW4sIGFyZ3MsIGV4ZWNPcHRzKSA6IGF3YWl0IHRwRXhlYyh4Y3J1biwgYXJncywgZXhlY09wdHMpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmICghdGhpcy5sb2dFcnJvcnMgfHwgIWxvZ0Vycm9ycykge1xuICAgICAgICAvLyBpZiB3ZSBkb24ndCB3YW50IHRvIHNlZSB0aGUgZXJyb3JzLCBqdXN0IHRocm93IGFuZCBhbGxvdyB0aGUgY2FsbGluZ1xuICAgICAgICAvLyBjb2RlIGRvIHdoYXQgaXQgd2FudHNcbiAgICAgIH0gZWxzZSBpZiAoZS5zdGRlcnIpIHtcbiAgICAgICAgY29uc3QgbXNnID0gYEVycm9yIHJ1bm5pbmcgJyR7c3ViY29tbWFuZH0nOiAke2Uuc3RkZXJyLnRyaW0oKX1gO1xuICAgICAgICBsb2cuZGVidWcoTE9HX1BSRUZJWCwgbXNnKTtcbiAgICAgICAgZS5tZXNzYWdlID0gbXNnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9nLmRlYnVnKExPR19QUkVGSVgsIGUubWVzc2FnZSk7XG4gICAgICB9XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIGFkZCBhbGwgdGhlIHN1YmNvbW1hbmRzIHRvIHRoZSBTaW1jdGwgcHJvdG90eXBlXG5mb3IgKGNvbnN0IFtmbk5hbWUsIGZuXSBvZiBfLnRvUGFpcnMoc3ViY29tbWFuZHMpKSB7XG4gIFNpbWN0bC5wcm90b3R5cGVbZm5OYW1lXSA9IGZuO1xufVxuXG5leHBvcnQgZGVmYXVsdCBTaW1jdGw7XG5leHBvcnQgeyBTaW1jdGwgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxPQUFBLEdBQUFDLHVCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxRQUFBLEdBQUFMLE9BQUE7QUFHQSxJQUFBTSxhQUFBLEdBQUFOLE9BQUE7QUFBMEQsU0FBQU8seUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFB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
108
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfaW5kZXgiLCJfd2hpY2giLCJfbG9nZ2VyIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfaGVscGVycyIsIl90ZWVuX3Byb2Nlc3MiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiU0lNQ1RMX0VOVl9QUkVGSVgiLCJERUZBVUxUX09QVFMiLCJ4Y3J1biIsInBhdGgiLCJleGVjVGltZW91dCIsIkRFRkFVTFRfRVhFQ19USU1FT1VUIiwibG9nRXJyb3JzIiwiU2ltY3RsIiwiY29uc3RydWN0b3IiLCJvcHRzIiwiXyIsImNsb25lRGVlcCIsImRlZmF1bHRzRGVlcCIsImtleXMiLCJfdWRpZCIsImlzTmlsIiwidWRpZCIsIl9kZXZpY2VzU2V0UGF0aCIsImRldmljZXNTZXRQYXRoIiwidmFsdWUiLCJyZXF1aXJlVWRpZCIsImNvbW1hbmROYW1lIiwiRXJyb3IiLCJyZXF1aXJlWGNydW4iLCJ4Y3J1bkJpbmFyeSIsImdldFhjcnVuQmluYXJ5Iiwid2hpY2giLCJlIiwiZXhlYyIsInN1YmNvbW1hbmQiLCJhcmdzIiwiZW52IiwiYXN5bmNocm9ub3VzIiwiZW5jb2RpbmciLCJhcmNoaXRlY3R1cmVzIiwiZGVmYXVsdHMiLCJtYXBLZXlzIiwic3RhcnRzV2l0aCIsInByb2Nlc3MiLCJleGVjT3B0cyIsInRpbWVvdXQiLCJleGVjQXJncyIsImlzRW1wdHkiLCJhcmNoQXJncyIsImZsYXRNYXAiLCJpc0FycmF5IiwibWFwIiwiYXJjaCIsIlN1YlByb2Nlc3MiLCJ0cEV4ZWMiLCJzdGRlcnIiLCJtc2ciLCJ0cmltIiwibG9nIiwiZGVidWciLCJMT0dfUFJFRklYIiwibWVzc2FnZSIsImV4cG9ydHMiLCJmbk5hbWUiLCJmbiIsInRvUGFpcnMiLCJzdWJjb21tYW5kcyIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vbGliL3NpbWN0bC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHN1YmNvbW1hbmRzIGZyb20gJy4vc3ViY29tbWFuZHMvaW5kZXguanMnO1xuaW1wb3J0IHdoaWNoIGZyb20gJ3doaWNoJztcbmltcG9ydCBsb2csIHsgTE9HX1BSRUZJWCB9IGZyb20gJy4vbG9nZ2VyJztcbmltcG9ydCB7XG4gIERFRkFVTFRfRVhFQ19USU1FT1VULCBnZXRYY3J1bkJpbmFyeSxcbn0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IGV4ZWMgYXMgdHBFeGVjLCBTdWJQcm9jZXNzIH0gZnJvbSAndGVlbl9wcm9jZXNzJztcblxuY29uc3QgU0lNQ1RMX0VOVl9QUkVGSVggPSAnU0lNQ1RMX0NISUxEXyc7XG5jb25zdCBERUZBVUxUX09QVFMgPSB7XG4gIHhjcnVuOiB7XG4gICAgcGF0aDogbnVsbCxcbiAgfSxcbiAgZXhlY1RpbWVvdXQ6IERFRkFVTFRfRVhFQ19USU1FT1VULFxuICBsb2dFcnJvcnM6IHRydWUsXG59O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEV4ZWNPcHRzXG4gKiBAcHJvcGVydHkge3N0cmluZ1tdfSBhcmdzIFtbXV0gLSBUaGUgbGlzdCBvZiBhZGRpdGlvbmFsIHN1YmNvbW1hbmQgYXJndW1lbnRzLlxuICogSXQncyBlbXB0eSBieSBkZWZhdWx0LlxuICogQHByb3BlcnR5IHtPYmplY3R9IGVudiBbe31dIC0gRW52aXJvbm1lbnQgdmFyaWFibGVzIG1hcHBpbmcuIEFsbCB0aGVzZSB2YXJpYWJsZXNcbiAqIHdpbGwgYmUgcGFzc2VkIFNpbXVsYXRvciBhbmQgdXNlZCBpbiB0aGUgZXhlY3V0aW5nIGZ1bmN0aW9uLlxuICogQHByb3BlcnR5IHtib29sZWFufSBsb2dFcnJvcnMgW3RydWVdIC0gU2V0IGl0IHRvIF9mYWxzZV8gdG8gdGhyb3cgZXhlY3V0aW9uIGVycm9yc1xuICogaW1tZWRpYXRlbHkgd2l0aG91dCBsb2dnaW5nIGFueSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLlxuICogQHByb3BlcnR5IHtib29sZWFufSBhc3luY2hyb25vdXMgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gZXhlY3V0ZSB0aGUgZ2l2ZW4gY29tbWFuZFxuICogJ3N5bmNocm9ub3VzbHknIG9yICdhc3luY2hyb25vdXNseScuIEFmZmVjdHMgdGhlIHJldHVybmVkIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb24uXG4gKiBAcHJvcGVydHkge3N0cmluZz99IGVuY29kaW5nIC0gRXhwbGljaXRseSBzZXRzIHN0cmVhbXMgZW5jb2RpbmcgZm9yIHRoZSBleGVjdXRlZFxuICogY29tbWFuZCBpbnB1dCBhbmQgb3V0cHV0cy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfHN0cmluZ1tdfSBhcmNoaXRlY3R1cmVzIC0gT25lIG9yIG1vcmUgYXJjaGl0ZWN0dXJlIG5hbWVzIHRvIGJlIGVuZm9yY2VkIHdoaWxlXG4gKiBleGVjdXRpbmcgeGNydW4uIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYXBwaXVtL2FwcGl1bS9pc3N1ZXMvMTg5NjYgZm9yIG1vcmUgZGV0YWlscy5cbiAqL1xuXG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gU2ltY3RsT3B0c1xuICogQHByb3BlcnR5IHtPYmplY3Q/fSB4Y3J1biAtIFRoZSB4Y3J1biBwcm9wZXJ0aWVzLiBDdXJyZW50bHkgb25seSBvbmUgcHJvcGVydHlcbiAqIGlzIHN1cHBvcnRlZCwgd2hpY2ggaXMgYHBhdGhgIGFuZCBpdCBieSBkZWZhdWx0IGNvbnRhaW5zIGBudWxsYCwgd2hpY2ggZW5mb3JjZXNcbiAqIHRoZSBpbnN0YW5jZSB0byBhdXRvbWF0aWNhbGx5IGRldGVjdCB0aGUgZnVsbCBwYXRoIHRvIGB4Y3J1bmAgdG9vbCBhbmQgdG8gdGhyb3dcbiAqIGFuIGV4Y2VwdGlvbiBpZiBpdCBjYW5ub3QgYmUgZGV0ZWN0ZWQuIElmIHRoZSBwYXRoIGlzIHNldCB1cG9uIGluc3RhbmNlIGNyZWF0aW9uXG4gKiB0aGVuIGl0IGlzIGdvaW5nIHRvIGJlIHVzZWQgYnkgYGV4ZWNgIGFuZCBubyBhdXRvZGV0ZWN0aW9uIHdpbGwgaGFwcGVuLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IGV4ZWNUaW1lb3V0IFs2MDAwMDBdIC0gVGhlIG1heGltdW0gbnVtYmVyIG9mIG1pbGxpc2Vjb25kc1xuICogdG8gd2FpdCBmb3Igc2luZ2xlIHN5bmNocm9ub3VzIHhjcnVuIGNvbW1hbmQuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGxvZ0Vycm9ycyBbdHJ1ZV0gLSBXaGV0aGVyIHRvIHdpcmUgeGNydW4gZXJyb3IgbWVzc2FnZXNcbiAqIGludG8gZGVidWcgbG9nIGJlZm9yZSB0aHJvd2luZyB0aGVtLlxuICogQHByb3BlcnR5IHtzdHJpbmc/fSB1ZGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBjdXJyZW50IGRldmljZSwgd2hpY2ggaXNcbiAqIGdvaW5nIHRvIGJlIGltcGxpY2l0bHkgcGFzc2VkIHRvIGFsbCBtZXRob2RzLCB3aGljaCByZXF1aXJlIGl0LiBJdCBjYW4gZWl0aGVyIGJlIHNldFxuICogdXBvbiBpbnN0YW5jZSBjcmVhdGlvbiBpZiBpdCBpcyBhbHJlYWR5IGtub3duIGluIGFkdmFuY2Ugb3IgbGF0ZXIgd2hlbi9pZiBuZWVkZWQgdmlhIHRoZVxuICogY29ycmVzcG9uZGluZyBpbnN0YW5jZSBzZXR0ZXIuXG4gKiBAcHJvcGVydHkge3N0cmluZz99IGRldmljZXNTZXRQYXRoIC0gRnVsbCBwYXRoIHRvIHRoZSBzZXQgb2YgZGV2aWNlcyB0aGF0IHlvdSB3YW50IHRvIG1hbmFnZS5cbiAqIEJ5IGRlZmF1bHQgdGhpcyBwYXRoIHVzdWFsbHkgZXF1YWxzIHRvIH4vTGlicmFyeS9EZXZlbG9wZXIvQ29yZVNpbXVsYXRvci9EZXZpY2VzXG4gKi9cblxuXG5jbGFzcyBTaW1jdGwge1xuICAvKipcbiAgICogQHBhcmFtIHtTaW1jdGxPcHRzfSBvcHRzXG4gICAqL1xuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgb3B0cyA9IF8uY2xvbmVEZWVwKG9wdHMpO1xuICAgIF8uZGVmYXVsdHNEZWVwKG9wdHMsIERFRkFVTFRfT1BUUyk7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgXy5rZXlzKERFRkFVTFRfT1BUUykpIHtcbiAgICAgIHRoaXNba2V5XSA9IG9wdHNba2V5XTtcbiAgICB9XG4gICAgdGhpcy5fdWRpZCA9IF8uaXNOaWwob3B0cy51ZGlkKSA/IG51bGwgOiBvcHRzLnVkaWQ7XG4gICAgdGhpcy5fZGV2aWNlc1NldFBhdGggPSBfLmlzTmlsKG9wdHMuZGV2aWNlc1NldFBhdGgpID8gbnVsbCA6IG9wdHMuZGV2aWNlc1NldFBhdGg7XG4gIH1cblxuICBzZXQgdWRpZCAodmFsdWUpIHtcbiAgICB0aGlzLl91ZGlkID0gdmFsdWU7XG4gIH1cblxuICBnZXQgdWRpZCAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3VkaWQ7XG4gIH1cblxuICBzZXQgZGV2aWNlc1NldFBhdGggKHZhbHVlKSB7XG4gICAgdGhpcy5fZGV2aWNlc1NldFBhdGggPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBkZXZpY2VzU2V0UGF0aCAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RldmljZXNTZXRQYXRoO1xuICB9XG5cbiAgcmVxdWlyZVVkaWQgKGNvbW1hbmROYW1lID0gbnVsbCkge1xuICAgIGlmICghdGhpcy51ZGlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHVkaWQgaXMgcmVxdWlyZWQgdG8gYmUgc2V0IGZvciBgICtcbiAgICAgICAgKGNvbW1hbmROYW1lID8gYHRoZSAnJHtjb21tYW5kTmFtZX0nIGNvbW1hbmRgIDogJ3RoaXMgc2ltY3RsIGNvbW1hbmQnKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnVkaWQ7XG4gIH1cblxuICBhc3luYyByZXF1aXJlWGNydW4gKCkge1xuICAgIGNvbnN0IHhjcnVuQmluYXJ5ID0gZ2V0WGNydW5CaW5hcnkoKTtcblxuICAgIGlmICghdGhpcy54Y3J1bi5wYXRoKSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLnhjcnVuLnBhdGggPSBhd2FpdCB3aGljaCh4Y3J1bkJpbmFyeSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHt4Y3J1bkJpbmFyeX0gdG9vbCBoYXMgbm90IGJlZW4gZm91bmQgaW4gUEFUSC4gYCArXG4gICAgICAgICAgYEFyZSBYY29kZSBkZXZlbG9wZXJzIHRvb2xzIGluc3RhbGxlZD9gKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMueGNydW4ucGF0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlIHRoZSBwYXJ0aWN1bGFyIHNpbWN0bCBjb21tYW5kLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3ViY29tbWFuZCAtIE9uZSBvZiBhdmFpbGFibGUgc2ltY3RsIHN1YmNvbW1hbmRzLlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4ZWN1dGUgYHhjcnVuIHNpbWN0bGAgaW4gVGVybWluYWwgdG8gc2VlIHRoZSBmdWxsIGxpc3RcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBhdmFpbGFibGUgc3ViY29tbWFuZHMuXG4gICAqIEBwYXJhbSB7RXhlY09wdHM/fSBvcHRzXG4gICAqIEByZXR1cm4ge1Byb21pc2U8RXhlY1Jlc3VsdHxTdWJQcm9jZXNzPn0gRWl0aGVyIHRoZSByZXN1bHQgb2YgdGVlbiBwcm9jZXNzJ3MgYGV4ZWNgIG9yXG4gICAqIGBTdWJQcm9jZXNzYCBpbnN0YW5jZSBkZXBlbmRpbmcgb2YgYG9wdHMuYXN5bmNocm9ub3VzYCB2YWx1ZS5cbiAgICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kIHJldHVybnMgbm9uLXplcm8gcmV0dXJuIGNvZGUuXG4gICAqL1xuICBhc3luYyBleGVjIChzdWJjb21tYW5kLCBvcHRzID0ge30pIHtcbiAgICBsZXQge1xuICAgICAgYXJncyA9IFtdLFxuICAgICAgZW52ID0ge30sXG4gICAgICBhc3luY2hyb25vdXMgPSBmYWxzZSxcbiAgICAgIGVuY29kaW5nLFxuICAgICAgbG9nRXJyb3JzID0gdHJ1ZSxcbiAgICAgIGFyY2hpdGVjdHVyZXMsXG4gICAgfSA9IG9wdHM7XG4gICAgLy8gcnVuIGEgcGFydGljdWxhciBzaW1jdGwgY29tbWFuZFxuICAgIGFyZ3MgPSBbJ3NpbWN0bCcsXG4gICAgICAuLi4odGhpcy5kZXZpY2VzU2V0UGF0aCA/IFsnLS1zZXQnLCB0aGlzLmRldmljZXNTZXRQYXRoXSA6IFtdKSxcbiAgICAgIHN1YmNvbW1hbmQsXG4gICAgICAuLi5hcmdzXG4gICAgXTtcbiAgICAvLyBQcmVmaXggYWxsIHBhc3NlZCBpbiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgd2l0aCAnU0lNQ1RMX0NISUxEXycsIHNpbWN0bFxuICAgIC8vIHdpbGwgdGhlbiBwYXNzIHRoZXNlIHRvIHRoZSBjaGlsZCAoc3Bhd25lZCkgcHJvY2Vzcy5cbiAgICBlbnYgPSBfLmRlZmF1bHRzKFxuICAgICAgXy5tYXBLZXlzKGVudixcbiAgICAgICAgKHZhbHVlLCBrZXkpID0+IF8uc3RhcnRzV2l0aChrZXksIFNJTUNUTF9FTlZfUFJFRklYKSA/IGtleSA6IGAke1NJTUNUTF9FTlZfUFJFRklYfSR7a2V5fWApLFxuICAgICAgcHJvY2Vzcy5lbnYpO1xuXG4gICAgY29uc3QgZXhlY09wdHMgPSB7XG4gICAgICBlbnYsXG4gICAgICBlbmNvZGluZyxcbiAgICB9O1xuICAgIGlmICghYXN5bmNocm9ub3VzKSB7XG4gICAgICBleGVjT3B0cy50aW1lb3V0ID0gdGhpcy5leGVjVGltZW91dDtcbiAgICB9XG4gICAgY29uc3QgeGNydW4gPSBhd2FpdCB0aGlzLnJlcXVpcmVYY3J1bigpO1xuICAgIHRyeSB7XG4gICAgICBsZXQgZXhlY0FyZ3MgPSBbeGNydW4sIGFyZ3MsIGV4ZWNPcHRzXTtcbiAgICAgIGlmICghXy5pc0VtcHR5KGFyY2hpdGVjdHVyZXMpKSB7XG4gICAgICAgIGNvbnN0IGFyY2hBcmdzID0gXy5mbGF0TWFwKFxuICAgICAgICAgIChfLmlzQXJyYXkoYXJjaGl0ZWN0dXJlcykgPyBhcmNoaXRlY3R1cmVzIDogW2FyY2hpdGVjdHVyZXNdKS5tYXAoKGFyY2gpID0+IFsnLWFyY2gnLCBhcmNoXSlcbiAgICAgICAgKTtcbiAgICAgICAgZXhlY0FyZ3MgPSBbJ2FyY2gnLCAuLi5hcmNoQXJncywgLi4uZXhlY0FyZ3NdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFzeW5jaHJvbm91cyA/IG5ldyBTdWJQcm9jZXNzKC4uLmV4ZWNBcmdzKSA6IGF3YWl0IHRwRXhlYyguLi5leGVjQXJncyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKCF0aGlzLmxvZ0Vycm9ycyB8fCAhbG9nRXJyb3JzKSB7XG4gICAgICAgIC8vIGlmIHdlIGRvbid0IHdhbnQgdG8gc2VlIHRoZSBlcnJvcnMsIGp1c3QgdGhyb3cgYW5kIGFsbG93IHRoZSBjYWxsaW5nXG4gICAgICAgIC8vIGNvZGUgZG8gd2hhdCBpdCB3YW50c1xuICAgICAgfSBlbHNlIGlmIChlLnN0ZGVycikge1xuICAgICAgICBjb25zdCBtc2cgPSBgRXJyb3IgcnVubmluZyAnJHtzdWJjb21tYW5kfSc6ICR7ZS5zdGRlcnIudHJpbSgpfWA7XG4gICAgICAgIGxvZy5kZWJ1ZyhMT0dfUFJFRklYLCBtc2cpO1xuICAgICAgICBlLm1lc3NhZ2UgPSBtc2c7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsb2cuZGVidWcoTE9HX1BSRUZJWCwgZS5tZXNzYWdlKTtcbiAgICAgIH1cbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG59XG5cblxuLy8gYWRkIGFsbCB0aGUgc3ViY29tbWFuZHMgdG8gdGhlIFNpbWN0bCBwcm90b3R5cGVcbmZvciAoY29uc3QgW2ZuTmFtZSwgZm5dIG9mIF8udG9QYWlycyhzdWJjb21tYW5kcykpIHtcbiAgU2ltY3RsLnByb3RvdHlwZVtmbk5hbWVdID0gZm47XG59XG5cbmV4cG9ydCBkZWZhdWx0IFNpbWN0bDtcbmV4cG9ydCB7IFNpbWN0bCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLE9BQUEsR0FBQUMsdUJBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLFFBQUEsR0FBQUwsT0FBQTtBQUdBLElBQUFNLGFBQUEsR0FBQU4sT0FBQTtBQUEwRCxTQUFBTyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBSix3QkFBQVEsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLG9CQUFBQSxHQUFBLHdCQUFBQSxHQUFBLDRCQUFBRSxPQUFBLEVBQUFGLEdBQUEsVUFBQUcsS0FBQSxHQUFBUix3QkFBQSxDQUFBQyxXQUFBLE9BQUFPLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFKLEdBQUEsWUFBQUcsS0FBQSxDQUFBRSxHQUFBLENBQUFMLEdBQUEsU0FBQU0sTUFBQSxXQUFB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
@@ -1 +1 @@
1
- {"version":3,"file":"simctl.js","names":["_lodash","_interopRequireDefault","require","_index","_which","_logger","_interopRequireWildcard","_helpers","_teen_process","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SIMCTL_ENV_PREFIX","DEFAULT_OPTS","xcrun","path","execTimeout","DEFAULT_EXEC_TIMEOUT","logErrors","Simctl","constructor","opts","_","cloneDeep","defaultsDeep","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","exports","fnName","fn","toPairs","subcommands","_default"],"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":["_lodash","_interopRequireDefault","require","_index","_which","_logger","_interopRequireWildcard","_helpers","_teen_process","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SIMCTL_ENV_PREFIX","DEFAULT_OPTS","xcrun","path","execTimeout","DEFAULT_EXEC_TIMEOUT","logErrors","Simctl","constructor","opts","_","cloneDeep","defaultsDeep","keys","_udid","isNil","udid","_devicesSetPath","devicesSetPath","value","requireUdid","commandName","Error","requireXcrun","xcrunBinary","getXcrunBinary","which","e","exec","subcommand","args","env","asynchronous","encoding","architectures","defaults","mapKeys","startsWith","process","execOpts","timeout","execArgs","isEmpty","archArgs","flatMap","isArray","map","arch","SubProcess","tpExec","stderr","msg","trim","log","debug","LOG_PREFIX","message","exports","fnName","fn","toPairs","subcommands","_default"],"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 {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 * @property {string|string[]} architectures - One or more architecture names to be enforced while\n * executing xcrun. See https://github.com/appium/appium/issues/18966 for more details.\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 - 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 {Promise<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 architectures,\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 let execArgs = [xcrun, args, execOpts];\n if (!_.isEmpty(architectures)) {\n const archArgs = _.flatMap(\n (_.isArray(architectures) ? architectures : [architectures]).map((arch) => ['-arch', arch])\n );\n execArgs = ['arch', ...archArgs, ...execArgs];\n }\n return asynchronous ? new SubProcess(...execArgs) : await tpExec(...execArgs);\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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"}
@@ -13,4 +13,4 @@ commands.addMedia = async function addMedia(filePath) {
13
13
  };
14
14
  var _default = commands;
15
15
  exports.default = _default;
16
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImFkZE1lZGlhIiwiZmlsZVBhdGgiLCJleGVjIiwiYXJncyIsInJlcXVpcmVVZGlkIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdWJjb21tYW5kcy9hZGRtZWRpYS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIEFkZCB0aGUgcGFydGljdWxhciBtZWRpYSBmaWxlIHRvIFNpbXVsYXRvcidzIGxpYnJhcnkuXG4gKiBJdCBpcyByZXF1aXJlZCB0aGF0IFNpbXVsYXRvciBpcyBpbiBfYm9vdGVkXyBzdGF0ZS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gZmlsZVBhdGggLSBGdWxsIHBhdGggdG8gYSBtZWRpYSBmaWxlIG9uIHRoZSBsb2NhbFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZSBzeXN0ZW0uXG4gKiBAcmV0dXJuIHtFeGVjUmVzdWx0fSBDb21tYW5kIGV4ZWN1dGlvbiByZXN1bHQuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGNvcnJlc3BvbmRpbmcgc2ltY3RsIHN1YmNvbW1hbmQgY29tbWFuZFxuICogICAgICAgICAgICAgICAgIHJldHVybnMgbm9uLXplcm8gcmV0dXJuIGNvZGUuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGB1ZGlkYCBpbnN0YW5jZSBwcm9wZXJ0eSBpcyB1bnNldFxuICovXG5jb21tYW5kcy5hZGRNZWRpYSA9IGFzeW5jIGZ1bmN0aW9uIGFkZE1lZGlhIChmaWxlUGF0aCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy5leGVjKCdhZGRtZWRpYScsIHtcbiAgICBhcmdzOiBbdGhpcy5yZXF1aXJlVWRpZCgnYWRkbWVkaWEnKSwgZmlsZVBhdGhdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsTUFBTUEsUUFBUSxHQUFHLENBQUMsQ0FBQztBQWFuQkEsUUFBUSxDQUFDQyxRQUFRLEdBQUcsZUFBZUEsUUFBUUEsQ0FBRUMsUUFBUSxFQUFFO0VBQ3JELE9BQU8sTUFBTSxJQUFJLENBQUNDLElBQUksQ0FBQyxVQUFVLEVBQUU7SUFDakNDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQ0MsV0FBVyxDQUFDLFVBQVUsQ0FBQyxFQUFFSCxRQUFRO0VBQy9DLENBQUMsQ0FBQztBQUNKLENBQUM7QUFBQyxJQUFBSSxRQUFBLEdBRWFOLFFBQVE7QUFBQU8sT0FBQSxDQUFBQyxPQUFBLEdBQUFGLFFBQUEifQ==
16
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImFkZE1lZGlhIiwiZmlsZVBhdGgiLCJleGVjIiwiYXJncyIsInJlcXVpcmVVZGlkIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdWJjb21tYW5kcy9hZGRtZWRpYS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIEFkZCB0aGUgcGFydGljdWxhciBtZWRpYSBmaWxlIHRvIFNpbXVsYXRvcidzIGxpYnJhcnkuXG4gKiBJdCBpcyByZXF1aXJlZCB0aGF0IFNpbXVsYXRvciBpcyBpbiBfYm9vdGVkXyBzdGF0ZS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gZmlsZVBhdGggLSBGdWxsIHBhdGggdG8gYSBtZWRpYSBmaWxlIG9uIHRoZSBsb2NhbFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZSBzeXN0ZW0uXG4gKiBAcmV0dXJuIHtQcm9taXNlPEV4ZWNSZXN1bHQ+fSBDb21tYW5kIGV4ZWN1dGlvbiByZXN1bHQuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGNvcnJlc3BvbmRpbmcgc2ltY3RsIHN1YmNvbW1hbmQgY29tbWFuZFxuICogICAgICAgICAgICAgICAgIHJldHVybnMgbm9uLXplcm8gcmV0dXJuIGNvZGUuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGB1ZGlkYCBpbnN0YW5jZSBwcm9wZXJ0eSBpcyB1bnNldFxuICovXG5jb21tYW5kcy5hZGRNZWRpYSA9IGFzeW5jIGZ1bmN0aW9uIGFkZE1lZGlhIChmaWxlUGF0aCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy5leGVjKCdhZGRtZWRpYScsIHtcbiAgICBhcmdzOiBbdGhpcy5yZXF1aXJlVWRpZCgnYWRkbWVkaWEnKSwgZmlsZVBhdGhdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsTUFBTUEsUUFBUSxHQUFHLENBQUMsQ0FBQztBQWFuQkEsUUFBUSxDQUFDQyxRQUFRLEdBQUcsZUFBZUEsUUFBUUEsQ0FBRUMsUUFBUSxFQUFFO0VBQ3JELE9BQU8sTUFBTSxJQUFJLENBQUNDLElBQUksQ0FBQyxVQUFVLEVBQUU7SUFDakNDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQ0MsV0FBVyxDQUFDLFVBQVUsQ0FBQyxFQUFFSCxRQUFRO0VBQy9DLENBQUMsQ0FBQztBQUNKLENBQUM7QUFBQyxJQUFBSSxRQUFBLEdBRWFOLFFBQVE7QUFBQU8sT0FBQSxDQUFBQyxPQUFBLEdBQUFGLFFBQUEifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"addmedia.js","names":["commands","addMedia","filePath","exec","args","requireUdid","_default","exports","default"],"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,QAAQA,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,IAAAI,QAAA,GAEaN,QAAQ;AAAAO,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"file":"addmedia.js","names":["commands","addMedia","filePath","exec","args","requireUdid","_default","exports","default"],"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 {Promise<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,QAAQA,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,IAAAI,QAAA,GAEaN,QAAQ;AAAAO,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -16,4 +16,4 @@ commands.appInfo = async function appInfo(bundleId) {
16
16
  };
17
17
  var _default = commands;
18
18
  exports.default = _default;
19
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImFwcEluZm8iLCJidW5kbGVJZCIsInN0ZG91dCIsImV4ZWMiLCJhcmdzIiwicmVxdWlyZVVkaWQiLCJ0cmltIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdWJjb21tYW5kcy9hcHBpbmZvLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8qKlxuICogSW52b2tlIGhpZGRlbiBhcHBpbmZvIHN1YmNvbW1hbmQgdG8gZ2V0IHRoZSBpbmZvcm1hdGlvblxuICogYWJvdXQgYXBwbGljYXRpb25zIGluc3RhbGxlZCBvbiBTaW11bGF0b3IsIGluY2x1ZGluZ1xuICogc3lzdGVtIGFwcGxpY2F0aW9ucyAoe0BsaW5rIGdldEFwcENvbnRhaW5lcn0gZG9lcyBub3QgXCJzZWVcIiBzdWNoIGFwcHMpLlxuICogU2ltdWxhdG9yIHNlcnZlciBzaG91bGQgYmUgaW4gJ2Jvb3RlZCcgc3RhdGUgZm9yIHRoaXMgY2FsbCB0byB3b3JrIHByb3Blcmx5LlxuICogVGhlIHRvb2wgaXMgb25seSBhdmFpbGFibGUgc2luY2UgWGNvZGUgU0RLIDguMVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBidW5kbGVJZCAtIFRoZSBidW5kbGUgaWRlbnRpZmllciBvZiB0aGUgdGFyZ2V0IGFwcGxpY2F0aW9uLlxuICogQHJldHVybiB7c3RyaW5nfSBUaGUgaW5mb3JtYXRpb24gYWJvdXQgaW5zdGFsbGVkIGFwcGxpY2F0aW9uLlxuICpcbiAqIEV4YW1wbGUgb3V0cHV0IGZvciBub24tZXhpc3RpbmcgYXBwbGljYXRpb24gY29udGFpbmVyOlxuICogPHByZT5cbiAqIHtcbiAqICAgQ0ZCdW5kbGVJZGVudGlmaWVyID0gXCJjb20uYXBwbGUuTW9iaWxlU2FmYXJpXCI7XG4gKiAgIEdyb3VwQ29udGFpbmVycyA9ICAgICB7XG4gKiAgIH07XG4gKiAgIFNCQXBwVGFncyA9ICAgICAoXG4gKiAgICk7XG4gKiB9XG4gKiA8L3ByZT5cbiAqXG4gKiBFeGFtcGxlIG91dHB1dCBmb3IgYW4gZXhpc3Rpbmcgc3lzdGVtIGFwcGxpY2F0aW9uIGNvbnRhaW5lcjpcbiAqIDxwcmU+XG4gKiB7XG4gKiAgIEFwcGxpY2F0aW9uVHlwZSA9IEhpZGRlbjtcbiAqICAgQnVuZGxlID0gXCJmaWxlOi8vL0FwcGxpY2F0aW9ucy9YY29kZS1iZXRhLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL2lQaG9uZU9TLnBsYXRmb3JtL0RldmVsb3Blci9MaWJyYXJ5L0NvcmVTaW11bGF0b3IvUHJvZmlsZXMvUnVudGltZXMvaU9TLnNpbXJ1bnRpbWUvQ29udGVudHMvUmVzb3VyY2VzL1J1bnRpbWVSb290L1N5c3RlbS9MaWJyYXJ5L0NvcmVTZXJ2aWNlcy9TcHJpbmdCb2FyZC5hcHBcIjtcbiAqICAgQ0ZCdW5kbGVEaXNwbGF5TmFtZSA9IFNwcmluZ0JvYXJkO1xuICogICBDRkJ1bmRsZUV4ZWN1dGFibGUgPSBTcHJpbmdCb2FyZDtcbiAqICAgQ0ZCdW5kbGVJZGVudGlmaWVyID0gXCJjb20uYXBwbGUuc3ByaW5nYm9hcmRcIjtcbiAqICAgQ0ZCdW5kbGVOYW1lID0gU3ByaW5nQm9hcmQ7XG4gKiAgIENGQnVuZGxlVmVyc2lvbiA9IDUwO1xuICogICBHcm91cENvbnRhaW5lcnMgPSAgICAge1xuICogICB9O1xuICogICBQYXRoID0gXCIvQXBwbGljYXRpb25zL1hjb2RlLWJldGEuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvaVBob25lT1MucGxhdGZvcm0vRGV2ZWxvcGVyL0xpYnJhcnkvQ29yZVNpbXVsYXRvci9Qcm9maWxlcy9SdW50aW1lcy9pT1Muc2ltcnVudGltZS9Db250ZW50cy9SZXNvdXJjZXMvUnVudGltZVJvb3QvU3lzdGVtL0xpYnJhcnkvQ29yZVNlcnZpY2VzL1NwcmluZ0JvYXJkLmFwcFwiO1xuICogICBTQkFwcFRhZ3MgPSAgICAgKFxuICogICApO1xuICogfVxuICogPC9wcmU+XG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGB1ZGlkYCBpbnN0YW5jZSBwcm9wZXJ0eSBpcyB1bnNldFxuICovXG5jb21tYW5kcy5hcHBJbmZvID0gYXN5bmMgZnVuY3Rpb24gYXBwSW5mbyAoYnVuZGxlSWQpIHtcbiAgY29uc3Qge3N0ZG91dH0gPSBhd2FpdCB0aGlzLmV4ZWMoJ2FwcGluZm8nLCB7XG4gICAgYXJnczogW3RoaXMucmVxdWlyZVVkaWQoJ2FwcGluZm8nKSwgYnVuZGxlSWRdLFxuICB9KTtcbiAgcmV0dXJuIChzdGRvdXQgfHwgJycpLnRyaW0oKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsTUFBTUEsUUFBUSxHQUFHLENBQUMsQ0FBQztBQTBDbkJBLFFBQVEsQ0FBQ0MsT0FBTyxHQUFHLGVBQWVBLE9BQU9BLENBQUVDLFFBQVEsRUFBRTtFQUNuRCxNQUFNO0lBQUNDO0VBQU0sQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDQyxJQUFJLENBQUMsU0FBUyxFQUFFO0lBQzFDQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUNDLFdBQVcsQ0FBQyxTQUFTLENBQUMsRUFBRUosUUFBUTtFQUM5QyxDQUFDLENBQUM7RUFDRixPQUFPLENBQUNDLE1BQU0sSUFBSSxFQUFFLEVBQUVJLElBQUksQ0FBQyxDQUFDO0FBQzlCLENBQUM7QUFBQyxJQUFBQyxRQUFBLEdBRWFSLFFBQVE7QUFBQVMsT0FBQSxDQUFBQyxPQUFBLEdBQUFGLFFBQUEifQ==
19
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImFwcEluZm8iLCJidW5kbGVJZCIsInN0ZG91dCIsImV4ZWMiLCJhcmdzIiwicmVxdWlyZVVkaWQiLCJ0cmltIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdWJjb21tYW5kcy9hcHBpbmZvLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8qKlxuICogSW52b2tlIGhpZGRlbiBhcHBpbmZvIHN1YmNvbW1hbmQgdG8gZ2V0IHRoZSBpbmZvcm1hdGlvblxuICogYWJvdXQgYXBwbGljYXRpb25zIGluc3RhbGxlZCBvbiBTaW11bGF0b3IsIGluY2x1ZGluZ1xuICogc3lzdGVtIGFwcGxpY2F0aW9ucyAoe0BsaW5rIGdldEFwcENvbnRhaW5lcn0gZG9lcyBub3QgXCJzZWVcIiBzdWNoIGFwcHMpLlxuICogU2ltdWxhdG9yIHNlcnZlciBzaG91bGQgYmUgaW4gJ2Jvb3RlZCcgc3RhdGUgZm9yIHRoaXMgY2FsbCB0byB3b3JrIHByb3Blcmx5LlxuICogVGhlIHRvb2wgaXMgb25seSBhdmFpbGFibGUgc2luY2UgWGNvZGUgU0RLIDguMVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBidW5kbGVJZCAtIFRoZSBidW5kbGUgaWRlbnRpZmllciBvZiB0aGUgdGFyZ2V0IGFwcGxpY2F0aW9uLlxuICogQHJldHVybiB7UHJvbWlzZTxzdHJpbmc+fSBUaGUgaW5mb3JtYXRpb24gYWJvdXQgaW5zdGFsbGVkIGFwcGxpY2F0aW9uLlxuICpcbiAqIEV4YW1wbGUgb3V0cHV0IGZvciBub24tZXhpc3RpbmcgYXBwbGljYXRpb24gY29udGFpbmVyOlxuICogPHByZT5cbiAqIHtcbiAqICAgQ0ZCdW5kbGVJZGVudGlmaWVyID0gXCJjb20uYXBwbGUuTW9iaWxlU2FmYXJpXCI7XG4gKiAgIEdyb3VwQ29udGFpbmVycyA9ICAgICB7XG4gKiAgIH07XG4gKiAgIFNCQXBwVGFncyA9ICAgICAoXG4gKiAgICk7XG4gKiB9XG4gKiA8L3ByZT5cbiAqXG4gKiBFeGFtcGxlIG91dHB1dCBmb3IgYW4gZXhpc3Rpbmcgc3lzdGVtIGFwcGxpY2F0aW9uIGNvbnRhaW5lcjpcbiAqIDxwcmU+XG4gKiB7XG4gKiAgIEFwcGxpY2F0aW9uVHlwZSA9IEhpZGRlbjtcbiAqICAgQnVuZGxlID0gXCJmaWxlOi8vL0FwcGxpY2F0aW9ucy9YY29kZS1iZXRhLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL2lQaG9uZU9TLnBsYXRmb3JtL0RldmVsb3Blci9MaWJyYXJ5L0NvcmVTaW11bGF0b3IvUHJvZmlsZXMvUnVudGltZXMvaU9TLnNpbXJ1bnRpbWUvQ29udGVudHMvUmVzb3VyY2VzL1J1bnRpbWVSb290L1N5c3RlbS9MaWJyYXJ5L0NvcmVTZXJ2aWNlcy9TcHJpbmdCb2FyZC5hcHBcIjtcbiAqICAgQ0ZCdW5kbGVEaXNwbGF5TmFtZSA9IFNwcmluZ0JvYXJkO1xuICogICBDRkJ1bmRsZUV4ZWN1dGFibGUgPSBTcHJpbmdCb2FyZDtcbiAqICAgQ0ZCdW5kbGVJZGVudGlmaWVyID0gXCJjb20uYXBwbGUuc3ByaW5nYm9hcmRcIjtcbiAqICAgQ0ZCdW5kbGVOYW1lID0gU3ByaW5nQm9hcmQ7XG4gKiAgIENGQnVuZGxlVmVyc2lvbiA9IDUwO1xuICogICBHcm91cENvbnRhaW5lcnMgPSAgICAge1xuICogICB9O1xuICogICBQYXRoID0gXCIvQXBwbGljYXRpb25zL1hjb2RlLWJldGEuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvaVBob25lT1MucGxhdGZvcm0vRGV2ZWxvcGVyL0xpYnJhcnkvQ29yZVNpbXVsYXRvci9Qcm9maWxlcy9SdW50aW1lcy9pT1Muc2ltcnVudGltZS9Db250ZW50cy9SZXNvdXJjZXMvUnVudGltZVJvb3QvU3lzdGVtL0xpYnJhcnkvQ29yZVNlcnZpY2VzL1NwcmluZ0JvYXJkLmFwcFwiO1xuICogICBTQkFwcFRhZ3MgPSAgICAgKFxuICogICApO1xuICogfVxuICogPC9wcmU+XG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGB1ZGlkYCBpbnN0YW5jZSBwcm9wZXJ0eSBpcyB1bnNldFxuICovXG5jb21tYW5kcy5hcHBJbmZvID0gYXN5bmMgZnVuY3Rpb24gYXBwSW5mbyAoYnVuZGxlSWQpIHtcbiAgY29uc3Qge3N0ZG91dH0gPSBhd2FpdCB0aGlzLmV4ZWMoJ2FwcGluZm8nLCB7XG4gICAgYXJnczogW3RoaXMucmVxdWlyZVVkaWQoJ2FwcGluZm8nKSwgYnVuZGxlSWRdLFxuICB9KTtcbiAgcmV0dXJuIChzdGRvdXQgfHwgJycpLnRyaW0oKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsTUFBTUEsUUFBUSxHQUFHLENBQUMsQ0FBQztBQTBDbkJBLFFBQVEsQ0FBQ0MsT0FBTyxHQUFHLGVBQWVBLE9BQU9BLENBQUVDLFFBQVEsRUFBRTtFQUNuRCxNQUFNO0lBQUNDO0VBQU0sQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDQyxJQUFJLENBQUMsU0FBUyxFQUFFO0lBQzFDQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUNDLFdBQVcsQ0FBQyxTQUFTLENBQUMsRUFBRUosUUFBUTtFQUM5QyxDQUFDLENBQUM7RUFDRixPQUFPLENBQUNDLE1BQU0sSUFBSSxFQUFFLEVBQUVJLElBQUksQ0FBQyxDQUFDO0FBQzlCLENBQUM7QUFBQyxJQUFBQyxRQUFBLEdBRWFSLFFBQVE7QUFBQVMsT0FBQSxDQUFBQyxPQUFBLEdBQUFGLFFBQUEifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"appinfo.js","names":["commands","appInfo","bundleId","stdout","exec","args","requireUdid","trim","_default","exports","default"],"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,OAAOA,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,CAAC,CAAC;AAC9B,CAAC;AAAC,IAAAC,QAAA,GAEaR,QAAQ;AAAAS,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"file":"appinfo.js","names":["commands","appInfo","bundleId","stdout","exec","args","requireUdid","trim","_default","exports","default"],"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 {Promise<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,OAAOA,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,CAAC,CAAC;AAC9B,CAAC;AAAC,IAAAC,QAAA,GAEaR,QAAQ;AAAAS,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -92,4 +92,4 @@ commands.startBootMonitor = async function startBootMonitor(opts = {}) {
92
92
  };
93
93
  var _default = commands;
94
94
  exports.default = _default;
95
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9nZ2VyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfYXN5bmNib3giLCJjb21tYW5kcyIsInN0YXJ0Qm9vdE1vbml0b3IiLCJvcHRzIiwidGltZW91dCIsIm9uV2FpdGluZ0RhdGFNaWdyYXRpb24iLCJvbldhaXRpbmdTeXN0ZW1BcHAiLCJvbkZpbmlzaGVkIiwib25FcnJvciIsInNob3VsZFByZWJvb3QiLCJ1ZGlkIiwicmVxdWlyZVVkaWQiLCJzdGF0dXMiLCJpc0Jvb3RpbmdGaW5pc2hlZCIsImVycm9yIiwidGltZW91dEhhbmRsZXIiLCJhcmdzIiwicHVzaCIsImJvb3RNb25pdG9yIiwiZXhlYyIsImFzeW5jaHJvbm91cyIsIm9uIiwic3Rkb3V0Iiwic3RkZXJyIiwiaW5jbHVkZXMiLCJjb2RlIiwic2lnbmFsIiwiY2xlYXJUaW1lb3V0IiwiRXJyb3IiLCJzdGFydCIsInN0b3BNb25pdG9yIiwiaXNSdW5uaW5nIiwic3RvcCIsImUiLCJsb2ciLCJ3YXJuIiwibWVzc2FnZSIsInByb2Nlc3MiLCJocnRpbWUiLCJzZXRUaW1lb3V0Iiwid2FpdEZvckNvbmRpdGlvbiIsIndhaXRNcyIsImludGVydmFsTXMiLCJlcnIiLCJzZWNvbmRzIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdWJjb21tYW5kcy9ib290c3RhdHVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCB7IHdhaXRGb3JDb25kaXRpb24gfSBmcm9tICdhc3luY2JveCc7XG5cblxuY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBCb290TW9uaXRvck9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7P251bWJlcn0gdGltZW91dCBbMjQwMDAwXSAtIFNpbXVsYXRvciBib290aW5nIHRpbWVvdXQgaW4gbXMuXG4gKiBAcHJvcGVydHkgez9GdW5jdGlvbn0gb25XYWl0aW5nRGF0YU1pZ3JhdGlvbiAtIFRoaXMgZXZlbnQgaXMgZmlyZWQgd2hlbiBkYXRhIG1pZ3JhdGlvbiBzdGFnZSBzdGFydHMuXG4gKiBAcHJvcGVydHkgez9GdW5jdGlvbn0gb25XYWl0aW5nU3lzdGVtQXBwIC0gVGhpcyBldmVudCBpcyBmaXJlZCB3aGVuIHN5c3RlbSBhcHAgd2FpdCBzdGFnZSBzdGFydHMuXG4gKiBAcHJvcGVydHkgez9GdW5jdGlvbn0gb25GaW5pc2hlZCAtIFRoaXMgZXZlbnQgaXMgZmlyZWQgd2hlbiBTaW11bGF0b3IgaXMgZnVsbHkgYm9vdGVkLlxuICogQHByb3BlcnR5IHs/RnVuY3Rpb259IG9uRXJyb3IgLSBUaGlzIGV2ZW50IGlzIGZpcmVkIHdoZW4gdGhlcmUgd2FzIGFuIGVycm9yIHdoaWxlIG1vbml0b3JpbmcgdGhlIGJvb3RpbmcgcHJvY2Vzc1xuICogb3Igd2hlbiB0aGUgdGltZW91dCBoYXMgZXhwaXJlZC5cbiAqIEBwcm9wZXJ0eSB7P2Jvb2xlYW59IHNob3VsZFByZWJvb3QgW2ZhbHNlXSBXaGV0aGVyIHRvIHByZWJvb3QgdGhlIFNpbXVsYXRvclxuICogaWYgdGhpcyBjb21tYW5kIGlzIGNhbGxlZCBhbmQgaXQgaXMgbm90IGFscmVhZHkgaW4gYm9vdGVkIG9yIGJvb3Rpbmcgc3RhdGUuXG4gKi9cblxuLyoqXG4gKiBTdGFydCBtb25pdG9yaW5nIGZvciBib290IHN0YXR1cyBvZiB0aGUgcGFydGljdWxhciBTaW11bGF0b3IuXG4gKiBJZiBvbkZpbmlzaGVkIHByb3BlcnR5IGlzIG5vdCBzZXQgdGhlbiB0aGUgbWV0aG9kIHdpbGwgYmxvY2tcbiAqIHVudGlsIFNpbXVsYXRvciBib290aW5nIGlzIGNvbXBsZXRlZC5cbiAqIFRoZSBtZXRob2QgaXMgb25seSBhdmFpbGFibGUgc2luY2UgWGNvZGU4LlxuICpcbiAqIEBwYXJhbSB7P0Jvb3RNb25pdG9yT3B0aW9uc30gb3B0cyAtIE1vbml0b3Jpbmcgb3B0aW9ucy5cbiAqIEByZXR1cm5zIHtTdWJQcm9jZXNzfSBUaGUgaW5zdGFuY2Ugb2YgdGhlIGNvcnJlc3BvbmRpbmcgbW9uaXRvcmluZyBwcm9jZXNzLlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBTaW11bGF0b3IgZmFpbHMgdG8gZmluaXNoIGJvb3Rpbmcgd2l0aGluIHRoZSBnaXZlbiB0aW1lb3V0IGFuZCBvbkZpbmlzaGVkXG4gKiBwcm9wZXJ0eSBpcyBub3Qgc2V0LlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBgdWRpZGAgaW5zdGFuY2UgcHJvcGVydHkgaXMgdW5zZXRcbiAqL1xuY29tbWFuZHMuc3RhcnRCb290TW9uaXRvciA9IGFzeW5jIGZ1bmN0aW9uIHN0YXJ0Qm9vdE1vbml0b3IgKG9wdHMgPSB7fSkge1xuICBjb25zdCB7XG4gICAgdGltZW91dCA9IDI0MDAwMCxcbiAgICBvbldhaXRpbmdEYXRhTWlncmF0aW9uLFxuICAgIG9uV2FpdGluZ1N5c3RlbUFwcCxcbiAgICBvbkZpbmlzaGVkLFxuICAgIG9uRXJyb3IsXG4gICAgc2hvdWxkUHJlYm9vdCxcbiAgfSA9IG9wdHM7XG4gIGNvbnN0IHVkaWQgPSB0aGlzLnJlcXVpcmVVZGlkKCdib290c3RhdHVzJyk7XG5cbiAgbGV0IHN0YXR1cyA9ICcnO1xuICBsZXQgaXNCb290aW5nRmluaXNoZWQgPSBmYWxzZTtcbiAgbGV0IGVycm9yID0gbnVsbDtcbiAgbGV0IHRpbWVvdXRIYW5kbGVyID0gbnVsbDtcbiAgY29uc3QgYXJncyA9IFt1ZGlkXTtcbiAgaWYgKHNob3VsZFByZWJvb3QpIHtcbiAgICBhcmdzLnB1c2goJy1iJyk7XG4gIH1cbiAgY29uc3QgYm9vdE1vbml0b3IgPSBhd2FpdCB0aGlzLmV4ZWMoJ2Jvb3RzdGF0dXMnLCB7XG4gICAgYXJncyxcbiAgICBhc3luY2hyb25vdXM6IHRydWUsXG4gIH0pO1xuICBib290TW9uaXRvci5vbignb3V0cHV0JywgKHN0ZG91dCwgc3RkZXJyKSA9PiB7XG4gICAgc3RhdHVzICs9IHN0ZG91dCB8fCBzdGRlcnI7XG4gICAgaWYgKHN0ZG91dCkge1xuICAgICAgaWYgKHN0ZG91dC5pbmNsdWRlcygnV2FpdGluZyBvbiBEYXRhIE1pZ3JhdGlvbicpICYmIG9uV2FpdGluZ0RhdGFNaWdyYXRpb24pIHtcbiAgICAgICAgb25XYWl0aW5nRGF0YU1pZ3JhdGlvbigpO1xuICAgICAgfSBlbHNlIGlmIChzdGRvdXQuaW5jbHVkZXMoJ1dhaXRpbmcgb24gU3lzdGVtIEFwcCcpICYmIG9uV2FpdGluZ1N5c3RlbUFwcCkge1xuICAgICAgICBvbldhaXRpbmdTeXN0ZW1BcHAoKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuICBib290TW9uaXRvci5vbignZXhpdCcsIChjb2RlLCBzaWduYWwpID0+IHtcbiAgICBpZiAodGltZW91dEhhbmRsZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SGFuZGxlcik7XG4gICAgfVxuICAgIGlmIChjb2RlID09PSAwKSB7XG4gICAgICBpZiAob25GaW5pc2hlZCkge1xuICAgICAgICBvbkZpbmlzaGVkKCk7XG4gICAgICB9XG4gICAgICBpc0Jvb3RpbmdGaW5pc2hlZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0YXR1cyA9IHN0YXR1cyB8fCBzaWduYWw7XG4gICAgICBlcnJvciA9IG5ldyBFcnJvcihzdGF0dXMpO1xuICAgICAgaWYgKG9uRXJyb3IpIHtcbiAgICAgICAgb25FcnJvcihlcnJvcik7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbiAgYXdhaXQgYm9vdE1vbml0b3Iuc3RhcnQoMCk7XG4gIGNvbnN0IHN0b3BNb25pdG9yID0gYXN5bmMgKCkgPT4ge1xuICAgIGlmIChib290TW9uaXRvci5pc1J1bm5pbmcpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IGJvb3RNb25pdG9yLnN0b3AoKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgbG9nLndhcm4oZS5tZXNzYWdlKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG4gIGNvbnN0IHN0YXJ0ID0gcHJvY2Vzcy5ocnRpbWUoKTtcbiAgaWYgKG9uRmluaXNoZWQpIHtcbiAgICB0aW1lb3V0SGFuZGxlciA9IHNldFRpbWVvdXQoc3RvcE1vbml0b3IsIHRpbWVvdXQpO1xuICB9IGVsc2Uge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB3YWl0Rm9yQ29uZGl0aW9uKCgpID0+IHtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzQm9vdGluZ0ZpbmlzaGVkO1xuICAgICAgfSwge3dhaXRNczogdGltZW91dCwgaW50ZXJ2YWxNczogNTAwfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBhd2FpdCBzdG9wTW9uaXRvcigpO1xuICAgICAgY29uc3QgW3NlY29uZHNdID0gcHJvY2Vzcy5ocnRpbWUoc3RhcnQpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVGhlIHNpbXVsYXRvciAke3VkaWR9IGhhcyBmYWlsZWQgdG8gZmluaXNoIGJvb3RpbmcgYWZ0ZXIgJHtzZWNvbmRzfXMuIGAgK1xuICAgICAgICBgT3JpZ2luYWwgc3RhdHVzOiAke3N0YXR1c31gKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGJvb3RNb25pdG9yO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsU0FBQSxHQUFBRCxPQUFBO0FBR0EsTUFBTUUsUUFBUSxHQUFHLENBQUMsQ0FBQztBQTBCbkJBLFFBQVEsQ0FBQ0MsZ0JBQWdCLEdBQUcsZUFBZUEsZ0JBQWdCQSxDQUFFQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUU7RUFDdEUsTUFBTTtJQUNKQyxPQUFPLEdBQUcsTUFBTTtJQUNoQkMsc0JBQXNCO0lBQ3RCQyxrQkFBa0I7SUFDbEJDLFVBQVU7SUFDVkMsT0FBTztJ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
95
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9nZ2VyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfYXN5bmNib3giLCJjb21tYW5kcyIsInN0YXJ0Qm9vdE1vbml0b3IiLCJvcHRzIiwidGltZW91dCIsIm9uV2FpdGluZ0RhdGFNaWdyYXRpb24iLCJvbldhaXRpbmdTeXN0ZW1BcHAiLCJvbkZpbmlzaGVkIiwib25FcnJvciIsInNob3VsZFByZWJvb3QiLCJ1ZGlkIiwicmVxdWlyZVVkaWQiLCJzdGF0dXMiLCJpc0Jvb3RpbmdGaW5pc2hlZCIsImVycm9yIiwidGltZW91dEhhbmRsZXIiLCJhcmdzIiwicHVzaCIsImJvb3RNb25pdG9yIiwiZXhlYyIsImFzeW5jaHJvbm91cyIsIm9uIiwic3Rkb3V0Iiwic3RkZXJyIiwiaW5jbHVkZXMiLCJjb2RlIiwic2lnbmFsIiwiY2xlYXJUaW1lb3V0IiwiRXJyb3IiLCJzdGFydCIsInN0b3BNb25pdG9yIiwiaXNSdW5uaW5nIiwic3RvcCIsImUiLCJsb2ciLCJ3YXJuIiwibWVzc2FnZSIsInByb2Nlc3MiLCJocnRpbWUiLCJzZXRUaW1lb3V0Iiwid2FpdEZvckNvbmRpdGlvbiIsIndhaXRNcyIsImludGVydmFsTXMiLCJlcnIiLCJzZWNvbmRzIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdWJjb21tYW5kcy9ib290c3RhdHVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCB7IHdhaXRGb3JDb25kaXRpb24gfSBmcm9tICdhc3luY2JveCc7XG5cblxuY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBCb290TW9uaXRvck9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSB0aW1lb3V0IFsyNDAwMDBdIC0gU2ltdWxhdG9yIGJvb3RpbmcgdGltZW91dCBpbiBtcy5cbiAqIEBwcm9wZXJ0eSB7RnVuY3Rpb24/fSBvbldhaXRpbmdEYXRhTWlncmF0aW9uIC0gVGhpcyBldmVudCBpcyBmaXJlZCB3aGVuIGRhdGEgbWlncmF0aW9uIHN0YWdlIHN0YXJ0cy5cbiAqIEBwcm9wZXJ0eSB7RnVuY3Rpb24/fSBvbldhaXRpbmdTeXN0ZW1BcHAgLSBUaGlzIGV2ZW50IGlzIGZpcmVkIHdoZW4gc3lzdGVtIGFwcCB3YWl0IHN0YWdlIHN0YXJ0cy5cbiAqIEBwcm9wZXJ0eSB7RnVuY3Rpb24/fSBvbkZpbmlzaGVkIC0gVGhpcyBldmVudCBpcyBmaXJlZCB3aGVuIFNpbXVsYXRvciBpcyBmdWxseSBib290ZWQuXG4gKiBAcHJvcGVydHkge0Z1bmN0aW9uP30gb25FcnJvciAtIFRoaXMgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgbW9uaXRvcmluZyB0aGUgYm9vdGluZyBwcm9jZXNzXG4gKiBvciB3aGVuIHRoZSB0aW1lb3V0IGhhcyBleHBpcmVkLlxuICogQHByb3BlcnR5IHtib29sZWFufSBzaG91bGRQcmVib290IFtmYWxzZV0gV2hldGhlciB0byBwcmVib290IHRoZSBTaW11bGF0b3JcbiAqIGlmIHRoaXMgY29tbWFuZCBpcyBjYWxsZWQgYW5kIGl0IGlzIG5vdCBhbHJlYWR5IGluIGJvb3RlZCBvciBib290aW5nIHN0YXRlLlxuICovXG5cbi8qKlxuICogU3RhcnQgbW9uaXRvcmluZyBmb3IgYm9vdCBzdGF0dXMgb2YgdGhlIHBhcnRpY3VsYXIgU2ltdWxhdG9yLlxuICogSWYgb25GaW5pc2hlZCBwcm9wZXJ0eSBpcyBub3Qgc2V0IHRoZW4gdGhlIG1ldGhvZCB3aWxsIGJsb2NrXG4gKiB1bnRpbCBTaW11bGF0b3IgYm9vdGluZyBpcyBjb21wbGV0ZWQuXG4gKiBUaGUgbWV0aG9kIGlzIG9ubHkgYXZhaWxhYmxlIHNpbmNlIFhjb2RlOC5cbiAqXG4gKiBAcGFyYW0ge0Jvb3RNb25pdG9yT3B0aW9uc30gb3B0cyAtIE1vbml0b3Jpbmcgb3B0aW9ucy5cbiAqIEByZXR1cm5zIHtQcm9taXNlPFN1YlByb2Nlc3M+fSBUaGUgaW5zdGFuY2Ugb2YgdGhlIGNvcnJlc3BvbmRpbmcgbW9uaXRvcmluZyBwcm9jZXNzLlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBTaW11bGF0b3IgZmFpbHMgdG8gZmluaXNoIGJvb3Rpbmcgd2l0aGluIHRoZSBnaXZlbiB0aW1lb3V0IGFuZCBvbkZpbmlzaGVkXG4gKiBwcm9wZXJ0eSBpcyBub3Qgc2V0LlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBgdWRpZGAgaW5zdGFuY2UgcHJvcGVydHkgaXMgdW5zZXRcbiAqL1xuY29tbWFuZHMuc3RhcnRCb290TW9uaXRvciA9IGFzeW5jIGZ1bmN0aW9uIHN0YXJ0Qm9vdE1vbml0b3IgKG9wdHMgPSB7fSkge1xuICBjb25zdCB7XG4gICAgdGltZW91dCA9IDI0MDAwMCxcbiAgICBvbldhaXRpbmdEYXRhTWlncmF0aW9uLFxuICAgIG9uV2FpdGluZ1N5c3RlbUFwcCxcbiAgICBvbkZpbmlzaGVkLFxuICAgIG9uRXJyb3IsXG4gICAgc2hvdWxkUHJlYm9vdCxcbiAgfSA9IG9wdHM7XG4gIGNvbnN0IHVkaWQgPSB0aGlzLnJlcXVpcmVVZGlkKCdib290c3RhdHVzJyk7XG5cbiAgbGV0IHN0YXR1cyA9ICcnO1xuICBsZXQgaXNCb290aW5nRmluaXNoZWQgPSBmYWxzZTtcbiAgbGV0IGVycm9yID0gbnVsbDtcbiAgbGV0IHRpbWVvdXRIYW5kbGVyID0gbnVsbDtcbiAgY29uc3QgYXJncyA9IFt1ZGlkXTtcbiAgaWYgKHNob3VsZFByZWJvb3QpIHtcbiAgICBhcmdzLnB1c2goJy1iJyk7XG4gIH1cbiAgY29uc3QgYm9vdE1vbml0b3IgPSBhd2FpdCB0aGlzLmV4ZWMoJ2Jvb3RzdGF0dXMnLCB7XG4gICAgYXJncyxcbiAgICBhc3luY2hyb25vdXM6IHRydWUsXG4gIH0pO1xuICBib290TW9uaXRvci5vbignb3V0cHV0JywgKHN0ZG91dCwgc3RkZXJyKSA9PiB7XG4gICAgc3RhdHVzICs9IHN0ZG91dCB8fCBzdGRlcnI7XG4gICAgaWYgKHN0ZG91dCkge1xuICAgICAgaWYgKHN0ZG91dC5pbmNsdWRlcygnV2FpdGluZyBvbiBEYXRhIE1pZ3JhdGlvbicpICYmIG9uV2FpdGluZ0RhdGFNaWdyYXRpb24pIHtcbiAgICAgICAgb25XYWl0aW5nRGF0YU1pZ3JhdGlvbigpO1xuICAgICAgfSBlbHNlIGlmIChzdGRvdXQuaW5jbHVkZXMoJ1dhaXRpbmcgb24gU3lzdGVtIEFwcCcpICYmIG9uV2FpdGluZ1N5c3RlbUFwcCkge1xuICAgICAgICBvbldhaXRpbmdTeXN0ZW1BcHAoKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuICBib290TW9uaXRvci5vbignZXhpdCcsIChjb2RlLCBzaWduYWwpID0+IHtcbiAgICBpZiAodGltZW91dEhhbmRsZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SGFuZGxlcik7XG4gICAgfVxuICAgIGlmIChjb2RlID09PSAwKSB7XG4gICAgICBpZiAob25GaW5pc2hlZCkge1xuICAgICAgICBvbkZpbmlzaGVkKCk7XG4gICAgICB9XG4gICAgICBpc0Jvb3RpbmdGaW5pc2hlZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0YXR1cyA9IHN0YXR1cyB8fCBzaWduYWw7XG4gICAgICBlcnJvciA9IG5ldyBFcnJvcihzdGF0dXMpO1xuICAgICAgaWYgKG9uRXJyb3IpIHtcbiAgICAgICAgb25FcnJvcihlcnJvcik7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbiAgYXdhaXQgYm9vdE1vbml0b3Iuc3RhcnQoMCk7XG4gIGNvbnN0IHN0b3BNb25pdG9yID0gYXN5bmMgKCkgPT4ge1xuICAgIGlmIChib290TW9uaXRvci5pc1J1bm5pbmcpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IGJvb3RNb25pdG9yLnN0b3AoKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgbG9nLndhcm4oZS5tZXNzYWdlKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG4gIGNvbnN0IHN0YXJ0ID0gcHJvY2Vzcy5ocnRpbWUoKTtcbiAgaWYgKG9uRmluaXNoZWQpIHtcbiAgICB0aW1lb3V0SGFuZGxlciA9IHNldFRpbWVvdXQoc3RvcE1vbml0b3IsIHRpbWVvdXQpO1xuICB9IGVsc2Uge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB3YWl0Rm9yQ29uZGl0aW9uKCgpID0+IHtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzQm9vdGluZ0ZpbmlzaGVkO1xuICAgICAgfSwge3dhaXRNczogdGltZW91dCwgaW50ZXJ2YWxNczogNTAwfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBhd2FpdCBzdG9wTW9uaXRvcigpO1xuICAgICAgY29uc3QgW3NlY29uZHNdID0gcHJvY2Vzcy5ocnRpbWUoc3RhcnQpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVGhlIHNpbXVsYXRvciAke3VkaWR9IGhhcyBmYWlsZWQgdG8gZmluaXNoIGJvb3RpbmcgYWZ0ZXIgJHtzZWNvbmRzfXMuIGAgK1xuICAgICAgICBgT3JpZ2luYWwgc3RhdHVzOiAke3N0YXR1c31gKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGJvb3RNb25pdG9yO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsU0FBQSxHQUFBRCxPQUFBO0FBR0EsTUFBTUUsUUFBUSxHQUFHLENBQUMsQ0FBQztBQTBCbkJBLFFBQVEsQ0FBQ0MsZ0JBQWdCLEdBQUcsZUFBZUEsZ0JBQWdCQSxDQUFFQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUU7RUFDdEUsTUFBTTtJQUNKQyxPQUFPLEdBQUcsTUFBTTtJQUNoQkMsc0JBQXNCO0lBQ3RCQyxrQkFBa0I7SUFDbEJDLFVBQVU7SUFDVkMs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
@@ -1 +1 @@
1
- {"version":3,"file":"bootstatus.js","names":["_logger","_interopRequireDefault","require","_asyncbox","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","_default","exports","default"],"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":";;;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAGA,MAAME,QAAQ,GAAG,CAAC,CAAC;AA0BnBA,QAAQ,CAACC,gBAAgB,GAAG,eAAeA,gBAAgBA,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAE;EACtE,MAAM;IACJC,OAAO,GAAG,MAAM;IAChBC,sBAAsB;IACtBC,kBAAkB;IAClBC,UAAU;IACVC,OAAO;IACPC;EACF,CAAC,GAAGN,IAAI;EACR,MAAMO,IAAI,GAAG,IAAI,CAACC,WAAW,CAAC,YAAY,CAAC;EAE3C,IAAIC,MAAM,GAAG,EAAE;EACf,IAAIC,iBAAiB,GAAG,KAAK;EAC7B,IAAIC,KAAK,GAAG,IAAI;EAChB,IAAIC,cAAc,GAAG,IAAI;EACzB,MAAMC,IAAI,GAAG,CAACN,IAAI,CAAC;EACnB,IAAID,aAAa,EAAE;IACjBO,IAAI,CAACC,IAAI,CAAC,IAAI,CAAC;EACjB;EACA,MAAMC,WAAW,GAAG,MAAM,IAAI,CAACC,IAAI,CAAC,YAAY,EAAE;IAChDH,IAAI;IACJI,YAAY,EAAE;EAChB,CAAC,CAAC;EACFF,WAAW,CAACG,EAAE,CAAC,QAAQ,EAAE,CAACC,MAAM,EAAEC,MAAM,KAAK;IAC3CX,MAAM,IAAIU,MAAM,IAAIC,MAAM;IAC1B,IAAID,MAAM,EAAE;MACV,IAAIA,MAAM,CAACE,QAAQ,CAAC,2BAA2B,CAAC,IAAInB,sBAAsB,EAAE;QAC1EA,sBAAsB,CAAC,CAAC;MAC1B,CAAC,MAAM,IAAIiB,MAAM,CAACE,QAAQ,CAAC,uBAAuB,CAAC,IAAIlB,kBAAkB,EAAE;QACzEA,kBAAkB,CAAC,CAAC;MACtB;IACF;EACF,CAAC,CAAC;EACFY,WAAW,CAACG,EAAE,CAAC,MAAM,EAAE,CAACI,IAAI,EAAEC,MAAM,KAAK;IACvC,IAAIX,cAAc,EAAE;MAClBY,YAAY,CAACZ,cAAc,CAAC;IAC9B;IACA,IAAIU,IAAI,KAAK,CAAC,EAAE;MACd,IAAIlB,UAAU,EAAE;QACdA,UAAU,CAAC,CAAC;MACd;MACAM,iBAAiB,GAAG,IAAI;IAC1B,CAAC,MAAM;MACLD,MAAM,GAAGA,MAAM,IAAIc,MAAM;MACzBZ,KAAK,GAAG,IAAIc,KAAK,CAAChB,MAAM,CAAC;MACzB,IAAIJ,OAAO,EAAE;QACXA,OAAO,CAACM,KAAK,CAAC;MAChB;IACF;EACF,CAAC,CAAC;EACF,MAAMI,WAAW,CAACW,KAAK,CAAC,CAAC,CAAC;EAC1B,MAAMC,WAAW,GAAG,MAAAA,CAAA,KAAY;IAC9B,IAAIZ,WAAW,CAACa,SAAS,EAAE;MACzB,IAAI;QACF,MAAMb,WAAW,CAACc,IAAI,CAAC,CAAC;MAC1B,CAAC,CAAC,OAAOC,CAAC,EAAE;QACVC,eAAG,CAACC,IAAI,CAACF,CAAC,CAACG,OAAO,CAAC;MACrB;IACF;EACF,CAAC;EACD,MAAMP,KAAK,GAAGQ,OAAO,CAACC,MAAM,CAAC,CAAC;EAC9B,IAAI/B,UAAU,EAAE;IACdQ,cAAc,GAAGwB,UAAU,CAACT,WAAW,EAAE1B,OAAO,CAAC;EACnD,CAAC,MAAM;IACL,IAAI;MACF,MAAM,IAAAoC,0BAAgB,EAAC,MAAM;QAC3B,IAAI1B,KAAK,EAAE;UACT,MAAMA,KAAK;QACb;QACA,OAAOD,iBAAiB;MAC1B,CAAC,EAAE;QAAC4B,MAAM,EAAErC,OAAO;QAAEsC,UAAU,EAAE;MAAG,CAAC,CAAC;IACxC,CAAC,CAAC,OAAOC,GAAG,EAAE;MACZ,MAAMb,WAAW,CAAC,CAAC;MACnB,MAAM,CAACc,OAAO,CAAC,GAAGP,OAAO,CAACC,MAAM,CAACT,KAAK,CAAC;MACvC,MAAM,IAAID,KAAK,CACZ,iBAAgBlB,IAAK,uCAAsCkC,OAAQ,KAAI,GACvE,oBAAmBhC,MAAO,EAAC,CAAC;IACjC;EACF;EACA,OAAOM,WAAW;AACpB,CAAC;AAAC,IAAA2B,QAAA,GAEa5C,QAAQ;AAAA6C,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"file":"bootstatus.js","names":["_logger","_interopRequireDefault","require","_asyncbox","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","_default","exports","default"],"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 {Promise<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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"}
@@ -74,4 +74,4 @@ commands.createDevice = async function createDevice(name, deviceTypeId, platform
74
74
  };
75
75
  var _default = commands;
76
76
  exports.default = _default;
77
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfbG9nZ2VyIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfYXN5bmNib3giLCJfaGVscGVycyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJTSU1fUlVOVElNRV9OQU1FX1NVRkZJWF9JT1MiLCJERUZBVUxUX0NSRUFURV9TSU1VTEFUT1JfVElNRU9VVCIsImNvbW1hbmRzIiwiY3JlYXRlRGV2aWNlIiwibmFtZSIsImRldmljZVR5cGVJZCIsInBsYXRmb3JtVmVyc2lvbiIsIm9wdHMiLCJwbGF0Zm9ybSIsInRpbWVvdXQiLCJydW50aW1lSWRzIiwicHVzaCIsImdldFJ1bnRpbWVGb3JQbGF0Zm9ybVZlcnNpb25WaWFKc29uIiwiaWduIiwiXyIsImlzRW1wdHkiLCJydW50aW1lSWQiLCJnZXRSdW50aW1lRm9yUGxhdGZvcm1WZXJzaW9uIiwiZXJyIiwibG9nIiwid2FybiIsInBvdGVudGlhbFJ1bnRpbWVJZHMiLCJub3JtYWxpemVWZXJzaW9uIiwic3BsaXQiLCJsZW5ndGgiLCJtYXAiLCJpZCIsIlNJTV9SVU5USU1FX05BTUUiLCJyZXBsYWNlIiwidWRpZCIsImRlYnVnIiwiTE9HX1BSRUZJWCIsInN0ZG91dCIsImV4ZWMiLCJhcmdzIiwidHJpbSIsIkVycm9yIiwiam9pbiIsInJldHJpZXMiLCJwYXJzZUludCIsInJldHJ5SW50ZXJ2YWwiLCJkZXZpY2VzIiwidmFsdWVzIiwiZ2V0RGV2aWNlcyIsImRldmljZUFyciIsImRldmljZSIsInN0YXRlIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N1YmNvbW1hbmRzL2NyZWF0ZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IGxvZywgeyBMT0dfUFJFRklYIH0gZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCB7IHJldHJ5SW50ZXJ2YWwgfSBmcm9tICdhc3luY2JveCc7XG5pbXBvcnQgeyBTSU1fUlVOVElNRV9OQU1FLCBub3JtYWxpemVWZXJzaW9uIH0gZnJvbSAnLi4vaGVscGVycyc7XG5cblxuY29uc3QgU0lNX1JVTlRJTUVfTkFNRV9TVUZGSVhfSU9TID0gJ2lPUyc7XG5jb25zdCBERUZBVUxUX0NSRUFURV9TSU1VTEFUT1JfVElNRU9VVCA9IDEwMDAwO1xuXG5jb25zdCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFNpbUNyZWF0aW9uT3B0c1xuICogQHByb3BlcnR5IHtzdHJpbmd9IHBsYXRmb3JtIFtpT1NdIC0gUGxhdGZvcm0gbmFtZSBpbiBvcmRlciB0byBzcGVjaWZ5IHJ1bnRpbWUgc3VjaCBhcyAnaU9TJywgJ3R2T1MnLCAnd2F0Y2hPUydcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSB0aW1lb3V0IFsxMDAwMF0gLSBUaGUgbWF4aW11bSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIHdhaXRcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bml0IGRldmljZSBjcmVhdGlvbiBpcyBjb21wbGV0ZWQuXG4gKi9cblxuLyoqXG4gKiBDcmVhdGUgU2ltdWxhdG9yIGRldmljZSB3aXRoIGdpdmVuIG5hbWUgZm9yIHRoZSBwYXJ0aWN1bGFyXG4gKiBwbGF0Zm9ybSB0eXBlIGFuZCB2ZXJzaW9uLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gVGhlIGRldmljZSBuYW1lIHRvIGJlIGNyZWF0ZWQuXG4gKiBAcGFyYW0ge3N0cmluZ30gZGV2aWNlVHlwZUlkIC0gRGV2aWNlIHR5cGUsIGZvciBleGFtcGxlICdpUGhvbmUgNicuXG4gKiBAcGFyYW0ge3N0cmluZ30gcGxhdGZvcm1WZXJzaW9uIC0gUGxhdGZvcm0gdmVyc2lvbiwgZm9yIGV4YW1wbGUgJzEwLjMnLlxuICogQHBhcmFtIHs/U2ltQ3JlYXRpb25PcHRzfSBvcHRzIC0gU2ltdWxhdG9yIG9wdGlvbnMgZm9yIGNyZWF0aW5nIGRldmljZXMuXG4gKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBVRElEIG9mIHRoZSBuZXdseSBjcmVhdGVkIGRldmljZS5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kXG4gKiAgICAgICAgICAgICAgICAgcmV0dXJucyBub24temVybyByZXR1cm4gY29kZS5cbiAqL1xuY29tbWFuZHMuY3JlYXRlRGV2aWNlID0gYXN5bmMgZnVuY3Rpb24gY3JlYXRlRGV2aWNlIChuYW1lLCBkZXZpY2VUeXBlSWQsIHBsYXRmb3JtVmVyc2lvbiwgb3B0cyA9IHt9KSB7XG4gIGNvbnN0IHtcbiAgICBwbGF0Zm9ybSA9IFNJTV9SVU5USU1FX05BTUVfU1VGRklYX0lPUyxcbiAgICB0aW1lb3V0ID0gREVGQVVMVF9DUkVBVEVfU0lNVUxBVE9SX1RJTUVPVVRcbiAgfSA9IG9wdHM7XG5cbiAgbGV0IHJ1bnRpbWVJZHMgPSBbXTtcblxuICAvLyBUcnkgZ2V0dGluZyBydW50aW1lSWQgdXNpbmcgSlNPTiBmbGFnXG4gIHRyeSB7XG4gICAgcnVudGltZUlkcy5wdXNoKGF3YWl0IHRoaXMuZ2V0UnVudGltZUZvclBsYXRmb3JtVmVyc2lvblZpYUpzb24ocGxhdGZvcm1WZXJzaW9uLCBwbGF0Zm9ybSkpO1xuICB9IGNhdGNoIChpZ24pIHt9XG5cbiAgaWYgKF8uaXNFbXB0eShydW50aW1lSWRzKSkge1xuICAgIC8vIGF0IGZpcnN0IG1ha2Ugc3VyZSB0aGF0IHRoZSBydW50aW1lIGlkIGlzIHRoZSByaWdodCBvbmVcbiAgICAvLyBpbiBzb21lIHZlcnNpb25zIG9mIFhjb2RlIGl0IHdpbGwgYmUgYSBwYXRjaCB2ZXJzaW9uXG4gICAgbGV0IHJ1bnRpbWVJZDtcbiAgICB0cnkge1xuICAgICAgcnVudGltZUlkID0gYXdhaXQgdGhpcy5nZXRSdW50aW1lRm9yUGxhdGZvcm1WZXJzaW9uKHBsYXRmb3JtVmVyc2lvbiwgcGxhdGZvcm0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgbG9nLndhcm4oYFVuYWJsZSB0byBmaW5kIHJ1bnRpbWUgZm9yIGlPUyAnJHtwbGF0Zm9ybVZlcnNpb259Jy4gQ29udGludWluZ2ApO1xuICAgICAgcnVudGltZUlkID0gcGxhdGZvcm1WZXJzaW9uO1xuICAgIH1cblxuICAgIC8vIGdldCB0aGUgcG9zc2libGUgcnVudGltZXMsIHdoaWNoIHdpbGwgYmUgaXRlcmF0ZWQgb3ZlclxuXG4gICAgLy8gc3RhcnQgd2l0aCBtYWpvci1taW5vciB2ZXJzaW9uXG4gICAgbGV0IHBvdGVudGlhbFJ1bnRpbWVJZHMgPSBbbm9ybWFsaXplVmVyc2lvbihydW50aW1lSWQpXTtcbiAgICBpZiAocnVudGltZUlkLnNwbGl0KCcuJykubGVuZ3RoID09PSAzKSB7XG4gICAgICAvLyBhZGQgcGF0Y2ggdmVyc2lvbiBpZiBpdCBleGlzdHNcbiAgICAgIHBvdGVudGlhbFJ1bnRpbWVJZHMucHVzaChydW50aW1lSWQpO1xuICAgIH1cblxuICAgIC8vIGFkZCBtb2RpZmllZCB2ZXJzaW9ucywgc2luY2UgbW9kZXJuIFhjb2RlcyB1c2UgdGhpcywgdGhlbiB0aGUgYmFyZVxuICAgIC8vIHZlcnNpb25zLCB0byBhY2NvbW9kYXRlIG9sZGVyIFhjb2Rlc1xuICAgIHJ1bnRpbWVJZHMucHVzaChcbiAgICAgIC4uLihwb3RlbnRpYWxSdW50aW1lSWRzLm1hcCgoaWQpID0+IGAke1NJTV9SVU5USU1FX05BTUV9JHtwbGF0Zm9ybX0tJHtpZC5yZXBsYWNlKC9cXC4vZywgJy0nKX1gKSksXG4gICAgICAuLi5wb3RlbnRpYWxSdW50aW1lSWRzXG4gICAgKTtcbiAgfVxuXG4gIC8vIGdvIHRocm91Z2ggdGhlIHJ1bnRpbWUgaWRzIGFuZCB0cnkgdG8gY3JlYXRlIGEgc2ltdWxhdG9yIHdpdGggZWFjaFxuICBsZXQgdWRpZDtcbiAgZm9yIChjb25zdCBydW50aW1lSWQgb2YgcnVudGltZUlkcykge1xuICAgIGxvZy5kZWJ1ZyhMT0dfUFJFRklYLFxuICAgICAgYENyZWF0aW5nIHNpbXVsYXRvciB3aXRoIG5hbWUgJyR7bmFtZX0nLCBkZXZpY2UgdHlwZSBpZCAnJHtkZXZpY2VUeXBlSWR9JyBhbmQgcnVudGltZSBpZCAnJHtydW50aW1lSWR9J2ApO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IHRoaXMuZXhlYygnY3JlYXRlJywge1xuICAgICAgICBhcmdzOiBbbmFtZSwgZGV2aWNlVHlwZUlkLCBydW50aW1lSWRdXG4gICAgICB9KTtcbiAgICAgIHVkaWQgPSBzdGRvdXQudHJpbSgpO1xuICAgICAgYnJlYWs7XG4gICAgfSBjYXRjaCAoaWduKSB7XG4gICAgICAvLyB0aGUgZXJyb3IgZ2V0cyBsb2dnZWQgaW4gYHNpbUV4ZWNgXG4gICAgfVxuICB9XG5cbiAgaWYgKCF1ZGlkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgY3JlYXRlIHNpbXVsYXRvciB3aXRoIG5hbWUgJyR7bmFtZX0nLCBkZXZpY2UgYCArXG4gICAgICBgdHlwZSBpZCAnJHtkZXZpY2VUeXBlSWR9Jywgd2l0aCBydW50aW1lIGlkcyBgICtcbiAgICAgIGAke3J1bnRpbWVJZHMubWFwKChpZCkgPT4gYCcke2lkfSdgKS5qb2luKCcsICcpfWApO1xuICB9XG5cbiAgLy8gbWFrZSBzdXJlIHRoYXQgaXQgZ2V0cyBvdXQgb2YgdGhlIFwiQ3JlYXRpbmdcIiBzdGF0ZVxuICBjb25zdCByZXRyaWVzID0gcGFyc2VJbnQodGltZW91dCAvIDEwMDAsIDEwKTtcbiAgYXdhaXQgcmV0cnlJbnRlcnZhbChyZXRyaWVzLCAxMDAwLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZGV2aWNlcyA9IF8udmFsdWVzKGF3YWl0IHRoaXMuZ2V0RGV2aWNlcygpKTtcbiAgICBmb3IgKGNvbnN0IGRldmljZUFyciBvZiBfLnZhbHVlcyhkZXZpY2VzKSkge1xuICAgICAgZm9yIChjb25zdCBkZXZpY2Ugb2YgZGV2aWNlQXJyKSB7XG4gICAgICAgIGlmIChkZXZpY2UudWRpZCA9PT0gdWRpZCkge1xuICAgICAgICAgIGlmIChkZXZpY2Uuc3RhdGUgPT09ICdDcmVhdGluZycpIHtcbiAgICAgICAgICAgIC8vIG5lZWQgdG8gcmV0cnlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRGV2aWNlIHdpdGggdWRpZCAnJHt1ZGlkfScgc3RpbGwgYmVpbmcgY3JlYXRlZGApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBzdG9wIGxvb2tpbmcsIHdlJ3JlIGRvbmVcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGBEZXZpY2Ugd2l0aCB1ZGlkICcke3VkaWR9JyBub3QgeWV0IGNyZWF0ZWRgKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHVkaWQ7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFDLHVCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxRQUFBLEdBQUFKLE9BQUE7QUFBZ0UsU0FBQUsseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFB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
77
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfbG9nZ2VyIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfYXN5bmNib3giLCJfaGVscGVycyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJTSU1fUlVOVElNRV9OQU1FX1NVRkZJWF9JT1MiLCJERUZBVUxUX0NSRUFURV9TSU1VTEFUT1JfVElNRU9VVCIsImNvbW1hbmRzIiwiY3JlYXRlRGV2aWNlIiwibmFtZSIsImRldmljZVR5cGVJZCIsInBsYXRmb3JtVmVyc2lvbiIsIm9wdHMiLCJwbGF0Zm9ybSIsInRpbWVvdXQiLCJydW50aW1lSWRzIiwicHVzaCIsImdldFJ1bnRpbWVGb3JQbGF0Zm9ybVZlcnNpb25WaWFKc29uIiwiaWduIiwiXyIsImlzRW1wdHkiLCJydW50aW1lSWQiLCJnZXRSdW50aW1lRm9yUGxhdGZvcm1WZXJzaW9uIiwiZXJyIiwibG9nIiwid2FybiIsInBvdGVudGlhbFJ1bnRpbWVJZHMiLCJub3JtYWxpemVWZXJzaW9uIiwic3BsaXQiLCJsZW5ndGgiLCJtYXAiLCJpZCIsIlNJTV9SVU5USU1FX05BTUUiLCJyZXBsYWNlIiwidWRpZCIsImRlYnVnIiwiTE9HX1BSRUZJWCIsInN0ZG91dCIsImV4ZWMiLCJhcmdzIiwidHJpbSIsIkVycm9yIiwiam9pbiIsInJldHJpZXMiLCJwYXJzZUludCIsInJldHJ5SW50ZXJ2YWwiLCJkZXZpY2VzIiwidmFsdWVzIiwiZ2V0RGV2aWNlcyIsImRldmljZUFyciIsImRldmljZSIsInN0YXRlIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N1YmNvbW1hbmRzL2NyZWF0ZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IGxvZywgeyBMT0dfUFJFRklYIH0gZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCB7IHJldHJ5SW50ZXJ2YWwgfSBmcm9tICdhc3luY2JveCc7XG5pbXBvcnQgeyBTSU1fUlVOVElNRV9OQU1FLCBub3JtYWxpemVWZXJzaW9uIH0gZnJvbSAnLi4vaGVscGVycyc7XG5cblxuY29uc3QgU0lNX1JVTlRJTUVfTkFNRV9TVUZGSVhfSU9TID0gJ2lPUyc7XG5jb25zdCBERUZBVUxUX0NSRUFURV9TSU1VTEFUT1JfVElNRU9VVCA9IDEwMDAwO1xuXG5jb25zdCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFNpbUNyZWF0aW9uT3B0c1xuICogQHByb3BlcnR5IHtzdHJpbmd9IHBsYXRmb3JtIFtpT1NdIC0gUGxhdGZvcm0gbmFtZSBpbiBvcmRlciB0byBzcGVjaWZ5IHJ1bnRpbWUgc3VjaCBhcyAnaU9TJywgJ3R2T1MnLCAnd2F0Y2hPUydcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSB0aW1lb3V0IFsxMDAwMF0gLSBUaGUgbWF4aW11bSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIHdhaXRcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bml0IGRldmljZSBjcmVhdGlvbiBpcyBjb21wbGV0ZWQuXG4gKi9cblxuLyoqXG4gKiBDcmVhdGUgU2ltdWxhdG9yIGRldmljZSB3aXRoIGdpdmVuIG5hbWUgZm9yIHRoZSBwYXJ0aWN1bGFyXG4gKiBwbGF0Zm9ybSB0eXBlIGFuZCB2ZXJzaW9uLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gVGhlIGRldmljZSBuYW1lIHRvIGJlIGNyZWF0ZWQuXG4gKiBAcGFyYW0ge3N0cmluZ30gZGV2aWNlVHlwZUlkIC0gRGV2aWNlIHR5cGUsIGZvciBleGFtcGxlICdpUGhvbmUgNicuXG4gKiBAcGFyYW0ge3N0cmluZ30gcGxhdGZvcm1WZXJzaW9uIC0gUGxhdGZvcm0gdmVyc2lvbiwgZm9yIGV4YW1wbGUgJzEwLjMnLlxuICogQHBhcmFtIHtTaW1DcmVhdGlvbk9wdHN9IG9wdHMgLSBTaW11bGF0b3Igb3B0aW9ucyBmb3IgY3JlYXRpbmcgZGV2aWNlcy5cbiAqIEByZXR1cm4ge1Byb21pc2U8c3RyaW5nPn0gVGhlIFVESUQgb2YgdGhlIG5ld2x5IGNyZWF0ZWQgZGV2aWNlLlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBjb3JyZXNwb25kaW5nIHNpbWN0bCBzdWJjb21tYW5kIGNvbW1hbmRcbiAqICAgICAgICAgICAgICAgICByZXR1cm5zIG5vbi16ZXJvIHJldHVybiBjb2RlLlxuICovXG5jb21tYW5kcy5jcmVhdGVEZXZpY2UgPSBhc3luYyBmdW5jdGlvbiBjcmVhdGVEZXZpY2UgKG5hbWUsIGRldmljZVR5cGVJZCwgcGxhdGZvcm1WZXJzaW9uLCBvcHRzID0ge30pIHtcbiAgY29uc3Qge1xuICAgIHBsYXRmb3JtID0gU0lNX1JVTlRJTUVfTkFNRV9TVUZGSVhfSU9TLFxuICAgIHRpbWVvdXQgPSBERUZBVUxUX0NSRUFURV9TSU1VTEFUT1JfVElNRU9VVFxuICB9ID0gb3B0cztcblxuICBsZXQgcnVudGltZUlkcyA9IFtdO1xuXG4gIC8vIFRyeSBnZXR0aW5nIHJ1bnRpbWVJZCB1c2luZyBKU09OIGZsYWdcbiAgdHJ5IHtcbiAgICBydW50aW1lSWRzLnB1c2goYXdhaXQgdGhpcy5nZXRSdW50aW1lRm9yUGxhdGZvcm1WZXJzaW9uVmlhSnNvbihwbGF0Zm9ybVZlcnNpb24sIHBsYXRmb3JtKSk7XG4gIH0gY2F0Y2ggKGlnbikge31cblxuICBpZiAoXy5pc0VtcHR5KHJ1bnRpbWVJZHMpKSB7XG4gICAgLy8gYXQgZmlyc3QgbWFrZSBzdXJlIHRoYXQgdGhlIHJ1bnRpbWUgaWQgaXMgdGhlIHJpZ2h0IG9uZVxuICAgIC8vIGluIHNvbWUgdmVyc2lvbnMgb2YgWGNvZGUgaXQgd2lsbCBiZSBhIHBhdGNoIHZlcnNpb25cbiAgICBsZXQgcnVudGltZUlkO1xuICAgIHRyeSB7XG4gICAgICBydW50aW1lSWQgPSBhd2FpdCB0aGlzLmdldFJ1bnRpbWVGb3JQbGF0Zm9ybVZlcnNpb24ocGxhdGZvcm1WZXJzaW9uLCBwbGF0Zm9ybSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBsb2cud2FybihgVW5hYmxlIHRvIGZpbmQgcnVudGltZSBmb3IgaU9TICcke3BsYXRmb3JtVmVyc2lvbn0nLiBDb250aW51aW5nYCk7XG4gICAgICBydW50aW1lSWQgPSBwbGF0Zm9ybVZlcnNpb247XG4gICAgfVxuXG4gICAgLy8gZ2V0IHRoZSBwb3NzaWJsZSBydW50aW1lcywgd2hpY2ggd2lsbCBiZSBpdGVyYXRlZCBvdmVyXG5cbiAgICAvLyBzdGFydCB3aXRoIG1ham9yLW1pbm9yIHZlcnNpb25cbiAgICBsZXQgcG90ZW50aWFsUnVudGltZUlkcyA9IFtub3JtYWxpemVWZXJzaW9uKHJ1bnRpbWVJZCldO1xuICAgIGlmIChydW50aW1lSWQuc3BsaXQoJy4nKS5sZW5ndGggPT09IDMpIHtcbiAgICAgIC8vIGFkZCBwYXRjaCB2ZXJzaW9uIGlmIGl0IGV4aXN0c1xuICAgICAgcG90ZW50aWFsUnVudGltZUlkcy5wdXNoKHJ1bnRpbWVJZCk7XG4gICAgfVxuXG4gICAgLy8gYWRkIG1vZGlmaWVkIHZlcnNpb25zLCBzaW5jZSBtb2Rlcm4gWGNvZGVzIHVzZSB0aGlzLCB0aGVuIHRoZSBiYXJlXG4gICAgLy8gdmVyc2lvbnMsIHRvIGFjY29tb2RhdGUgb2xkZXIgWGNvZGVzXG4gICAgcnVudGltZUlkcy5wdXNoKFxuICAgICAgLi4uKHBvdGVudGlhbFJ1bnRpbWVJZHMubWFwKChpZCkgPT4gYCR7U0lNX1JVTlRJTUVfTkFNRX0ke3BsYXRmb3JtfS0ke2lkLnJlcGxhY2UoL1xcLi9nLCAnLScpfWApKSxcbiAgICAgIC4uLnBvdGVudGlhbFJ1bnRpbWVJZHNcbiAgICApO1xuICB9XG5cbiAgLy8gZ28gdGhyb3VnaCB0aGUgcnVudGltZSBpZHMgYW5kIHRyeSB0byBjcmVhdGUgYSBzaW11bGF0b3Igd2l0aCBlYWNoXG4gIGxldCB1ZGlkO1xuICBmb3IgKGNvbnN0IHJ1bnRpbWVJZCBvZiBydW50aW1lSWRzKSB7XG4gICAgbG9nLmRlYnVnKExPR19QUkVGSVgsXG4gICAgICBgQ3JlYXRpbmcgc2ltdWxhdG9yIHdpdGggbmFtZSAnJHtuYW1lfScsIGRldmljZSB0eXBlIGlkICcke2RldmljZVR5cGVJZH0nIGFuZCBydW50aW1lIGlkICcke3J1bnRpbWVJZH0nYCk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgdGhpcy5leGVjKCdjcmVhdGUnLCB7XG4gICAgICAgIGFyZ3M6IFtuYW1lLCBkZXZpY2VUeXBlSWQsIHJ1bnRpbWVJZF1cbiAgICAgIH0pO1xuICAgICAgdWRpZCA9IHN0ZG91dC50cmltKCk7XG4gICAgICBicmVhaztcbiAgICB9IGNhdGNoIChpZ24pIHtcbiAgICAgIC8vIHRoZSBlcnJvciBnZXRzIGxvZ2dlZCBpbiBgc2ltRXhlY2BcbiAgICB9XG4gIH1cblxuICBpZiAoIXVkaWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBjcmVhdGUgc2ltdWxhdG9yIHdpdGggbmFtZSAnJHtuYW1lfScsIGRldmljZSBgICtcbiAgICAgIGB0eXBlIGlkICcke2RldmljZVR5cGVJZH0nLCB3aXRoIHJ1bnRpbWUgaWRzIGAgK1xuICAgICAgYCR7cnVudGltZUlkcy5tYXAoKGlkKSA9PiBgJyR7aWR9J2ApLmpvaW4oJywgJyl9YCk7XG4gIH1cblxuICAvLyBtYWtlIHN1cmUgdGhhdCBpdCBnZXRzIG91dCBvZiB0aGUgXCJDcmVhdGluZ1wiIHN0YXRlXG4gIGNvbnN0IHJldHJpZXMgPSBwYXJzZUludCh0aW1lb3V0IC8gMTAwMCwgMTApO1xuICBhd2FpdCByZXRyeUludGVydmFsKHJldHJpZXMsIDEwMDAsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBkZXZpY2VzID0gXy52YWx1ZXMoYXdhaXQgdGhpcy5nZXREZXZpY2VzKCkpO1xuICAgIGZvciAoY29uc3QgZGV2aWNlQXJyIG9mIF8udmFsdWVzKGRldmljZXMpKSB7XG4gICAgICBmb3IgKGNvbnN0IGRldmljZSBvZiBkZXZpY2VBcnIpIHtcbiAgICAgICAgaWYgKGRldmljZS51ZGlkID09PSB1ZGlkKSB7XG4gICAgICAgICAgaWYgKGRldmljZS5zdGF0ZSA9PT0gJ0NyZWF0aW5nJykge1xuICAgICAgICAgICAgLy8gbmVlZCB0byByZXRyeVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBEZXZpY2Ugd2l0aCB1ZGlkICcke3VkaWR9JyBzdGlsbCBiZWluZyBjcmVhdGVkYCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHN0b3AgbG9va2luZywgd2UncmUgZG9uZVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoYERldmljZSB3aXRoIHVkaWQgJyR7dWRpZH0nIG5vdCB5ZXQgY3JlYXRlZGApO1xuICB9KTtcblxuICByZXR1cm4gdWRpZDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFNBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUFnRSxTQUFBSyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxP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
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","names":["_lodash","_interopRequireDefault","require","_logger","_interopRequireWildcard","_asyncbox","_helpers","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","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","_default","exports"],"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":["_lodash","_interopRequireDefault","require","_logger","_interopRequireWildcard","_asyncbox","_helpers","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","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","_default","exports"],"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 {Promise<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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"}
@@ -20,4 +20,4 @@ commands.getAppContainer = async function getAppContainer(bundleId, containerTyp
20
20
  };
21
21
  var _default = commands;
22
22
  exports.default = _default;
23
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImdldEFwcENvbnRhaW5lciIsImJ1bmRsZUlkIiwiY29udGFpbmVyVHlwZSIsImFyZ3MiLCJyZXF1aXJlVWRpZCIsInB1c2giLCJzdGRvdXQiLCJleGVjIiwidHJpbSIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3ViY29tbWFuZHMvZ2V0X2FwcF9jb250YWluZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBHZXQgdGhlIGZ1bGwgcGF0aCB0byB0aGUgcGFydGljdWxhciBhcHBsaWNhdGlvbiBjb250YWluZXJcbiAqIG9uIHRoZSBsb2NhbCBmaWxlIHN5c3RlbS4gTm90ZSwgdGhhdCB0aGlzIHN1YmNvbW1hbmQgdGhyb3dzXG4gKiBhbiBlcnJvciBpZiBidW5kbGUgaWQgb2YgYSBzeXN0ZW0gYXBwbGljYXRpb24gaXMgcHJvdmlkZWQsXG4gKiBsaWtlICdjb20uYXBwbGUuc3ByaW5nYm9hcmQnLlxuICogSXQgaXMgcmVxdWlyZWQgdGhhdCBTaW11bGF0b3IgaXMgaW4gX2Jvb3RlZF8gc3RhdGUuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGJ1bmRsZUlkIC0gQnVuZGxlIGlkZW50aWZpZXIgb2YgYW4gYXBwbGljYXRpb24uXG4gKiBAcGFyYW0gez9zdHJpbmd9IGNvbnRhaW5lclR5cGUgLSBXaGljaCBjb250YWluZXIgdHlwZSB0byByZXR1cm4uIFBvc3NpYmxlIHZhbHVlc1xuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJlICdhcHAnLCAnZGF0YScsICdncm91cHMnLCAnPEEgc3BlY2lmaWMgQXBwIEdyb3VwIGNvbnRhaW5lcj4nLlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgJ2FwcCcuXG4gKiBAcmV0dXJuIHtzdHJpbmd9IEZ1bGwgcGF0aCB0byB0aGUgZ2l2ZW4gYXBwbGljYXRpb24gY29udGFpbmVyIG9uIHRoZSBsb2NhbFxuICogICAgICAgICAgICAgICAgICBmaWxlIHN5c3RlbS5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kXG4gKiAgICAgICAgICAgICAgICAgcmV0dXJucyBub24temVybyByZXR1cm4gY29kZS5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgYHVkaWRgIGluc3RhbmNlIHByb3BlcnR5IGlzIHVuc2V0XG4gKi9cbmNvbW1hbmRzLmdldEFwcENvbnRhaW5lciA9IGFzeW5jIGZ1bmN0aW9uIGdldEFwcENvbnRhaW5lciAoYnVuZGxlSWQsIGNvbnRhaW5lclR5cGUgPSBudWxsKSB7XG4gIGNvbnN0IGFyZ3MgPSBbdGhpcy5yZXF1aXJlVWRpZCgnZ2V0X2FwcF9jb250YWluZXInKSwgYnVuZGxlSWRdO1xuICBpZiAoY29udGFpbmVyVHlwZSkge1xuICAgIGFyZ3MucHVzaChjb250YWluZXJUeXBlKTtcbiAgfVxuICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IHRoaXMuZXhlYygnZ2V0X2FwcF9jb250YWluZXInLCB7YXJnc30pO1xuICByZXR1cm4gKHN0ZG91dCB8fCAnJykudHJpbSgpO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxNQUFNQSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBbUJuQkEsUUFBUSxDQUFDQyxlQUFlLEdBQUcsZUFBZUEsZUFBZUEsQ0FBRUMsUUFBUSxFQUFFQyxhQUFhLEdBQUcsSUFBSSxFQUFFO0VBQ3pGLE1BQU1DLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQ0MsV0FBVyxDQUFDLG1CQUFtQixDQUFDLEVBQUVILFFBQVEsQ0FBQztFQUM5RCxJQUFJQyxhQUFhLEVBQUU7SUFDakJDLElBQUksQ0FBQ0UsSUFBSSxDQUFDSCxhQUFhLENBQUM7RUFDMUI7RUFDQSxNQUFNO0lBQUNJO0VBQU0sQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7SUFBQ0o7RUFBSSxDQUFDLENBQUM7RUFDN0QsT0FBTyxDQUFDRyxNQUFNLElBQUksRUFBRSxFQUFFRSxJQUFJLENBQUMsQ0FBQztBQUM5QixDQUFDO0FBQUMsSUFBQUMsUUFBQSxHQUVhVixRQUFRO0FBQUFXLE9BQUEsQ0FBQUMsT0FBQSxHQUFBRixRQUFBIn0=
23
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImdldEFwcENvbnRhaW5lciIsImJ1bmRsZUlkIiwiY29udGFpbmVyVHlwZSIsImFyZ3MiLCJyZXF1aXJlVWRpZCIsInB1c2giLCJzdGRvdXQiLCJleGVjIiwidHJpbSIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3ViY29tbWFuZHMvZ2V0X2FwcF9jb250YWluZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBHZXQgdGhlIGZ1bGwgcGF0aCB0byB0aGUgcGFydGljdWxhciBhcHBsaWNhdGlvbiBjb250YWluZXJcbiAqIG9uIHRoZSBsb2NhbCBmaWxlIHN5c3RlbS4gTm90ZSwgdGhhdCB0aGlzIHN1YmNvbW1hbmQgdGhyb3dzXG4gKiBhbiBlcnJvciBpZiBidW5kbGUgaWQgb2YgYSBzeXN0ZW0gYXBwbGljYXRpb24gaXMgcHJvdmlkZWQsXG4gKiBsaWtlICdjb20uYXBwbGUuc3ByaW5nYm9hcmQnLlxuICogSXQgaXMgcmVxdWlyZWQgdGhhdCBTaW11bGF0b3IgaXMgaW4gX2Jvb3RlZF8gc3RhdGUuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGJ1bmRsZUlkIC0gQnVuZGxlIGlkZW50aWZpZXIgb2YgYW4gYXBwbGljYXRpb24uXG4gKiBAcGFyYW0ge3N0cmluZz99IGNvbnRhaW5lclR5cGUgLSBXaGljaCBjb250YWluZXIgdHlwZSB0byByZXR1cm4uIFBvc3NpYmxlIHZhbHVlc1xuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJlICdhcHAnLCAnZGF0YScsICdncm91cHMnLCAnPEEgc3BlY2lmaWMgQXBwIEdyb3VwIGNvbnRhaW5lcj4nLlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgJ2FwcCcuXG4gKiBAcmV0dXJuIHtQcm9taXNlPHN0cmluZz59IEZ1bGwgcGF0aCB0byB0aGUgZ2l2ZW4gYXBwbGljYXRpb24gY29udGFpbmVyIG9uIHRoZSBsb2NhbFxuICogICAgICAgICAgICAgICAgICBmaWxlIHN5c3RlbS5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kXG4gKiAgICAgICAgICAgICAgICAgcmV0dXJucyBub24temVybyByZXR1cm4gY29kZS5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgYHVkaWRgIGluc3RhbmNlIHByb3BlcnR5IGlzIHVuc2V0XG4gKi9cbmNvbW1hbmRzLmdldEFwcENvbnRhaW5lciA9IGFzeW5jIGZ1bmN0aW9uIGdldEFwcENvbnRhaW5lciAoYnVuZGxlSWQsIGNvbnRhaW5lclR5cGUgPSBudWxsKSB7XG4gIGNvbnN0IGFyZ3MgPSBbdGhpcy5yZXF1aXJlVWRpZCgnZ2V0X2FwcF9jb250YWluZXInKSwgYnVuZGxlSWRdO1xuICBpZiAoY29udGFpbmVyVHlwZSkge1xuICAgIGFyZ3MucHVzaChjb250YWluZXJUeXBlKTtcbiAgfVxuICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IHRoaXMuZXhlYygnZ2V0X2FwcF9jb250YWluZXInLCB7YXJnc30pO1xuICByZXR1cm4gKHN0ZG91dCB8fCAnJykudHJpbSgpO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxNQUFNQSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBbUJuQkEsUUFBUSxDQUFDQyxlQUFlLEdBQUcsZUFBZUEsZUFBZUEsQ0FBRUMsUUFBUSxFQUFFQyxhQUFhLEdBQUcsSUFBSSxFQUFFO0VBQ3pGLE1BQU1DLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQ0MsV0FBVyxDQUFDLG1CQUFtQixDQUFDLEVBQUVILFFBQVEsQ0FBQztFQUM5RCxJQUFJQyxhQUFhLEVBQUU7SUFDakJDLElBQUksQ0FBQ0UsSUFBSSxDQUFDSCxhQUFhLENBQUM7RUFDMUI7RUFDQSxNQUFNO0lBQUNJO0VBQU0sQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7SUFBQ0o7RUFBSSxDQUFDLENBQUM7RUFDN0QsT0FBTyxDQUFDRyxNQUFNLElBQUksRUFBRSxFQUFFRSxJQUFJLENBQUMsQ0FBQztBQUM5QixDQUFDO0FBQUMsSUFBQUMsUUFBQSxHQUVhVixRQUFRO0FBQUFXLE9BQUEsQ0FBQUMsT0FBQSxHQUFBRixRQUFBIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"get_app_container.js","names":["commands","getAppContainer","bundleId","containerType","args","requireUdid","push","stdout","exec","trim","_default","exports","default"],"sources":["../../../lib/subcommands/get_app_container.js"],"sourcesContent":["const commands = {};\n\n/**\n * Get the full path to the particular application container\n * on the local file system. Note, that this subcommand throws\n * an error if bundle id of a system application is provided,\n * like 'com.apple.springboard'.\n * It is required that Simulator is in _booted_ state.\n *\n * @param {string} bundleId - Bundle identifier of an application.\n * @param {?string} containerType - Which container type to return. Possible values\n * are 'app', 'data', 'groups', '<A specific App Group container>'.\n * The default value is 'app'.\n * @return {string} Full path to the given application container on the local\n * file system.\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.getAppContainer = async function getAppContainer (bundleId, containerType = null) {\n const args = [this.requireUdid('get_app_container'), bundleId];\n if (containerType) {\n args.push(containerType);\n }\n const {stdout} = await this.exec('get_app_container', {args});\n return (stdout || '').trim();\n};\n\nexport default commands;\n"],"mappings":";;;;;;;AAAA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AAmBnBA,QAAQ,CAACC,eAAe,GAAG,eAAeA,eAAeA,CAAEC,QAAQ,EAAEC,aAAa,GAAG,IAAI,EAAE;EACzF,MAAMC,IAAI,GAAG,CAAC,IAAI,CAACC,WAAW,CAAC,mBAAmB,CAAC,EAAEH,QAAQ,CAAC;EAC9D,IAAIC,aAAa,EAAE;IACjBC,IAAI,CAACE,IAAI,CAACH,aAAa,CAAC;EAC1B;EACA,MAAM;IAACI;EAAM,CAAC,GAAG,MAAM,IAAI,CAACC,IAAI,CAAC,mBAAmB,EAAE;IAACJ;EAAI,CAAC,CAAC;EAC7D,OAAO,CAACG,MAAM,IAAI,EAAE,EAAEE,IAAI,CAAC,CAAC;AAC9B,CAAC;AAAC,IAAAC,QAAA,GAEaV,QAAQ;AAAAW,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"file":"get_app_container.js","names":["commands","getAppContainer","bundleId","containerType","args","requireUdid","push","stdout","exec","trim","_default","exports","default"],"sources":["../../../lib/subcommands/get_app_container.js"],"sourcesContent":["const commands = {};\n\n/**\n * Get the full path to the particular application container\n * on the local file system. Note, that this subcommand throws\n * an error if bundle id of a system application is provided,\n * like 'com.apple.springboard'.\n * It is required that Simulator is in _booted_ state.\n *\n * @param {string} bundleId - Bundle identifier of an application.\n * @param {string?} containerType - Which container type to return. Possible values\n * are 'app', 'data', 'groups', '<A specific App Group container>'.\n * The default value is 'app'.\n * @return {Promise<string>} Full path to the given application container on the local\n * file system.\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.getAppContainer = async function getAppContainer (bundleId, containerType = null) {\n const args = [this.requireUdid('get_app_container'), bundleId];\n if (containerType) {\n args.push(containerType);\n }\n const {stdout} = await this.exec('get_app_container', {args});\n return (stdout || '').trim();\n};\n\nexport default commands;\n"],"mappings":";;;;;;;AAAA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AAmBnBA,QAAQ,CAACC,eAAe,GAAG,eAAeA,eAAeA,CAAEC,QAAQ,EAAEC,aAAa,GAAG,IAAI,EAAE;EACzF,MAAMC,IAAI,GAAG,CAAC,IAAI,CAACC,WAAW,CAAC,mBAAmB,CAAC,EAAEH,QAAQ,CAAC;EAC9D,IAAIC,aAAa,EAAE;IACjBC,IAAI,CAACE,IAAI,CAACH,aAAa,CAAC;EAC1B;EACA,MAAM;IAACI;EAAM,CAAC,GAAG,MAAM,IAAI,CAACC,IAAI,CAAC,mBAAmB,EAAE;IAACJ;EAAI,CAAC,CAAC;EAC7D,OAAO,CAACG,MAAM,IAAI,EAAE,EAAEE,IAAI,CAAC,CAAC;AAC9B,CAAC;AAAC,IAAAC,QAAA,GAEaV,QAAQ;AAAAW,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -18,4 +18,4 @@ commands.getEnv = async function getEnv(varName) {
18
18
  };
19
19
  var _default = commands;
20
20
  exports.default = _default;
21
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImdldEVudiIsInZhck5hbWUiLCJzdGRvdXQiLCJzdGRlcnIiLCJleGVjIiwiYXJncyIsInJlcXVpcmVVZGlkIiwibG9nRXJyb3JzIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdWJjb21tYW5kcy9nZXRlbnYuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIHZhbHVlIG9mIGEgU2ltdWxhdG9yIGVudmlyb25tZW50IHZhcmlhYmxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhck5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgdmFyaWFibGUgdG8gYmUgcmV0cmlldmVkXG4gKiBAcmV0dXJucyB7P3N0cmluZ30gVGhlIHZhbHVlIG9mIHRoZSB2YXJpYWJsZSBvciBudWxsIGlmIHRoZSBnaXZlbiB2YXJpYWJsZVxuICogaXMgbm90IHByZXNlbnQgaW4gdGhlIFNpbXVsYXRvciBlbnZpcm9ubWVudFxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZXJlIHdhcyBhbiBlcnJvciB3aGlsZSBydW5uaW5nIHRoZSBjb21tYW5kXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGB1ZGlkYCBpbnN0YW5jZSBwcm9wZXJ0eSBpcyB1bnNldFxuICovXG5jb21tYW5kcy5nZXRFbnYgPSBhc3luYyBmdW5jdGlvbiBnZXRFbnYgKHZhck5hbWUpIHtcbiAgY29uc3Qge3N0ZG91dCwgc3RkZXJyfSA9IGF3YWl0IHRoaXMuZXhlYygnZ2V0ZW52Jywge1xuICAgIGFyZ3M6IFt0aGlzLnJlcXVpcmVVZGlkKCdnZXRlbnYnKSwgdmFyTmFtZV0sXG4gICAgbG9nRXJyb3JzOiBmYWxzZSxcbiAgfSk7XG4gIHJldHVybiBzdGRlcnIgPyBudWxsIDogc3Rkb3V0O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxNQUFNQSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBV25CQSxRQUFRLENBQUNDLE1BQU0sR0FBRyxlQUFlQSxNQUFNQSxDQUFFQyxPQUFPLEVBQUU7RUFDaEQsTUFBTTtJQUFDQyxNQUFNO0lBQUVDO0VBQU0sQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDQyxJQUFJLENBQUMsUUFBUSxFQUFFO0lBQ2pEQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUNDLFdBQVcsQ0FBQyxRQUFRLENBQUMsRUFBRUwsT0FBTyxDQUFDO0lBQzNDTSxTQUFTLEVBQUU7RUFDYixDQUFDLENBQUM7RUFDRixPQUFPSixNQUFNLEdBQUcsSUFBSSxHQUFHRCxNQUFNO0FBQy9CLENBQUM7QUFBQyxJQUFBTSxRQUFBLEdBRWFULFFBQVE7QUFBQVUsT0FBQSxDQUFBQyxPQUFBLEdBQUFGLFFBQUEifQ==
21
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImdldEVudiIsInZhck5hbWUiLCJzdGRvdXQiLCJzdGRlcnIiLCJleGVjIiwiYXJncyIsInJlcXVpcmVVZGlkIiwibG9nRXJyb3JzIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdWJjb21tYW5kcy9nZXRlbnYuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIHZhbHVlIG9mIGEgU2ltdWxhdG9yIGVudmlyb25tZW50IHZhcmlhYmxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhck5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgdmFyaWFibGUgdG8gYmUgcmV0cmlldmVkXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmd8bnVsbD59IFRoZSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgb3IgbnVsbCBpZiB0aGUgZ2l2ZW4gdmFyaWFibGVcbiAqIGlzIG5vdCBwcmVzZW50IGluIHRoZSBTaW11bGF0b3IgZW52aXJvbm1lbnRcbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgcnVubmluZyB0aGUgY29tbWFuZFxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBgdWRpZGAgaW5zdGFuY2UgcHJvcGVydHkgaXMgdW5zZXRcbiAqL1xuY29tbWFuZHMuZ2V0RW52ID0gYXN5bmMgZnVuY3Rpb24gZ2V0RW52ICh2YXJOYW1lKSB7XG4gIGNvbnN0IHtzdGRvdXQsIHN0ZGVycn0gPSBhd2FpdCB0aGlzLmV4ZWMoJ2dldGVudicsIHtcbiAgICBhcmdzOiBbdGhpcy5yZXF1aXJlVWRpZCgnZ2V0ZW52JyksIHZhck5hbWVdLFxuICAgIGxvZ0Vycm9yczogZmFsc2UsXG4gIH0pO1xuICByZXR1cm4gc3RkZXJyID8gbnVsbCA6IHN0ZG91dDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsTUFBTUEsUUFBUSxHQUFHLENBQUMsQ0FBQztBQVduQkEsUUFBUSxDQUFDQyxNQUFNLEdBQUcsZUFBZUEsTUFBTUEsQ0FBRUMsT0FBTyxFQUFFO0VBQ2hELE1BQU07SUFBQ0MsTUFBTTtJQUFFQztFQUFNLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQ0MsSUFBSSxDQUFDLFFBQVEsRUFBRTtJQUNqREMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDQyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUVMLE9BQU8sQ0FBQztJQUMzQ00sU0FBUyxFQUFFO0VBQ2IsQ0FBQyxDQUFDO0VBQ0YsT0FBT0osTUFBTSxHQUFHLElBQUksR0FBR0QsTUFBTTtBQUMvQixDQUFDO0FBQUMsSUFBQU0sUUFBQSxHQUVhVCxRQUFRO0FBQUFVLE9BQUEsQ0FBQUMsT0FBQSxHQUFBRixRQUFBIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"getenv.js","names":["commands","getEnv","varName","stdout","stderr","exec","args","requireUdid","logErrors","_default","exports","default"],"sources":["../../../lib/subcommands/getenv.js"],"sourcesContent":["const commands = {};\n\n/**\n * Retrieves the value of a Simulator environment variable\n *\n * @param {string} varName - The name of the variable to be retrieved\n * @returns {?string} The value of the variable or null if the given variable\n * is not present in the Simulator environment\n * @throws {Error} If there was an error while running the command\n * @throws {Error} If the `udid` instance property is unset\n */\ncommands.getEnv = async function getEnv (varName) {\n const {stdout, stderr} = await this.exec('getenv', {\n args: [this.requireUdid('getenv'), varName],\n logErrors: false,\n });\n return stderr ? null : stdout;\n};\n\nexport default commands;\n"],"mappings":";;;;;;;AAAA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AAWnBA,QAAQ,CAACC,MAAM,GAAG,eAAeA,MAAMA,CAAEC,OAAO,EAAE;EAChD,MAAM;IAACC,MAAM;IAAEC;EAAM,CAAC,GAAG,MAAM,IAAI,CAACC,IAAI,CAAC,QAAQ,EAAE;IACjDC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,QAAQ,CAAC,EAAEL,OAAO,CAAC;IAC3CM,SAAS,EAAE;EACb,CAAC,CAAC;EACF,OAAOJ,MAAM,GAAG,IAAI,GAAGD,MAAM;AAC/B,CAAC;AAAC,IAAAM,QAAA,GAEaT,QAAQ;AAAAU,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"file":"getenv.js","names":["commands","getEnv","varName","stdout","stderr","exec","args","requireUdid","logErrors","_default","exports","default"],"sources":["../../../lib/subcommands/getenv.js"],"sourcesContent":["const commands = {};\n\n/**\n * Retrieves the value of a Simulator environment variable\n *\n * @param {string} varName - The name of the variable to be retrieved\n * @returns {Promise<string|null>} The value of the variable or null if the given variable\n * is not present in the Simulator environment\n * @throws {Error} If there was an error while running the command\n * @throws {Error} If the `udid` instance property is unset\n */\ncommands.getEnv = async function getEnv (varName) {\n const {stdout, stderr} = await this.exec('getenv', {\n args: [this.requireUdid('getenv'), varName],\n logErrors: false,\n });\n return stderr ? null : stdout;\n};\n\nexport default commands;\n"],"mappings":";;;;;;;AAAA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AAWnBA,QAAQ,CAACC,MAAM,GAAG,eAAeA,MAAMA,CAAEC,OAAO,EAAE;EAChD,MAAM;IAACC,MAAM;IAAEC;EAAM,CAAC,GAAG,MAAM,IAAI,CAACC,IAAI,CAAC,QAAQ,EAAE;IACjDC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,QAAQ,CAAC,EAAEL,OAAO,CAAC;IAC3CM,SAAS,EAAE;EACb,CAAC,CAAC;EACF,OAAOJ,MAAM,GAAG,IAAI,GAAGD,MAAM;AAC/B,CAAC;AAAC,IAAAM,QAAA,GAEaT,QAAQ;AAAAU,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -26,4 +26,4 @@ commands.getScreenshot = async function getScreenshot() {
26
26
  };
27
27
  var _default = commands;
28
28
  exports.default = _default;
29
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmltcmFmIiwicmVxdWlyZSIsIl91dWlkIiwiX3BhdGgiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX29zIiwiX3Byb21pc2VzIiwiY29tbWFuZHMiLCJnZXRTY3JlZW5zaG90IiwidWRpZCIsInJlcXVpcmVVZGlkIiwicGF0aFRvU2NyZWVuc2hvdFBuZyIsInBhdGgiLCJyZXNvbHZlIiwib3MiLCJ0bXBkaXIiLCJ1dWlkVjQiLCJleGVjIiwiYXJncyIsImZzIiwicmVhZEZpbGUiLCJ0b1N0cmluZyIsInJpbXJhZiIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3ViY29tbWFuZHMvaW8uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmltcmFmIH0gZnJvbSAncmltcmFmJztcbmltcG9ydCB7IHY0IGFzIHV1aWRWNCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgb3MgZnJvbSAnb3MnO1xuaW1wb3J0IGZzIGZyb20gJ2ZzL3Byb21pc2VzJztcblxuY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBHZXRzIGJhc2U2NCBzY3JlZW5zaG90IGZvciBkZXZpY2VcbiAqIEl0IGlzIHJlcXVpcmVkIHRoYXQgU2ltdWxhdG9yIGlzIGluIF9ib290ZWRfIHN0YXRlLlxuICpcbiAqIEBzaW5jZSBYY29kZSBTREsgOC4xXG4gKiBAcmV0dXJuIHtzdHJpbmd9IEJhc2U2NC1lbmNvZGVkIFNpbXVsYXRvciBzY3JlZW5zaG90LlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBjb3JyZXNwb25kaW5nIHNpbWN0bCBzdWJjb21tYW5kIGNvbW1hbmRcbiAqICAgICAgICAgICAgICAgICByZXR1cm5zIG5vbi16ZXJvIHJldHVybiBjb2RlLlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBgdWRpZGAgaW5zdGFuY2UgcHJvcGVydHkgaXMgdW5zZXRcbiAqL1xuY29tbWFuZHMuZ2V0U2NyZWVuc2hvdCA9IGFzeW5jIGZ1bmN0aW9uIGdldFNjcmVlbnNob3QgKCkge1xuICBjb25zdCB1ZGlkID0gdGhpcy5yZXF1aXJlVWRpZCgnaW8gc2NyZWVuc2hvdCcpO1xuICBjb25zdCBwYXRoVG9TY3JlZW5zaG90UG5nID0gcGF0aC5yZXNvbHZlKG9zLnRtcGRpcigpLCBgJHt1dWlkVjQoKX0ucG5nYCk7XG4gIHRyeSB7XG4gICAgYXdhaXQgdGhpcy5leGVjKCdpbycsIHtcbiAgICAgIGFyZ3M6IFt1ZGlkLCAnc2NyZWVuc2hvdCcsIHBhdGhUb1NjcmVlbnNob3RQbmddLFxuICAgIH0pO1xuICAgIHJldHVybiAoYXdhaXQgZnMucmVhZEZpbGUocGF0aFRvU2NyZWVuc2hvdFBuZykpLnRvU3RyaW5nKCdiYXNlNjQnKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBhd2FpdCByaW1yYWYocGF0aFRvU2NyZWVuc2hvdFBuZyk7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLEtBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLEdBQUEsR0FBQUQsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFLLFNBQUEsR0FBQUYsc0JBQUEsQ0FBQUgsT0FBQTtBQUVBLE1BQU1NLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFZbkJBLFFBQVEsQ0FBQ0MsYUFBYSxHQUFHLGVBQWVBLGFBQWFBLENBQUEsRUFBSTtFQUN2RCxNQUFNQyxJQUFJLEdBQUcsSUFBSSxDQUFDQyxXQUFXLENBQUMsZUFBZSxDQUFDO0VBQzlDLE1BQU1DLG1CQUFtQixHQUFHQyxhQUFJLENBQUNDLE9BQU8sQ0FBQ0MsV0FBRSxDQUFDQyxNQUFNLENBQUMsQ0FBQyxFQUFHLEdBQUUsSUFBQUMsUUFBTSxFQUFDLENBQUUsTUFBSyxDQUFDO0VBQ3hFLElBQUk7SUFDRixNQUFNLElBQUksQ0FBQ0MsSUFBSSxDQUFDLElBQUksRUFBRTtNQUNwQkMsSUFBSSxFQUFFLENBQUNULElBQUksRUFBRSxZQUFZLEVBQUVFLG1CQUFtQjtJQUNoRCxDQUFDLENBQUM7SUFDRixPQUFPLENBQUMsTUFBTVEsaUJBQUUsQ0FBQ0MsUUFBUSxDQUFDVCxtQkFBbUIsQ0FBQyxFQUFFVSxRQUFRLENBQUMsUUFBUSxDQUFDO0VBQ3BFLENBQUMsU0FBUztJQUNSLE1BQU0sSUFBQUMsY0FBTSxFQUFDWCxtQkFBbUIsQ0FBQztFQUNuQztBQUNGLENBQUM7QUFBQyxJQUFBWSxRQUFBLEdBRWFoQixRQUFRO0FBQUFpQixPQUFBLENBQUFDLE9BQUEsR0FBQUYsUUFBQSJ9
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmltcmFmIiwicmVxdWlyZSIsIl91dWlkIiwiX3BhdGgiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX29zIiwiX3Byb21pc2VzIiwiY29tbWFuZHMiLCJnZXRTY3JlZW5zaG90IiwidWRpZCIsInJlcXVpcmVVZGlkIiwicGF0aFRvU2NyZWVuc2hvdFBuZyIsInBhdGgiLCJyZXNvbHZlIiwib3MiLCJ0bXBkaXIiLCJ1dWlkVjQiLCJleGVjIiwiYXJncyIsImZzIiwicmVhZEZpbGUiLCJ0b1N0cmluZyIsInJpbXJhZiIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3ViY29tbWFuZHMvaW8uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmltcmFmIH0gZnJvbSAncmltcmFmJztcbmltcG9ydCB7IHY0IGFzIHV1aWRWNCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgb3MgZnJvbSAnb3MnO1xuaW1wb3J0IGZzIGZyb20gJ2ZzL3Byb21pc2VzJztcblxuY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBHZXRzIGJhc2U2NCBzY3JlZW5zaG90IGZvciBkZXZpY2VcbiAqIEl0IGlzIHJlcXVpcmVkIHRoYXQgU2ltdWxhdG9yIGlzIGluIF9ib290ZWRfIHN0YXRlLlxuICpcbiAqIEBzaW5jZSBYY29kZSBTREsgOC4xXG4gKiBAcmV0dXJuIHtQcm9taXNlPHN0cmluZz59IEJhc2U2NC1lbmNvZGVkIFNpbXVsYXRvciBzY3JlZW5zaG90LlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBjb3JyZXNwb25kaW5nIHNpbWN0bCBzdWJjb21tYW5kIGNvbW1hbmRcbiAqICAgICAgICAgICAgICAgICByZXR1cm5zIG5vbi16ZXJvIHJldHVybiBjb2RlLlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBgdWRpZGAgaW5zdGFuY2UgcHJvcGVydHkgaXMgdW5zZXRcbiAqL1xuY29tbWFuZHMuZ2V0U2NyZWVuc2hvdCA9IGFzeW5jIGZ1bmN0aW9uIGdldFNjcmVlbnNob3QgKCkge1xuICBjb25zdCB1ZGlkID0gdGhpcy5yZXF1aXJlVWRpZCgnaW8gc2NyZWVuc2hvdCcpO1xuICBjb25zdCBwYXRoVG9TY3JlZW5zaG90UG5nID0gcGF0aC5yZXNvbHZlKG9zLnRtcGRpcigpLCBgJHt1dWlkVjQoKX0ucG5nYCk7XG4gIHRyeSB7XG4gICAgYXdhaXQgdGhpcy5leGVjKCdpbycsIHtcbiAgICAgIGFyZ3M6IFt1ZGlkLCAnc2NyZWVuc2hvdCcsIHBhdGhUb1NjcmVlbnNob3RQbmddLFxuICAgIH0pO1xuICAgIHJldHVybiAoYXdhaXQgZnMucmVhZEZpbGUocGF0aFRvU2NyZWVuc2hvdFBuZykpLnRvU3RyaW5nKCdiYXNlNjQnKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBhd2FpdCByaW1yYWYocGF0aFRvU2NyZWVuc2hvdFBuZyk7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLEtBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLEdBQUEsR0FBQUQsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFLLFNBQUEsR0FBQUYsc0JBQUEsQ0FBQUgsT0FBQTtBQUVBLE1BQU1NLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFZbkJBLFFBQVEsQ0FBQ0MsYUFBYSxHQUFHLGVBQWVBLGFBQWFBLENBQUEsRUFBSTtFQUN2RCxNQUFNQyxJQUFJLEdBQUcsSUFBSSxDQUFDQyxXQUFXLENBQUMsZUFBZSxDQUFDO0VBQzlDLE1BQU1DLG1CQUFtQixHQUFHQyxhQUFJLENBQUNDLE9BQU8sQ0FBQ0MsV0FBRSxDQUFDQyxNQUFNLENBQUMsQ0FBQyxFQUFHLEdBQUUsSUFBQUMsUUFBTSxFQUFDLENBQUUsTUFBSyxDQUFDO0VBQ3hFLElBQUk7SUFDRixNQUFNLElBQUksQ0FBQ0MsSUFBSSxDQUFDLElBQUksRUFBRTtNQUNwQkMsSUFBSSxFQUFFLENBQUNULElBQUksRUFBRSxZQUFZLEVBQUVFLG1CQUFtQjtJQUNoRCxDQUFDLENBQUM7SUFDRixPQUFPLENBQUMsTUFBTVEsaUJBQUUsQ0FBQ0MsUUFBUSxDQUFDVCxtQkFBbUIsQ0FBQyxFQUFFVSxRQUFRLENBQUMsUUFBUSxDQUFDO0VBQ3BFLENBQUMsU0FBUztJQUNSLE1BQU0sSUFBQUMsY0FBTSxFQUFDWCxtQkFBbUIsQ0FBQztFQUNuQztBQUNGLENBQUM7QUFBQyxJQUFBWSxRQUFBLEdBRWFoQixRQUFRO0FBQUFpQixPQUFBLENBQUFDLE9BQUEsR0FBQUYsUUFBQSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"io.js","names":["_rimraf","require","_uuid","_path","_interopRequireDefault","_os","_promises","commands","getScreenshot","udid","requireUdid","pathToScreenshotPng","path","resolve","os","tmpdir","uuidV4","exec","args","fs","readFile","toString","rimraf","_default","exports","default"],"sources":["../../../lib/subcommands/io.js"],"sourcesContent":["import { rimraf } from 'rimraf';\nimport { v4 as uuidV4 } from 'uuid';\nimport path from 'path';\nimport os from 'os';\nimport fs from 'fs/promises';\n\nconst commands = {};\n\n/**\n * Gets base64 screenshot for device\n * It is required that Simulator is in _booted_ state.\n *\n * @since Xcode SDK 8.1\n * @return {string} Base64-encoded Simulator screenshot.\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.getScreenshot = async function getScreenshot () {\n const udid = this.requireUdid('io screenshot');\n const pathToScreenshotPng = path.resolve(os.tmpdir(), `${uuidV4()}.png`);\n try {\n await this.exec('io', {\n args: [udid, 'screenshot', pathToScreenshotPng],\n });\n return (await fs.readFile(pathToScreenshotPng)).toString('base64');\n } finally {\n await rimraf(pathToScreenshotPng);\n }\n};\n\nexport default commands;\n"],"mappings":";;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,GAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,SAAA,GAAAF,sBAAA,CAAAH,OAAA;AAEA,MAAMM,QAAQ,GAAG,CAAC,CAAC;AAYnBA,QAAQ,CAACC,aAAa,GAAG,eAAeA,aAAaA,CAAA,EAAI;EACvD,MAAMC,IAAI,GAAG,IAAI,CAACC,WAAW,CAAC,eAAe,CAAC;EAC9C,MAAMC,mBAAmB,GAAGC,aAAI,CAACC,OAAO,CAACC,WAAE,CAACC,MAAM,CAAC,CAAC,EAAG,GAAE,IAAAC,QAAM,EAAC,CAAE,MAAK,CAAC;EACxE,IAAI;IACF,MAAM,IAAI,CAACC,IAAI,CAAC,IAAI,EAAE;MACpBC,IAAI,EAAE,CAACT,IAAI,EAAE,YAAY,EAAEE,mBAAmB;IAChD,CAAC,CAAC;IACF,OAAO,CAAC,MAAMQ,iBAAE,CAACC,QAAQ,CAACT,mBAAmB,CAAC,EAAEU,QAAQ,CAAC,QAAQ,CAAC;EACpE,CAAC,SAAS;IACR,MAAM,IAAAC,cAAM,EAACX,mBAAmB,CAAC;EACnC;AACF,CAAC;AAAC,IAAAY,QAAA,GAEahB,QAAQ;AAAAiB,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"file":"io.js","names":["_rimraf","require","_uuid","_path","_interopRequireDefault","_os","_promises","commands","getScreenshot","udid","requireUdid","pathToScreenshotPng","path","resolve","os","tmpdir","uuidV4","exec","args","fs","readFile","toString","rimraf","_default","exports","default"],"sources":["../../../lib/subcommands/io.js"],"sourcesContent":["import { rimraf } from 'rimraf';\nimport { v4 as uuidV4 } from 'uuid';\nimport path from 'path';\nimport os from 'os';\nimport fs from 'fs/promises';\n\nconst commands = {};\n\n/**\n * Gets base64 screenshot for device\n * It is required that Simulator is in _booted_ state.\n *\n * @since Xcode SDK 8.1\n * @return {Promise<string>} Base64-encoded Simulator screenshot.\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.getScreenshot = async function getScreenshot () {\n const udid = this.requireUdid('io screenshot');\n const pathToScreenshotPng = path.resolve(os.tmpdir(), `${uuidV4()}.png`);\n try {\n await this.exec('io', {\n args: [udid, 'screenshot', pathToScreenshotPng],\n });\n return (await fs.readFile(pathToScreenshotPng)).toString('base64');\n } finally {\n await rimraf(pathToScreenshotPng);\n }\n};\n\nexport default commands;\n"],"mappings":";;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,GAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,SAAA,GAAAF,sBAAA,CAAAH,OAAA;AAEA,MAAMM,QAAQ,GAAG,CAAC,CAAC;AAYnBA,QAAQ,CAACC,aAAa,GAAG,eAAeA,aAAaA,CAAA,EAAI;EACvD,MAAMC,IAAI,GAAG,IAAI,CAACC,WAAW,CAAC,eAAe,CAAC;EAC9C,MAAMC,mBAAmB,GAAGC,aAAI,CAACC,OAAO,CAACC,WAAE,CAACC,MAAM,CAAC,CAAC,EAAG,GAAE,IAAAC,QAAM,EAAC,CAAE,MAAK,CAAC;EACxE,IAAI;IACF,MAAM,IAAI,CAACC,IAAI,CAAC,IAAI,EAAE;MACpBC,IAAI,EAAE,CAACT,IAAI,EAAE,YAAY,EAAEE,mBAAmB;IAChD,CAAC,CAAC;IACF,OAAO,CAAC,MAAMQ,iBAAE,CAACC,QAAQ,CAACT,mBAAmB,CAAC,EAAEU,QAAQ,CAAC,QAAQ,CAAC;EACpE,CAAC,SAAS;IACR,MAAM,IAAAC,cAAM,EAACX,mBAAmB,CAAC;EACnC;AACF,CAAC;AAAC,IAAAY,QAAA,GAEahB,QAAQ;AAAAiB,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -21,4 +21,4 @@ commands.launchApp = async function launchApp(bundleId, tries = 5) {
21
21
  };
22
22
  var _default = commands;
23
23
  exports.default = _default;
24
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfYXN5bmNib3giLCJjb21tYW5kcyIsImxhdW5jaEFwcCIsImJ1bmRsZUlkIiwidHJpZXMiLCJyZXRyeUludGVydmFsIiwic3Rkb3V0IiwiZXhlYyIsImFyZ3MiLCJyZXF1aXJlVWRpZCIsIl8iLCJ0cmltIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdWJjb21tYW5kcy9sYXVuY2guanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IHJldHJ5SW50ZXJ2YWwgfSBmcm9tICdhc3luY2JveCc7XG5cbmNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8qKlxuICogRXhlY3V0ZSB0aGUgcGFydGljdWxhciBhcHBsaWNhdGlvbiBwYWNrYWdlIG9uIFNpbXVsYXRvci5cbiAqIEl0IGlzIHJlcXVpcmVkIHRoYXQgU2ltdWxhdG9yIGlzIGluIF9ib290ZWRfIHN0YXRlIGFuZFxuICogdGhlIGFwcGxpY2F0aW9uIHdpdGggZ2l2ZW4gYnVuZGxlIGlkZW50aWZpZXIgaXMgYWxyZWFkeSBpbnN0YWxsZWQuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGJ1bmRsZUlkIC0gQnVuZGxlIGlkZW50aWZpZXIgb2YgdGhlIGFwcGxpY2F0aW9uLFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpY2ggaXMgZ29pbmcgdG8gYmUgcmVtb3ZlZC5cbiAqIEBwYXJhbSB7bnVtYmVyfSB0cmllcyBbNV0gLSBUaGUgbWF4aW11bSBudW1iZXIgb2YgcmV0cmllcyBiZWZvcmVcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvd2luZyBhbiBleGNlcHRpb24uXG4gKiBAcmV0dXJuIHtzdHJpbmd9IHRoZSBhY3R1YWwgY29tbWFuZCBvdXRwdXRcbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kXG4gKiAgICAgICAgICAgICAgICAgcmV0dXJucyBub24temVybyByZXR1cm4gY29kZS5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgYHVkaWRgIGluc3RhbmNlIHByb3BlcnR5IGlzIHVuc2V0XG4gKi9cbmNvbW1hbmRzLmxhdW5jaEFwcCA9IGFzeW5jIGZ1bmN0aW9uIGxhdW5jaEFwcCAoYnVuZGxlSWQsIHRyaWVzID0gNSkge1xuICByZXR1cm4gYXdhaXQgcmV0cnlJbnRlcnZhbCh0cmllcywgMTAwMCwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgdGhpcy5leGVjKCdsYXVuY2gnLCB7XG4gICAgICBhcmdzOiBbdGhpcy5yZXF1aXJlVWRpZCgnbGF1bmNoJyksIGJ1bmRsZUlkXSxcbiAgICB9KTtcbiAgICByZXR1cm4gXy50cmltKHN0ZG91dCk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsU0FBQSxHQUFBRCxPQUFBO0FBRUEsTUFBTUUsUUFBUSxHQUFHLENBQUMsQ0FBQztBQWdCbkJBLFFBQVEsQ0FBQ0MsU0FBUyxHQUFHLGVBQWVBLFNBQVNBLENBQUVDLFFBQVEsRUFBRUMsS0FBSyxHQUFHLENBQUMsRUFBRTtFQUNsRSxPQUFPLE1BQU0sSUFBQUMsdUJBQWEsRUFBQ0QsS0FBSyxFQUFFLElBQUksRUFBRSxZQUFZO0lBQ2xELE1BQU07TUFBQ0U7SUFBTSxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUNDLElBQUksQ0FBQyxRQUFRLEVBQUU7TUFDekNDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQ0MsV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFTixRQUFRO0lBQzdDLENBQUMsQ0FBQztJQUNGLE9BQU9PLGVBQUMsQ0FBQ0MsSUFBSSxDQUFDTCxNQUFNLENBQUM7RUFDdkIsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUFDLElBQUFNLFFBQUEsR0FFYVgsUUFBUTtBQUFBWSxPQUFBLENBQUFDLE9BQUEsR0FBQUYsUUFBQSJ9
24
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfYXN5bmNib3giLCJjb21tYW5kcyIsImxhdW5jaEFwcCIsImJ1bmRsZUlkIiwidHJpZXMiLCJyZXRyeUludGVydmFsIiwic3Rkb3V0IiwiZXhlYyIsImFyZ3MiLCJyZXF1aXJlVWRpZCIsIl8iLCJ0cmltIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdWJjb21tYW5kcy9sYXVuY2guanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IHJldHJ5SW50ZXJ2YWwgfSBmcm9tICdhc3luY2JveCc7XG5cbmNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8qKlxuICogRXhlY3V0ZSB0aGUgcGFydGljdWxhciBhcHBsaWNhdGlvbiBwYWNrYWdlIG9uIFNpbXVsYXRvci5cbiAqIEl0IGlzIHJlcXVpcmVkIHRoYXQgU2ltdWxhdG9yIGlzIGluIF9ib290ZWRfIHN0YXRlIGFuZFxuICogdGhlIGFwcGxpY2F0aW9uIHdpdGggZ2l2ZW4gYnVuZGxlIGlkZW50aWZpZXIgaXMgYWxyZWFkeSBpbnN0YWxsZWQuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGJ1bmRsZUlkIC0gQnVuZGxlIGlkZW50aWZpZXIgb2YgdGhlIGFwcGxpY2F0aW9uLFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpY2ggaXMgZ29pbmcgdG8gYmUgcmVtb3ZlZC5cbiAqIEBwYXJhbSB7bnVtYmVyfSB0cmllcyBbNV0gLSBUaGUgbWF4aW11bSBudW1iZXIgb2YgcmV0cmllcyBiZWZvcmVcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvd2luZyBhbiBleGNlcHRpb24uXG4gKiBAcmV0dXJuIHtQcm9taXNlPHN0cmluZz59IHRoZSBhY3R1YWwgY29tbWFuZCBvdXRwdXRcbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kXG4gKiAgICAgICAgICAgICAgICAgcmV0dXJucyBub24temVybyByZXR1cm4gY29kZS5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgYHVkaWRgIGluc3RhbmNlIHByb3BlcnR5IGlzIHVuc2V0XG4gKi9cbmNvbW1hbmRzLmxhdW5jaEFwcCA9IGFzeW5jIGZ1bmN0aW9uIGxhdW5jaEFwcCAoYnVuZGxlSWQsIHRyaWVzID0gNSkge1xuICByZXR1cm4gYXdhaXQgcmV0cnlJbnRlcnZhbCh0cmllcywgMTAwMCwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgdGhpcy5leGVjKCdsYXVuY2gnLCB7XG4gICAgICBhcmdzOiBbdGhpcy5yZXF1aXJlVWRpZCgnbGF1bmNoJyksIGJ1bmRsZUlkXSxcbiAgICB9KTtcbiAgICByZXR1cm4gXy50cmltKHN0ZG91dCk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsU0FBQSxHQUFBRCxPQUFBO0FBRUEsTUFBTUUsUUFBUSxHQUFHLENBQUMsQ0FBQztBQWdCbkJBLFFBQVEsQ0FBQ0MsU0FBUyxHQUFHLGVBQWVBLFNBQVNBLENBQUVDLFFBQVEsRUFBRUMsS0FBSyxHQUFHLENBQUMsRUFBRTtFQUNsRSxPQUFPLE1BQU0sSUFBQUMsdUJBQWEsRUFBQ0QsS0FBSyxFQUFFLElBQUksRUFBRSxZQUFZO0lBQ2xELE1BQU07TUFBQ0U7SUFBTSxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUNDLElBQUksQ0FBQyxRQUFRLEVBQUU7TUFDekNDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQ0MsV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFTixRQUFRO0lBQzdDLENBQUMsQ0FBQztJQUNGLE9BQU9PLGVBQUMsQ0FBQ0MsSUFBSSxDQUFDTCxNQUFNLENBQUM7RUFDdkIsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUFDLElBQUFNLFFBQUEsR0FFYVgsUUFBUTtBQUFBWSxPQUFBLENBQUFDLE9BQUEsR0FBQUYsUUFBQSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"launch.js","names":["_lodash","_interopRequireDefault","require","_asyncbox","commands","launchApp","bundleId","tries","retryInterval","stdout","exec","args","requireUdid","_","trim","_default","exports","default"],"sources":["../../../lib/subcommands/launch.js"],"sourcesContent":["import _ from 'lodash';\nimport { retryInterval } from 'asyncbox';\n\nconst commands = {};\n\n/**\n * Execute the particular application package on Simulator.\n * It is required that Simulator is in _booted_ state and\n * the application with given bundle identifier is already installed.\n *\n * @param {string} bundleId - Bundle identifier of the application,\n * which is going to be removed.\n * @param {number} tries [5] - The maximum number of retries before\n * throwing an exception.\n * @return {string} the actual command output\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.launchApp = async function launchApp (bundleId, tries = 5) {\n return await retryInterval(tries, 1000, async () => {\n const {stdout} = await this.exec('launch', {\n args: [this.requireUdid('launch'), bundleId],\n });\n return _.trim(stdout);\n });\n};\n\nexport default commands;\n"],"mappings":";;;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAEA,MAAME,QAAQ,GAAG,CAAC,CAAC;AAgBnBA,QAAQ,CAACC,SAAS,GAAG,eAAeA,SAASA,CAAEC,QAAQ,EAAEC,KAAK,GAAG,CAAC,EAAE;EAClE,OAAO,MAAM,IAAAC,uBAAa,EAACD,KAAK,EAAE,IAAI,EAAE,YAAY;IAClD,MAAM;MAACE;IAAM,CAAC,GAAG,MAAM,IAAI,CAACC,IAAI,CAAC,QAAQ,EAAE;MACzCC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,QAAQ,CAAC,EAAEN,QAAQ;IAC7C,CAAC,CAAC;IACF,OAAOO,eAAC,CAACC,IAAI,CAACL,MAAM,CAAC;EACvB,CAAC,CAAC;AACJ,CAAC;AAAC,IAAAM,QAAA,GAEaX,QAAQ;AAAAY,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"file":"launch.js","names":["_lodash","_interopRequireDefault","require","_asyncbox","commands","launchApp","bundleId","tries","retryInterval","stdout","exec","args","requireUdid","_","trim","_default","exports","default"],"sources":["../../../lib/subcommands/launch.js"],"sourcesContent":["import _ from 'lodash';\nimport { retryInterval } from 'asyncbox';\n\nconst commands = {};\n\n/**\n * Execute the particular application package on Simulator.\n * It is required that Simulator is in _booted_ state and\n * the application with given bundle identifier is already installed.\n *\n * @param {string} bundleId - Bundle identifier of the application,\n * which is going to be removed.\n * @param {number} tries [5] - The maximum number of retries before\n * throwing an exception.\n * @return {Promise<string>} the actual command output\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.launchApp = async function launchApp (bundleId, tries = 5) {\n return await retryInterval(tries, 1000, async () => {\n const {stdout} = await this.exec('launch', {\n args: [this.requireUdid('launch'), bundleId],\n });\n return _.trim(stdout);\n });\n};\n\nexport default commands;\n"],"mappings":";;;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAEA,MAAME,QAAQ,GAAG,CAAC,CAAC;AAgBnBA,QAAQ,CAACC,SAAS,GAAG,eAAeA,SAASA,CAAEC,QAAQ,EAAEC,KAAK,GAAG,CAAC,EAAE;EAClE,OAAO,MAAM,IAAAC,uBAAa,EAACD,KAAK,EAAE,IAAI,EAAE,YAAY;IAClD,MAAM;MAACE;IAAM,CAAC,GAAG,MAAM,IAAI,CAACC,IAAI,CAAC,QAAQ,EAAE;MACzCC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,QAAQ,CAAC,EAAEN,QAAQ;IAC7C,CAAC,CAAC;IACF,OAAOO,eAAC,CAACC,IAAI,CAACL,MAAM,CAAC;EACvB,CAAC,CAAC;AACJ,CAAC;AAAC,IAAAM,QAAA,GAEaX,QAAQ;AAAAY,OAAA,CAAAC,OAAA,GAAAF,QAAA"}