node-simctl 7.1.10 → 7.1.12

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 (64) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/build/index.js +1 -1
  3. package/build/lib/helpers.js +1 -1
  4. package/build/lib/helpers.js.map +1 -1
  5. package/build/lib/logger.js +1 -1
  6. package/build/lib/logger.js.map +1 -1
  7. package/build/lib/simctl.js +1 -1
  8. package/build/lib/simctl.js.map +1 -1
  9. package/build/lib/subcommands/addmedia.js +1 -1
  10. package/build/lib/subcommands/addmedia.js.map +1 -1
  11. package/build/lib/subcommands/appinfo.js +1 -1
  12. package/build/lib/subcommands/appinfo.js.map +1 -1
  13. package/build/lib/subcommands/boot.js +1 -1
  14. package/build/lib/subcommands/boot.js.map +1 -1
  15. package/build/lib/subcommands/bootstatus.js +1 -1
  16. package/build/lib/subcommands/bootstatus.js.map +1 -1
  17. package/build/lib/subcommands/create.js +1 -1
  18. package/build/lib/subcommands/create.js.map +1 -1
  19. package/build/lib/subcommands/delete.js +1 -1
  20. package/build/lib/subcommands/delete.js.map +1 -1
  21. package/build/lib/subcommands/erase.js +1 -1
  22. package/build/lib/subcommands/erase.js.map +1 -1
  23. package/build/lib/subcommands/get_app_container.js +1 -1
  24. package/build/lib/subcommands/get_app_container.js.map +1 -1
  25. package/build/lib/subcommands/getenv.js +1 -1
  26. package/build/lib/subcommands/getenv.js.map +1 -1
  27. package/build/lib/subcommands/index.js +1 -1
  28. package/build/lib/subcommands/index.js.map +1 -1
  29. package/build/lib/subcommands/install.js +1 -1
  30. package/build/lib/subcommands/install.js.map +1 -1
  31. package/build/lib/subcommands/io.js +4 -7
  32. package/build/lib/subcommands/io.js.map +1 -1
  33. package/build/lib/subcommands/keychain.js +5 -8
  34. package/build/lib/subcommands/keychain.js.map +1 -1
  35. package/build/lib/subcommands/launch.js +1 -1
  36. package/build/lib/subcommands/launch.js.map +1 -1
  37. package/build/lib/subcommands/list.js +1 -1
  38. package/build/lib/subcommands/list.js.map +1 -1
  39. package/build/lib/subcommands/location.js +1 -1
  40. package/build/lib/subcommands/location.js.map +1 -1
  41. package/build/lib/subcommands/openurl.js +1 -1
  42. package/build/lib/subcommands/openurl.js.map +1 -1
  43. package/build/lib/subcommands/pbcopy.js +1 -1
  44. package/build/lib/subcommands/pbcopy.js.map +1 -1
  45. package/build/lib/subcommands/pbpaste.js +1 -1
  46. package/build/lib/subcommands/pbpaste.js.map +1 -1
  47. package/build/lib/subcommands/privacy.js +1 -1
  48. package/build/lib/subcommands/privacy.js.map +1 -1
  49. package/build/lib/subcommands/push.js +4 -7
  50. package/build/lib/subcommands/push.js.map +1 -1
  51. package/build/lib/subcommands/shutdown.js +1 -1
  52. package/build/lib/subcommands/shutdown.js.map +1 -1
  53. package/build/lib/subcommands/spawn.js +1 -1
  54. package/build/lib/subcommands/spawn.js.map +1 -1
  55. package/build/lib/subcommands/terminate.js +1 -1
  56. package/build/lib/subcommands/terminate.js.map +1 -1
  57. package/build/lib/subcommands/ui.js +1 -1
  58. package/build/lib/subcommands/ui.js.map +1 -1
  59. package/build/lib/subcommands/uninstall.js +1 -1
  60. package/build/lib/subcommands/uninstall.js.map +1 -1
  61. package/lib/subcommands/io.js +3 -6
  62. package/lib/subcommands/keychain.js +4 -7
  63. package/lib/subcommands/push.js +3 -6
  64. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"getenv.js","names":["commands","getEnv","varName","stdout","stderr","exec","args","requireUdid","logErrors"],"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,MAAM,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,eAEaH,QAAQ;AAAA"}
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"}
@@ -34,4 +34,4 @@ var _location = _interopRequireDefault(require("./location"));
34
34
  const subcommands = Object.assign({}, _addmedia.default, _appinfo.default, _boot.default, _bootstatus.default, _create.default, _delete.default, _erase.default, _get_app_container.default, _install.default, _io.default, _keychain.default, _launch.default, _list.default, _openurl.default, _pbcopy.default, _pbpaste.default, _privacy.default, _push.default, _getenv.default, _shutdown.default, _spawn.default, _terminate.default, _ui.default, _uninstall.default, _location.default);
35
35
  var _default = subcommands;
36
36
  exports.default = _default;
37
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdWJjb21tYW5kcyIsIk9iamVjdCIsImFzc2lnbiIsImFkZG1lZGlhQ29tbWFuZHMiLCJhcHBpbmZvQ29tbWFuZHMiLCJib290Q29tbWFuZHMiLCJib290c3RhdHVzQ29tbWFuZHMiLCJjcmVhdGVDb21tYW5kcyIsImRlbGV0ZUNvbW1hbmRzIiwiZXJhc2VDb21tYW5kcyIsImdldGFwcGNvbnRhaW5lckNvbW1hbmRzIiwiaW5zdGFsbENvbW1hbmRzIiwiaW9Db21tYW5kcyIsImtleWNoYWluQ29tbWFuZHMiLCJsYXVuY2hDb21tYW5kcyIsImxpc3RDb21tYW5kcyIsIm9wZW51cmxDb21tYW5kcyIsInBiY29weUNvbW1hbmRzIiwicGJwYXN0ZUNvbW1hbmRzIiwicHJpdmFjeUNvbW1hbmRzIiwicHVzaENvbW1hbmRzIiwiZW52Q29tbWFuZHMiLCJzaHV0ZG93bkNvbW1hbmRzIiwic3Bhd25Db21tYW5kcyIsInRlcm1pbmF0ZUNvbW1hbmRzIiwidWlDb21tYW5kcyIsInVuaW5zdGFsbENvbW1hbmRzIiwibG9jYXRpb25Db21tYW5kcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdWJjb21tYW5kcy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYWRkbWVkaWFDb21tYW5kcyBmcm9tICcuL2FkZG1lZGlhJztcbmltcG9ydCBhcHBpbmZvQ29tbWFuZHMgZnJvbSAnLi9hcHBpbmZvJztcbmltcG9ydCBib290Q29tbWFuZHMgZnJvbSAnLi9ib290JztcbmltcG9ydCBib290c3RhdHVzQ29tbWFuZHMgZnJvbSAnLi9ib290c3RhdHVzJztcbmltcG9ydCBjcmVhdGVDb21tYW5kcyBmcm9tICcuL2NyZWF0ZSc7XG5pbXBvcnQgZGVsZXRlQ29tbWFuZHMgZnJvbSAnLi9kZWxldGUnO1xuaW1wb3J0IGVyYXNlQ29tbWFuZHMgZnJvbSAnLi9lcmFzZSc7XG5pbXBvcnQgZ2V0YXBwY29udGFpbmVyQ29tbWFuZHMgZnJvbSAnLi9nZXRfYXBwX2NvbnRhaW5lcic7XG5pbXBvcnQgaW5zdGFsbENvbW1hbmRzIGZyb20gJy4vaW5zdGFsbCc7XG5pbXBvcnQgaW9Db21tYW5kcyBmcm9tICcuL2lvJztcbmltcG9ydCBrZXljaGFpbkNvbW1hbmRzIGZyb20gJy4va2V5Y2hhaW4nO1xuaW1wb3J0IGxhdW5jaENvbW1hbmRzIGZyb20gJy4vbGF1bmNoJztcbmltcG9ydCBsaXN0Q29tbWFuZHMgZnJvbSAnLi9saXN0JztcbmltcG9ydCBvcGVudXJsQ29tbWFuZHMgZnJvbSAnLi9vcGVudXJsJztcbmltcG9ydCBwYmNvcHlDb21tYW5kcyBmcm9tICcuL3BiY29weSc7XG5pbXBvcnQgcGJwYXN0ZUNvbW1hbmRzIGZyb20gJy4vcGJwYXN0ZSc7XG5pbXBvcnQgcHJpdmFjeUNvbW1hbmRzIGZyb20gJy4vcHJpdmFjeSc7XG5pbXBvcnQgcHVzaENvbW1hbmRzIGZyb20gJy4vcHVzaCc7XG5pbXBvcnQgZW52Q29tbWFuZHMgZnJvbSAnLi9nZXRlbnYnO1xuaW1wb3J0IHNodXRkb3duQ29tbWFuZHMgZnJvbSAnLi9zaHV0ZG93bic7XG5pbXBvcnQgc3Bhd25Db21tYW5kcyBmcm9tICcuL3NwYXduJztcbmltcG9ydCB0ZXJtaW5hdGVDb21tYW5kcyBmcm9tICcuL3Rlcm1pbmF0ZSc7XG5pbXBvcnQgdWlDb21tYW5kcyBmcm9tICcuL3VpJztcbmltcG9ydCB1bmluc3RhbGxDb21tYW5kcyBmcm9tICcuL3VuaW5zdGFsbCc7XG5pbXBvcnQgbG9jYXRpb25Db21tYW5kcyBmcm9tICcuL2xvY2F0aW9uJztcblxuLy8geGNydW4gc2ltY3RsIC0taGVscFxuY29uc3Qgc3ViY29tbWFuZHMgPSBPYmplY3QuYXNzaWduKHt9LFxuICAgIGFkZG1lZGlhQ29tbWFuZHMsXG4gICAgYXBwaW5mb0NvbW1hbmRzLFxuICAgIGJvb3RDb21tYW5kcyxcbiAgICBib290c3RhdHVzQ29tbWFuZHMsXG4gICAgY3JlYXRlQ29tbWFuZHMsXG4gICAgZGVsZXRlQ29tbWFuZHMsXG4gICAgZXJhc2VDb21tYW5kcyxcbiAgICBnZXRhcHBjb250YWluZXJDb21tYW5kcyxcbiAgICBpbnN0YWxsQ29tbWFuZHMsXG4gICAgaW9Db21tYW5kcyxcbiAgICBrZXljaGFpbkNvbW1hbmRzLFxuICAgIGxhdW5jaENvbW1hbmRzLFxuICAgIGxpc3RDb21tYW5kcyxcbiAgICBvcGVudXJsQ29tbWFuZHMsXG4gICAgcGJjb3B5Q29tbWFuZHMsXG4gICAgcGJwYXN0ZUNvbW1hbmRzLFxuICAgIHByaXZhY3lDb21tYW5kcyxcbiAgICBwdXNoQ29tbWFuZHMsXG4gICAgZW52Q29tbWFuZHMsXG4gICAgc2h1dGRvd25Db21tYW5kcyxcbiAgICBzcGF3bkNvbW1hbmRzLFxuICAgIHRlcm1pbmF0ZUNvbW1hbmRzLFxuICAgIHVpQ29tbWFuZHMsXG4gICAgdW5pbnN0YWxsQ29tbWFuZHMsXG4gICAgbG9jYXRpb25Db21tYW5kcyxcbik7XG5cbmV4cG9ydCBkZWZhdWx0IHN1YmNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0EsTUFBTUEsV0FBVyxHQUFHQyxNQUFNLENBQUNDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFDaENDLGlCQUFnQixFQUNoQkMsZ0JBQWUsRUFDZkMsYUFBWSxFQUNaQyxtQkFBa0IsRUFDbEJDLGVBQWMsRUFDZEMsZUFBYyxFQUNkQyxjQUFhLEVBQ2JDLDBCQUF1QixFQUN2QkMsZ0JBQWUsRUFDZkMsV0FBVSxFQUNWQyxpQkFBZ0IsRUFDaEJDLGVBQWMsRUFDZEMsYUFBWSxFQUNaQyxnQkFBZSxFQUNmQyxlQUFjLEVBQ2RDLGdCQUFlLEVBQ2ZDLGdCQUFlLEVBQ2ZDLGFBQVksRUFDWkMsZUFBVyxFQUNYQyxpQkFBZ0IsRUFDaEJDLGNBQWEsRUFDYkMsa0JBQWlCLEVBQ2pCQyxXQUFVLEVBQ1ZDLGtCQUFpQixFQUNqQkMsaUJBQWdCLENBQ25CO0FBQUMsZUFFYTNCLFdBQVc7QUFBQSJ9
37
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYWRkbWVkaWEiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9hcHBpbmZvIiwiX2Jvb3QiLCJfYm9vdHN0YXR1cyIsIl9jcmVhdGUiLCJfZGVsZXRlIiwiX2VyYXNlIiwiX2dldF9hcHBfY29udGFpbmVyIiwiX2luc3RhbGwiLCJfaW8iLCJfa2V5Y2hhaW4iLCJfbGF1bmNoIiwiX2xpc3QiLCJfb3BlbnVybCIsIl9wYmNvcHkiLCJfcGJwYXN0ZSIsIl9wcml2YWN5IiwiX3B1c2giLCJfZ2V0ZW52IiwiX3NodXRkb3duIiwiX3NwYXduIiwiX3Rlcm1pbmF0ZSIsIl91aSIsIl91bmluc3RhbGwiLCJfbG9jYXRpb24iLCJzdWJjb21tYW5kcyIsIk9iamVjdCIsImFzc2lnbiIsImFkZG1lZGlhQ29tbWFuZHMiLCJhcHBpbmZvQ29tbWFuZHMiLCJib290Q29tbWFuZHMiLCJib290c3RhdHVzQ29tbWFuZHMiLCJjcmVhdGVDb21tYW5kcyIsImRlbGV0ZUNvbW1hbmRzIiwiZXJhc2VDb21tYW5kcyIsImdldGFwcGNvbnRhaW5lckNvbW1hbmRzIiwiaW5zdGFsbENvbW1hbmRzIiwiaW9Db21tYW5kcyIsImtleWNoYWluQ29tbWFuZHMiLCJsYXVuY2hDb21tYW5kcyIsImxpc3RDb21tYW5kcyIsIm9wZW51cmxDb21tYW5kcyIsInBiY29weUNvbW1hbmRzIiwicGJwYXN0ZUNvbW1hbmRzIiwicHJpdmFjeUNvbW1hbmRzIiwicHVzaENvbW1hbmRzIiwiZW52Q29tbWFuZHMiLCJzaHV0ZG93bkNvbW1hbmRzIiwic3Bhd25Db21tYW5kcyIsInRlcm1pbmF0ZUNvbW1hbmRzIiwidWlDb21tYW5kcyIsInVuaW5zdGFsbENvbW1hbmRzIiwibG9jYXRpb25Db21tYW5kcyIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3ViY29tbWFuZHMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFkZG1lZGlhQ29tbWFuZHMgZnJvbSAnLi9hZGRtZWRpYSc7XG5pbXBvcnQgYXBwaW5mb0NvbW1hbmRzIGZyb20gJy4vYXBwaW5mbyc7XG5pbXBvcnQgYm9vdENvbW1hbmRzIGZyb20gJy4vYm9vdCc7XG5pbXBvcnQgYm9vdHN0YXR1c0NvbW1hbmRzIGZyb20gJy4vYm9vdHN0YXR1cyc7XG5pbXBvcnQgY3JlYXRlQ29tbWFuZHMgZnJvbSAnLi9jcmVhdGUnO1xuaW1wb3J0IGRlbGV0ZUNvbW1hbmRzIGZyb20gJy4vZGVsZXRlJztcbmltcG9ydCBlcmFzZUNvbW1hbmRzIGZyb20gJy4vZXJhc2UnO1xuaW1wb3J0IGdldGFwcGNvbnRhaW5lckNvbW1hbmRzIGZyb20gJy4vZ2V0X2FwcF9jb250YWluZXInO1xuaW1wb3J0IGluc3RhbGxDb21tYW5kcyBmcm9tICcuL2luc3RhbGwnO1xuaW1wb3J0IGlvQ29tbWFuZHMgZnJvbSAnLi9pbyc7XG5pbXBvcnQga2V5Y2hhaW5Db21tYW5kcyBmcm9tICcuL2tleWNoYWluJztcbmltcG9ydCBsYXVuY2hDb21tYW5kcyBmcm9tICcuL2xhdW5jaCc7XG5pbXBvcnQgbGlzdENvbW1hbmRzIGZyb20gJy4vbGlzdCc7XG5pbXBvcnQgb3BlbnVybENvbW1hbmRzIGZyb20gJy4vb3BlbnVybCc7XG5pbXBvcnQgcGJjb3B5Q29tbWFuZHMgZnJvbSAnLi9wYmNvcHknO1xuaW1wb3J0IHBicGFzdGVDb21tYW5kcyBmcm9tICcuL3BicGFzdGUnO1xuaW1wb3J0IHByaXZhY3lDb21tYW5kcyBmcm9tICcuL3ByaXZhY3knO1xuaW1wb3J0IHB1c2hDb21tYW5kcyBmcm9tICcuL3B1c2gnO1xuaW1wb3J0IGVudkNvbW1hbmRzIGZyb20gJy4vZ2V0ZW52JztcbmltcG9ydCBzaHV0ZG93bkNvbW1hbmRzIGZyb20gJy4vc2h1dGRvd24nO1xuaW1wb3J0IHNwYXduQ29tbWFuZHMgZnJvbSAnLi9zcGF3bic7XG5pbXBvcnQgdGVybWluYXRlQ29tbWFuZHMgZnJvbSAnLi90ZXJtaW5hdGUnO1xuaW1wb3J0IHVpQ29tbWFuZHMgZnJvbSAnLi91aSc7XG5pbXBvcnQgdW5pbnN0YWxsQ29tbWFuZHMgZnJvbSAnLi91bmluc3RhbGwnO1xuaW1wb3J0IGxvY2F0aW9uQ29tbWFuZHMgZnJvbSAnLi9sb2NhdGlvbic7XG5cbi8vIHhjcnVuIHNpbWN0bCAtLWhlbHBcbmNvbnN0IHN1YmNvbW1hbmRzID0gT2JqZWN0LmFzc2lnbih7fSxcbiAgICBhZGRtZWRpYUNvbW1hbmRzLFxuICAgIGFwcGluZm9Db21tYW5kcyxcbiAgICBib290Q29tbWFuZHMsXG4gICAgYm9vdHN0YXR1c0NvbW1hbmRzLFxuICAgIGNyZWF0ZUNvbW1hbmRzLFxuICAgIGRlbGV0ZUNvbW1hbmRzLFxuICAgIGVyYXNlQ29tbWFuZHMsXG4gICAgZ2V0YXBwY29udGFpbmVyQ29tbWFuZHMsXG4gICAgaW5zdGFsbENvbW1hbmRzLFxuICAgIGlvQ29tbWFuZHMsXG4gICAga2V5Y2hhaW5Db21tYW5kcyxcbiAgICBsYXVuY2hDb21tYW5kcyxcbiAgICBsaXN0Q29tbWFuZHMsXG4gICAgb3BlbnVybENvbW1hbmRzLFxuICAgIHBiY29weUNvbW1hbmRzLFxuICAgIHBicGFzdGVDb21tYW5kcyxcbiAgICBwcml2YWN5Q29tbWFuZHMsXG4gICAgcHVzaENvbW1hbmRzLFxuICAgIGVudkNvbW1hbmRzLFxuICAgIHNodXRkb3duQ29tbWFuZHMsXG4gICAgc3Bhd25Db21tYW5kcyxcbiAgICB0ZXJtaW5hdGVDb21tYW5kcyxcbiAgICB1aUNvbW1hbmRzLFxuICAgIHVuaW5zdGFsbENvbW1hbmRzLFxuICAgIGxvY2F0aW9uQ29tbWFuZHMsXG4pO1xuXG5leHBvcnQgZGVmYXVsdCBzdWJjb21tYW5kcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxTQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxRQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxPQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxPQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTyxrQkFBQSxHQUFBUixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVEsUUFBQSxHQUFBVCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVMsR0FBQSxHQUFBVixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVUsU0FBQSxHQUFBWCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVcsT0FBQSxHQUFBWixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVksS0FBQSxHQUFBYixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQWEsUUFBQSxHQUFBZCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQWMsT0FBQSxHQUFBZixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQWUsUUFBQSxHQUFBaEIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFnQixRQUFBLEdBQUFqQixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQWlCLEtBQUEsR0FBQWxCLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBa0IsT0FBQSxHQUFBbkIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFtQixTQUFBLEdBQUFwQixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQW9CLE1BQUEsR0FBQXJCLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBcUIsVUFBQSxHQUFBdEIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFzQixHQUFBLEdBQUF2QixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQXVCLFVBQUEsR0FBQXhCLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBd0IsU0FBQSxHQUFBekIsc0JBQUEsQ0FBQUMsT0FBQTtBQUdBLE1BQU15QixXQUFXLEdBQUdDLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUNoQ0MsaUJBQWdCLEVBQ2hCQyxnQkFBZSxFQUNmQyxhQUFZLEVBQ1pDLG1CQUFrQixFQUNsQkMsZUFBYyxFQUNkQyxlQUFjLEVBQ2RDLGNBQWEsRUFDYkMsMEJBQXVCLEVBQ3ZCQyxnQkFBZSxFQUNmQyxXQUFVLEVBQ1ZDLGlCQUFnQixFQUNoQkMsZUFBYyxFQUNkQyxhQUFZLEVBQ1pDLGdCQUFlLEVBQ2ZDLGVBQWMsRUFDZEMsZ0JBQWUsRUFDZkMsZ0JBQWUsRUFDZkMsYUFBWSxFQUNaQyxlQUFXLEVBQ1hDLGlCQUFnQixFQUNoQkMsY0FBYSxFQUNiQyxrQkFBaUIsRUFDakJDLFdBQVUsRUFDVkMsa0JBQWlCLEVBQ2pCQyxpQkFBZ0IsQ0FDbkI7QUFBQyxJQUFBQyxRQUFBLEdBRWE1QixXQUFXO0FBQUE2QixPQUFBLENBQUFDLE9BQUEsR0FBQUYsUUFBQSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["subcommands","Object","assign","addmediaCommands","appinfoCommands","bootCommands","bootstatusCommands","createCommands","deleteCommands","eraseCommands","getappcontainerCommands","installCommands","ioCommands","keychainCommands","launchCommands","listCommands","openurlCommands","pbcopyCommands","pbpasteCommands","privacyCommands","pushCommands","envCommands","shutdownCommands","spawnCommands","terminateCommands","uiCommands","uninstallCommands","locationCommands"],"sources":["../../../lib/subcommands/index.js"],"sourcesContent":["import addmediaCommands from './addmedia';\nimport appinfoCommands from './appinfo';\nimport bootCommands from './boot';\nimport bootstatusCommands from './bootstatus';\nimport createCommands from './create';\nimport deleteCommands from './delete';\nimport eraseCommands from './erase';\nimport getappcontainerCommands from './get_app_container';\nimport installCommands from './install';\nimport ioCommands from './io';\nimport keychainCommands from './keychain';\nimport launchCommands from './launch';\nimport listCommands from './list';\nimport openurlCommands from './openurl';\nimport pbcopyCommands from './pbcopy';\nimport pbpasteCommands from './pbpaste';\nimport privacyCommands from './privacy';\nimport pushCommands from './push';\nimport envCommands from './getenv';\nimport shutdownCommands from './shutdown';\nimport spawnCommands from './spawn';\nimport terminateCommands from './terminate';\nimport uiCommands from './ui';\nimport uninstallCommands from './uninstall';\nimport locationCommands from './location';\n\n// xcrun simctl --help\nconst subcommands = Object.assign({},\n addmediaCommands,\n appinfoCommands,\n bootCommands,\n bootstatusCommands,\n createCommands,\n deleteCommands,\n eraseCommands,\n getappcontainerCommands,\n installCommands,\n ioCommands,\n keychainCommands,\n launchCommands,\n listCommands,\n openurlCommands,\n pbcopyCommands,\n pbpasteCommands,\n privacyCommands,\n pushCommands,\n envCommands,\n shutdownCommands,\n spawnCommands,\n terminateCommands,\n uiCommands,\n uninstallCommands,\n locationCommands,\n);\n\nexport default subcommands;\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,MAAMA,WAAW,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAChCC,iBAAgB,EAChBC,gBAAe,EACfC,aAAY,EACZC,mBAAkB,EAClBC,eAAc,EACdC,eAAc,EACdC,cAAa,EACbC,0BAAuB,EACvBC,gBAAe,EACfC,WAAU,EACVC,iBAAgB,EAChBC,eAAc,EACdC,aAAY,EACZC,gBAAe,EACfC,eAAc,EACdC,gBAAe,EACfC,gBAAe,EACfC,aAAY,EACZC,eAAW,EACXC,iBAAgB,EAChBC,cAAa,EACbC,kBAAiB,EACjBC,WAAU,EACVC,kBAAiB,EACjBC,iBAAgB,CACnB;AAAC,eAEa3B,WAAW;AAAA"}
1
+ {"version":3,"file":"index.js","names":["_addmedia","_interopRequireDefault","require","_appinfo","_boot","_bootstatus","_create","_delete","_erase","_get_app_container","_install","_io","_keychain","_launch","_list","_openurl","_pbcopy","_pbpaste","_privacy","_push","_getenv","_shutdown","_spawn","_terminate","_ui","_uninstall","_location","subcommands","Object","assign","addmediaCommands","appinfoCommands","bootCommands","bootstatusCommands","createCommands","deleteCommands","eraseCommands","getappcontainerCommands","installCommands","ioCommands","keychainCommands","launchCommands","listCommands","openurlCommands","pbcopyCommands","pbpasteCommands","privacyCommands","pushCommands","envCommands","shutdownCommands","spawnCommands","terminateCommands","uiCommands","uninstallCommands","locationCommands","_default","exports","default"],"sources":["../../../lib/subcommands/index.js"],"sourcesContent":["import addmediaCommands from './addmedia';\nimport appinfoCommands from './appinfo';\nimport bootCommands from './boot';\nimport bootstatusCommands from './bootstatus';\nimport createCommands from './create';\nimport deleteCommands from './delete';\nimport eraseCommands from './erase';\nimport getappcontainerCommands from './get_app_container';\nimport installCommands from './install';\nimport ioCommands from './io';\nimport keychainCommands from './keychain';\nimport launchCommands from './launch';\nimport listCommands from './list';\nimport openurlCommands from './openurl';\nimport pbcopyCommands from './pbcopy';\nimport pbpasteCommands from './pbpaste';\nimport privacyCommands from './privacy';\nimport pushCommands from './push';\nimport envCommands from './getenv';\nimport shutdownCommands from './shutdown';\nimport spawnCommands from './spawn';\nimport terminateCommands from './terminate';\nimport uiCommands from './ui';\nimport uninstallCommands from './uninstall';\nimport locationCommands from './location';\n\n// xcrun simctl --help\nconst subcommands = Object.assign({},\n addmediaCommands,\n appinfoCommands,\n bootCommands,\n bootstatusCommands,\n createCommands,\n deleteCommands,\n eraseCommands,\n getappcontainerCommands,\n installCommands,\n ioCommands,\n keychainCommands,\n launchCommands,\n listCommands,\n openurlCommands,\n pbcopyCommands,\n pbpasteCommands,\n privacyCommands,\n pushCommands,\n envCommands,\n shutdownCommands,\n spawnCommands,\n terminateCommands,\n uiCommands,\n uninstallCommands,\n locationCommands,\n);\n\nexport default subcommands;\n"],"mappings":";;;;;;;;AAAA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,KAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,WAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,OAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,OAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,MAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,kBAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,QAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,GAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,SAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,OAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,KAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,QAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,OAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,QAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,QAAA,GAAAjB,sBAAA,CAAAC,OAAA;AACA,IAAAiB,KAAA,GAAAlB,sBAAA,CAAAC,OAAA;AACA,IAAAkB,OAAA,GAAAnB,sBAAA,CAAAC,OAAA;AACA,IAAAmB,SAAA,GAAApB,sBAAA,CAAAC,OAAA;AACA,IAAAoB,MAAA,GAAArB,sBAAA,CAAAC,OAAA;AACA,IAAAqB,UAAA,GAAAtB,sBAAA,CAAAC,OAAA;AACA,IAAAsB,GAAA,GAAAvB,sBAAA,CAAAC,OAAA;AACA,IAAAuB,UAAA,GAAAxB,sBAAA,CAAAC,OAAA;AACA,IAAAwB,SAAA,GAAAzB,sBAAA,CAAAC,OAAA;AAGA,MAAMyB,WAAW,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAChCC,iBAAgB,EAChBC,gBAAe,EACfC,aAAY,EACZC,mBAAkB,EAClBC,eAAc,EACdC,eAAc,EACdC,cAAa,EACbC,0BAAuB,EACvBC,gBAAe,EACfC,WAAU,EACVC,iBAAgB,EAChBC,eAAc,EACdC,aAAY,EACZC,gBAAe,EACfC,eAAc,EACdC,gBAAe,EACfC,gBAAe,EACfC,aAAY,EACZC,eAAW,EACXC,iBAAgB,EAChBC,cAAa,EACbC,kBAAiB,EACjBC,WAAU,EACVC,kBAAiB,EACjBC,iBAAgB,CACnB;AAAC,IAAAC,QAAA,GAEa5B,WAAW;AAAA6B,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -13,4 +13,4 @@ commands.installApp = async function installApp(appPath) {
13
13
  };
14
14
  var _default = commands;
15
15
  exports.default = _default;
16
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImluc3RhbGxBcHAiLCJhcHBQYXRoIiwiZXhlYyIsImFyZ3MiLCJyZXF1aXJlVWRpZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdWJjb21tYW5kcy9pbnN0YWxsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8qKlxuICogSW5zdGFsbCB0aGUgcGFydGljdWxhciBhcHBsaWNhdGlvbiBwYWNrYWdlIG9uIFNpbXVsYXRvci5cbiAqIEl0IGlzIHJlcXVpcmVkIHRoYXQgU2ltdWxhdG9yIGlzIGluIF9ib290ZWRfIHN0YXRlLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBhcHBQYXRoIC0gRnVsbCBwYXRoIHRvIC5hcHAgcGFja2FnZSwgd2hpY2ggaXNcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgZ29pbmcgdG8gYmUgaW5zdGFsbGVkLlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBjb3JyZXNwb25kaW5nIHNpbWN0bCBzdWJjb21tYW5kIGNvbW1hbmRcbiAqICAgICAgICAgICAgICAgICByZXR1cm5zIG5vbi16ZXJvIHJldHVybiBjb2RlLlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBgdWRpZGAgaW5zdGFuY2UgcHJvcGVydHkgaXMgdW5zZXRcbiAqL1xuY29tbWFuZHMuaW5zdGFsbEFwcCA9IGFzeW5jIGZ1bmN0aW9uIGluc3RhbGxBcHAgKGFwcFBhdGgpIHtcbiAgYXdhaXQgdGhpcy5leGVjKCdpbnN0YWxsJywge1xuICAgIGFyZ3M6IFt0aGlzLnJlcXVpcmVVZGlkKCdpbnN0YWxsJyksIGFwcFBhdGhdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsTUFBTUEsUUFBUSxHQUFHLENBQUMsQ0FBQztBQVluQkEsUUFBUSxDQUFDQyxVQUFVLEdBQUcsZUFBZUEsVUFBVSxDQUFFQyxPQUFPLEVBQUU7RUFDeEQsTUFBTSxJQUFJLENBQUNDLElBQUksQ0FBQyxTQUFTLEVBQUU7SUFDekJDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQ0MsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFSCxPQUFPO0VBQzdDLENBQUMsQ0FBQztBQUNKLENBQUM7QUFBQyxlQUVhRixRQUFRO0FBQUEifQ==
16
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImluc3RhbGxBcHAiLCJhcHBQYXRoIiwiZXhlYyIsImFyZ3MiLCJyZXF1aXJlVWRpZCIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3ViY29tbWFuZHMvaW5zdGFsbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIEluc3RhbGwgdGhlIHBhcnRpY3VsYXIgYXBwbGljYXRpb24gcGFja2FnZSBvbiBTaW11bGF0b3IuXG4gKiBJdCBpcyByZXF1aXJlZCB0aGF0IFNpbXVsYXRvciBpcyBpbiBfYm9vdGVkXyBzdGF0ZS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gYXBwUGF0aCAtIEZ1bGwgcGF0aCB0byAuYXBwIHBhY2thZ2UsIHdoaWNoIGlzXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvaW5nIHRvIGJlIGluc3RhbGxlZC5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kXG4gKiAgICAgICAgICAgICAgICAgcmV0dXJucyBub24temVybyByZXR1cm4gY29kZS5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgYHVkaWRgIGluc3RhbmNlIHByb3BlcnR5IGlzIHVuc2V0XG4gKi9cbmNvbW1hbmRzLmluc3RhbGxBcHAgPSBhc3luYyBmdW5jdGlvbiBpbnN0YWxsQXBwIChhcHBQYXRoKSB7XG4gIGF3YWl0IHRoaXMuZXhlYygnaW5zdGFsbCcsIHtcbiAgICBhcmdzOiBbdGhpcy5yZXF1aXJlVWRpZCgnaW5zdGFsbCcpLCBhcHBQYXRoXSxcbiAgfSk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLE1BQU1BLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFZbkJBLFFBQVEsQ0FBQ0MsVUFBVSxHQUFHLGVBQWVBLFVBQVVBLENBQUVDLE9BQU8sRUFBRTtFQUN4RCxNQUFNLElBQUksQ0FBQ0MsSUFBSSxDQUFDLFNBQVMsRUFBRTtJQUN6QkMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUVILE9BQU87RUFDN0MsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUFDLElBQUFJLFFBQUEsR0FFYU4sUUFBUTtBQUFBTyxPQUFBLENBQUFDLE9BQUEsR0FBQUYsUUFBQSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","names":["commands","installApp","appPath","exec","args","requireUdid"],"sources":["../../../lib/subcommands/install.js"],"sourcesContent":["const commands = {};\n\n/**\n * Install the particular application package on Simulator.\n * It is required that Simulator is in _booted_ state.\n *\n * @param {string} appPath - Full path to .app package, which is\n * going to be installed.\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.installApp = async function installApp (appPath) {\n await this.exec('install', {\n args: [this.requireUdid('install'), appPath],\n });\n};\n\nexport default commands;\n"],"mappings":";;;;;;;AAAA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AAYnBA,QAAQ,CAACC,UAAU,GAAG,eAAeA,UAAU,CAAEC,OAAO,EAAE;EACxD,MAAM,IAAI,CAACC,IAAI,CAAC,SAAS,EAAE;IACzBC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,SAAS,CAAC,EAAEH,OAAO;EAC7C,CAAC,CAAC;AACJ,CAAC;AAAC,eAEaF,QAAQ;AAAA"}
1
+ {"version":3,"file":"install.js","names":["commands","installApp","appPath","exec","args","requireUdid","_default","exports","default"],"sources":["../../../lib/subcommands/install.js"],"sourcesContent":["const commands = {};\n\n/**\n * Install the particular application package on Simulator.\n * It is required that Simulator is in _booted_ state.\n *\n * @param {string} appPath - Full path to .app package, which is\n * going to be installed.\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.installApp = async function installApp (appPath) {\n await this.exec('install', {\n args: [this.requireUdid('install'), appPath],\n });\n};\n\nexport default commands;\n"],"mappings":";;;;;;;AAAA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AAYnBA,QAAQ,CAACC,UAAU,GAAG,eAAeA,UAAUA,CAAEC,OAAO,EAAE;EACxD,MAAM,IAAI,CAACC,IAAI,CAAC,SAAS,EAAE;IACzBC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,SAAS,CAAC,EAAEH,OAAO;EAC7C,CAAC,CAAC;AACJ,CAAC;AAAC,IAAAI,QAAA,GAEaN,QAAQ;AAAAO,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -10,11 +10,8 @@ var _rimraf = _interopRequireDefault(require("rimraf"));
10
10
  var _uuid = require("uuid");
11
11
  var _path = _interopRequireDefault(require("path"));
12
12
  var _os = _interopRequireDefault(require("os"));
13
- var _fs = _interopRequireDefault(require("fs"));
14
- var _bluebird = _interopRequireDefault(require("bluebird"));
13
+ var _promises = _interopRequireDefault(require("fs/promises"));
15
14
  const commands = {};
16
- const rimrafAsync = _bluebird.default.promisify(_rimraf.default);
17
- const readFileAsync = _bluebird.default.promisify(_fs.default.readFile);
18
15
  commands.getScreenshot = async function getScreenshot() {
19
16
  const udid = this.requireUdid('io screenshot');
20
17
  const pathToScreenshotPng = _path.default.resolve(_os.default.tmpdir(), `${(0, _uuid.v4)()}.png`);
@@ -22,11 +19,11 @@ commands.getScreenshot = async function getScreenshot() {
22
19
  await this.exec('io', {
23
20
  args: [udid, 'screenshot', pathToScreenshotPng]
24
21
  });
25
- return (await readFileAsync(pathToScreenshotPng)).toString('base64');
22
+ return (await _promises.default.readFile(pathToScreenshotPng)).toString('base64');
26
23
  } finally {
27
- await rimrafAsync(pathToScreenshotPng);
24
+ await (0, _rimraf.default)(pathToScreenshotPng);
28
25
  }
29
26
  };
30
27
  var _default = commands;
31
28
  exports.default = _default;
32
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsInJpbXJhZkFzeW5jIiwiQiIsInByb21pc2lmeSIsInJpbXJhZiIsInJlYWRGaWxlQXN5bmMiLCJmcyIsInJlYWRGaWxlIiwiZ2V0U2NyZWVuc2hvdCIsInVkaWQiLCJyZXF1aXJlVWRpZCIsInBhdGhUb1NjcmVlbnNob3RQbmciLCJwYXRoIiwicmVzb2x2ZSIsIm9zIiwidG1wZGlyIiwidXVpZFY0IiwiZXhlYyIsImFyZ3MiLCJ0b1N0cmluZyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdWJjb21tYW5kcy9pby5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcmltcmFmIGZyb20gJ3JpbXJhZic7XG5pbXBvcnQgeyB2NCBhcyB1dWlkVjQgfSBmcm9tICd1dWlkJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IG9zIGZyb20gJ29zJztcbmltcG9ydCBmcyBmcm9tICdmcyc7XG5pbXBvcnQgQiBmcm9tICdibHVlYmlyZCc7XG5cbmNvbnN0IGNvbW1hbmRzID0ge307XG5jb25zdCByaW1yYWZBc3luYyA9IEIucHJvbWlzaWZ5KHJpbXJhZik7XG5jb25zdCByZWFkRmlsZUFzeW5jID0gQi5wcm9taXNpZnkoZnMucmVhZEZpbGUpO1xuXG4vKipcbiAqIEdldHMgYmFzZTY0IHNjcmVlbnNob3QgZm9yIGRldmljZVxuICogSXQgaXMgcmVxdWlyZWQgdGhhdCBTaW11bGF0b3IgaXMgaW4gX2Jvb3RlZF8gc3RhdGUuXG4gKlxuICogQHNpbmNlIFhjb2RlIFNESyA4LjFcbiAqIEByZXR1cm4ge3N0cmluZ30gQmFzZTY0LWVuY29kZWQgU2ltdWxhdG9yIHNjcmVlbnNob3QuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGNvcnJlc3BvbmRpbmcgc2ltY3RsIHN1YmNvbW1hbmQgY29tbWFuZFxuICogICAgICAgICAgICAgICAgIHJldHVybnMgbm9uLXplcm8gcmV0dXJuIGNvZGUuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGB1ZGlkYCBpbnN0YW5jZSBwcm9wZXJ0eSBpcyB1bnNldFxuICovXG5jb21tYW5kcy5nZXRTY3JlZW5zaG90ID0gYXN5bmMgZnVuY3Rpb24gZ2V0U2NyZWVuc2hvdCAoKSB7XG4gIGNvbnN0IHVkaWQgPSB0aGlzLnJlcXVpcmVVZGlkKCdpbyBzY3JlZW5zaG90Jyk7XG4gIGNvbnN0IHBhdGhUb1NjcmVlbnNob3RQbmcgPSBwYXRoLnJlc29sdmUob3MudG1wZGlyKCksIGAke3V1aWRWNCgpfS5wbmdgKTtcbiAgdHJ5IHtcbiAgICBhd2FpdCB0aGlzLmV4ZWMoJ2lvJywge1xuICAgICAgYXJnczogW3VkaWQsICdzY3JlZW5zaG90JywgcGF0aFRvU2NyZWVuc2hvdFBuZ10sXG4gICAgfSk7XG4gICAgcmV0dXJuIChhd2FpdCByZWFkRmlsZUFzeW5jKHBhdGhUb1NjcmVlbnNob3RQbmcpKS50b1N0cmluZygnYmFzZTY0Jyk7XG4gIH0gZmluYWxseSB7XG4gICAgYXdhaXQgcmltcmFmQXN5bmMocGF0aFRvU2NyZWVuc2hvdFBuZyk7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBLE1BQU1BLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFDbkIsTUFBTUMsV0FBVyxHQUFHQyxpQkFBQyxDQUFDQyxTQUFTLENBQUNDLGVBQU0sQ0FBQztBQUN2QyxNQUFNQyxhQUFhLEdBQUdILGlCQUFDLENBQUNDLFNBQVMsQ0FBQ0csV0FBRSxDQUFDQyxRQUFRLENBQUM7QUFZOUNQLFFBQVEsQ0FBQ1EsYUFBYSxHQUFHLGVBQWVBLGFBQWEsR0FBSTtFQUN2RCxNQUFNQyxJQUFJLEdBQUcsSUFBSSxDQUFDQyxXQUFXLENBQUMsZUFBZSxDQUFDO0VBQzlDLE1BQU1DLG1CQUFtQixHQUFHQyxhQUFJLENBQUNDLE9BQU8sQ0FBQ0MsV0FBRSxDQUFDQyxNQUFNLEVBQUUsRUFBRyxHQUFFLElBQUFDLFFBQU0sR0FBRyxNQUFLLENBQUM7RUFDeEUsSUFBSTtJQUNGLE1BQU0sSUFBSSxDQUFDQyxJQUFJLENBQUMsSUFBSSxFQUFFO01BQ3BCQyxJQUFJLEVBQUUsQ0FBQ1QsSUFBSSxFQUFFLFlBQVksRUFBRUUsbUJBQW1CO0lBQ2hELENBQUMsQ0FBQztJQUNGLE9BQU8sQ0FBQyxNQUFNTixhQUFhLENBQUNNLG1CQUFtQixDQUFDLEVBQUVRLFFBQVEsQ0FBQyxRQUFRLENBQUM7RUFDdEUsQ0FBQyxTQUFTO0lBQ1IsTUFBTWxCLFdBQVcsQ0FBQ1UsbUJBQW1CLENBQUM7RUFDeEM7QUFDRixDQUFDO0FBQUMsZUFFYVgsUUFBUTtBQUFBIn0=
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmltcmFmIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfdXVpZCIsIl9wYXRoIiwiX29zIiwiX3Byb21pc2VzIiwiY29tbWFuZHMiLCJnZXRTY3JlZW5zaG90IiwidWRpZCIsInJlcXVpcmVVZGlkIiwicGF0aFRvU2NyZWVuc2hvdFBuZyIsInBhdGgiLCJyZXNvbHZlIiwib3MiLCJ0bXBkaXIiLCJ1dWlkVjQiLCJleGVjIiwiYXJncyIsImZzIiwicmVhZEZpbGUiLCJ0b1N0cmluZyIsInJpbXJhZiIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3ViY29tbWFuZHMvaW8uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJpbXJhZiBmcm9tICdyaW1yYWYnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZFY0IH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBvcyBmcm9tICdvcyc7XG5pbXBvcnQgZnMgZnJvbSAnZnMvcHJvbWlzZXMnO1xuXG5jb25zdCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIEdldHMgYmFzZTY0IHNjcmVlbnNob3QgZm9yIGRldmljZVxuICogSXQgaXMgcmVxdWlyZWQgdGhhdCBTaW11bGF0b3IgaXMgaW4gX2Jvb3RlZF8gc3RhdGUuXG4gKlxuICogQHNpbmNlIFhjb2RlIFNESyA4LjFcbiAqIEByZXR1cm4ge3N0cmluZ30gQmFzZTY0LWVuY29kZWQgU2ltdWxhdG9yIHNjcmVlbnNob3QuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGNvcnJlc3BvbmRpbmcgc2ltY3RsIHN1YmNvbW1hbmQgY29tbWFuZFxuICogICAgICAgICAgICAgICAgIHJldHVybnMgbm9uLXplcm8gcmV0dXJuIGNvZGUuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGB1ZGlkYCBpbnN0YW5jZSBwcm9wZXJ0eSBpcyB1bnNldFxuICovXG5jb21tYW5kcy5nZXRTY3JlZW5zaG90ID0gYXN5bmMgZnVuY3Rpb24gZ2V0U2NyZWVuc2hvdCAoKSB7XG4gIGNvbnN0IHVkaWQgPSB0aGlzLnJlcXVpcmVVZGlkKCdpbyBzY3JlZW5zaG90Jyk7XG4gIGNvbnN0IHBhdGhUb1NjcmVlbnNob3RQbmcgPSBwYXRoLnJlc29sdmUob3MudG1wZGlyKCksIGAke3V1aWRWNCgpfS5wbmdgKTtcbiAgdHJ5IHtcbiAgICBhd2FpdCB0aGlzLmV4ZWMoJ2lvJywge1xuICAgICAgYXJnczogW3VkaWQsICdzY3JlZW5zaG90JywgcGF0aFRvU2NyZWVuc2hvdFBuZ10sXG4gICAgfSk7XG4gICAgcmV0dXJuIChhd2FpdCBmcy5yZWFkRmlsZShwYXRoVG9TY3JlZW5zaG90UG5nKSkudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICB9IGZpbmFsbHkge1xuICAgIGF3YWl0IHJpbXJhZihwYXRoVG9TY3JlZW5zaG90UG5nKTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsR0FBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksU0FBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsTUFBTUssUUFBUSxHQUFHLENBQUMsQ0FBQztBQVluQkEsUUFBUSxDQUFDQyxhQUFhLEdBQUcsZUFBZUEsYUFBYUEsQ0FBQSxFQUFJO0VBQ3ZELE1BQU1DLElBQUksR0FBRyxJQUFJLENBQUNDLFdBQVcsQ0FBQyxlQUFlLENBQUM7RUFDOUMsTUFBTUMsbUJBQW1CLEdBQUdDLGFBQUksQ0FBQ0MsT0FBTyxDQUFDQyxXQUFFLENBQUNDLE1BQU0sRUFBRSxFQUFHLEdBQUUsSUFBQUMsUUFBTSxHQUFHLE1BQUssQ0FBQztFQUN4RSxJQUFJO0lBQ0YsTUFBTSxJQUFJLENBQUNDLElBQUksQ0FBQyxJQUFJLEVBQUU7TUFDcEJDLElBQUksRUFBRSxDQUFDVCxJQUFJLEVBQUUsWUFBWSxFQUFFRSxtQkFBbUI7SUFDaEQsQ0FBQyxDQUFDO0lBQ0YsT0FBTyxDQUFDLE1BQU1RLGlCQUFFLENBQUNDLFFBQVEsQ0FBQ1QsbUJBQW1CLENBQUMsRUFBRVUsUUFBUSxDQUFDLFFBQVEsQ0FBQztFQUNwRSxDQUFDLFNBQVM7SUFDUixNQUFNLElBQUFDLGVBQU0sRUFBQ1gsbUJBQW1CLENBQUM7RUFDbkM7QUFDRixDQUFDO0FBQUMsSUFBQVksUUFBQSxHQUVhaEIsUUFBUTtBQUFBaUIsT0FBQSxDQUFBQyxPQUFBLEdBQUFGLFFBQUEifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"io.js","names":["commands","rimrafAsync","B","promisify","rimraf","readFileAsync","fs","readFile","getScreenshot","udid","requireUdid","pathToScreenshotPng","path","resolve","os","tmpdir","uuidV4","exec","args","toString"],"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';\nimport B from 'bluebird';\n\nconst commands = {};\nconst rimrafAsync = B.promisify(rimraf);\nconst readFileAsync = B.promisify(fs.readFile);\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 readFileAsync(pathToScreenshotPng)).toString('base64');\n } finally {\n await rimrafAsync(pathToScreenshotPng);\n }\n};\n\nexport default commands;\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAMC,WAAW,GAAGC,iBAAC,CAACC,SAAS,CAACC,eAAM,CAAC;AACvC,MAAMC,aAAa,GAAGH,iBAAC,CAACC,SAAS,CAACG,WAAE,CAACC,QAAQ,CAAC;AAY9CP,QAAQ,CAACQ,aAAa,GAAG,eAAeA,aAAa,GAAI;EACvD,MAAMC,IAAI,GAAG,IAAI,CAACC,WAAW,CAAC,eAAe,CAAC;EAC9C,MAAMC,mBAAmB,GAAGC,aAAI,CAACC,OAAO,CAACC,WAAE,CAACC,MAAM,EAAE,EAAG,GAAE,IAAAC,QAAM,GAAG,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,MAAMN,aAAa,CAACM,mBAAmB,CAAC,EAAEQ,QAAQ,CAAC,QAAQ,CAAC;EACtE,CAAC,SAAS;IACR,MAAMlB,WAAW,CAACU,mBAAmB,CAAC;EACxC;AACF,CAAC;AAAC,eAEaX,QAAQ;AAAA"}
1
+ {"version":3,"file":"io.js","names":["_rimraf","_interopRequireDefault","require","_uuid","_path","_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,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,GAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AAEA,MAAMK,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,EAAE,EAAG,GAAE,IAAAC,QAAM,GAAG,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,eAAM,EAACX,mBAAmB,CAAC;EACnC;AACF,CAAC;AAAC,IAAAY,QAAA,GAEahB,QAAQ;AAAAiB,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -7,26 +7,23 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  require("source-map-support/register");
9
9
  var _os = _interopRequireDefault(require("os"));
10
- var _fs = _interopRequireDefault(require("fs"));
11
- var _bluebird = _interopRequireDefault(require("bluebird"));
10
+ var _promises = _interopRequireDefault(require("fs/promises"));
12
11
  var _uuid = require("uuid");
13
12
  var _path = _interopRequireDefault(require("path"));
14
13
  var _lodash = _interopRequireDefault(require("lodash"));
15
14
  var _rimraf = _interopRequireDefault(require("rimraf"));
16
15
  const commands = {};
17
- const rimrafAsync = _bluebird.default.promisify(_rimraf.default);
18
- const writeFileAsync = _bluebird.default.promisify(_fs.default.writeFile);
19
16
  async function handleRawPayload(payload, onPayloadStored) {
20
17
  const filePath = _path.default.resolve(_os.default.tmpdir(), `${(0, _uuid.v4)()}.pem`);
21
18
  try {
22
19
  if (_lodash.default.isBuffer(payload)) {
23
- await writeFileAsync(filePath, payload);
20
+ await _promises.default.writeFile(filePath, payload);
24
21
  } else {
25
- await writeFileAsync(filePath, payload, 'utf8');
22
+ await _promises.default.writeFile(filePath, payload, 'utf8');
26
23
  }
27
24
  await onPayloadStored(filePath);
28
25
  } finally {
29
- await rimrafAsync(filePath);
26
+ await (0, _rimraf.default)(filePath);
30
27
  }
31
28
  }
32
29
  commands.addRootCertificate = async function addRootCertificate(cert, opts = {}) {
@@ -62,4 +59,4 @@ commands.resetKeychain = async function resetKeychain() {
62
59
  };
63
60
  var _default = commands;
64
61
  exports.default = _default;
65
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsInJpbXJhZkFzeW5jIiwiQiIsInByb21pc2lmeSIsInJpbXJhZiIsIndyaXRlRmlsZUFzeW5jIiwiZnMiLCJ3cml0ZUZpbGUiLCJoYW5kbGVSYXdQYXlsb2FkIiwicGF5bG9hZCIsIm9uUGF5bG9hZFN0b3JlZCIsImZpbGVQYXRoIiwicGF0aCIsInJlc29sdmUiLCJvcyIsInRtcGRpciIsInV1aWRWNCIsIl8iLCJpc0J1ZmZlciIsImFkZFJvb3RDZXJ0aWZpY2F0ZSIsImNlcnQiLCJvcHRzIiwicmF3IiwiZXhlY01ldGhvZCIsImNlcnRQYXRoIiwiZXhlYyIsImFyZ3MiLCJyZXF1aXJlVWRpZCIsImFkZENlcnRpZmljYXRlIiwicmVzZXRLZXljaGFpbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdWJjb21tYW5kcy9rZXljaGFpbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgb3MgZnJvbSAnb3MnO1xuaW1wb3J0IGZzIGZyb20gJ2ZzJztcbmltcG9ydCBCIGZyb20gJ2JsdWViaXJkJztcbmltcG9ydCB7IHY0IGFzIHV1aWRWNCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHJpbXJhZiBmcm9tICdyaW1yYWYnO1xuXG5jb25zdCBjb21tYW5kcyA9IHt9O1xuY29uc3QgcmltcmFmQXN5bmMgPSBCLnByb21pc2lmeShyaW1yYWYpO1xuY29uc3Qgd3JpdGVGaWxlQXN5bmMgPSBCLnByb21pc2lmeShmcy53cml0ZUZpbGUpO1xuXG5hc3luYyBmdW5jdGlvbiBoYW5kbGVSYXdQYXlsb2FkIChwYXlsb2FkLCBvblBheWxvYWRTdG9yZWQpIHtcbiAgY29uc3QgZmlsZVBhdGggPSBwYXRoLnJlc29sdmUob3MudG1wZGlyKCksIGAke3V1aWRWNCgpfS5wZW1gKTtcbiAgdHJ5IHtcbiAgICBpZiAoXy5pc0J1ZmZlcihwYXlsb2FkKSkge1xuICAgICAgYXdhaXQgd3JpdGVGaWxlQXN5bmMoZmlsZVBhdGgsIHBheWxvYWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCB3cml0ZUZpbGVBc3luYyhmaWxlUGF0aCwgcGF5bG9hZCwgJ3V0ZjgnKTtcbiAgICB9XG4gICAgYXdhaXQgb25QYXlsb2FkU3RvcmVkKGZpbGVQYXRoKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBhd2FpdCByaW1yYWZBc3luYyhmaWxlUGF0aCk7XG4gIH1cbn1cblxuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IENlcnRPcHRpb25zXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IHJhdyBbZmFsc2VdIC0gd2hldGhlciB0aGUgYGNlcnRgIGFyZ3VtZW50XG4gKiBpcyB0aGUgcGF0aCB0byB0aGUgY2VydGlmaWNhdGUgb24gdGhlIGxvY2FsIGZpbGUgc3lzdGVtIG9yXG4gKiBhIHJhdyBjZXJ0aWZpY2F0ZSBjb250ZW50XG4gKi9cblxuLyoqXG4gKiBBZGRzIHRoZSBnaXZlbiBjZXJ0aWZpY2F0ZSB0byB0aGUgVHJ1c3RlZCBSb290IFN0b3JlIG9uIHRoZSBzaW11bGF0b3JcbiAqXG4gKiBAc2luY2UgWGNvZGUgMTEuNCBTREtcbiAqIEBwYXJhbSB7c3RyaW5nfSBjZXJ0IHRoZSBmdWxsIHBhdGggdG8gYSB2YWxpZCAuY2VydCBmaWxlIGNvbnRhaW5pbmdcbiAqIHRoZSBjZXJ0aWZpY2F0ZSBjb250ZW50IG9yIHRoZSBjZXJ0aWZpY2F0ZSBjb250ZW50IGl0c2VsZiwgZGVwZW5kaW5nIG9uXG4gKiBvcHRpb25zXG4gKiBAcGFyYW0ge0NlcnRPcHRpb25zfSBvcHRzXG4gKiBAdGhyb3dzIHtFcnJvcn0gaWYgdGhlIGN1cnJlbnQgU0RLIHZlcnNpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGUgY29tbWFuZFxuICogb3IgdGhlcmUgd2FzIGFuIGVycm9yIHdoaWxlIGFkZGluZyB0aGUgY2VydGlmaWNhdGVcbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgYHVkaWRgIGluc3RhbmNlIHByb3BlcnR5IGlzIHVuc2V0XG4gKi9cbmNvbW1hbmRzLmFkZFJvb3RDZXJ0aWZpY2F0ZSA9IGFzeW5jIGZ1bmN0aW9uIGFkZFJvb3RDZXJ0aWZpY2F0ZSAoY2VydCwgb3B0cyA9IHt9KSB7XG4gIGNvbnN0IHtcbiAgICByYXcgPSBmYWxzZSxcbiAgfSA9IG9wdHM7XG4gIGNvbnN0IGV4ZWNNZXRob2QgPSBhc3luYyAoY2VydFBhdGgpID0+IGF3YWl0IHRoaXMuZXhlYygna2V5Y2hhaW4nLCB7XG4gICAgYXJnczogW3RoaXMucmVxdWlyZVVkaWQoJ2tleWNoYWluIGFkZC1yb290LWNlcnQnKSwgJ2FkZC1yb290LWNlcnQnLCBjZXJ0UGF0aF0sXG4gIH0pO1xuICBpZiAocmF3KSB7XG4gICAgYXdhaXQgaGFuZGxlUmF3UGF5bG9hZChjZXJ0LCBleGVjTWV0aG9kKTtcbiAgfSBlbHNlIHtcbiAgICBhd2FpdCBleGVjTWV0aG9kKGNlcnQpO1xuICB9XG59O1xuXG4vKipcbiAqIEFkZHMgdGhlIGdpdmVuIGNlcnRpZmljYXRlIHRvIHRoZSBLZXljaGFpbiBTdG9yZSBvbiB0aGUgc2ltdWxhdG9yXG4gKlxuICogQHNpbmNlIFhjb2RlIDExLjQgU0RLXG4gKiBAcGFyYW0ge3N0cmluZ30gY2VydCB0aGUgZnVsbCBwYXRoIHRvIGEgdmFsaWQgLmNlcnQgZmlsZSBjb250YWluaW5nXG4gKiB0aGUgY2VydGlmaWNhdGUgY29udGVudCBvciB0aGUgY2VydGlmaWNhdGUgY29udGVudCBpdHNlbGYsIGRlcGVuZGluZyBvblxuICogb3B0aW9uc1xuICogQHBhcmFtIHtDZXJ0T3B0aW9uc30gb3B0c1xuICogQHRocm93cyB7RXJyb3J9IGlmIHRoZSBjdXJyZW50IFNESyB2ZXJzaW9uIGRvZXMgbm90IHN1cHBvcnQgdGhlIGNvbW1hbmRcbiAqIG9yIHRoZXJlIHdhcyBhbiBlcnJvciB3aGlsZSBhZGRpbmcgdGhlIGNlcnRpZmljYXRlXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGB1ZGlkYCBpbnN0YW5jZSBwcm9wZXJ0eSBpcyB1bnNldFxuICovXG5jb21tYW5kcy5hZGRDZXJ0aWZpY2F0ZSA9IGFzeW5jIGZ1bmN0aW9uIGFkZENlcnRpZmljYXRlIChjZXJ0LCBvcHRzID0ge30pIHtcbiAgY29uc3Qge1xuICAgIHJhdyA9IGZhbHNlLFxuICB9ID0gb3B0cztcbiAgY29uc3QgZXhlY01ldGhvZCA9IGFzeW5jIChjZXJ0UGF0aCkgPT4gYXdhaXQgdGhpcy5leGVjKCdrZXljaGFpbicsIHtcbiAgICBhcmdzOiBbdGhpcy5yZXF1aXJlVWRpZCgna2V5Y2hhaW4gYWRkLWNlcnQnKSwgJ2FkZC1jZXJ0JywgY2VydFBhdGhdLFxuICB9KTtcbiAgaWYgKHJhdykge1xuICAgIGF3YWl0IGhhbmRsZVJhd1BheWxvYWQoY2VydCwgZXhlY01ldGhvZCk7XG4gIH0gZWxzZSB7XG4gICAgYXdhaXQgZXhlY01ldGhvZChjZXJ0KTtcbiAgfVxufTtcblxuLyoqXG4gKiBSZXNldHMgdGhlIHNpbXVsYXRvciBrZXljaGFpblxuICpcbiAqIEBzaW5jZSBYY29kZSAxMS40IFNES1xuICogQHRocm93cyB7RXJyb3J9IGlmIHRoZSBjdXJyZW50IFNESyB2ZXJzaW9uIGRvZXMgbm90IHN1cHBvcnQgdGhlIGNvbW1hbmRcbiAqIG9yIHRoZXJlIHdhcyBhbiBlcnJvciB3aGlsZSByZXNldHRpbmcgdGhlIGtleWNoYWluXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGB1ZGlkYCBpbnN0YW5jZSBwcm9wZXJ0eSBpcyB1bnNldFxuICovXG5jb21tYW5kcy5yZXNldEtleWNoYWluID0gYXN5bmMgZnVuY3Rpb24gcmVzZXRLZXljaGFpbiAoKSB7XG4gIGF3YWl0IHRoaXMuZXhlYygna2V5Y2hhaW4nLCB7XG4gICAgYXJnczogW3RoaXMucmVxdWlyZVVkaWQoJ2tleWNoYWluIHJlc2V0JyksICdyZXNldCddLFxuICB9KTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FB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
62
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfb3MiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9taXNlcyIsIl91dWlkIiwiX3BhdGgiLCJfbG9kYXNoIiwiX3JpbXJhZiIsImNvbW1hbmRzIiwiaGFuZGxlUmF3UGF5bG9hZCIsInBheWxvYWQiLCJvblBheWxvYWRTdG9yZWQiLCJmaWxlUGF0aCIsInBhdGgiLCJyZXNvbHZlIiwib3MiLCJ0bXBkaXIiLCJ1dWlkVjQiLCJfIiwiaXNCdWZmZXIiLCJmcyIsIndyaXRlRmlsZSIsInJpbXJhZiIsImFkZFJvb3RDZXJ0aWZpY2F0ZSIsImNlcnQiLCJvcHRzIiwicmF3IiwiZXhlY01ldGhvZCIsImNlcnRQYXRoIiwiZXhlYyIsImFyZ3MiLCJyZXF1aXJlVWRpZCIsImFkZENlcnRpZmljYXRlIiwicmVzZXRLZXljaGFpbiIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3ViY29tbWFuZHMva2V5Y2hhaW4uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG9zIGZyb20gJ29zJztcbmltcG9ydCBmcyBmcm9tICdmcy9wcm9taXNlcyc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkVjQgfSBmcm9tICd1dWlkJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCByaW1yYWYgZnJvbSAncmltcmFmJztcblxuY29uc3QgY29tbWFuZHMgPSB7fTtcblxuYXN5bmMgZnVuY3Rpb24gaGFuZGxlUmF3UGF5bG9hZCAocGF5bG9hZCwgb25QYXlsb2FkU3RvcmVkKSB7XG4gIGNvbnN0IGZpbGVQYXRoID0gcGF0aC5yZXNvbHZlKG9zLnRtcGRpcigpLCBgJHt1dWlkVjQoKX0ucGVtYCk7XG4gIHRyeSB7XG4gICAgaWYgKF8uaXNCdWZmZXIocGF5bG9hZCkpIHtcbiAgICAgIGF3YWl0IGZzLndyaXRlRmlsZShmaWxlUGF0aCwgcGF5bG9hZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IGZzLndyaXRlRmlsZShmaWxlUGF0aCwgcGF5bG9hZCwgJ3V0ZjgnKTtcbiAgICB9XG4gICAgYXdhaXQgb25QYXlsb2FkU3RvcmVkKGZpbGVQYXRoKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBhd2FpdCByaW1yYWYoZmlsZVBhdGgpO1xuICB9XG59XG5cblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBDZXJ0T3B0aW9uc1xuICogQHByb3BlcnR5IHtib29sZWFufSByYXcgW2ZhbHNlXSAtIHdoZXRoZXIgdGhlIGBjZXJ0YCBhcmd1bWVudFxuICogaXMgdGhlIHBhdGggdG8gdGhlIGNlcnRpZmljYXRlIG9uIHRoZSBsb2NhbCBmaWxlIHN5c3RlbSBvclxuICogYSByYXcgY2VydGlmaWNhdGUgY29udGVudFxuICovXG5cbi8qKlxuICogQWRkcyB0aGUgZ2l2ZW4gY2VydGlmaWNhdGUgdG8gdGhlIFRydXN0ZWQgUm9vdCBTdG9yZSBvbiB0aGUgc2ltdWxhdG9yXG4gKlxuICogQHNpbmNlIFhjb2RlIDExLjQgU0RLXG4gKiBAcGFyYW0ge3N0cmluZ30gY2VydCB0aGUgZnVsbCBwYXRoIHRvIGEgdmFsaWQgLmNlcnQgZmlsZSBjb250YWluaW5nXG4gKiB0aGUgY2VydGlmaWNhdGUgY29udGVudCBvciB0aGUgY2VydGlmaWNhdGUgY29udGVudCBpdHNlbGYsIGRlcGVuZGluZyBvblxuICogb3B0aW9uc1xuICogQHBhcmFtIHtDZXJ0T3B0aW9uc30gb3B0c1xuICogQHRocm93cyB7RXJyb3J9IGlmIHRoZSBjdXJyZW50IFNESyB2ZXJzaW9uIGRvZXMgbm90IHN1cHBvcnQgdGhlIGNvbW1hbmRcbiAqIG9yIHRoZXJlIHdhcyBhbiBlcnJvciB3aGlsZSBhZGRpbmcgdGhlIGNlcnRpZmljYXRlXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGB1ZGlkYCBpbnN0YW5jZSBwcm9wZXJ0eSBpcyB1bnNldFxuICovXG5jb21tYW5kcy5hZGRSb290Q2VydGlmaWNhdGUgPSBhc3luYyBmdW5jdGlvbiBhZGRSb290Q2VydGlmaWNhdGUgKGNlcnQsIG9wdHMgPSB7fSkge1xuICBjb25zdCB7XG4gICAgcmF3ID0gZmFsc2UsXG4gIH0gPSBvcHRzO1xuICBjb25zdCBleGVjTWV0aG9kID0gYXN5bmMgKGNlcnRQYXRoKSA9PiBhd2FpdCB0aGlzLmV4ZWMoJ2tleWNoYWluJywge1xuICAgIGFyZ3M6IFt0aGlzLnJlcXVpcmVVZGlkKCdrZXljaGFpbiBhZGQtcm9vdC1jZXJ0JyksICdhZGQtcm9vdC1jZXJ0JywgY2VydFBhdGhdLFxuICB9KTtcbiAgaWYgKHJhdykge1xuICAgIGF3YWl0IGhhbmRsZVJhd1BheWxvYWQoY2VydCwgZXhlY01ldGhvZCk7XG4gIH0gZWxzZSB7XG4gICAgYXdhaXQgZXhlY01ldGhvZChjZXJ0KTtcbiAgfVxufTtcblxuLyoqXG4gKiBBZGRzIHRoZSBnaXZlbiBjZXJ0aWZpY2F0ZSB0byB0aGUgS2V5Y2hhaW4gU3RvcmUgb24gdGhlIHNpbXVsYXRvclxuICpcbiAqIEBzaW5jZSBYY29kZSAxMS40IFNES1xuICogQHBhcmFtIHtzdHJpbmd9IGNlcnQgdGhlIGZ1bGwgcGF0aCB0byBhIHZhbGlkIC5jZXJ0IGZpbGUgY29udGFpbmluZ1xuICogdGhlIGNlcnRpZmljYXRlIGNvbnRlbnQgb3IgdGhlIGNlcnRpZmljYXRlIGNvbnRlbnQgaXRzZWxmLCBkZXBlbmRpbmcgb25cbiAqIG9wdGlvbnNcbiAqIEBwYXJhbSB7Q2VydE9wdGlvbnN9IG9wdHNcbiAqIEB0aHJvd3Mge0Vycm9yfSBpZiB0aGUgY3VycmVudCBTREsgdmVyc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBjb21tYW5kXG4gKiBvciB0aGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgYWRkaW5nIHRoZSBjZXJ0aWZpY2F0ZVxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBgdWRpZGAgaW5zdGFuY2UgcHJvcGVydHkgaXMgdW5zZXRcbiAqL1xuY29tbWFuZHMuYWRkQ2VydGlmaWNhdGUgPSBhc3luYyBmdW5jdGlvbiBhZGRDZXJ0aWZpY2F0ZSAoY2VydCwgb3B0cyA9IHt9KSB7XG4gIGNvbnN0IHtcbiAgICByYXcgPSBmYWxzZSxcbiAgfSA9IG9wdHM7XG4gIGNvbnN0IGV4ZWNNZXRob2QgPSBhc3luYyAoY2VydFBhdGgpID0+IGF3YWl0IHRoaXMuZXhlYygna2V5Y2hhaW4nLCB7XG4gICAgYXJnczogW3RoaXMucmVxdWlyZVVkaWQoJ2tleWNoYWluIGFkZC1jZXJ0JyksICdhZGQtY2VydCcsIGNlcnRQYXRoXSxcbiAgfSk7XG4gIGlmIChyYXcpIHtcbiAgICBhd2FpdCBoYW5kbGVSYXdQYXlsb2FkKGNlcnQsIGV4ZWNNZXRob2QpO1xuICB9IGVsc2Uge1xuICAgIGF3YWl0IGV4ZWNNZXRob2QoY2VydCk7XG4gIH1cbn07XG5cbi8qKlxuICogUmVzZXRzIHRoZSBzaW11bGF0b3Iga2V5Y2hhaW5cbiAqXG4gKiBAc2luY2UgWGNvZGUgMTEuNCBTREtcbiAqIEB0aHJvd3Mge0Vycm9yfSBpZiB0aGUgY3VycmVudCBTREsgdmVyc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBjb21tYW5kXG4gKiBvciB0aGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgcmVzZXR0aW5nIHRoZSBrZXljaGFpblxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBgdWRpZGAgaW5zdGFuY2UgcHJvcGVydHkgaXMgdW5zZXRcbiAqL1xuY29tbWFuZHMucmVzZXRLZXljaGFpbiA9IGFzeW5jIGZ1bmN0aW9uIHJlc2V0S2V5Y2hhaW4gKCkge1xuICBhd2FpdCB0aGlzLmV4ZWMoJ2tleWNoYWluJywge1xuICAgIGFyZ3M6IFt0aGlzLnJlcXVpcmVVZGlkKCdrZXljaGFpbiByZXNldCcpLCAncmVzZXQnXSxcbiAgfSk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxHQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxTQUFBLEdBQUFGLHNCQUFBLENB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
@@ -1 +1 @@
1
- {"version":3,"file":"keychain.js","names":["commands","rimrafAsync","B","promisify","rimraf","writeFileAsync","fs","writeFile","handleRawPayload","payload","onPayloadStored","filePath","path","resolve","os","tmpdir","uuidV4","_","isBuffer","addRootCertificate","cert","opts","raw","execMethod","certPath","exec","args","requireUdid","addCertificate","resetKeychain"],"sources":["../../../lib/subcommands/keychain.js"],"sourcesContent":["import os from 'os';\nimport fs from 'fs';\nimport B from 'bluebird';\nimport { v4 as uuidV4 } from 'uuid';\nimport path from 'path';\nimport _ from 'lodash';\nimport rimraf from 'rimraf';\n\nconst commands = {};\nconst rimrafAsync = B.promisify(rimraf);\nconst writeFileAsync = B.promisify(fs.writeFile);\n\nasync function handleRawPayload (payload, onPayloadStored) {\n const filePath = path.resolve(os.tmpdir(), `${uuidV4()}.pem`);\n try {\n if (_.isBuffer(payload)) {\n await writeFileAsync(filePath, payload);\n } else {\n await writeFileAsync(filePath, payload, 'utf8');\n }\n await onPayloadStored(filePath);\n } finally {\n await rimrafAsync(filePath);\n }\n}\n\n\n/**\n * @typedef {Object} CertOptions\n * @property {boolean} raw [false] - whether the `cert` argument\n * is the path to the certificate on the local file system or\n * a raw certificate content\n */\n\n/**\n * Adds the given certificate to the Trusted Root Store on the simulator\n *\n * @since Xcode 11.4 SDK\n * @param {string} cert the full path to a valid .cert file containing\n * the certificate content or the certificate content itself, depending on\n * options\n * @param {CertOptions} opts\n * @throws {Error} if the current SDK version does not support the command\n * or there was an error while adding the certificate\n * @throws {Error} If the `udid` instance property is unset\n */\ncommands.addRootCertificate = async function addRootCertificate (cert, opts = {}) {\n const {\n raw = false,\n } = opts;\n const execMethod = async (certPath) => await this.exec('keychain', {\n args: [this.requireUdid('keychain add-root-cert'), 'add-root-cert', certPath],\n });\n if (raw) {\n await handleRawPayload(cert, execMethod);\n } else {\n await execMethod(cert);\n }\n};\n\n/**\n * Adds the given certificate to the Keychain Store on the simulator\n *\n * @since Xcode 11.4 SDK\n * @param {string} cert the full path to a valid .cert file containing\n * the certificate content or the certificate content itself, depending on\n * options\n * @param {CertOptions} opts\n * @throws {Error} if the current SDK version does not support the command\n * or there was an error while adding the certificate\n * @throws {Error} If the `udid` instance property is unset\n */\ncommands.addCertificate = async function addCertificate (cert, opts = {}) {\n const {\n raw = false,\n } = opts;\n const execMethod = async (certPath) => await this.exec('keychain', {\n args: [this.requireUdid('keychain add-cert'), 'add-cert', certPath],\n });\n if (raw) {\n await handleRawPayload(cert, execMethod);\n } else {\n await execMethod(cert);\n }\n};\n\n/**\n * Resets the simulator keychain\n *\n * @since Xcode 11.4 SDK\n * @throws {Error} if the current SDK version does not support the command\n * or there was an error while resetting the keychain\n * @throws {Error} If the `udid` instance property is unset\n */\ncommands.resetKeychain = async function resetKeychain () {\n await this.exec('keychain', {\n args: [this.requireUdid('keychain reset'), 'reset'],\n });\n};\n\nexport default commands;\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAMC,WAAW,GAAGC,iBAAC,CAACC,SAAS,CAACC,eAAM,CAAC;AACvC,MAAMC,cAAc,GAAGH,iBAAC,CAACC,SAAS,CAACG,WAAE,CAACC,SAAS,CAAC;AAEhD,eAAeC,gBAAgB,CAAEC,OAAO,EAAEC,eAAe,EAAE;EACzD,MAAMC,QAAQ,GAAGC,aAAI,CAACC,OAAO,CAACC,WAAE,CAACC,MAAM,EAAE,EAAG,GAAE,IAAAC,QAAM,GAAG,MAAK,CAAC;EAC7D,IAAI;IACF,IAAIC,eAAC,CAACC,QAAQ,CAACT,OAAO,CAAC,EAAE;MACvB,MAAMJ,cAAc,CAACM,QAAQ,EAAEF,OAAO,CAAC;IACzC,CAAC,MAAM;MACL,MAAMJ,cAAc,CAACM,QAAQ,EAAEF,OAAO,EAAE,MAAM,CAAC;IACjD;IACA,MAAMC,eAAe,CAACC,QAAQ,CAAC;EACjC,CAAC,SAAS;IACR,MAAMV,WAAW,CAACU,QAAQ,CAAC;EAC7B;AACF;AAsBAX,QAAQ,CAACmB,kBAAkB,GAAG,eAAeA,kBAAkB,CAAEC,IAAI,EAAEC,IAAI,GAAG,CAAC,CAAC,EAAE;EAChF,MAAM;IACJC,GAAG,GAAG;EACR,CAAC,GAAGD,IAAI;EACR,MAAME,UAAU,GAAG,MAAOC,QAAQ,IAAK,MAAM,IAAI,CAACC,IAAI,CAAC,UAAU,EAAE;IACjEC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,wBAAwB,CAAC,EAAE,eAAe,EAAEH,QAAQ;EAC9E,CAAC,CAAC;EACF,IAAIF,GAAG,EAAE;IACP,MAAMd,gBAAgB,CAACY,IAAI,EAAEG,UAAU,CAAC;EAC1C,CAAC,MAAM;IACL,MAAMA,UAAU,CAACH,IAAI,CAAC;EACxB;AACF,CAAC;AAcDpB,QAAQ,CAAC4B,cAAc,GAAG,eAAeA,cAAc,CAAER,IAAI,EAAEC,IAAI,GAAG,CAAC,CAAC,EAAE;EACxE,MAAM;IACJC,GAAG,GAAG;EACR,CAAC,GAAGD,IAAI;EACR,MAAME,UAAU,GAAG,MAAOC,QAAQ,IAAK,MAAM,IAAI,CAACC,IAAI,CAAC,UAAU,EAAE;IACjEC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAEH,QAAQ;EACpE,CAAC,CAAC;EACF,IAAIF,GAAG,EAAE;IACP,MAAMd,gBAAgB,CAACY,IAAI,EAAEG,UAAU,CAAC;EAC1C,CAAC,MAAM;IACL,MAAMA,UAAU,CAACH,IAAI,CAAC;EACxB;AACF,CAAC;AAUDpB,QAAQ,CAAC6B,aAAa,GAAG,eAAeA,aAAa,GAAI;EACvD,MAAM,IAAI,CAACJ,IAAI,CAAC,UAAU,EAAE;IAC1BC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,gBAAgB,CAAC,EAAE,OAAO;EACpD,CAAC,CAAC;AACJ,CAAC;AAAC,eAEa3B,QAAQ;AAAA"}
1
+ {"version":3,"file":"keychain.js","names":["_os","_interopRequireDefault","require","_promises","_uuid","_path","_lodash","_rimraf","commands","handleRawPayload","payload","onPayloadStored","filePath","path","resolve","os","tmpdir","uuidV4","_","isBuffer","fs","writeFile","rimraf","addRootCertificate","cert","opts","raw","execMethod","certPath","exec","args","requireUdid","addCertificate","resetKeychain","_default","exports","default"],"sources":["../../../lib/subcommands/keychain.js"],"sourcesContent":["import os from 'os';\nimport fs from 'fs/promises';\nimport { v4 as uuidV4 } from 'uuid';\nimport path from 'path';\nimport _ from 'lodash';\nimport rimraf from 'rimraf';\n\nconst commands = {};\n\nasync function handleRawPayload (payload, onPayloadStored) {\n const filePath = path.resolve(os.tmpdir(), `${uuidV4()}.pem`);\n try {\n if (_.isBuffer(payload)) {\n await fs.writeFile(filePath, payload);\n } else {\n await fs.writeFile(filePath, payload, 'utf8');\n }\n await onPayloadStored(filePath);\n } finally {\n await rimraf(filePath);\n }\n}\n\n\n/**\n * @typedef {Object} CertOptions\n * @property {boolean} raw [false] - whether the `cert` argument\n * is the path to the certificate on the local file system or\n * a raw certificate content\n */\n\n/**\n * Adds the given certificate to the Trusted Root Store on the simulator\n *\n * @since Xcode 11.4 SDK\n * @param {string} cert the full path to a valid .cert file containing\n * the certificate content or the certificate content itself, depending on\n * options\n * @param {CertOptions} opts\n * @throws {Error} if the current SDK version does not support the command\n * or there was an error while adding the certificate\n * @throws {Error} If the `udid` instance property is unset\n */\ncommands.addRootCertificate = async function addRootCertificate (cert, opts = {}) {\n const {\n raw = false,\n } = opts;\n const execMethod = async (certPath) => await this.exec('keychain', {\n args: [this.requireUdid('keychain add-root-cert'), 'add-root-cert', certPath],\n });\n if (raw) {\n await handleRawPayload(cert, execMethod);\n } else {\n await execMethod(cert);\n }\n};\n\n/**\n * Adds the given certificate to the Keychain Store on the simulator\n *\n * @since Xcode 11.4 SDK\n * @param {string} cert the full path to a valid .cert file containing\n * the certificate content or the certificate content itself, depending on\n * options\n * @param {CertOptions} opts\n * @throws {Error} if the current SDK version does not support the command\n * or there was an error while adding the certificate\n * @throws {Error} If the `udid` instance property is unset\n */\ncommands.addCertificate = async function addCertificate (cert, opts = {}) {\n const {\n raw = false,\n } = opts;\n const execMethod = async (certPath) => await this.exec('keychain', {\n args: [this.requireUdid('keychain add-cert'), 'add-cert', certPath],\n });\n if (raw) {\n await handleRawPayload(cert, execMethod);\n } else {\n await execMethod(cert);\n }\n};\n\n/**\n * Resets the simulator keychain\n *\n * @since Xcode 11.4 SDK\n * @throws {Error} if the current SDK version does not support the command\n * or there was an error while resetting the keychain\n * @throws {Error} If the `udid` instance property is unset\n */\ncommands.resetKeychain = async function resetKeychain () {\n await this.exec('keychain', {\n args: [this.requireUdid('keychain reset'), 'reset'],\n });\n};\n\nexport default commands;\n"],"mappings":";;;;;;;;AAAA,IAAAA,GAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,OAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,OAAA,GAAAN,sBAAA,CAAAC,OAAA;AAEA,MAAMM,QAAQ,GAAG,CAAC,CAAC;AAEnB,eAAeC,gBAAgBA,CAAEC,OAAO,EAAEC,eAAe,EAAE;EACzD,MAAMC,QAAQ,GAAGC,aAAI,CAACC,OAAO,CAACC,WAAE,CAACC,MAAM,EAAE,EAAG,GAAE,IAAAC,QAAM,GAAG,MAAK,CAAC;EAC7D,IAAI;IACF,IAAIC,eAAC,CAACC,QAAQ,CAACT,OAAO,CAAC,EAAE;MACvB,MAAMU,iBAAE,CAACC,SAAS,CAACT,QAAQ,EAAEF,OAAO,CAAC;IACvC,CAAC,MAAM;MACL,MAAMU,iBAAE,CAACC,SAAS,CAACT,QAAQ,EAAEF,OAAO,EAAE,MAAM,CAAC;IAC/C;IACA,MAAMC,eAAe,CAACC,QAAQ,CAAC;EACjC,CAAC,SAAS;IACR,MAAM,IAAAU,eAAM,EAACV,QAAQ,CAAC;EACxB;AACF;AAsBAJ,QAAQ,CAACe,kBAAkB,GAAG,eAAeA,kBAAkBA,CAAEC,IAAI,EAAEC,IAAI,GAAG,CAAC,CAAC,EAAE;EAChF,MAAM;IACJC,GAAG,GAAG;EACR,CAAC,GAAGD,IAAI;EACR,MAAME,UAAU,GAAG,MAAOC,QAAQ,IAAK,MAAM,IAAI,CAACC,IAAI,CAAC,UAAU,EAAE;IACjEC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,wBAAwB,CAAC,EAAE,eAAe,EAAEH,QAAQ;EAC9E,CAAC,CAAC;EACF,IAAIF,GAAG,EAAE;IACP,MAAMjB,gBAAgB,CAACe,IAAI,EAAEG,UAAU,CAAC;EAC1C,CAAC,MAAM;IACL,MAAMA,UAAU,CAACH,IAAI,CAAC;EACxB;AACF,CAAC;AAcDhB,QAAQ,CAACwB,cAAc,GAAG,eAAeA,cAAcA,CAAER,IAAI,EAAEC,IAAI,GAAG,CAAC,CAAC,EAAE;EACxE,MAAM;IACJC,GAAG,GAAG;EACR,CAAC,GAAGD,IAAI;EACR,MAAME,UAAU,GAAG,MAAOC,QAAQ,IAAK,MAAM,IAAI,CAACC,IAAI,CAAC,UAAU,EAAE;IACjEC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAEH,QAAQ;EACpE,CAAC,CAAC;EACF,IAAIF,GAAG,EAAE;IACP,MAAMjB,gBAAgB,CAACe,IAAI,EAAEG,UAAU,CAAC;EAC1C,CAAC,MAAM;IACL,MAAMA,UAAU,CAACH,IAAI,CAAC;EACxB;AACF,CAAC;AAUDhB,QAAQ,CAACyB,aAAa,GAAG,eAAeA,aAAaA,CAAA,EAAI;EACvD,MAAM,IAAI,CAACJ,IAAI,CAAC,UAAU,EAAE;IAC1BC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,gBAAgB,CAAC,EAAE,OAAO;EACpD,CAAC,CAAC;AACJ,CAAC;AAAC,IAAAG,QAAA,GAEa1B,QAAQ;AAAA2B,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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImxhdW5jaEFwcCIsImJ1bmRsZUlkIiwidHJpZXMiLCJyZXRyeUludGVydmFsIiwic3Rkb3V0IiwiZXhlYyIsImFyZ3MiLCJyZXF1aXJlVWRpZCIsIl8iLCJ0cmltIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N1YmNvbW1hbmRzL2xhdW5jaC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgcmV0cnlJbnRlcnZhbCB9IGZyb20gJ2FzeW5jYm94JztcblxuY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBFeGVjdXRlIHRoZSBwYXJ0aWN1bGFyIGFwcGxpY2F0aW9uIHBhY2thZ2Ugb24gU2ltdWxhdG9yLlxuICogSXQgaXMgcmVxdWlyZWQgdGhhdCBTaW11bGF0b3IgaXMgaW4gX2Jvb3RlZF8gc3RhdGUgYW5kXG4gKiB0aGUgYXBwbGljYXRpb24gd2l0aCBnaXZlbiBidW5kbGUgaWRlbnRpZmllciBpcyBhbHJlYWR5IGluc3RhbGxlZC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gYnVuZGxlSWQgLSBCdW5kbGUgaWRlbnRpZmllciBvZiB0aGUgYXBwbGljYXRpb24sXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGljaCBpcyBnb2luZyB0byBiZSByZW1vdmVkLlxuICogQHBhcmFtIHtudW1iZXJ9IHRyaWVzIFs1XSAtIFRoZSBtYXhpbXVtIG51bWJlciBvZiByZXRyaWVzIGJlZm9yZVxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93aW5nIGFuIGV4Y2VwdGlvbi5cbiAqIEByZXR1cm4ge3N0cmluZ30gdGhlIGFjdHVhbCBjb21tYW5kIG91dHB1dFxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBjb3JyZXNwb25kaW5nIHNpbWN0bCBzdWJjb21tYW5kIGNvbW1hbmRcbiAqICAgICAgICAgICAgICAgICByZXR1cm5zIG5vbi16ZXJvIHJldHVybiBjb2RlLlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBgdWRpZGAgaW5zdGFuY2UgcHJvcGVydHkgaXMgdW5zZXRcbiAqL1xuY29tbWFuZHMubGF1bmNoQXBwID0gYXN5bmMgZnVuY3Rpb24gbGF1bmNoQXBwIChidW5kbGVJZCwgdHJpZXMgPSA1KSB7XG4gIHJldHVybiBhd2FpdCByZXRyeUludGVydmFsKHRyaWVzLCAxMDAwLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qge3N0ZG91dH0gPSBhd2FpdCB0aGlzLmV4ZWMoJ2xhdW5jaCcsIHtcbiAgICAgIGFyZ3M6IFt0aGlzLnJlcXVpcmVVZGlkKCdsYXVuY2gnKSwgYnVuZGxlSWRdLFxuICAgIH0pO1xuICAgIHJldHVybiBfLnRyaW0oc3Rkb3V0KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNBO0FBRUEsTUFBTUEsUUFBUSxHQUFHLENBQUMsQ0FBQztBQWdCbkJBLFFBQVEsQ0FBQ0MsU0FBUyxHQUFHLGVBQWVBLFNBQVMsQ0FBRUMsUUFBUSxFQUFFQyxLQUFLLEdBQUcsQ0FBQyxFQUFFO0VBQ2xFLE9BQU8sTUFBTSxJQUFBQyx1QkFBYSxFQUFDRCxLQUFLLEVBQUUsSUFBSSxFQUFFLFlBQVk7SUFDbEQsTUFBTTtNQUFDRTtJQUFNLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQ0MsSUFBSSxDQUFDLFFBQVEsRUFBRTtNQUN6Q0MsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDQyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUVOLFFBQVE7SUFDN0MsQ0FBQyxDQUFDO0lBQ0YsT0FBT08sZUFBQyxDQUFDQyxJQUFJLENBQUNMLE1BQU0sQ0FBQztFQUN2QixDQUFDLENBQUM7QUFDSixDQUFDO0FBQUMsZUFFYUwsUUFBUTtBQUFBIn0=
24
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfYXN5bmNib3giLCJjb21tYW5kcyIsImxhdW5jaEFwcCIsImJ1bmRsZUlkIiwidHJpZXMiLCJyZXRyeUludGVydmFsIiwic3Rkb3V0IiwiZXhlYyIsImFyZ3MiLCJyZXF1aXJlVWRpZCIsIl8iLCJ0cmltIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdWJjb21tYW5kcy9sYXVuY2guanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IHJldHJ5SW50ZXJ2YWwgfSBmcm9tICdhc3luY2JveCc7XG5cbmNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8qKlxuICogRXhlY3V0ZSB0aGUgcGFydGljdWxhciBhcHBsaWNhdGlvbiBwYWNrYWdlIG9uIFNpbXVsYXRvci5cbiAqIEl0IGlzIHJlcXVpcmVkIHRoYXQgU2ltdWxhdG9yIGlzIGluIF9ib290ZWRfIHN0YXRlIGFuZFxuICogdGhlIGFwcGxpY2F0aW9uIHdpdGggZ2l2ZW4gYnVuZGxlIGlkZW50aWZpZXIgaXMgYWxyZWFkeSBpbnN0YWxsZWQuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGJ1bmRsZUlkIC0gQnVuZGxlIGlkZW50aWZpZXIgb2YgdGhlIGFwcGxpY2F0aW9uLFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpY2ggaXMgZ29pbmcgdG8gYmUgcmVtb3ZlZC5cbiAqIEBwYXJhbSB7bnVtYmVyfSB0cmllcyBbNV0gLSBUaGUgbWF4aW11bSBudW1iZXIgb2YgcmV0cmllcyBiZWZvcmVcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvd2luZyBhbiBleGNlcHRpb24uXG4gKiBAcmV0dXJuIHtzdHJpbmd9IHRoZSBhY3R1YWwgY29tbWFuZCBvdXRwdXRcbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kXG4gKiAgICAgICAgICAgICAgICAgcmV0dXJucyBub24temVybyByZXR1cm4gY29kZS5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgYHVkaWRgIGluc3RhbmNlIHByb3BlcnR5IGlzIHVuc2V0XG4gKi9cbmNvbW1hbmRzLmxhdW5jaEFwcCA9IGFzeW5jIGZ1bmN0aW9uIGxhdW5jaEFwcCAoYnVuZGxlSWQsIHRyaWVzID0gNSkge1xuICByZXR1cm4gYXdhaXQgcmV0cnlJbnRlcnZhbCh0cmllcywgMTAwMCwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgdGhpcy5leGVjKCdsYXVuY2gnLCB7XG4gICAgICBhcmdzOiBbdGhpcy5yZXF1aXJlVWRpZCgnbGF1bmNoJyksIGJ1bmRsZUlkXSxcbiAgICB9KTtcbiAgICByZXR1cm4gXy50cmltKHN0ZG91dCk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsU0FBQSxHQUFBRCxPQUFBO0FBRUEsTUFBTUUsUUFBUSxHQUFHLENBQUMsQ0FBQztBQWdCbkJBLFFBQVEsQ0FBQ0MsU0FBUyxHQUFHLGVBQWVBLFNBQVNBLENBQUVDLFFBQVEsRUFBRUMsS0FBSyxHQUFHLENBQUMsRUFBRTtFQUNsRSxPQUFPLE1BQU0sSUFBQUMsdUJBQWEsRUFBQ0QsS0FBSyxFQUFFLElBQUksRUFBRSxZQUFZO0lBQ2xELE1BQU07TUFBQ0U7SUFBTSxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUNDLElBQUksQ0FBQyxRQUFRLEVBQUU7TUFDekNDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQ0MsV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFTixRQUFRO0lBQzdDLENBQUMsQ0FBQztJQUNGLE9BQU9PLGVBQUMsQ0FBQ0MsSUFBSSxDQUFDTCxNQUFNLENBQUM7RUFDdkIsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUFDLElBQUFNLFFBQUEsR0FFYVgsUUFBUTtBQUFBWSxPQUFBLENBQUFDLE9BQUEsR0FBQUYsUUFBQSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"launch.js","names":["commands","launchApp","bundleId","tries","retryInterval","stdout","exec","args","requireUdid","_","trim"],"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;AACA;AAEA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AAgBnBA,QAAQ,CAACC,SAAS,GAAG,eAAeA,SAAS,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,eAEaL,QAAQ;AAAA"}
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"}
@@ -154,4 +154,4 @@ commands.list = async function list() {
154
154
  };
155
155
  var _default = commands;
156
156
  exports.default = _default;
157
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImdldERldmljZXNCeVBhcnNpbmciLCJwbGF0Zm9ybSIsInN0ZG91dCIsImV4ZWMiLCJhcmdzIiwiZGV2aWNlU2VjdGlvblJlIiwiXyIsImlzRW1wdHkiLCJSZWdFeHAiLCJlc2NhcGVSZWdFeHAiLCJtYXRjaGVzIiwibWF0Y2giLCJwdXNoIiwiRXJyb3IiLCJsaW5lUmUiLCJkZXZpY2VzIiwic2RrIiwibGluZSIsInNwbGl0Iiwic2xpY2UiLCJpbmNsdWRlcyIsImxpbmVNYXRjaCIsIm5hbWUiLCJ1ZGlkIiwic3RhdGUiLCJnZXREZXZpY2VzIiwiZm9yU2RrIiwidmVyc2lvbk1hdGNoUmUiLCJzZGtOYW1lIiwiZW50cmllcyIsInRvUGFpcnMiLCJKU09OIiwicGFyc2UiLCJyZXBsYWNlIiwiU0lNX1JVTlRJTUVfTkFNRSIsInZlcnNpb25NYXRjaCIsImZpbHRlciIsImVsIiwiaXNVbmRlZmluZWQiLCJpc0F2YWlsYWJsZSIsIm1hcCIsImF2YWlsYWJpbGl0eSIsImVyciIsImxvZyIsImRlYnVnIiwiTE9HX1BSRUZJWCIsInN0YWNrIiwiZXJyTXNnIiwiYXZhaWxhYmxlU0RLcyIsImtleXMiLCJsZW5ndGgiLCJqb2luIiwiZ2V0UnVudGltZUZvclBsYXRmb3JtVmVyc2lvblZpYUpzb24iLCJwbGF0Zm9ybVZlcnNpb24iLCJ2ZXJzaW9uIiwiaWRlbnRpZmllciIsInJ1bnRpbWVzIiwibm9ybWFsaXplVmVyc2lvbiIsInRvTG93ZXJDYXNlIiwic3RhcnRzV2l0aCIsImdldFJ1bnRpbWVGb3JQbGF0Zm9ybVZlcnNpb24iLCJydW50aW1lUmUiLCJpZ24iLCJnZXREZXZpY2VUeXBlcyIsImRldmljZVR5cGVzIiwidHJpbSIsImRldmljZXR5cGVzIiwidHlwZSIsIm1lc3NhZ2UiLCJsaXN0IiwiZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdWJjb21tYW5kcy9saXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBTSU1fUlVOVElNRV9OQU1FLCBub3JtYWxpemVWZXJzaW9uIH0gZnJvbSAnLi4vaGVscGVycyc7XG5pbXBvcnQgbG9nLCB7IExPR19QUkVGSVggfSBmcm9tICcuLi9sb2dnZXInO1xuXG5cbmNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gRGV2aWNlSW5mb1xuICogQHByb3BlcnR5IHtzdHJpbmd9IG5hbWUgLSBUaGUgZGV2aWNlIG5hbWUuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdWRpZCAtIFRoZSBkZXZpY2UgVURJRC5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBzdGF0ZSAtIFRoZSBjdXJyZW50IFNpbXVsYXRvciBzdGF0ZSwgZm9yIGV4YW1wbGUgJ2Jvb3RlZCcgb3IgJ3NodXRkb3duJy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBzZGsgLSBUaGUgU0RLIHZlcnNpb24sIGZvciBleGFtcGxlICcxMC4zJy5cbiAqL1xuXG4vKipcbiAqIFBhcnNlIHRoZSBsaXN0IG9mIGV4aXN0aW5nIFNpbXVsYXRvciBkZXZpY2VzIHRvIHJlcHJlc2VudFxuICogaXQgYXMgY29udmVuaWVudCBtYXBwaW5nLlxuICpcbiAqIEBwYXJhbSB7P3N0cmluZ30gcGxhdGZvcm0gLSBUaGUgcGxhdGZvcm0gbmFtZSwgZm9yIGV4YW1wbGUgJ3dhdGNoT1MnLlxuICogQHJldHVybiB7T2JqZWN0fSBUaGUgcmVzdWx0aW5nIG1hcHBpbmcuIEVhY2gga2V5IGlzIHBsYXRmb3JtIHZlcnNpb24sXG4gKiAgICAgICAgICAgICAgICAgIGZvciBleGFtcGxlICcxMC4zJyBhbmQgdGhlIGNvcnJlc3BvbmRpbmcgdmFsdWUgaXMgYW5cbiAqICAgICAgICAgICAgICAgICAgYXJyYXkgb2YgdGhlIG1hdGNoaW5nIHtAbGluayBEZXZpY2VJbmZvfSBpbnN0YW5jZXMuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGNvcnJlc3BvbmRpbmcgc2ltY3RsIHN1YmNvbW1hbmQgY29tbWFuZFxuICogICAgICAgICAgICAgICAgIHJldHVybnMgbm9uLXplcm8gcmV0dXJuIGNvZGUuXG4gKi9cbmNvbW1hbmRzLmdldERldmljZXNCeVBhcnNpbmcgPSBhc3luYyBmdW5jdGlvbiBnZXREZXZpY2VzQnlQYXJzaW5nIChwbGF0Zm9ybSkge1xuICAvLyBnZXQgdGhlIGxpc3Qgb2YgZGV2aWNlc1xuICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IHRoaXMuZXhlYygnbGlzdCcsIHtcbiAgICBhcmdzOiBbJ2RldmljZXMnXSxcbiAgfSk7XG5cbiAgLy8gZXhwZWN0IHRvIGdldCBhIGxpc3RpbmcgbGlrZVxuICAvLyAtLSBpT1MgOC4xIC0tXG4gIC8vICAgICBpUGhvbmUgNHMgKDNDQTZFN0RELTIyMEUtNDVFNS1CNzE2LTFFOTkyQjNBNDI5QykgKFNodXRkb3duKVxuICAvLyAgICAgLi4uXG4gIC8vIC0tIGlPUyA4LjIgLS1cbiAgLy8gICAgIGlQaG9uZSA0cyAoQTk5RkZGQzMtOEUxOS00RENGLUI1ODUtN0Q5RDQ2QjRDMTZFKSAoU2h1dGRvd24pXG4gIC8vICAgICAuLi5cbiAgLy8gc28sIGdldCB0aGUgYC0tIGlPUyBYLlggLS1gIGxpbmUgdG8gZmluZCB0aGUgc2RrIChYLlgpXG4gIC8vIGFuZCB0aGUgcmVzdCBvZiB0aGUgbGlzdGluZyBpbiBvcmRlciB0byBsYXRlciBmaW5kIHRoZSBkZXZpY2VzXG4gIGNvbnN0IGRldmljZVNlY3Rpb25SZSA9IF8uaXNFbXB0eShwbGF0Zm9ybSlcbiAgICA/IG5ldyBSZWdFeHAoYFxcXFwtXFxcXC1cXFxccysoXFxcXFMrKVxcXFxzKyhcXFxcUyspXFxcXHMrXFxcXC1cXFxcLShcXFxcblxcXFxzezR9LispKmAsICdtZ2knKVxuICAgIDogbmV3IFJlZ0V4cChgXFxcXC1cXFxcLVxcXFxzKyR7Xy5lc2NhcGVSZWdFeHAocGxhdGZvcm0pfVxcXFxzKyhcXFxcUyspXFxcXHMrXFxcXC1cXFxcLShcXFxcblxcXFxzezR9LispKmAsICdtZ2knKTtcbiAgY29uc3QgbWF0Y2hlcyA9IFtdO1xuICBsZXQgbWF0Y2g7XG4gIC8vIG1ha2UgYW4gZW50cnkgZm9yIGVhY2ggc2RrIHZlcnNpb25cbiAgd2hpbGUgKChtYXRjaCA9IGRldmljZVNlY3Rpb25SZS5leGVjKHN0ZG91dCkpKSB7XG4gICAgbWF0Y2hlcy5wdXNoKG1hdGNoKTtcbiAgfVxuICBpZiAoXy5pc0VtcHR5KG1hdGNoZXMpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgZmluZCBkZXZpY2Ugc2VjdGlvbicpO1xuICB9XG5cbiAgY29uc3QgbGluZVJlID0gLyhbXlxcc10uKykgXFwoKFxcdystLitcXHcrKVxcKSBcXCgoXFx3K1xccz9cXHcrKVxcKS87IC8vIGh0dHBzOi8vcmVnZXgxMDEuY29tL3IvbEc3bUs2LzNcbiAgLy8gZ2V0IGFsbCB0aGUgZGV2aWNlcyBmb3IgZWFjaCBzZGtcbiAgY29uc3QgZGV2aWNlcyA9IHt9O1xuICBmb3IgKG1hdGNoIG9mIG1hdGNoZXMpIHtcbiAgICBjb25zdCBzZGsgPSBwbGF0Zm9ybSA/IG1hdGNoWzFdIDogbWF0Y2hbMl07XG4gICAgZGV2aWNlc1tzZGtdID0gZGV2aWNlc1tzZGtdIHx8IFtdO1xuICAgIC8vIHNwbGl0IHRoZSBmdWxsIG1hdGNoIGludG8gbGluZXMgYW5kIHJlbW92ZSB0aGUgZmlyc3RcbiAgICBmb3IgKGNvbnN0IGxpbmUgb2YgbWF0Y2hbMF0uc3BsaXQoJ1xcbicpLnNsaWNlKDEpKSB7XG4gICAgICBpZiAobGluZS5pbmNsdWRlcygnKHVuYXZhaWxhYmxlLCAnKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIC8vIGEgbGluZSBpcyBzb21ldGhpbmcgbGlrZVxuICAgICAgLy8gICAgaVBob25lIDRzIChBOTlGRkZDMy04RTE5LTREQ0YtQjU4NS03RDlENDZCNEMxNkUpIChTaHV0ZG93bilcbiAgICAgIC8vIHJldHJpZXZlOlxuICAgICAgLy8gICBpUGhvbmUgNHNcbiAgICAgIC8vICAgQTk5RkZGQzMtOEUxOS00RENGLUI1ODUtN0Q5RDQ2QjRDMTZFXG4gICAgICAvLyAgIFNodXRkb3duXG4gICAgICBjb25zdCBsaW5lTWF0Y2ggPSBsaW5lUmUuZXhlYyhsaW5lKTtcbiAgICAgIGlmICghbGluZU1hdGNoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IG1hdGNoIGxpbmU6ICR7bGluZX1gKTtcbiAgICAgIH1cbiAgICAgIC8vIHNhdmUgdGhlIHdob2xlIHRoaW5nIGFzIGFiIG9iamVjdCBpbiB0aGUgbGlzdCBmb3IgdGhpcyBzZGtcbiAgICAgIGRldmljZXNbc2RrXS5wdXNoKHtcbiAgICAgICAgbmFtZTogbGluZU1hdGNoWzFdLFxuICAgICAgICB1ZGlkOiBsaW5lTWF0Y2hbMl0sXG4gICAgICAgIHN0YXRlOiBsaW5lTWF0Y2hbM10sXG4gICAgICAgIHNkayxcbiAgICAgICAgcGxhdGZvcm06IHBsYXRmb3JtIHx8IG1hdGNoWzFdLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBkZXZpY2VzO1xufTtcblxuLyoqXG4gKiBQYXJzZSB0aGUgbGlzdCBvZiBleGlzdGluZyBTaW11bGF0b3IgZGV2aWNlcyB0byByZXByZXNlbnRcbiAqIGl0IGFzIGNvbnZlbmllbnQgbWFwcGluZyBmb3IgdGhlIHBhcnRpY3VsYXIgcGxhdGZvcm0gdmVyc2lvbi5cbiAqXG4gKiBAcGFyYW0gez9zdHJpbmd9IGZvclNkayAtIFRoZSBzZGsgdmVyc2lvbixcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHdoaWNoIHRoZSBkZXZpY2VzIGxpc3Qgc2hvdWxkIGJlIHBhcnNlZCxcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGV4YW1wbGUgJzEwLjMnLlxuICogQHBhcmFtIHs/c3RyaW5nfSBwbGF0Zm9ybSAtIFRoZSBwbGF0Zm9ybSBuYW1lLCBmb3IgZXhhbXBsZSAnd2F0Y2hPUycuXG4gKiBAcmV0dXJuIHtPYmplY3R8QXJyYXk8RGV2aWNlSW5mbz59IElmIF9mb3JTZGtfIGlzIHNldCB0aGVuIHRoZSBsaXN0XG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIGRldmljZXMgZm9yIHRoZSBwYXJ0aWN1bGFyIHBsYXRmb3JtIHZlcnNpb24uXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE90aGVyd2lzZSB0aGUgc2FtZSByZXN1bHQgYXMgZm9yIHtAbGluayBnZXREZXZpY2VzQnlQYXJzaW5nfVxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbi5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kXG4gKiAgICAgICAgICAgICAgICAgcmV0dXJucyBub24temVybyByZXR1cm4gY29kZSBvciBpZiBubyBtYXRjaGluZ1xuICogICAgICAgICAgICAgICAgIHBsYXRmb3JtIHZlcnNpb24gaXMgZm91bmQgaW4gdGhlIHN5c3RlbS5cbiAqL1xuY29tbWFuZHMuZ2V0RGV2aWNlcyA9IGFzeW5jIGZ1bmN0aW9uIGdldERldmljZXMgKGZvclNkaywgcGxhdGZvcm0pIHtcbiAgbGV0IGRldmljZXMgPSB7fTtcbiAgdHJ5IHtcbiAgICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IHRoaXMuZXhlYygnbGlzdCcsIHtcbiAgICAgIGFyZ3M6IFsnZGV2aWNlcycsICctaiddLFxuICAgIH0pO1xuICAgIC8qIEpTT04gc2hvdWxkIGJlXG4gICAgICoge1xuICAgICAqICAgXCJkZXZpY2VzXCIgOiB7XG4gICAgICogICAgIFwiaU9TIDxzZGs+XCIgOiBbIC8vIG9yXG4gICAgICogICAgIFwiY29tLmFwcGxlLkNvcmVTaW11bGF0b3IuU2ltUnVudGltZS5pT1MtPHNkaz4gOiBbXG4gICAgICogICAgICAge1xuICAgICAqICAgICAgICAgXCJzdGF0ZVwiIDogXCJCb290ZWRcIixcbiAgICAgKiAgICAgICAgIFwiYXZhaWxhYmlsaXR5XCIgOiBcIihhdmFpbGFibGUpXCIsXG4gICAgICogICAgICAgICBcImlzQXZhaWxhYmxlXCIgOiB0cnVlLFxuICAgICAqICAgICAgICAgXCJuYW1lXCIgOiBcImlQaG9uZSA2XCIsXG4gICAgICogICAgICAgICBcInVkaWRcIiA6IFwiNzVFMzQxNDAtMThFOC00RDFBLTlGNDUtQUFDNzM1REY3NURGXCJcbiAgICAgKiAgICAgICB9XG4gICAgICogICAgIF1cbiAgICAgKiAgIH1cbiAgICAgKiB9XG4gICAgICovXG4gICAgY29uc3QgdmVyc2lvbk1hdGNoUmUgPSBfLmlzRW1wdHkocGxhdGZvcm0pXG4gICAgICA/IG5ldyBSZWdFeHAoYF4oW15cXFxccy1dKylbXFxcXHMtXShcXFxcUyspYCwgJ2knKVxuICAgICAgOiBuZXcgUmVnRXhwKGBeJHtfLmVzY2FwZVJlZ0V4cChwbGF0Zm9ybSl9W1xcXFxzLV0oXFxcXFMrKWAsICdpJyk7XG4gICAgZm9yIChsZXQgW3Nka05hbWUsIGVudHJpZXNdIG9mIF8udG9QYWlycyhKU09OLnBhcnNlKHN0ZG91dCkuZGV2aWNlcykpIHtcbiAgICAgIC8vIHRoZXJlIGNvdWxkIGJlIGEgbG9uZ2VyIG5hbWUsIHNvIHJlbW92ZSBpdFxuICAgICAgc2RrTmFtZSA9IHNka05hbWUucmVwbGFjZShTSU1fUlVOVElNRV9OQU1FLCAnJyk7XG4gICAgICBjb25zdCB2ZXJzaW9uTWF0Y2ggPSB2ZXJzaW9uTWF0Y2hSZS5leGVjKHNka05hbWUpO1xuICAgICAgaWYgKCF2ZXJzaW9uTWF0Y2gpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIC8vIHRoZSBzZGsgY2FuIGhhdmUgZGFzaGVzIChgMTItMmApIG9yIGRvdHMgKGAxMi4xYClcbiAgICAgIGNvbnN0IHNkayA9IChwbGF0Zm9ybSA/IHZlcnNpb25NYXRjaFsxXSA6IHZlcnNpb25NYXRjaFsyXSkucmVwbGFjZSgnLScsICcuJyk7XG4gICAgICBkZXZpY2VzW3Nka10gPSBkZXZpY2VzW3Nka10gfHwgW107XG4gICAgICBkZXZpY2VzW3Nka10ucHVzaCguLi5lbnRyaWVzLmZpbHRlcigoZWwpID0+IF8uaXNVbmRlZmluZWQoZWwuaXNBdmFpbGFibGUpIHx8IGVsLmlzQXZhaWxhYmxlKVxuICAgICAgICAubWFwKChlbCkgPT4ge1xuICAgICAgICAgIGRlbGV0ZSBlbC5hdmFpbGFiaWxpdHk7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNkayxcbiAgICAgICAgICAgIC4uLmVsLFxuICAgICAgICAgICAgcGxhdGZvcm06IHBsYXRmb3JtIHx8IHZlcnNpb25NYXRjaFsxXSxcbiAgICAgICAgICB9O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZy5kZWJ1ZyhMT0dfUFJFRklYLCBgVW5hYmxlIHRvIGdldCBKU09OIGRldmljZSBsaXN0OiAke2Vyci5zdGFja31gKTtcbiAgICBsb2cuZGVidWcoTE9HX1BSRUZJWCwgJ0ZhbGxpbmcgYmFjayB0byBtYW51YWwgcGFyc2luZycpO1xuICAgIGRldmljZXMgPSBhd2FpdCB0aGlzLmdldERldmljZXNCeVBhcnNpbmcocGxhdGZvcm0pO1xuICB9XG5cbiAgaWYgKCFmb3JTZGspIHtcbiAgICByZXR1cm4gZGV2aWNlcztcbiAgfVxuICAvLyBpZiBhIGBmb3JTZGtgIHdhcyBwYXNzZWQgaW4sIHJldHVybiBvbmx5IHRoZSBjb3JyZXNwb25kaW5nIGxpc3RcbiAgaWYgKGRldmljZXNbZm9yU2RrXSkge1xuICAgIHJldHVybiBkZXZpY2VzW2ZvclNka107XG4gIH1cblxuICBsZXQgZXJyTXNnID0gYCcke2ZvclNka30nIGRvZXMgbm90IGV4aXN0IGluIHRoZSBsaXN0IG9mIHNpbWN0bCBTREtzLmA7XG4gIGNvbnN0IGF2YWlsYWJsZVNES3MgPSBfLmtleXMoZGV2aWNlcyk7XG4gIGVyck1zZyArPSBhdmFpbGFibGVTREtzLmxlbmd0aFxuICAgID8gYCBPbmx5IHRoZSBmb2xsb3dpbmcgU2ltdWxhdG9yIFNESyB2ZXJzaW9ucyBhcmUgYXZhaWxhYmxlIG9uIHlvdXIgc3lzdGVtOiAke2F2YWlsYWJsZVNES3Muam9pbignLCAnKX1gXG4gICAgOiBgIE5vIFNpbXVsYXRvciBTREsgdmVyc2lvbnMgYXJlIGF2YWlsYWJsZSBvbiB5b3VyIHN5c3RlbS4gUGxlYXNlIGluc3RhbGwgc29tZSB2aWEgWGNvZGUgcHJlZmVyZW5jZXMuYDtcbiAgdGhyb3cgbmV3IEVycm9yKGVyck1zZyk7XG59O1xuXG4vKipcbiAqIEdldCB0aGUgcnVudGltZSBmb3IgdGhlIHBhcnRpY3VsYXIgcGxhdGZvcm0gdmVyc2lvbiB1c2luZyAtLWpzb24gZmxhZ1xuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBwbGF0Zm9ybVZlcnNpb24gLSBUaGUgcGxhdGZvcm0gdmVyc2lvbiBuYW1lLFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBleGFtcGxlICcxMC4zJy5cbiAqIEBwYXJhbSB7P3N0cmluZ30gcGxhdGZvcm0gLSBUaGUgcGxhdGZvcm0gbmFtZSwgZm9yIGV4YW1wbGUgJ3dhdGNoT1MnLlxuICogQHJldHVybiB7c3RyaW5nfSBUaGUgY29ycmVzcG9uZGluZyBydW50aW1lIG5hbWUgZm9yIHRoZSBnaXZlblxuICogICAgICAgICAgICAgICAgICBwbGF0Zm9ybSB2ZXJzaW9uLlxuICovXG5jb21tYW5kcy5nZXRSdW50aW1lRm9yUGxhdGZvcm1WZXJzaW9uVmlhSnNvbiA9IGFzeW5jIGZ1bmN0aW9uIGdldFJ1bnRpbWVGb3JQbGF0Zm9ybVZlcnNpb25WaWFKc29uIChcbiAgcGxhdGZvcm1WZXJzaW9uLCBwbGF0Zm9ybSA9ICdpT1MnKSB7XG4gIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgdGhpcy5leGVjKCdsaXN0Jywge1xuICAgIGFyZ3M6IFsncnVudGltZXMnLCAnLS1qc29uJ10sXG4gIH0pO1xuICBmb3IgKGNvbnN0IHt2ZXJzaW9uLCBpZGVudGlmaWVyLCBuYW1lfSBvZiBKU09OLnBhcnNlKHN0ZG91dCkucnVudGltZXMpIHtcbiAgICBpZiAobm9ybWFsaXplVmVyc2lvbih2ZXJzaW9uKSA9PT0gbm9ybWFsaXplVmVyc2lvbihwbGF0Zm9ybVZlcnNpb24pXG4gICAgICAmJiBuYW1lLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChwbGF0Zm9ybS50b0xvd2VyQ2FzZSgpKSkge1xuICAgICAgcmV0dXJuIGlkZW50aWZpZXI7XG4gICAgfVxuICB9XG4gIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IHVzZSAtLWpzb24gZmxhZyB0byBwYXJzZSBwbGF0Zm9ybSB2ZXJzaW9uYCk7XG59O1xuXG4vKipcbiAqIEdldCB0aGUgcnVudGltZSBmb3IgdGhlIHBhcnRpY3VsYXIgcGxhdGZvcm0gdmVyc2lvbi5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gcGxhdGZvcm1WZXJzaW9uIC0gVGhlIHBsYXRmb3JtIHZlcnNpb24gbmFtZSxcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgZXhhbXBsZSAnMTAuMycuXG4gKiBAcGFyYW0gez9zdHJpbmd9IHBsYXRmb3JtIC0gVGhlIHBsYXRmb3JtIG5hbWUsIGZvciBleGFtcGxlICd3YXRjaE9TJy5cbiAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGNvcnJlc3BvbmRpbmcgcnVudGltZSBuYW1lIGZvciB0aGUgZ2l2ZW5cbiAqICAgICAgICAgICAgICAgICAgcGxhdGZvcm0gdmVyc2lvbi5cbiAqL1xuY29tbWFuZHMuZ2V0UnVudGltZUZvclBsYXRmb3JtVmVyc2lvbiA9IGFzeW5jIGZ1bmN0aW9uIGdldFJ1bnRpbWVGb3JQbGF0Zm9ybVZlcnNpb24gKFxuICBwbGF0Zm9ybVZlcnNpb24sIHBsYXRmb3JtID0gJ2lPUycpIHtcbiAgLy8gVHJ5IHdpdGggcGFyc2luZ1xuICB0cnkge1xuICAgIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgdGhpcy5leGVjKCdsaXN0Jywge1xuICAgICAgYXJnczogWydydW50aW1lcyddLFxuICAgIH0pO1xuICAgIC8vIGh0dHBzOi8vcmVnZXgxMDEuY29tL3IvVXlralFaLzFcbiAgICBjb25zdCBydW50aW1lUmUgPVxuICAgICAgbmV3IFJlZ0V4cChgJHtfLmVzY2FwZVJlZ0V4cChwbGF0Zm9ybSl9XFxcXHMrKFxcXFxkK1xcXFwuXFxcXGQrKVxcXFxzK1xcXFwoKFxcXFxkK1xcXFwuXFxcXGQrXFxcXC4qXFxcXGQqKWAsICdpJyk7XG4gICAgZm9yIChjb25zdCBsaW5lIG9mIHN0ZG91dC5zcGxpdCgnXFxuJykpIHtcbiAgICAgIGNvbnN0IG1hdGNoID0gcnVudGltZVJlLmV4ZWMobGluZSk7XG4gICAgICBpZiAobWF0Y2ggJiYgbWF0Y2hbMV0gPT09IHBsYXRmb3JtVmVyc2lvbikge1xuICAgICAgICByZXR1cm4gbWF0Y2hbMl07XG4gICAgICB9XG4gICAgfVxuICB9IGNhdGNoIChpZ24pIHt9XG5cbiAgLy8gaWYgbm90aGluZyB3YXMgZm91bmQsIHBhc3MgcGxhdGZvcm0gdmVyc2lvbiBiYWNrXG4gIHJldHVybiBwbGF0Zm9ybVZlcnNpb247XG59O1xuXG4vKipcbiAqIEdldCB0aGUgbGlzdCBvZiBkZXZpY2UgdHlwZXMgYXZhaWxhYmxlIGluIHRoZSBjdXJyZW50IFhjb2RlIGluc3RhbGxhdGlvblxuICpcbiAqIEByZXR1cm4ge0FycmF5PHN0cmluZz59IExpc3Qgb2YgdGhlIHR5cGVzIG9mIGRldmljZXMgYXZhaWxhYmxlXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGNvcnJlc3BvbmRpbmcgc2ltY3RsIGNvbW1hbmQgZmFpbHNcbiAqL1xuY29tbWFuZHMuZ2V0RGV2aWNlVHlwZXMgPSBhc3luYyBmdW5jdGlvbiBnZXREZXZpY2VUeXBlcyAoKSB7XG4gIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgdGhpcy5leGVjKCdsaXN0Jywge1xuICAgIGFyZ3M6IFsnZGV2aWNldHlwZXMnLCAnLWonXSxcbiAgfSk7XG4gIC8qXG4gICAqIEpTT04gd2lsbCBiZSBsaWtlOlxuICAgKiAgIHtcbiAgICogICAgIFwiZGV2aWNldHlwZXNcIiA6IFtcbiAgICogICAgICAge1xuICAgKiAgICAgICAgIFwibmFtZVwiIDogXCJpUGhvbmUgNHNcIixcbiAgICogICAgICAgICBcImlkZW50aWZpZXJcIiA6IFwiY29tLmFwcGxlLkNvcmVTaW11bGF0b3IuU2ltRGV2aWNlVHlwZS5pUGhvbmUtNHNcIlxuICAgKiAgICAgICB9LFxuICAgKiAgICAgICAuLi5cbiAgICogICB9XG4gICAqL1xuICB0cnkge1xuICAgIGNvbnN0IGRldmljZVR5cGVzID0gSlNPTi5wYXJzZShzdGRvdXQudHJpbSgpKTtcbiAgICByZXR1cm4gZGV2aWNlVHlwZXMuZGV2aWNldHlwZXMubWFwKCh0eXBlKSA9PiB0eXBlLm5hbWUpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBnZXQgbGlzdCBvZiBkZXZpY2UgdHlwZXM6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gIH1cbn07XG5cbi8qKlxuICogR2V0IHRoZSBmdWxsIGxpc3Qgb2YgcnVudGltZXMsIGRldmljZXR5cGVzLCBkZXZpY2VzIGFuZCBwYWlycyBhcyBPYmplY3RcbiAqXG4gKiBAcmV0dXJuIHtPYmplY3R9IE9iamVjdCBjb250YWluaW5nIGRldmljZSB0eXBlcywgcnVudGltZXMgZGV2aWNlcyBhbmQgcGFpcnMuXG4gKiBUaGUgcmVzdWx0aW5nIEpTT04gd2lsbCBiZSBsaWtlOlxuICogICB7XG4gKiAgICAgXCJkZXZpY2V0eXBlc1wiIDogW1xuICogICAgICAge1xuICogICAgICAgICBcIm5hbWVcIiA6IFwiaVBob25lIDRzXCIsXG4gKiAgICAgICAgIFwiaWRlbnRpZmllclwiIDogXCJjb20uYXBwbGUuQ29yZVNpbXVsYXRvci5TaW1EZXZpY2VUeXBlLmlQaG9uZS00c1wiXG4gKiAgICAgICB9LFxuICogICAgICAgLi4uXG4gKiAgICAgIF0sXG4gKiAgICAgXCJydW50aW1lc1wiIDogW1xuICogICAgICAge1xuICogICAgICAgICBcInZlcnNpb25cIiA6ICcxMy4wJyxcbiAqICAgICAgICAgXCJidW5kbGVQYXRoXCIgOiAnL0FwcGxpY2F0aW9ucy9YY29kZTExYmV0YTQuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvaVBob25lT1MucGxhdGZvcm0vTGlicmFyeS9EZXZlbG9wZXIvQ29yZVNpbXVsYXRvci9Qcm9maWxlcy9SdW50aW1lcy9pT1Muc2ltcnVudGltZScsXG4gKiAgICAgICAgIFwiaXNBdmFpbGFibGVcIiA6IHRydWUsXG4gKiAgICAgICAgIFwibmFtZVwiIDogJ2lPUyAxMy4wJyxcbiAqICAgICAgICAgXCJpZGVudGlmaWVyXCIgOiAnY29tLmFwcGxlLkNvcmVTaW11bGF0b3IuU2ltUnVudGltZS5pT1MtMTMtMCcsXG4gKiAgICAgICAgIFwiYnVpbGR2ZXJzaW9uXCIgOiAnMTdBNTUzNGQnXG4gKiAgICAgICB9LFxuICogICAgICAgLi4uXG4gKiAgICAgIH0sXG4gKiAgICAgXCJkZXZpY2VzXCIgOlxuICogICAgICAge1xuICogICAgICAgICAnY29tLmFwcGxlLkNvcmVTaW11bGF0b3IuU2ltUnVudGltZS5pT1MtMTMtMCc6IFsgW09iamVjdF0sIFtPYmplY3RdIF0gfSxcbiAqICAgICAgICAgLi4uXG4gKiAgICAgICB9LFxuICogICAgIFwicGFpcnNcIiA6IHt9IH1cbiAqXG4gKiAgIH1cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgY29tbWFuZCBmYWlsc1xuICovXG5jb21tYW5kcy5saXN0ID0gYXN5bmMgZnVuY3Rpb24gbGlzdCAoKSB7XG4gIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgdGhpcy5leGVjKCdsaXN0Jywge1xuICAgIGFyZ3M6IFsnLWonXSxcbiAgfSk7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2Uoc3Rkb3V0LnRyaW0oKSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBwYXJzZSBzaW1jdGwgbGlzdDogJHtlLm1lc3NhZ2V9YCk7XG4gIH1c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
157
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfaGVscGVycyIsIl9sb2dnZXIiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJjb21tYW5kcyIsImdldERldmljZXNCeVBhcnNpbmciLCJwbGF0Zm9ybSIsInN0ZG91dCIsImV4ZWMiLCJhcmdzIiwiZGV2aWNlU2VjdGlvblJlIiwiXyIsImlzRW1wdHkiLCJSZWdFeHAiLCJlc2NhcGVSZWdFeHAiLCJtYXRjaGVzIiwibWF0Y2giLCJwdXNoIiwiRXJyb3IiLCJsaW5lUmUiLCJkZXZpY2VzIiwic2RrIiwibGluZSIsInNwbGl0Iiwic2xpY2UiLCJpbmNsdWRlcyIsImxpbmVNYXRjaCIsIm5hbWUiLCJ1ZGlkIiwic3RhdGUiLCJnZXREZXZpY2VzIiwiZm9yU2RrIiwidmVyc2lvbk1hdGNoUmUiLCJzZGtOYW1lIiwiZW50cmllcyIsInRvUGFpcnMiLCJKU09OIiwicGFyc2UiLCJyZXBsYWNlIiwiU0lNX1JVTlRJTUVfTkFNRSIsInZlcnNpb25NYXRjaCIsImZpbHRlciIsImVsIiwiaXNVbmRlZmluZWQiLCJpc0F2YWlsYWJsZSIsIm1hcCIsImF2YWlsYWJpbGl0eSIsImVyciIsImxvZyIsImRlYnVnIiwiTE9HX1BSRUZJWCIsInN0YWNrIiwiZXJyTXNnIiwiYXZhaWxhYmxlU0RLcyIsImtleXMiLCJsZW5ndGgiLCJqb2luIiwiZ2V0UnVudGltZUZvclBsYXRmb3JtVmVyc2lvblZpYUpzb24iLCJwbGF0Zm9ybVZlcnNpb24iLCJ2ZXJzaW9uIiwiaWRlbnRpZmllciIsInJ1bnRpbWVzIiwibm9ybWFsaXplVmVyc2lvbiIsInRvTG93ZXJDYXNlIiwic3RhcnRzV2l0aCIsImdldFJ1bnRpbWVGb3JQbGF0Zm9ybVZlcnNpb24iLCJydW50aW1lUmUiLCJpZ24iLCJnZXREZXZpY2VUeXBlcyIsImRldmljZVR5cGVzIiwidHJpbSIsImRldmljZXR5cGVzIiwidHlwZSIsIm1lc3NhZ2UiLCJsaXN0IiwiZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdWJjb21tYW5kcy9saXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBTSU1fUlVOVElNRV9OQU1FLCBub3JtYWxpemVWZXJzaW9uIH0gZnJvbSAnLi4vaGVscGVycyc7XG5pbXBvcnQgbG9nLCB7IExPR19QUkVGSVggfSBmcm9tICcuLi9sb2dnZXInO1xuXG5cbmNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gRGV2aWNlSW5mb1xuICogQHByb3BlcnR5IHtzdHJpbmd9IG5hbWUgLSBUaGUgZGV2aWNlIG5hbWUuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdWRpZCAtIFRoZSBkZXZpY2UgVURJRC5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBzdGF0ZSAtIFRoZSBjdXJyZW50IFNpbXVsYXRvciBzdGF0ZSwgZm9yIGV4YW1wbGUgJ2Jvb3RlZCcgb3IgJ3NodXRkb3duJy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBzZGsgLSBUaGUgU0RLIHZlcnNpb24sIGZvciBleGFtcGxlICcxMC4zJy5cbiAqL1xuXG4vKipcbiAqIFBhcnNlIHRoZSBsaXN0IG9mIGV4aXN0aW5nIFNpbXVsYXRvciBkZXZpY2VzIHRvIHJlcHJlc2VudFxuICogaXQgYXMgY29udmVuaWVudCBtYXBwaW5nLlxuICpcbiAqIEBwYXJhbSB7P3N0cmluZ30gcGxhdGZvcm0gLSBUaGUgcGxhdGZvcm0gbmFtZSwgZm9yIGV4YW1wbGUgJ3dhdGNoT1MnLlxuICogQHJldHVybiB7T2JqZWN0fSBUaGUgcmVzdWx0aW5nIG1hcHBpbmcuIEVhY2gga2V5IGlzIHBsYXRmb3JtIHZlcnNpb24sXG4gKiAgICAgICAgICAgICAgICAgIGZvciBleGFtcGxlICcxMC4zJyBhbmQgdGhlIGNvcnJlc3BvbmRpbmcgdmFsdWUgaXMgYW5cbiAqICAgICAgICAgICAgICAgICAgYXJyYXkgb2YgdGhlIG1hdGNoaW5nIHtAbGluayBEZXZpY2VJbmZvfSBpbnN0YW5jZXMuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGNvcnJlc3BvbmRpbmcgc2ltY3RsIHN1YmNvbW1hbmQgY29tbWFuZFxuICogICAgICAgICAgICAgICAgIHJldHVybnMgbm9uLXplcm8gcmV0dXJuIGNvZGUuXG4gKi9cbmNvbW1hbmRzLmdldERldmljZXNCeVBhcnNpbmcgPSBhc3luYyBmdW5jdGlvbiBnZXREZXZpY2VzQnlQYXJzaW5nIChwbGF0Zm9ybSkge1xuICAvLyBnZXQgdGhlIGxpc3Qgb2YgZGV2aWNlc1xuICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IHRoaXMuZXhlYygnbGlzdCcsIHtcbiAgICBhcmdzOiBbJ2RldmljZXMnXSxcbiAgfSk7XG5cbiAgLy8gZXhwZWN0IHRvIGdldCBhIGxpc3RpbmcgbGlrZVxuICAvLyAtLSBpT1MgOC4xIC0tXG4gIC8vICAgICBpUGhvbmUgNHMgKDNDQTZFN0RELTIyMEUtNDVFNS1CNzE2LTFFOTkyQjNBNDI5QykgKFNodXRkb3duKVxuICAvLyAgICAgLi4uXG4gIC8vIC0tIGlPUyA4LjIgLS1cbiAgLy8gICAgIGlQaG9uZSA0cyAoQTk5RkZGQzMtOEUxOS00RENGLUI1ODUtN0Q5RDQ2QjRDMTZFKSAoU2h1dGRvd24pXG4gIC8vICAgICAuLi5cbiAgLy8gc28sIGdldCB0aGUgYC0tIGlPUyBYLlggLS1gIGxpbmUgdG8gZmluZCB0aGUgc2RrIChYLlgpXG4gIC8vIGFuZCB0aGUgcmVzdCBvZiB0aGUgbGlzdGluZyBpbiBvcmRlciB0byBsYXRlciBmaW5kIHRoZSBkZXZpY2VzXG4gIGNvbnN0IGRldmljZVNlY3Rpb25SZSA9IF8uaXNFbXB0eShwbGF0Zm9ybSlcbiAgICA/IG5ldyBSZWdFeHAoYFxcXFwtXFxcXC1cXFxccysoXFxcXFMrKVxcXFxzKyhcXFxcUyspXFxcXHMrXFxcXC1cXFxcLShcXFxcblxcXFxzezR9LispKmAsICdtZ2knKVxuICAgIDogbmV3IFJlZ0V4cChgXFxcXC1cXFxcLVxcXFxzKyR7Xy5lc2NhcGVSZWdFeHAocGxhdGZvcm0pfVxcXFxzKyhcXFxcUyspXFxcXHMrXFxcXC1cXFxcLShcXFxcblxcXFxzezR9LispKmAsICdtZ2knKTtcbiAgY29uc3QgbWF0Y2hlcyA9IFtdO1xuICBsZXQgbWF0Y2g7XG4gIC8vIG1ha2UgYW4gZW50cnkgZm9yIGVhY2ggc2RrIHZlcnNpb25cbiAgd2hpbGUgKChtYXRjaCA9IGRldmljZVNlY3Rpb25SZS5leGVjKHN0ZG91dCkpKSB7XG4gICAgbWF0Y2hlcy5wdXNoKG1hdGNoKTtcbiAgfVxuICBpZiAoXy5pc0VtcHR5KG1hdGNoZXMpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgZmluZCBkZXZpY2Ugc2VjdGlvbicpO1xuICB9XG5cbiAgY29uc3QgbGluZVJlID0gLyhbXlxcc10uKykgXFwoKFxcdystLitcXHcrKVxcKSBcXCgoXFx3K1xccz9cXHcrKVxcKS87IC8vIGh0dHBzOi8vcmVnZXgxMDEuY29tL3IvbEc3bUs2LzNcbiAgLy8gZ2V0IGFsbCB0aGUgZGV2aWNlcyBmb3IgZWFjaCBzZGtcbiAgY29uc3QgZGV2aWNlcyA9IHt9O1xuICBmb3IgKG1hdGNoIG9mIG1hdGNoZXMpIHtcbiAgICBjb25zdCBzZGsgPSBwbGF0Zm9ybSA/IG1hdGNoWzFdIDogbWF0Y2hbMl07XG4gICAgZGV2aWNlc1tzZGtdID0gZGV2aWNlc1tzZGtdIHx8IFtdO1xuICAgIC8vIHNwbGl0IHRoZSBmdWxsIG1hdGNoIGludG8gbGluZXMgYW5kIHJlbW92ZSB0aGUgZmlyc3RcbiAgICBmb3IgKGNvbnN0IGxpbmUgb2YgbWF0Y2hbMF0uc3BsaXQoJ1xcbicpLnNsaWNlKDEpKSB7XG4gICAgICBpZiAobGluZS5pbmNsdWRlcygnKHVuYXZhaWxhYmxlLCAnKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIC8vIGEgbGluZSBpcyBzb21ldGhpbmcgbGlrZVxuICAgICAgLy8gICAgaVBob25lIDRzIChBOTlGRkZDMy04RTE5LTREQ0YtQjU4NS03RDlENDZCNEMxNkUpIChTaHV0ZG93bilcbiAgICAgIC8vIHJldHJpZXZlOlxuICAgICAgLy8gICBpUGhvbmUgNHNcbiAgICAgIC8vICAgQTk5RkZGQzMtOEUxOS00RENGLUI1ODUtN0Q5RDQ2QjRDMTZFXG4gICAgICAvLyAgIFNodXRkb3duXG4gICAgICBjb25zdCBsaW5lTWF0Y2ggPSBsaW5lUmUuZXhlYyhsaW5lKTtcbiAgICAgIGlmICghbGluZU1hdGNoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IG1hdGNoIGxpbmU6ICR7bGluZX1gKTtcbiAgICAgIH1cbiAgICAgIC8vIHNhdmUgdGhlIHdob2xlIHRoaW5nIGFzIGFiIG9iamVjdCBpbiB0aGUgbGlzdCBmb3IgdGhpcyBzZGtcbiAgICAgIGRldmljZXNbc2RrXS5wdXNoKHtcbiAgICAgICAgbmFtZTogbGluZU1hdGNoWzFdLFxuICAgICAgICB1ZGlkOiBsaW5lTWF0Y2hbMl0sXG4gICAgICAgIHN0YXRlOiBsaW5lTWF0Y2hbM10sXG4gICAgICAgIHNkayxcbiAgICAgICAgcGxhdGZvcm06IHBsYXRmb3JtIHx8IG1hdGNoWzFdLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBkZXZpY2VzO1xufTtcblxuLyoqXG4gKiBQYXJzZSB0aGUgbGlzdCBvZiBleGlzdGluZyBTaW11bGF0b3IgZGV2aWNlcyB0byByZXByZXNlbnRcbiAqIGl0IGFzIGNvbnZlbmllbnQgbWFwcGluZyBmb3IgdGhlIHBhcnRpY3VsYXIgcGxhdGZvcm0gdmVyc2lvbi5cbiAqXG4gKiBAcGFyYW0gez9zdHJpbmd9IGZvclNkayAtIFRoZSBzZGsgdmVyc2lvbixcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHdoaWNoIHRoZSBkZXZpY2VzIGxpc3Qgc2hvdWxkIGJlIHBhcnNlZCxcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGV4YW1wbGUgJzEwLjMnLlxuICogQHBhcmFtIHs/c3RyaW5nfSBwbGF0Zm9ybSAtIFRoZSBwbGF0Zm9ybSBuYW1lLCBmb3IgZXhhbXBsZSAnd2F0Y2hPUycuXG4gKiBAcmV0dXJuIHtPYmplY3R8QXJyYXk8RGV2aWNlSW5mbz59IElmIF9mb3JTZGtfIGlzIHNldCB0aGVuIHRoZSBsaXN0XG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIGRldmljZXMgZm9yIHRoZSBwYXJ0aWN1bGFyIHBsYXRmb3JtIHZlcnNpb24uXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE90aGVyd2lzZSB0aGUgc2FtZSByZXN1bHQgYXMgZm9yIHtAbGluayBnZXREZXZpY2VzQnlQYXJzaW5nfVxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbi5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kXG4gKiAgICAgICAgICAgICAgICAgcmV0dXJucyBub24temVybyByZXR1cm4gY29kZSBvciBpZiBubyBtYXRjaGluZ1xuICogICAgICAgICAgICAgICAgIHBsYXRmb3JtIHZlcnNpb24gaXMgZm91bmQgaW4gdGhlIHN5c3RlbS5cbiAqL1xuY29tbWFuZHMuZ2V0RGV2aWNlcyA9IGFzeW5jIGZ1bmN0aW9uIGdldERldmljZXMgKGZvclNkaywgcGxhdGZvcm0pIHtcbiAgbGV0IGRldmljZXMgPSB7fTtcbiAgdHJ5IHtcbiAgICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IHRoaXMuZXhlYygnbGlzdCcsIHtcbiAgICAgIGFyZ3M6IFsnZGV2aWNlcycsICctaiddLFxuICAgIH0pO1xuICAgIC8qIEpTT04gc2hvdWxkIGJlXG4gICAgICoge1xuICAgICAqICAgXCJkZXZpY2VzXCIgOiB7XG4gICAgICogICAgIFwiaU9TIDxzZGs+XCIgOiBbIC8vIG9yXG4gICAgICogICAgIFwiY29tLmFwcGxlLkNvcmVTaW11bGF0b3IuU2ltUnVudGltZS5pT1MtPHNkaz4gOiBbXG4gICAgICogICAgICAge1xuICAgICAqICAgICAgICAgXCJzdGF0ZVwiIDogXCJCb290ZWRcIixcbiAgICAgKiAgICAgICAgIFwiYXZhaWxhYmlsaXR5XCIgOiBcIihhdmFpbGFibGUpXCIsXG4gICAgICogICAgICAgICBcImlzQXZhaWxhYmxlXCIgOiB0cnVlLFxuICAgICAqICAgICAgICAgXCJuYW1lXCIgOiBcImlQaG9uZSA2XCIsXG4gICAgICogICAgICAgICBcInVkaWRcIiA6IFwiNzVFMzQxNDAtMThFOC00RDFBLTlGNDUtQUFDNzM1REY3NURGXCJcbiAgICAgKiAgICAgICB9XG4gICAgICogICAgIF1cbiAgICAgKiAgIH1cbiAgICAgKiB9XG4gICAgICovXG4gICAgY29uc3QgdmVyc2lvbk1hdGNoUmUgPSBfLmlzRW1wdHkocGxhdGZvcm0pXG4gICAgICA/IG5ldyBSZWdFeHAoYF4oW15cXFxccy1dKylbXFxcXHMtXShcXFxcUyspYCwgJ2knKVxuICAgICAgOiBuZXcgUmVnRXhwKGBeJHtfLmVzY2FwZVJlZ0V4cChwbGF0Zm9ybSl9W1xcXFxzLV0oXFxcXFMrKWAsICdpJyk7XG4gICAgZm9yIChsZXQgW3Nka05hbWUsIGVudHJpZXNdIG9mIF8udG9QYWlycyhKU09OLnBhcnNlKHN0ZG91dCkuZGV2aWNlcykpIHtcbiAgICAgIC8vIHRoZXJlIGNvdWxkIGJlIGEgbG9uZ2VyIG5hbWUsIHNvIHJlbW92ZSBpdFxuICAgICAgc2RrTmFtZSA9IHNka05hbWUucmVwbGFjZShTSU1fUlVOVElNRV9OQU1FLCAnJyk7XG4gICAgICBjb25zdCB2ZXJzaW9uTWF0Y2ggPSB2ZXJzaW9uTWF0Y2hSZS5leGVjKHNka05hbWUpO1xuICAgICAgaWYgKCF2ZXJzaW9uTWF0Y2gpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIC8vIHRoZSBzZGsgY2FuIGhhdmUgZGFzaGVzIChgMTItMmApIG9yIGRvdHMgKGAxMi4xYClcbiAgICAgIGNvbnN0IHNkayA9IChwbGF0Zm9ybSA/IHZlcnNpb25NYXRjaFsxXSA6IHZlcnNpb25NYXRjaFsyXSkucmVwbGFjZSgnLScsICcuJyk7XG4gICAgICBkZXZpY2VzW3Nka10gPSBkZXZpY2VzW3Nka10gfHwgW107XG4gICAgICBkZXZpY2VzW3Nka10ucHVzaCguLi5lbnRyaWVzLmZpbHRlcigoZWwpID0+IF8uaXNVbmRlZmluZWQoZWwuaXNBdmFpbGFibGUpIHx8IGVsLmlzQXZhaWxhYmxlKVxuICAgICAgICAubWFwKChlbCkgPT4ge1xuICAgICAgICAgIGRlbGV0ZSBlbC5hdmFpbGFiaWxpdHk7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNkayxcbiAgICAgICAgICAgIC4uLmVsLFxuICAgICAgICAgICAgcGxhdGZvcm06IHBsYXRmb3JtIHx8IHZlcnNpb25NYXRjaFsxXSxcbiAgICAgICAgICB9O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZy5kZWJ1ZyhMT0dfUFJFRklYLCBgVW5hYmxlIHRvIGdldCBKU09OIGRldmljZSBsaXN0OiAke2Vyci5zdGFja31gKTtcbiAgICBsb2cuZGVidWcoTE9HX1BSRUZJWCwgJ0ZhbGxpbmcgYmFjayB0byBtYW51YWwgcGFyc2luZycpO1xuICAgIGRldmljZXMgPSBhd2FpdCB0aGlzLmdldERldmljZXNCeVBhcnNpbmcocGxhdGZvcm0pO1xuICB9XG5cbiAgaWYgKCFmb3JTZGspIHtcbiAgICByZXR1cm4gZGV2aWNlcztcbiAgfVxuICAvLyBpZiBhIGBmb3JTZGtgIHdhcyBwYXNzZWQgaW4sIHJldHVybiBvbmx5IHRoZSBjb3JyZXNwb25kaW5nIGxpc3RcbiAgaWYgKGRldmljZXNbZm9yU2RrXSkge1xuICAgIHJldHVybiBkZXZpY2VzW2ZvclNka107XG4gIH1cblxuICBsZXQgZXJyTXNnID0gYCcke2ZvclNka30nIGRvZXMgbm90IGV4aXN0IGluIHRoZSBsaXN0IG9mIHNpbWN0bCBTREtzLmA7XG4gIGNvbnN0IGF2YWlsYWJsZVNES3MgPSBfLmtleXMoZGV2aWNlcyk7XG4gIGVyck1zZyArPSBhdmFpbGFibGVTREtzLmxlbmd0aFxuICAgID8gYCBPbmx5IHRoZSBmb2xsb3dpbmcgU2ltdWxhdG9yIFNESyB2ZXJzaW9ucyBhcmUgYXZhaWxhYmxlIG9uIHlvdXIgc3lzdGVtOiAke2F2YWlsYWJsZVNES3Muam9pbignLCAnKX1gXG4gICAgOiBgIE5vIFNpbXVsYXRvciBTREsgdmVyc2lvbnMgYXJlIGF2YWlsYWJsZSBvbiB5b3VyIHN5c3RlbS4gUGxlYXNlIGluc3RhbGwgc29tZSB2aWEgWGNvZGUgcHJlZmVyZW5jZXMuYDtcbiAgdGhyb3cgbmV3IEVycm9yKGVyck1zZyk7XG59O1xuXG4vKipcbiAqIEdldCB0aGUgcnVudGltZSBmb3IgdGhlIHBhcnRpY3VsYXIgcGxhdGZvcm0gdmVyc2lvbiB1c2luZyAtLWpzb24gZmxhZ1xuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBwbGF0Zm9ybVZlcnNpb24gLSBUaGUgcGxhdGZvcm0gdmVyc2lvbiBuYW1lLFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBleGFtcGxlICcxMC4zJy5cbiAqIEBwYXJhbSB7P3N0cmluZ30gcGxhdGZvcm0gLSBUaGUgcGxhdGZvcm0gbmFtZSwgZm9yIGV4YW1wbGUgJ3dhdGNoT1MnLlxuICogQHJldHVybiB7c3RyaW5nfSBUaGUgY29ycmVzcG9uZGluZyBydW50aW1lIG5hbWUgZm9yIHRoZSBnaXZlblxuICogICAgICAgICAgICAgICAgICBwbGF0Zm9ybSB2ZXJzaW9uLlxuICovXG5jb21tYW5kcy5nZXRSdW50aW1lRm9yUGxhdGZvcm1WZXJzaW9uVmlhSnNvbiA9IGFzeW5jIGZ1bmN0aW9uIGdldFJ1bnRpbWVGb3JQbGF0Zm9ybVZlcnNpb25WaWFKc29uIChcbiAgcGxhdGZvcm1WZXJzaW9uLCBwbGF0Zm9ybSA9ICdpT1MnKSB7XG4gIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgdGhpcy5leGVjKCdsaXN0Jywge1xuICAgIGFyZ3M6IFsncnVudGltZXMnLCAnLS1qc29uJ10sXG4gIH0pO1xuICBmb3IgKGNvbnN0IHt2ZXJzaW9uLCBpZGVudGlmaWVyLCBuYW1lfSBvZiBKU09OLnBhcnNlKHN0ZG91dCkucnVudGltZXMpIHtcbiAgICBpZiAobm9ybWFsaXplVmVyc2lvbih2ZXJzaW9uKSA9PT0gbm9ybWFsaXplVmVyc2lvbihwbGF0Zm9ybVZlcnNpb24pXG4gICAgICAmJiBuYW1lLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChwbGF0Zm9ybS50b0xvd2VyQ2FzZSgpKSkge1xuICAgICAgcmV0dXJuIGlkZW50aWZpZXI7XG4gICAgfVxuICB9XG4gIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IHVzZSAtLWpzb24gZmxhZyB0byBwYXJzZSBwbGF0Zm9ybSB2ZXJzaW9uYCk7XG59O1xuXG4vKipcbiAqIEdldCB0aGUgcnVudGltZSBmb3IgdGhlIHBhcnRpY3VsYXIgcGxhdGZvcm0gdmVyc2lvbi5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gcGxhdGZvcm1WZXJzaW9uIC0gVGhlIHBsYXRmb3JtIHZlcnNpb24gbmFtZSxcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgZXhhbXBsZSAnMTAuMycuXG4gKiBAcGFyYW0gez9zdHJpbmd9IHBsYXRmb3JtIC0gVGhlIHBsYXRmb3JtIG5hbWUsIGZvciBleGFtcGxlICd3YXRjaE9TJy5cbiAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGNvcnJlc3BvbmRpbmcgcnVudGltZSBuYW1lIGZvciB0aGUgZ2l2ZW5cbiAqICAgICAgICAgICAgICAgICAgcGxhdGZvcm0gdmVyc2lvbi5cbiAqL1xuY29tbWFuZHMuZ2V0UnVudGltZUZvclBsYXRmb3JtVmVyc2lvbiA9IGFzeW5jIGZ1bmN0aW9uIGdldFJ1bnRpbWVGb3JQbGF0Zm9ybVZlcnNpb24gKFxuICBwbGF0Zm9ybVZlcnNpb24sIHBsYXRmb3JtID0gJ2lPUycpIHtcbiAgLy8gVHJ5IHdpdGggcGFyc2luZ1xuICB0cnkge1xuICAgIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgdGhpcy5leGVjKCdsaXN0Jywge1xuICAgICAgYXJnczogWydydW50aW1lcyddLFxuICAgIH0pO1xuICAgIC8vIGh0dHBzOi8vcmVnZXgxMDEuY29tL3IvVXlralFaLzFcbiAgICBjb25zdCBydW50aW1lUmUgPVxuICAgICAgbmV3IFJlZ0V4cChgJHtfLmVzY2FwZVJlZ0V4cChwbGF0Zm9ybSl9XFxcXHMrKFxcXFxkK1xcXFwuXFxcXGQrKVxcXFxzK1xcXFwoKFxcXFxkK1xcXFwuXFxcXGQrXFxcXC4qXFxcXGQqKWAsICdpJyk7XG4gICAgZm9yIChjb25zdCBsaW5lIG9mIHN0ZG91dC5zcGxpdCgnXFxuJykpIHtcbiAgICAgIGNvbnN0IG1hdGNoID0gcnVudGltZVJlLmV4ZWMobGluZSk7XG4gICAgICBpZiAobWF0Y2ggJiYgbWF0Y2hbMV0gPT09IHBsYXRmb3JtVmVyc2lvbikge1xuICAgICAgICByZXR1cm4gbWF0Y2hbMl07XG4gICAgICB9XG4gICAgfVxuICB9IGNhdGNoIChpZ24pIHt9XG5cbiAgLy8gaWYgbm90aGluZyB3YXMgZm91bmQsIHBhc3MgcGxhdGZvcm0gdmVyc2lvbiBiYWNrXG4gIHJldHVybiBwbGF0Zm9ybVZlcnNpb247XG59O1xuXG4vKipcbiAqIEdldCB0aGUgbGlzdCBvZiBkZXZpY2UgdHlwZXMgYXZhaWxhYmxlIGluIHRoZSBjdXJyZW50IFhjb2RlIGluc3RhbGxhdGlvblxuICpcbiAqIEByZXR1cm4ge0FycmF5PHN0cmluZz59IExpc3Qgb2YgdGhlIHR5cGVzIG9mIGRldmljZXMgYXZhaWxhYmxlXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGNvcnJlc3BvbmRpbmcgc2ltY3RsIGNvbW1hbmQgZmFpbHNcbiAqL1xuY29tbWFuZHMuZ2V0RGV2aWNlVHlwZXMgPSBhc3luYyBmdW5jdGlvbiBnZXREZXZpY2VUeXBlcyAoKSB7XG4gIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgdGhpcy5leGVjKCdsaXN0Jywge1xuICAgIGFyZ3M6IFsnZGV2aWNldHlwZXMnLCAnLWonXSxcbiAgfSk7XG4gIC8qXG4gICAqIEpTT04gd2lsbCBiZSBsaWtlOlxuICAgKiAgIHtcbiAgICogICAgIFwiZGV2aWNldHlwZXNcIiA6IFtcbiAgICogICAgICAge1xuICAgKiAgICAgICAgIFwibmFtZVwiIDogXCJpUGhvbmUgNHNcIixcbiAgICogICAgICAgICBcImlkZW50aWZpZXJcIiA6IFwiY29tLmFwcGxlLkNvcmVTaW11bGF0b3IuU2ltRGV2aWNlVHlwZS5pUGhvbmUtNHNcIlxuICAgKiAgICAgICB9LFxuICAgKiAgICAgICAuLi5cbiAgICogICB9XG4gICAqL1xuICB0cnkge1xuICAgIGNvbnN0IGRldmljZVR5cGVzID0gSlNPTi5wYXJzZShzdGRvdXQudHJpbSgpKTtcbiAgICByZXR1cm4gZGV2aWNlVHlwZXMuZGV2aWNldHlwZXMubWFwKCh0eXBlKSA9PiB0eXBlLm5hbWUpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBnZXQgbGlzdCBvZiBkZXZpY2UgdHlwZXM6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gIH1cbn07XG5cbi8qKlxuICogR2V0IHRoZSBmdWxsIGxpc3Qgb2YgcnVudGltZXMsIGRldmljZXR5cGVzLCBkZXZpY2VzIGFuZCBwYWlycyBhcyBPYmplY3RcbiAqXG4gKiBAcmV0dXJuIHtPYmplY3R9IE9iamVjdCBjb250YWluaW5nIGRldmljZSB0eXBlcywgcnVudGltZXMgZGV2aWNlcyBhbmQgcGFpcnMuXG4gKiBUaGUgcmVzdWx0aW5nIEpTT04gd2lsbCBiZSBsaWtlOlxuICogICB7XG4gKiAgICAgXCJkZXZpY2V0eXBlc1wiIDogW1xuICogICAgICAge1xuICogICAgICAgICBcIm5hbWVcIiA6IFwiaVBob25lIDRzXCIsXG4gKiAgICAgICAgIFwiaWRlbnRpZmllclwiIDogXCJjb20uYXBwbGUuQ29yZVNpbXVsYXRvci5TaW1EZXZpY2VUeXBlLmlQaG9uZS00c1wiXG4gKiAgICAgICB9LFxuICogICAgICAgLi4uXG4gKiAgICAgIF0sXG4gKiAgICAgXCJydW50aW1lc1wiIDogW1xuICogICAgICAge1xuICogICAgICAgICBcInZlcnNpb25cIiA6ICcxMy4wJyxcbiAqICAgICAgICAgXCJidW5kbGVQYXRoXCIgOiAnL0FwcGxpY2F0aW9ucy9YY29kZTExYmV0YTQuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvaVBob25lT1MucGxhdGZvcm0vTGlicmFyeS9EZXZlbG9wZXIvQ29yZVNpbXVsYXRvci9Qcm9maWxlcy9SdW50aW1lcy9pT1Muc2ltcnVudGltZScsXG4gKiAgICAgICAgIFwiaXNBdmFpbGFibGVcIiA6IHRydWUsXG4gKiAgICAgICAgIFwibmFtZVwiIDogJ2lPUyAxMy4wJyxcbiAqICAgICAgICAgXCJpZGVudGlmaWVyXCIgOiAnY29tLmFwcGxlLkNvcmVTaW11bGF0b3IuU2ltUnVudGltZS5pT1MtMTMtMCcsXG4gKiAgICAgICAgIFwiYnVpbGR2ZXJzaW9uXCIgOiAnMTdBNTUzNGQnXG4gKiAgICAgICB9LFxuICogICAgICAgLi4uXG4gKiAgICAgIH0sXG4gKiAgICAgXCJkZXZpY2VzXCIgOlxuICogICAgICAge1xuICogICAgICAgICAnY29tLmFwcGxlLkNvcmVTaW11bGF0b3IuU2ltUnVudGltZS5pT1MtMTMtMCc6IFsgW09iamVjdF0sIFtPYmplY3RdIF0gfSxcbiAqICAgICAgICAgLi4uXG4gKiAgICAgICB9LFxuICogICAgIFwicGFpcnNcIiA6IHt9IH1cbiAqXG4gKiAgIH1cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgY29tbWFuZCBmYWlsc1xuICovXG5jb21tYW5kcy5saXN0ID0gYXN5bmMgZnVuY3Rpb24gbGlzdCAoKSB7XG4gIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgdGhpcy5leGVjKCdsaXN0Jywge1xuICAgIGFyZ3M6IFsnLWonXSxcbiAgfSk7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2Uoc3Rkb3V0LnRyaW0oKSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBwYXJzZSBzaW1jdGwgbGlzdDogJHtlLm1lc3NhZ2V9YCk7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUMsdUJBQUEsQ0FBQUgsT0FBQTtBQUE0QyxTQUFBSSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBRix3QkFBQU0sR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLG9CQUFBQSxHQUFBLHdCQUFBQSxHQUFBLDRCQUFBRSxPQUFBLEVBQUFGLEdBQUEsVUFBQUcsS0FBQSxHQUFBUix3QkFBQSxDQUFBQyxXQUFBLE9BQUFPLEtB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
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","names":["commands","getDevicesByParsing","platform","stdout","exec","args","deviceSectionRe","_","isEmpty","RegExp","escapeRegExp","matches","match","push","Error","lineRe","devices","sdk","line","split","slice","includes","lineMatch","name","udid","state","getDevices","forSdk","versionMatchRe","sdkName","entries","toPairs","JSON","parse","replace","SIM_RUNTIME_NAME","versionMatch","filter","el","isUndefined","isAvailable","map","availability","err","log","debug","LOG_PREFIX","stack","errMsg","availableSDKs","keys","length","join","getRuntimeForPlatformVersionViaJson","platformVersion","version","identifier","runtimes","normalizeVersion","toLowerCase","startsWith","getRuntimeForPlatformVersion","runtimeRe","ign","getDeviceTypes","deviceTypes","trim","devicetypes","type","message","list","e"],"sources":["../../../lib/subcommands/list.js"],"sourcesContent":["import _ from 'lodash';\nimport { SIM_RUNTIME_NAME, normalizeVersion } from '../helpers';\nimport log, { LOG_PREFIX } from '../logger';\n\n\nconst commands = {};\n\n/**\n * @typedef {Object} DeviceInfo\n * @property {string} name - The device name.\n * @property {string} udid - The device UDID.\n * @property {string} state - The current Simulator state, for example 'booted' or 'shutdown'.\n * @property {string} sdk - The SDK version, for example '10.3'.\n */\n\n/**\n * Parse the list of existing Simulator devices to represent\n * it as convenient mapping.\n *\n * @param {?string} platform - The platform name, for example 'watchOS'.\n * @return {Object} The resulting mapping. Each key is platform version,\n * for example '10.3' and the corresponding value is an\n * array of the matching {@link DeviceInfo} instances.\n * @throws {Error} If the corresponding simctl subcommand command\n * returns non-zero return code.\n */\ncommands.getDevicesByParsing = async function getDevicesByParsing (platform) {\n // get the list of devices\n const {stdout} = await this.exec('list', {\n args: ['devices'],\n });\n\n // expect to get a listing like\n // -- iOS 8.1 --\n // iPhone 4s (3CA6E7DD-220E-45E5-B716-1E992B3A429C) (Shutdown)\n // ...\n // -- iOS 8.2 --\n // iPhone 4s (A99FFFC3-8E19-4DCF-B585-7D9D46B4C16E) (Shutdown)\n // ...\n // so, get the `-- iOS X.X --` line to find the sdk (X.X)\n // and the rest of the listing in order to later find the devices\n const deviceSectionRe = _.isEmpty(platform)\n ? new RegExp(`\\\\-\\\\-\\\\s+(\\\\S+)\\\\s+(\\\\S+)\\\\s+\\\\-\\\\-(\\\\n\\\\s{4}.+)*`, 'mgi')\n : new RegExp(`\\\\-\\\\-\\\\s+${_.escapeRegExp(platform)}\\\\s+(\\\\S+)\\\\s+\\\\-\\\\-(\\\\n\\\\s{4}.+)*`, 'mgi');\n const matches = [];\n let match;\n // make an entry for each sdk version\n while ((match = deviceSectionRe.exec(stdout))) {\n matches.push(match);\n }\n if (_.isEmpty(matches)) {\n throw new Error('Could not find device section');\n }\n\n const lineRe = /([^\\s].+) \\((\\w+-.+\\w+)\\) \\((\\w+\\s?\\w+)\\)/; // https://regex101.com/r/lG7mK6/3\n // get all the devices for each sdk\n const devices = {};\n for (match of matches) {\n const sdk = platform ? match[1] : match[2];\n devices[sdk] = devices[sdk] || [];\n // split the full match into lines and remove the first\n for (const line of match[0].split('\\n').slice(1)) {\n if (line.includes('(unavailable, ')) {\n continue;\n }\n // a line is something like\n // iPhone 4s (A99FFFC3-8E19-4DCF-B585-7D9D46B4C16E) (Shutdown)\n // retrieve:\n // iPhone 4s\n // A99FFFC3-8E19-4DCF-B585-7D9D46B4C16E\n // Shutdown\n const lineMatch = lineRe.exec(line);\n if (!lineMatch) {\n throw new Error(`Could not match line: ${line}`);\n }\n // save the whole thing as ab object in the list for this sdk\n devices[sdk].push({\n name: lineMatch[1],\n udid: lineMatch[2],\n state: lineMatch[3],\n sdk,\n platform: platform || match[1],\n });\n }\n }\n return devices;\n};\n\n/**\n * Parse the list of existing Simulator devices to represent\n * it as convenient mapping for the particular platform version.\n *\n * @param {?string} forSdk - The sdk version,\n * for which the devices list should be parsed,\n * for example '10.3'.\n * @param {?string} platform - The platform name, for example 'watchOS'.\n * @return {Object|Array<DeviceInfo>} If _forSdk_ is set then the list\n * of devices for the particular platform version.\n * Otherwise the same result as for {@link getDevicesByParsing}\n * function.\n * @throws {Error} If the corresponding simctl subcommand command\n * returns non-zero return code or if no matching\n * platform version is found in the system.\n */\ncommands.getDevices = async function getDevices (forSdk, platform) {\n let devices = {};\n try {\n const {stdout} = await this.exec('list', {\n args: ['devices', '-j'],\n });\n /* JSON should be\n * {\n * \"devices\" : {\n * \"iOS <sdk>\" : [ // or\n * \"com.apple.CoreSimulator.SimRuntime.iOS-<sdk> : [\n * {\n * \"state\" : \"Booted\",\n * \"availability\" : \"(available)\",\n * \"isAvailable\" : true,\n * \"name\" : \"iPhone 6\",\n * \"udid\" : \"75E34140-18E8-4D1A-9F45-AAC735DF75DF\"\n * }\n * ]\n * }\n * }\n */\n const versionMatchRe = _.isEmpty(platform)\n ? new RegExp(`^([^\\\\s-]+)[\\\\s-](\\\\S+)`, 'i')\n : new RegExp(`^${_.escapeRegExp(platform)}[\\\\s-](\\\\S+)`, 'i');\n for (let [sdkName, entries] of _.toPairs(JSON.parse(stdout).devices)) {\n // there could be a longer name, so remove it\n sdkName = sdkName.replace(SIM_RUNTIME_NAME, '');\n const versionMatch = versionMatchRe.exec(sdkName);\n if (!versionMatch) {\n continue;\n }\n\n // the sdk can have dashes (`12-2`) or dots (`12.1`)\n const sdk = (platform ? versionMatch[1] : versionMatch[2]).replace('-', '.');\n devices[sdk] = devices[sdk] || [];\n devices[sdk].push(...entries.filter((el) => _.isUndefined(el.isAvailable) || el.isAvailable)\n .map((el) => {\n delete el.availability;\n return {\n sdk,\n ...el,\n platform: platform || versionMatch[1],\n };\n })\n );\n }\n } catch (err) {\n log.debug(LOG_PREFIX, `Unable to get JSON device list: ${err.stack}`);\n log.debug(LOG_PREFIX, 'Falling back to manual parsing');\n devices = await this.getDevicesByParsing(platform);\n }\n\n if (!forSdk) {\n return devices;\n }\n // if a `forSdk` was passed in, return only the corresponding list\n if (devices[forSdk]) {\n return devices[forSdk];\n }\n\n let errMsg = `'${forSdk}' does not exist in the list of simctl SDKs.`;\n const availableSDKs = _.keys(devices);\n errMsg += availableSDKs.length\n ? ` Only the following Simulator SDK versions are available on your system: ${availableSDKs.join(', ')}`\n : ` No Simulator SDK versions are available on your system. Please install some via Xcode preferences.`;\n throw new Error(errMsg);\n};\n\n/**\n * Get the runtime for the particular platform version using --json flag\n *\n * @param {string} platformVersion - The platform version name,\n * for example '10.3'.\n * @param {?string} platform - The platform name, for example 'watchOS'.\n * @return {string} The corresponding runtime name for the given\n * platform version.\n */\ncommands.getRuntimeForPlatformVersionViaJson = async function getRuntimeForPlatformVersionViaJson (\n platformVersion, platform = 'iOS') {\n const {stdout} = await this.exec('list', {\n args: ['runtimes', '--json'],\n });\n for (const {version, identifier, name} of JSON.parse(stdout).runtimes) {\n if (normalizeVersion(version) === normalizeVersion(platformVersion)\n && name.toLowerCase().startsWith(platform.toLowerCase())) {\n return identifier;\n }\n }\n throw new Error(`Could not use --json flag to parse platform version`);\n};\n\n/**\n * Get the runtime for the particular platform version.\n *\n * @param {string} platformVersion - The platform version name,\n * for example '10.3'.\n * @param {?string} platform - The platform name, for example 'watchOS'.\n * @return {string} The corresponding runtime name for the given\n * platform version.\n */\ncommands.getRuntimeForPlatformVersion = async function getRuntimeForPlatformVersion (\n platformVersion, platform = 'iOS') {\n // Try with parsing\n try {\n const {stdout} = await this.exec('list', {\n args: ['runtimes'],\n });\n // https://regex101.com/r/UykjQZ/1\n const runtimeRe =\n new RegExp(`${_.escapeRegExp(platform)}\\\\s+(\\\\d+\\\\.\\\\d+)\\\\s+\\\\((\\\\d+\\\\.\\\\d+\\\\.*\\\\d*)`, 'i');\n for (const line of stdout.split('\\n')) {\n const match = runtimeRe.exec(line);\n if (match && match[1] === platformVersion) {\n return match[2];\n }\n }\n } catch (ign) {}\n\n // if nothing was found, pass platform version back\n return platformVersion;\n};\n\n/**\n * Get the list of device types available in the current Xcode installation\n *\n * @return {Array<string>} List of the types of devices available\n * @throws {Error} If the corresponding simctl command fails\n */\ncommands.getDeviceTypes = async function getDeviceTypes () {\n const {stdout} = await this.exec('list', {\n args: ['devicetypes', '-j'],\n });\n /*\n * JSON will be like:\n * {\n * \"devicetypes\" : [\n * {\n * \"name\" : \"iPhone 4s\",\n * \"identifier\" : \"com.apple.CoreSimulator.SimDeviceType.iPhone-4s\"\n * },\n * ...\n * }\n */\n try {\n const deviceTypes = JSON.parse(stdout.trim());\n return deviceTypes.devicetypes.map((type) => type.name);\n } catch (err) {\n throw new Error(`Unable to get list of device types: ${err.message}`);\n }\n};\n\n/**\n * Get the full list of runtimes, devicetypes, devices and pairs as Object\n *\n * @return {Object} Object containing device types, runtimes devices and pairs.\n * The resulting JSON will be like:\n * {\n * \"devicetypes\" : [\n * {\n * \"name\" : \"iPhone 4s\",\n * \"identifier\" : \"com.apple.CoreSimulator.SimDeviceType.iPhone-4s\"\n * },\n * ...\n * ],\n * \"runtimes\" : [\n * {\n * \"version\" : '13.0',\n * \"bundlePath\" : '/Applications/Xcode11beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime',\n * \"isAvailable\" : true,\n * \"name\" : 'iOS 13.0',\n * \"identifier\" : 'com.apple.CoreSimulator.SimRuntime.iOS-13-0',\n * \"buildversion\" : '17A5534d'\n * },\n * ...\n * },\n * \"devices\" :\n * {\n * 'com.apple.CoreSimulator.SimRuntime.iOS-13-0': [ [Object], [Object] ] },\n * ...\n * },\n * \"pairs\" : {} }\n *\n * }\n * @throws {Error} If the corresponding simctl command fails\n */\ncommands.list = async function list () {\n const {stdout} = await this.exec('list', {\n args: ['-j'],\n });\n try {\n return JSON.parse(stdout.trim());\n } catch (e) {\n throw new Error(`Unable to parse simctl list: ${e.message}`);\n }\n};\n\nexport default commands;\n"],"mappings":"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"}
1
+ {"version":3,"file":"list.js","names":["_lodash","_interopRequireDefault","require","_helpers","_logger","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","commands","getDevicesByParsing","platform","stdout","exec","args","deviceSectionRe","_","isEmpty","RegExp","escapeRegExp","matches","match","push","Error","lineRe","devices","sdk","line","split","slice","includes","lineMatch","name","udid","state","getDevices","forSdk","versionMatchRe","sdkName","entries","toPairs","JSON","parse","replace","SIM_RUNTIME_NAME","versionMatch","filter","el","isUndefined","isAvailable","map","availability","err","log","debug","LOG_PREFIX","stack","errMsg","availableSDKs","keys","length","join","getRuntimeForPlatformVersionViaJson","platformVersion","version","identifier","runtimes","normalizeVersion","toLowerCase","startsWith","getRuntimeForPlatformVersion","runtimeRe","ign","getDeviceTypes","deviceTypes","trim","devicetypes","type","message","list","e","_default","exports"],"sources":["../../../lib/subcommands/list.js"],"sourcesContent":["import _ from 'lodash';\nimport { SIM_RUNTIME_NAME, normalizeVersion } from '../helpers';\nimport log, { LOG_PREFIX } from '../logger';\n\n\nconst commands = {};\n\n/**\n * @typedef {Object} DeviceInfo\n * @property {string} name - The device name.\n * @property {string} udid - The device UDID.\n * @property {string} state - The current Simulator state, for example 'booted' or 'shutdown'.\n * @property {string} sdk - The SDK version, for example '10.3'.\n */\n\n/**\n * Parse the list of existing Simulator devices to represent\n * it as convenient mapping.\n *\n * @param {?string} platform - The platform name, for example 'watchOS'.\n * @return {Object} The resulting mapping. Each key is platform version,\n * for example '10.3' and the corresponding value is an\n * array of the matching {@link DeviceInfo} instances.\n * @throws {Error} If the corresponding simctl subcommand command\n * returns non-zero return code.\n */\ncommands.getDevicesByParsing = async function getDevicesByParsing (platform) {\n // get the list of devices\n const {stdout} = await this.exec('list', {\n args: ['devices'],\n });\n\n // expect to get a listing like\n // -- iOS 8.1 --\n // iPhone 4s (3CA6E7DD-220E-45E5-B716-1E992B3A429C) (Shutdown)\n // ...\n // -- iOS 8.2 --\n // iPhone 4s (A99FFFC3-8E19-4DCF-B585-7D9D46B4C16E) (Shutdown)\n // ...\n // so, get the `-- iOS X.X --` line to find the sdk (X.X)\n // and the rest of the listing in order to later find the devices\n const deviceSectionRe = _.isEmpty(platform)\n ? new RegExp(`\\\\-\\\\-\\\\s+(\\\\S+)\\\\s+(\\\\S+)\\\\s+\\\\-\\\\-(\\\\n\\\\s{4}.+)*`, 'mgi')\n : new RegExp(`\\\\-\\\\-\\\\s+${_.escapeRegExp(platform)}\\\\s+(\\\\S+)\\\\s+\\\\-\\\\-(\\\\n\\\\s{4}.+)*`, 'mgi');\n const matches = [];\n let match;\n // make an entry for each sdk version\n while ((match = deviceSectionRe.exec(stdout))) {\n matches.push(match);\n }\n if (_.isEmpty(matches)) {\n throw new Error('Could not find device section');\n }\n\n const lineRe = /([^\\s].+) \\((\\w+-.+\\w+)\\) \\((\\w+\\s?\\w+)\\)/; // https://regex101.com/r/lG7mK6/3\n // get all the devices for each sdk\n const devices = {};\n for (match of matches) {\n const sdk = platform ? match[1] : match[2];\n devices[sdk] = devices[sdk] || [];\n // split the full match into lines and remove the first\n for (const line of match[0].split('\\n').slice(1)) {\n if (line.includes('(unavailable, ')) {\n continue;\n }\n // a line is something like\n // iPhone 4s (A99FFFC3-8E19-4DCF-B585-7D9D46B4C16E) (Shutdown)\n // retrieve:\n // iPhone 4s\n // A99FFFC3-8E19-4DCF-B585-7D9D46B4C16E\n // Shutdown\n const lineMatch = lineRe.exec(line);\n if (!lineMatch) {\n throw new Error(`Could not match line: ${line}`);\n }\n // save the whole thing as ab object in the list for this sdk\n devices[sdk].push({\n name: lineMatch[1],\n udid: lineMatch[2],\n state: lineMatch[3],\n sdk,\n platform: platform || match[1],\n });\n }\n }\n return devices;\n};\n\n/**\n * Parse the list of existing Simulator devices to represent\n * it as convenient mapping for the particular platform version.\n *\n * @param {?string} forSdk - The sdk version,\n * for which the devices list should be parsed,\n * for example '10.3'.\n * @param {?string} platform - The platform name, for example 'watchOS'.\n * @return {Object|Array<DeviceInfo>} If _forSdk_ is set then the list\n * of devices for the particular platform version.\n * Otherwise the same result as for {@link getDevicesByParsing}\n * function.\n * @throws {Error} If the corresponding simctl subcommand command\n * returns non-zero return code or if no matching\n * platform version is found in the system.\n */\ncommands.getDevices = async function getDevices (forSdk, platform) {\n let devices = {};\n try {\n const {stdout} = await this.exec('list', {\n args: ['devices', '-j'],\n });\n /* JSON should be\n * {\n * \"devices\" : {\n * \"iOS <sdk>\" : [ // or\n * \"com.apple.CoreSimulator.SimRuntime.iOS-<sdk> : [\n * {\n * \"state\" : \"Booted\",\n * \"availability\" : \"(available)\",\n * \"isAvailable\" : true,\n * \"name\" : \"iPhone 6\",\n * \"udid\" : \"75E34140-18E8-4D1A-9F45-AAC735DF75DF\"\n * }\n * ]\n * }\n * }\n */\n const versionMatchRe = _.isEmpty(platform)\n ? new RegExp(`^([^\\\\s-]+)[\\\\s-](\\\\S+)`, 'i')\n : new RegExp(`^${_.escapeRegExp(platform)}[\\\\s-](\\\\S+)`, 'i');\n for (let [sdkName, entries] of _.toPairs(JSON.parse(stdout).devices)) {\n // there could be a longer name, so remove it\n sdkName = sdkName.replace(SIM_RUNTIME_NAME, '');\n const versionMatch = versionMatchRe.exec(sdkName);\n if (!versionMatch) {\n continue;\n }\n\n // the sdk can have dashes (`12-2`) or dots (`12.1`)\n const sdk = (platform ? versionMatch[1] : versionMatch[2]).replace('-', '.');\n devices[sdk] = devices[sdk] || [];\n devices[sdk].push(...entries.filter((el) => _.isUndefined(el.isAvailable) || el.isAvailable)\n .map((el) => {\n delete el.availability;\n return {\n sdk,\n ...el,\n platform: platform || versionMatch[1],\n };\n })\n );\n }\n } catch (err) {\n log.debug(LOG_PREFIX, `Unable to get JSON device list: ${err.stack}`);\n log.debug(LOG_PREFIX, 'Falling back to manual parsing');\n devices = await this.getDevicesByParsing(platform);\n }\n\n if (!forSdk) {\n return devices;\n }\n // if a `forSdk` was passed in, return only the corresponding list\n if (devices[forSdk]) {\n return devices[forSdk];\n }\n\n let errMsg = `'${forSdk}' does not exist in the list of simctl SDKs.`;\n const availableSDKs = _.keys(devices);\n errMsg += availableSDKs.length\n ? ` Only the following Simulator SDK versions are available on your system: ${availableSDKs.join(', ')}`\n : ` No Simulator SDK versions are available on your system. Please install some via Xcode preferences.`;\n throw new Error(errMsg);\n};\n\n/**\n * Get the runtime for the particular platform version using --json flag\n *\n * @param {string} platformVersion - The platform version name,\n * for example '10.3'.\n * @param {?string} platform - The platform name, for example 'watchOS'.\n * @return {string} The corresponding runtime name for the given\n * platform version.\n */\ncommands.getRuntimeForPlatformVersionViaJson = async function getRuntimeForPlatformVersionViaJson (\n platformVersion, platform = 'iOS') {\n const {stdout} = await this.exec('list', {\n args: ['runtimes', '--json'],\n });\n for (const {version, identifier, name} of JSON.parse(stdout).runtimes) {\n if (normalizeVersion(version) === normalizeVersion(platformVersion)\n && name.toLowerCase().startsWith(platform.toLowerCase())) {\n return identifier;\n }\n }\n throw new Error(`Could not use --json flag to parse platform version`);\n};\n\n/**\n * Get the runtime for the particular platform version.\n *\n * @param {string} platformVersion - The platform version name,\n * for example '10.3'.\n * @param {?string} platform - The platform name, for example 'watchOS'.\n * @return {string} The corresponding runtime name for the given\n * platform version.\n */\ncommands.getRuntimeForPlatformVersion = async function getRuntimeForPlatformVersion (\n platformVersion, platform = 'iOS') {\n // Try with parsing\n try {\n const {stdout} = await this.exec('list', {\n args: ['runtimes'],\n });\n // https://regex101.com/r/UykjQZ/1\n const runtimeRe =\n new RegExp(`${_.escapeRegExp(platform)}\\\\s+(\\\\d+\\\\.\\\\d+)\\\\s+\\\\((\\\\d+\\\\.\\\\d+\\\\.*\\\\d*)`, 'i');\n for (const line of stdout.split('\\n')) {\n const match = runtimeRe.exec(line);\n if (match && match[1] === platformVersion) {\n return match[2];\n }\n }\n } catch (ign) {}\n\n // if nothing was found, pass platform version back\n return platformVersion;\n};\n\n/**\n * Get the list of device types available in the current Xcode installation\n *\n * @return {Array<string>} List of the types of devices available\n * @throws {Error} If the corresponding simctl command fails\n */\ncommands.getDeviceTypes = async function getDeviceTypes () {\n const {stdout} = await this.exec('list', {\n args: ['devicetypes', '-j'],\n });\n /*\n * JSON will be like:\n * {\n * \"devicetypes\" : [\n * {\n * \"name\" : \"iPhone 4s\",\n * \"identifier\" : \"com.apple.CoreSimulator.SimDeviceType.iPhone-4s\"\n * },\n * ...\n * }\n */\n try {\n const deviceTypes = JSON.parse(stdout.trim());\n return deviceTypes.devicetypes.map((type) => type.name);\n } catch (err) {\n throw new Error(`Unable to get list of device types: ${err.message}`);\n }\n};\n\n/**\n * Get the full list of runtimes, devicetypes, devices and pairs as Object\n *\n * @return {Object} Object containing device types, runtimes devices and pairs.\n * The resulting JSON will be like:\n * {\n * \"devicetypes\" : [\n * {\n * \"name\" : \"iPhone 4s\",\n * \"identifier\" : \"com.apple.CoreSimulator.SimDeviceType.iPhone-4s\"\n * },\n * ...\n * ],\n * \"runtimes\" : [\n * {\n * \"version\" : '13.0',\n * \"bundlePath\" : '/Applications/Xcode11beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime',\n * \"isAvailable\" : true,\n * \"name\" : 'iOS 13.0',\n * \"identifier\" : 'com.apple.CoreSimulator.SimRuntime.iOS-13-0',\n * \"buildversion\" : '17A5534d'\n * },\n * ...\n * },\n * \"devices\" :\n * {\n * 'com.apple.CoreSimulator.SimRuntime.iOS-13-0': [ [Object], [Object] ] },\n * ...\n * },\n * \"pairs\" : {} }\n *\n * }\n * @throws {Error} If the corresponding simctl command fails\n */\ncommands.list = async function list () {\n const {stdout} = await this.exec('list', {\n args: ['-j'],\n });\n try {\n return JSON.parse(stdout.trim());\n } catch (e) {\n throw new Error(`Unable to parse simctl list: ${e.message}`);\n }\n};\n\nexport default commands;\n"],"mappings":"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"}
@@ -27,4 +27,4 @@ commands.clearLocation = async function clearLocation() {
27
27
  };
28
28
  var _default = commands;
29
29
  exports.default = _default;
30
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImZvcm1hdEFyZyIsIm5hbWUiLCJ2YWx1ZSIsImZsdCIsInBhcnNlRmxvYXQiLCJpc05hTiIsIlR5cGVFcnJvciIsInRvRml4ZWQiLCJzZXRMb2NhdGlvbiIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwibGF0IiwibG9uIiwiZXhlYyIsImFyZ3MiLCJyZXF1aXJlVWRpZCIsImNsZWFyTG9jYXRpb24iXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3ViY29tbWFuZHMvbG9jYXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBGb3JtYXRzIHRoZSBnaXZlbiBsb2NhdGlvbiBhcmd1bWVudCBmb3Igc2ltY3RsIHVzYWdlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgQXJndW1lbnQgbmFtZVxuICogQHBhcmFtIHtzdHJpbmd8bnVtYmVyfSB2YWx1ZSBMb2NhdGlvbiBhcmd1bWVudCB2YWx1ZVxuICogQHJldHVybnMge3N0cmluZ30gRm9ybWF0dGVkIHZhbHVlLCBmb3IgZXhhbXBsZSAtNzMuNzY4MjU0XG4gKi9cbmZ1bmN0aW9uIGZvcm1hdEFyZyAobmFtZSwgdmFsdWUpIHtcbiAgY29uc3QgZmx0ID0gcGFyc2VGbG9hdCh2YWx1ZSk7XG4gIGlmIChpc05hTihmbHQpKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgJHtuYW1lfSBtdXN0IGJlIGEgdmFsaWQgbnVtYmVyLCBnb3QgJyR7dmFsdWV9JyBpbnN0ZWFkYCk7XG4gIH1cbiAgcmV0dXJuIGZsdC50b0ZpeGVkKDcpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgU2ltdWxhdG9yIGxvY2F0aW9uIHRvIGEgc3BlY2lmaWMgbGF0aXR1ZGUgYW5kIGxvbmdpdHVkZS5cbiAqIFRoaXMgZnVuY3Rpb25hbGl0eSBpcyBvbmx5IGF2YWlsYWJsZSBzaW5jZSBYY29kZSAxNC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ3xudW1iZXJ9IGxhdGl0dWRlIExvY2F0aW9uIGxhdGl0dWRlIHZhbHVlXG4gKiBAcGFyYW0ge3N0cmluZ3xudW1iZXJ9IGxvbmdpdHVkZSBMb2NhdGlvbiBsb25naXR1ZGUgdmFsdWVcbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kXG4gKiAgICAgICAgICAgICAgICAgcmV0dXJucyBub24temVybyByZXR1cm4gY29kZS5cbiAqIEB0aHJvd3Mge1R5cGVFcnJvcn0gSWYgYW55IG9mIHRoZSBhcmd1bWVudHMgaXMgbm90IGEgdmFsaWQgdmFsdWUuXG4gKi9cbmNvbW1hbmRzLnNldExvY2F0aW9uID0gYXN5bmMgZnVuY3Rpb24gc2V0TG9jYXRpb24gKGxhdGl0dWRlLCBsb25naXR1ZGUpIHtcbiAgY29uc3QgbGF0ID0gZm9ybWF0QXJnKCdsYXRpdHVkZScsIGxhdGl0dWRlKTtcbiAgY29uc3QgbG9uID0gZm9ybWF0QXJnKCdsb25naXR1ZGUnLCBsb25naXR1ZGUpO1xuICBhd2FpdCB0aGlzLmV4ZWMoJ2xvY2F0aW9uJywge1xuICAgIGFyZ3M6IFt0aGlzLnJlcXVpcmVVZGlkKCdsb2NhdGlvbicpLCAnc2V0JywgYCR7bGF0fSwke2xvbn1gXSxcbiAgfSk7XG59O1xuXG4vKipcbiAqIFN0b3AgYW55IHJ1bm5pbmcgc2NlbmFyaW8gYW5kIGNsZWFyIGFueSBzaW11bGF0ZWQgbG9jYXRpb24uXG4gKiBUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgb25seSBhdmFpbGFibGUgc2luY2UgWGNvZGUgMTQuXG4gKi9cbmNvbW1hbmRzLmNsZWFyTG9jYXRpb24gPSBhc3luYyBmdW5jdGlvbiBjbGVhckxvY2F0aW9uICgpIHtcbiAgYXdhaXQgdGhpcy5leGVjKCdsb2NhdGlvbicsIHtcbiAgICBhcmdzOiBbdGhpcy5yZXF1aXJlVWRpZCgnbG9jYXRpb24nKSwgJ2NsZWFyJ10sXG4gIH0pO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxNQUFNQSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBU25CLFNBQVNDLFNBQVMsQ0FBRUMsSUFBSSxFQUFFQyxLQUFLLEVBQUU7RUFDL0IsTUFBTUMsR0FBRyxHQUFHQyxVQUFVLENBQUNGLEtBQUssQ0FBQztFQUM3QixJQUFJRyxLQUFLLENBQUNGLEdBQUcsQ0FBQyxFQUFFO0lBQ2QsTUFBTSxJQUFJRyxTQUFTLENBQUUsR0FBRUwsSUFBSyxpQ0FBZ0NDLEtBQU0sV0FBVSxDQUFDO0VBQy9FO0VBQ0EsT0FBT0MsR0FBRyxDQUFDSSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCO0FBWUFSLFFBQVEsQ0FBQ1MsV0FBVyxHQUFHLGVBQWVBLFdBQVcsQ0FBRUMsUUFBUSxFQUFFQyxTQUFTLEVBQUU7RUFDdEUsTUFBTUMsR0FBRyxHQUFHWCxTQUFTLENBQUMsVUFBVSxFQUFFUyxRQUFRLENBQUM7RUFDM0MsTUFBTUcsR0FBRyxHQUFHWixTQUFTLENBQUMsV0FBVyxFQUFFVSxTQUFTLENBQUM7RUFDN0MsTUFBTSxJQUFJLENBQUNHLElBQUksQ0FBQyxVQUFVLEVBQUU7SUFDMUJDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQ0MsV0FBVyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRyxHQUFFSixHQUFJLElBQUdDLEdBQUksRUFBQztFQUM3RCxDQUFDLENBQUM7QUFDSixDQUFDO0FBTURiLFFBQVEsQ0FBQ2lCLGFBQWEsR0FBRyxlQUFlQSxhQUFhLEdBQUk7RUFDdkQsTUFBTSxJQUFJLENBQUNILElBQUksQ0FBQyxVQUFVLEVBQUU7SUFDMUJDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQ0MsV0FBVyxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU87RUFDOUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUFDLGVBRWFoQixRQUFRO0FBQUEifQ==
30
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImZvcm1hdEFyZyIsIm5hbWUiLCJ2YWx1ZSIsImZsdCIsInBhcnNlRmxvYXQiLCJpc05hTiIsIlR5cGVFcnJvciIsInRvRml4ZWQiLCJzZXRMb2NhdGlvbiIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwibGF0IiwibG9uIiwiZXhlYyIsImFyZ3MiLCJyZXF1aXJlVWRpZCIsImNsZWFyTG9jYXRpb24iLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N1YmNvbW1hbmRzL2xvY2F0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8qKlxuICogRm9ybWF0cyB0aGUgZ2l2ZW4gbG9jYXRpb24gYXJndW1lbnQgZm9yIHNpbWN0bCB1c2FnZVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIEFyZ3VtZW50IG5hbWVcbiAqIEBwYXJhbSB7c3RyaW5nfG51bWJlcn0gdmFsdWUgTG9jYXRpb24gYXJndW1lbnQgdmFsdWVcbiAqIEByZXR1cm5zIHtzdHJpbmd9IEZvcm1hdHRlZCB2YWx1ZSwgZm9yIGV4YW1wbGUgLTczLjc2ODI1NFxuICovXG5mdW5jdGlvbiBmb3JtYXRBcmcgKG5hbWUsIHZhbHVlKSB7XG4gIGNvbnN0IGZsdCA9IHBhcnNlRmxvYXQodmFsdWUpO1xuICBpZiAoaXNOYU4oZmx0KSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYCR7bmFtZX0gbXVzdCBiZSBhIHZhbGlkIG51bWJlciwgZ290ICcke3ZhbHVlfScgaW5zdGVhZGApO1xuICB9XG4gIHJldHVybiBmbHQudG9GaXhlZCg3KTtcbn1cblxuLyoqXG4gKiBTZXQgdGhlIFNpbXVsYXRvciBsb2NhdGlvbiB0byBhIHNwZWNpZmljIGxhdGl0dWRlIGFuZCBsb25naXR1ZGUuXG4gKiBUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgb25seSBhdmFpbGFibGUgc2luY2UgWGNvZGUgMTQuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd8bnVtYmVyfSBsYXRpdHVkZSBMb2NhdGlvbiBsYXRpdHVkZSB2YWx1ZVxuICogQHBhcmFtIHtzdHJpbmd8bnVtYmVyfSBsb25naXR1ZGUgTG9jYXRpb24gbG9uZ2l0dWRlIHZhbHVlXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGNvcnJlc3BvbmRpbmcgc2ltY3RsIHN1YmNvbW1hbmQgY29tbWFuZFxuICogICAgICAgICAgICAgICAgIHJldHVybnMgbm9uLXplcm8gcmV0dXJuIGNvZGUuXG4gKiBAdGhyb3dzIHtUeXBlRXJyb3J9IElmIGFueSBvZiB0aGUgYXJndW1lbnRzIGlzIG5vdCBhIHZhbGlkIHZhbHVlLlxuICovXG5jb21tYW5kcy5zZXRMb2NhdGlvbiA9IGFzeW5jIGZ1bmN0aW9uIHNldExvY2F0aW9uIChsYXRpdHVkZSwgbG9uZ2l0dWRlKSB7XG4gIGNvbnN0IGxhdCA9IGZvcm1hdEFyZygnbGF0aXR1ZGUnLCBsYXRpdHVkZSk7XG4gIGNvbnN0IGxvbiA9IGZvcm1hdEFyZygnbG9uZ2l0dWRlJywgbG9uZ2l0dWRlKTtcbiAgYXdhaXQgdGhpcy5leGVjKCdsb2NhdGlvbicsIHtcbiAgICBhcmdzOiBbdGhpcy5yZXF1aXJlVWRpZCgnbG9jYXRpb24nKSwgJ3NldCcsIGAke2xhdH0sJHtsb259YF0sXG4gIH0pO1xufTtcblxuLyoqXG4gKiBTdG9wIGFueSBydW5uaW5nIHNjZW5hcmlvIGFuZCBjbGVhciBhbnkgc2ltdWxhdGVkIGxvY2F0aW9uLlxuICogVGhpcyBmdW5jdGlvbmFsaXR5IGlzIG9ubHkgYXZhaWxhYmxlIHNpbmNlIFhjb2RlIDE0LlxuICovXG5jb21tYW5kcy5jbGVhckxvY2F0aW9uID0gYXN5bmMgZnVuY3Rpb24gY2xlYXJMb2NhdGlvbiAoKSB7XG4gIGF3YWl0IHRoaXMuZXhlYygnbG9jYXRpb24nLCB7XG4gICAgYXJnczogW3RoaXMucmVxdWlyZVVkaWQoJ2xvY2F0aW9uJyksICdjbGVhciddLFxuICB9KTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsTUFBTUEsUUFBUSxHQUFHLENBQUMsQ0FBQztBQVNuQixTQUFTQyxTQUFTQSxDQUFFQyxJQUFJLEVBQUVDLEtBQUssRUFBRTtFQUMvQixNQUFNQyxHQUFHLEdBQUdDLFVBQVUsQ0FBQ0YsS0FBSyxDQUFDO0VBQzdCLElBQUlHLEtBQUssQ0FBQ0YsR0FBRyxDQUFDLEVBQUU7SUFDZCxNQUFNLElBQUlHLFNBQVMsQ0FBRSxHQUFFTCxJQUFLLGlDQUFnQ0MsS0FBTSxXQUFVLENBQUM7RUFDL0U7RUFDQSxPQUFPQyxHQUFHLENBQUNJLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDdkI7QUFZQVIsUUFBUSxDQUFDUyxXQUFXLEdBQUcsZUFBZUEsV0FBV0EsQ0FBRUMsUUFBUSxFQUFFQyxTQUFTLEVBQUU7RUFDdEUsTUFBTUMsR0FBRyxHQUFHWCxTQUFTLENBQUMsVUFBVSxFQUFFUyxRQUFRLENBQUM7RUFDM0MsTUFBTUcsR0FBRyxHQUFHWixTQUFTLENBQUMsV0FBVyxFQUFFVSxTQUFTLENBQUM7RUFDN0MsTUFBTSxJQUFJLENBQUNHLElBQUksQ0FBQyxVQUFVLEVBQUU7SUFDMUJDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQ0MsV0FBVyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRyxHQUFFSixHQUFJLElBQUdDLEdBQUksRUFBQztFQUM3RCxDQUFDLENBQUM7QUFDSixDQUFDO0FBTURiLFFBQVEsQ0FBQ2lCLGFBQWEsR0FBRyxlQUFlQSxhQUFhQSxDQUFBLEVBQUk7RUFDdkQsTUFBTSxJQUFJLENBQUNILElBQUksQ0FBQyxVQUFVLEVBQUU7SUFDMUJDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQ0MsV0FBVyxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU87RUFDOUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUFDLElBQUFFLFFBQUEsR0FFYWxCLFFBQVE7QUFBQW1CLE9BQUEsQ0FBQUMsT0FBQSxHQUFBRixRQUFBIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"location.js","names":["commands","formatArg","name","value","flt","parseFloat","isNaN","TypeError","toFixed","setLocation","latitude","longitude","lat","lon","exec","args","requireUdid","clearLocation"],"sources":["../../../lib/subcommands/location.js"],"sourcesContent":["const commands = {};\n\n/**\n * Formats the given location argument for simctl usage\n *\n * @param {string} name Argument name\n * @param {string|number} value Location argument value\n * @returns {string} Formatted value, for example -73.768254\n */\nfunction formatArg (name, value) {\n const flt = parseFloat(value);\n if (isNaN(flt)) {\n throw new TypeError(`${name} must be a valid number, got '${value}' instead`);\n }\n return flt.toFixed(7);\n}\n\n/**\n * Set the Simulator location to a specific latitude and longitude.\n * This functionality is only available since Xcode 14.\n *\n * @param {string|number} latitude Location latitude value\n * @param {string|number} longitude Location longitude value\n * @throws {Error} If the corresponding simctl subcommand command\n * returns non-zero return code.\n * @throws {TypeError} If any of the arguments is not a valid value.\n */\ncommands.setLocation = async function setLocation (latitude, longitude) {\n const lat = formatArg('latitude', latitude);\n const lon = formatArg('longitude', longitude);\n await this.exec('location', {\n args: [this.requireUdid('location'), 'set', `${lat},${lon}`],\n });\n};\n\n/**\n * Stop any running scenario and clear any simulated location.\n * This functionality is only available since Xcode 14.\n */\ncommands.clearLocation = async function clearLocation () {\n await this.exec('location', {\n args: [this.requireUdid('location'), 'clear'],\n });\n};\n\nexport default commands;\n"],"mappings":";;;;;;;AAAA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AASnB,SAASC,SAAS,CAAEC,IAAI,EAAEC,KAAK,EAAE;EAC/B,MAAMC,GAAG,GAAGC,UAAU,CAACF,KAAK,CAAC;EAC7B,IAAIG,KAAK,CAACF,GAAG,CAAC,EAAE;IACd,MAAM,IAAIG,SAAS,CAAE,GAAEL,IAAK,iCAAgCC,KAAM,WAAU,CAAC;EAC/E;EACA,OAAOC,GAAG,CAACI,OAAO,CAAC,CAAC,CAAC;AACvB;AAYAR,QAAQ,CAACS,WAAW,GAAG,eAAeA,WAAW,CAAEC,QAAQ,EAAEC,SAAS,EAAE;EACtE,MAAMC,GAAG,GAAGX,SAAS,CAAC,UAAU,EAAES,QAAQ,CAAC;EAC3C,MAAMG,GAAG,GAAGZ,SAAS,CAAC,WAAW,EAAEU,SAAS,CAAC;EAC7C,MAAM,IAAI,CAACG,IAAI,CAAC,UAAU,EAAE;IAC1BC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAG,GAAEJ,GAAI,IAAGC,GAAI,EAAC;EAC7D,CAAC,CAAC;AACJ,CAAC;AAMDb,QAAQ,CAACiB,aAAa,GAAG,eAAeA,aAAa,GAAI;EACvD,MAAM,IAAI,CAACH,IAAI,CAAC,UAAU,EAAE;IAC1BC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,UAAU,CAAC,EAAE,OAAO;EAC9C,CAAC,CAAC;AACJ,CAAC;AAAC,eAEahB,QAAQ;AAAA"}
1
+ {"version":3,"file":"location.js","names":["commands","formatArg","name","value","flt","parseFloat","isNaN","TypeError","toFixed","setLocation","latitude","longitude","lat","lon","exec","args","requireUdid","clearLocation","_default","exports","default"],"sources":["../../../lib/subcommands/location.js"],"sourcesContent":["const commands = {};\n\n/**\n * Formats the given location argument for simctl usage\n *\n * @param {string} name Argument name\n * @param {string|number} value Location argument value\n * @returns {string} Formatted value, for example -73.768254\n */\nfunction formatArg (name, value) {\n const flt = parseFloat(value);\n if (isNaN(flt)) {\n throw new TypeError(`${name} must be a valid number, got '${value}' instead`);\n }\n return flt.toFixed(7);\n}\n\n/**\n * Set the Simulator location to a specific latitude and longitude.\n * This functionality is only available since Xcode 14.\n *\n * @param {string|number} latitude Location latitude value\n * @param {string|number} longitude Location longitude value\n * @throws {Error} If the corresponding simctl subcommand command\n * returns non-zero return code.\n * @throws {TypeError} If any of the arguments is not a valid value.\n */\ncommands.setLocation = async function setLocation (latitude, longitude) {\n const lat = formatArg('latitude', latitude);\n const lon = formatArg('longitude', longitude);\n await this.exec('location', {\n args: [this.requireUdid('location'), 'set', `${lat},${lon}`],\n });\n};\n\n/**\n * Stop any running scenario and clear any simulated location.\n * This functionality is only available since Xcode 14.\n */\ncommands.clearLocation = async function clearLocation () {\n await this.exec('location', {\n args: [this.requireUdid('location'), 'clear'],\n });\n};\n\nexport default commands;\n"],"mappings":";;;;;;;AAAA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AASnB,SAASC,SAASA,CAAEC,IAAI,EAAEC,KAAK,EAAE;EAC/B,MAAMC,GAAG,GAAGC,UAAU,CAACF,KAAK,CAAC;EAC7B,IAAIG,KAAK,CAACF,GAAG,CAAC,EAAE;IACd,MAAM,IAAIG,SAAS,CAAE,GAAEL,IAAK,iCAAgCC,KAAM,WAAU,CAAC;EAC/E;EACA,OAAOC,GAAG,CAACI,OAAO,CAAC,CAAC,CAAC;AACvB;AAYAR,QAAQ,CAACS,WAAW,GAAG,eAAeA,WAAWA,CAAEC,QAAQ,EAAEC,SAAS,EAAE;EACtE,MAAMC,GAAG,GAAGX,SAAS,CAAC,UAAU,EAAES,QAAQ,CAAC;EAC3C,MAAMG,GAAG,GAAGZ,SAAS,CAAC,WAAW,EAAEU,SAAS,CAAC;EAC7C,MAAM,IAAI,CAACG,IAAI,CAAC,UAAU,EAAE;IAC1BC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAG,GAAEJ,GAAI,IAAGC,GAAI,EAAC;EAC7D,CAAC,CAAC;AACJ,CAAC;AAMDb,QAAQ,CAACiB,aAAa,GAAG,eAAeA,aAAaA,CAAA,EAAI;EACvD,MAAM,IAAI,CAACH,IAAI,CAAC,UAAU,EAAE;IAC1BC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,UAAU,CAAC,EAAE,OAAO;EAC9C,CAAC,CAAC;AACJ,CAAC;AAAC,IAAAE,QAAA,GAEalB,QAAQ;AAAAmB,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -13,4 +13,4 @@ commands.openUrl = async function openUrl(url) {
13
13
  };
14
14
  var _default = commands;
15
15
  exports.default = _default;
16
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsIm9wZW5VcmwiLCJ1cmwiLCJleGVjIiwiYXJncyIsInJlcXVpcmVVZGlkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N1YmNvbW1hbmRzL29wZW51cmwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBPcGVuIFVSTCBzY2hlbWUgb24gU2ltdWxhdG9yLiBpT1Mgd2lsbCBhdXRvbWF0aWNhbGx5IHRyeVxuICogdG8gZmluZCBhIG1hdGNoaW5nIGFwcGxpY2F0aW9uLCB3aGljaCBzdXBwb3J0cyB0aGUgZ2l2ZW4gc2NoZW1lLlxuICogSXQgaXMgcmVxdWlyZWQgdGhhdCBTaW11bGF0b3IgaXMgaW4gX2Jvb3RlZF8gc3RhdGUuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHVybCAtIFRoZSBVUkwgc2NoZW1lIHRvIG9wZW4sIGZvciBleGFtcGxlIGh0dHA6Ly9hcHBpb20uaW9cbiAqICAgICAgICAgICAgICAgICAgICAgICB3aWxsIGJlIG9wZW5lZCBieSB0aGUgYnVpbHQtaW4gbW9iaWxlIGJyb3dzZXIuXG4gKiBAcmV0dXJuIHtFeGVjUmVzdWx0fSBDb21tYW5kIGV4ZWN1dGlvbiByZXN1bHQuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGNvcnJlc3BvbmRpbmcgc2ltY3RsIHN1YmNvbW1hbmQgY29tbWFuZFxuICogICAgICAgICAgICAgICAgIHJldHVybnMgbm9uLXplcm8gcmV0dXJuIGNvZGUuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGB1ZGlkYCBpbnN0YW5jZSBwcm9wZXJ0eSBpcyB1bnNldFxuICovXG5jb21tYW5kcy5vcGVuVXJsID0gYXN5bmMgZnVuY3Rpb24gb3BlblVybCAodXJsKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLmV4ZWMoJ29wZW51cmwnLCB7XG4gICAgYXJnczogW3RoaXMucmVxdWlyZVVkaWQoJ29wZW51cmwnKSwgdXJsXSxcbiAgfSk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLE1BQU1BLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFjbkJBLFFBQVEsQ0FBQ0MsT0FBTyxHQUFHLGVBQWVBLE9BQU8sQ0FBRUMsR0FBRyxFQUFFO0VBQzlDLE9BQU8sTUFBTSxJQUFJLENBQUNDLElBQUksQ0FBQyxTQUFTLEVBQUU7SUFDaENDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQ0MsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFSCxHQUFHO0VBQ3pDLENBQUMsQ0FBQztBQUNKLENBQUM7QUFBQyxlQUVhRixRQUFRO0FBQUEifQ==
16
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsIm9wZW5VcmwiLCJ1cmwiLCJleGVjIiwiYXJncyIsInJlcXVpcmVVZGlkIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdWJjb21tYW5kcy9vcGVudXJsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8qKlxuICogT3BlbiBVUkwgc2NoZW1lIG9uIFNpbXVsYXRvci4gaU9TIHdpbGwgYXV0b21hdGljYWxseSB0cnlcbiAqIHRvIGZpbmQgYSBtYXRjaGluZyBhcHBsaWNhdGlvbiwgd2hpY2ggc3VwcG9ydHMgdGhlIGdpdmVuIHNjaGVtZS5cbiAqIEl0IGlzIHJlcXVpcmVkIHRoYXQgU2ltdWxhdG9yIGlzIGluIF9ib290ZWRfIHN0YXRlLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgLSBUaGUgVVJMIHNjaGVtZSB0byBvcGVuLCBmb3IgZXhhbXBsZSBodHRwOi8vYXBwaW9tLmlvXG4gKiAgICAgICAgICAgICAgICAgICAgICAgd2lsbCBiZSBvcGVuZWQgYnkgdGhlIGJ1aWx0LWluIG1vYmlsZSBicm93c2VyLlxuICogQHJldHVybiB7RXhlY1Jlc3VsdH0gQ29tbWFuZCBleGVjdXRpb24gcmVzdWx0LlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBjb3JyZXNwb25kaW5nIHNpbWN0bCBzdWJjb21tYW5kIGNvbW1hbmRcbiAqICAgICAgICAgICAgICAgICByZXR1cm5zIG5vbi16ZXJvIHJldHVybiBjb2RlLlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBgdWRpZGAgaW5zdGFuY2UgcHJvcGVydHkgaXMgdW5zZXRcbiAqL1xuY29tbWFuZHMub3BlblVybCA9IGFzeW5jIGZ1bmN0aW9uIG9wZW5VcmwgKHVybCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy5leGVjKCdvcGVudXJsJywge1xuICAgIGFyZ3M6IFt0aGlzLnJlcXVpcmVVZGlkKCdvcGVudXJsJyksIHVybF0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxNQUFNQSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBY25CQSxRQUFRLENBQUNDLE9BQU8sR0FBRyxlQUFlQSxPQUFPQSxDQUFFQyxHQUFHLEVBQUU7RUFDOUMsT0FBTyxNQUFNLElBQUksQ0FBQ0MsSUFBSSxDQUFDLFNBQVMsRUFBRTtJQUNoQ0MsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUVILEdBQUc7RUFDekMsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUFDLElBQUFJLFFBQUEsR0FFYU4sUUFBUTtBQUFBTyxPQUFBLENBQUFDLE9BQUEsR0FBQUYsUUFBQSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"openurl.js","names":["commands","openUrl","url","exec","args","requireUdid"],"sources":["../../../lib/subcommands/openurl.js"],"sourcesContent":["const commands = {};\n\n/**\n * Open URL scheme on Simulator. iOS will automatically try\n * to find a matching application, which supports the given scheme.\n * It is required that Simulator is in _booted_ state.\n *\n * @param {string} url - The URL scheme to open, for example http://appiom.io\n * will be opened by the built-in mobile browser.\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.openUrl = async function openUrl (url) {\n return await this.exec('openurl', {\n args: [this.requireUdid('openurl'), url],\n });\n};\n\nexport default commands;\n"],"mappings":";;;;;;;AAAA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AAcnBA,QAAQ,CAACC,OAAO,GAAG,eAAeA,OAAO,CAAEC,GAAG,EAAE;EAC9C,OAAO,MAAM,IAAI,CAACC,IAAI,CAAC,SAAS,EAAE;IAChCC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,SAAS,CAAC,EAAEH,GAAG;EACzC,CAAC,CAAC;AACJ,CAAC;AAAC,eAEaF,QAAQ;AAAA"}
1
+ {"version":3,"file":"openurl.js","names":["commands","openUrl","url","exec","args","requireUdid","_default","exports","default"],"sources":["../../../lib/subcommands/openurl.js"],"sourcesContent":["const commands = {};\n\n/**\n * Open URL scheme on Simulator. iOS will automatically try\n * to find a matching application, which supports the given scheme.\n * It is required that Simulator is in _booted_ state.\n *\n * @param {string} url - The URL scheme to open, for example http://appiom.io\n * will be opened by the built-in mobile browser.\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.openUrl = async function openUrl (url) {\n return await this.exec('openurl', {\n args: [this.requireUdid('openurl'), url],\n });\n};\n\nexport default commands;\n"],"mappings":";;;;;;;AAAA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AAcnBA,QAAQ,CAACC,OAAO,GAAG,eAAeA,OAAOA,CAAEC,GAAG,EAAE;EAC9C,OAAO,MAAM,IAAI,CAACC,IAAI,CAAC,SAAS,EAAE;IAChCC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,SAAS,CAAC,EAAEH,GAAG;EACzC,CAAC,CAAC;AACJ,CAAC;AAAC,IAAAI,QAAA,GAEaN,QAAQ;AAAAO,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -21,4 +21,4 @@ commands.setPasteboard = async function setPasteboard(content, encoding = 'utf8'
21
21
  };
22
22
  var _default = commands;
23
23
  exports.default = _default;
24
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsInNldFBhc3RlYm9hcmQiLCJjb250ZW50IiwiZW5jb2RpbmciLCJwYkNvcHlTdWJwcm9jZXNzIiwiZXhlYyIsImFyZ3MiLCJyZXF1aXJlVWRpZCIsImFzeW5jaHJvbm91cyIsInN0YXJ0IiwiZXhpdENvZGVWZXJpZmllciIsImpvaW4iLCJzdGRpbiIsInByb2MiLCJzZXRFbmNvZGluZyIsIndyaXRlIiwiZW5kIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N1YmNvbW1hbmRzL3BiY29weS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIFNldCB0aGUgY29udGVudCBvZiBTaW11bGF0b3IgcGFzdGVib2FyZC5cbiAqIEl0IGlzIHJlcXVpcmVkIHRoYXQgU2ltdWxhdG9yIGlzIGluIF9ib290ZWRfIHN0YXRlLlxuICpcbiAqIEBzaW5jZSBYY29kZSBTREsgOC4xXG4gKiBAcGFyYW0ge3N0cmluZ30gY29udGVudCAtIFRoZSBhY3R1YWwgc3RyaW5nIGNvbnRlbnQgdG8gYmUgc2V0LlxuICogQHBhcmFtIHtzdHJpbmd9IGVuY29kaW5nIFt1dGYnXSAtIFRoZSBlbmNvZGluZyBvZiB0aGUgZ2l2ZW4gcGFzdGVib2FyZCBjb250ZW50LlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVURi04IGJ5IGRlZmF1bHQuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGNvcnJlc3BvbmRpbmcgc2ltY3RsIHN1YmNvbW1hbmQgY29tbWFuZFxuICogICAgICAgICAgICAgICAgIHJldHVybnMgbm9uLXplcm8gcmV0dXJuIGNvZGUuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGB1ZGlkYCBpbnN0YW5jZSBwcm9wZXJ0eSBpcyB1bnNldFxuICovXG5jb21tYW5kcy5zZXRQYXN0ZWJvYXJkID0gYXN5bmMgZnVuY3Rpb24gc2V0UGFzdGVib2FyZCAoY29udGVudCwgZW5jb2RpbmcgPSAndXRmOCcpIHtcbiAgY29uc3QgcGJDb3B5U3VicHJvY2VzcyA9IGF3YWl0IHRoaXMuZXhlYygncGJjb3B5Jywge1xuICAgIGFyZ3M6IFt0aGlzLnJlcXVpcmVVZGlkKCdwYmNvcHknKV0sXG4gICAgYXN5bmNocm9ub3VzOiB0cnVlLFxuICB9KTtcbiAgYXdhaXQgcGJDb3B5U3VicHJvY2Vzcy5zdGFydCgwKTtcbiAgY29uc3QgZXhpdENvZGVWZXJpZmllciA9IHBiQ29weVN1YnByb2Nlc3Muam9pbigpO1xuICBjb25zdCBzdGRpbiA9IHBiQ29weVN1YnByb2Nlc3MucHJvYy5zdGRpbjtcbiAgc3RkaW4uc2V0RW5jb2RpbmcoZW5jb2RpbmcpO1xuICBzdGRpbi53cml0ZShjb250ZW50KTtcbiAgc3RkaW4uZW5kKCk7XG4gIGF3YWl0IGV4aXRDb2RlVmVyaWZpZXI7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLE1BQU1BLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFjbkJBLFFBQVEsQ0FBQ0MsYUFBYSxHQUFHLGVBQWVBLGFBQWEsQ0FBRUMsT0FBTyxFQUFFQyxRQUFRLEdBQUcsTUFBTSxFQUFFO0VBQ2pGLE1BQU1DLGdCQUFnQixHQUFHLE1BQU0sSUFBSSxDQUFDQyxJQUFJLENBQUMsUUFBUSxFQUFFO0lBQ2pEQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUNDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQ0MsWUFBWSxFQUFFO0VBQ2hCLENBQUMsQ0FBQztFQUNGLE1BQU1KLGdCQUFnQixDQUFDSyxLQUFLLENBQUMsQ0FBQyxDQUFDO0VBQy9CLE1BQU1DLGdCQUFnQixHQUFHTixnQkFBZ0IsQ0FBQ08sSUFBSSxFQUFFO0VBQ2hELE1BQU1DLEtBQUssR0FBR1IsZ0JBQWdCLENBQUNTLElBQUksQ0FBQ0QsS0FBSztFQUN6Q0EsS0FBSyxDQUFDRSxXQUFXLENBQUNYLFFBQVEsQ0FBQztFQUMzQlMsS0FBSyxDQUFDRyxLQUFLLENBQUNiLE9BQU8sQ0FBQztFQUNwQlUsS0FBSyxDQUFDSSxHQUFHLEVBQUU7RUFDWCxNQUFNTixnQkFBZ0I7QUFDeEIsQ0FBQztBQUFDLGVBRWFWLFFBQVE7QUFBQSJ9
24
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsInNldFBhc3RlYm9hcmQiLCJjb250ZW50IiwiZW5jb2RpbmciLCJwYkNvcHlTdWJwcm9jZXNzIiwiZXhlYyIsImFyZ3MiLCJyZXF1aXJlVWRpZCIsImFzeW5jaHJvbm91cyIsInN0YXJ0IiwiZXhpdENvZGVWZXJpZmllciIsImpvaW4iLCJzdGRpbiIsInByb2MiLCJzZXRFbmNvZGluZyIsIndyaXRlIiwiZW5kIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdWJjb21tYW5kcy9wYmNvcHkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBTZXQgdGhlIGNvbnRlbnQgb2YgU2ltdWxhdG9yIHBhc3RlYm9hcmQuXG4gKiBJdCBpcyByZXF1aXJlZCB0aGF0IFNpbXVsYXRvciBpcyBpbiBfYm9vdGVkXyBzdGF0ZS5cbiAqXG4gKiBAc2luY2UgWGNvZGUgU0RLIDguMVxuICogQHBhcmFtIHtzdHJpbmd9IGNvbnRlbnQgLSBUaGUgYWN0dWFsIHN0cmluZyBjb250ZW50IHRvIGJlIHNldC5cbiAqIEBwYXJhbSB7c3RyaW5nfSBlbmNvZGluZyBbdXRmJ10gLSBUaGUgZW5jb2Rpbmcgb2YgdGhlIGdpdmVuIHBhc3RlYm9hcmQgY29udGVudC5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVVEYtOCBieSBkZWZhdWx0LlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBjb3JyZXNwb25kaW5nIHNpbWN0bCBzdWJjb21tYW5kIGNvbW1hbmRcbiAqICAgICAgICAgICAgICAgICByZXR1cm5zIG5vbi16ZXJvIHJldHVybiBjb2RlLlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBgdWRpZGAgaW5zdGFuY2UgcHJvcGVydHkgaXMgdW5zZXRcbiAqL1xuY29tbWFuZHMuc2V0UGFzdGVib2FyZCA9IGFzeW5jIGZ1bmN0aW9uIHNldFBhc3RlYm9hcmQgKGNvbnRlbnQsIGVuY29kaW5nID0gJ3V0ZjgnKSB7XG4gIGNvbnN0IHBiQ29weVN1YnByb2Nlc3MgPSBhd2FpdCB0aGlzLmV4ZWMoJ3BiY29weScsIHtcbiAgICBhcmdzOiBbdGhpcy5yZXF1aXJlVWRpZCgncGJjb3B5JyldLFxuICAgIGFzeW5jaHJvbm91czogdHJ1ZSxcbiAgfSk7XG4gIGF3YWl0IHBiQ29weVN1YnByb2Nlc3Muc3RhcnQoMCk7XG4gIGNvbnN0IGV4aXRDb2RlVmVyaWZpZXIgPSBwYkNvcHlTdWJwcm9jZXNzLmpvaW4oKTtcbiAgY29uc3Qgc3RkaW4gPSBwYkNvcHlTdWJwcm9jZXNzLnByb2Muc3RkaW47XG4gIHN0ZGluLnNldEVuY29kaW5nKGVuY29kaW5nKTtcbiAgc3RkaW4ud3JpdGUoY29udGVudCk7XG4gIHN0ZGluLmVuZCgpO1xuICBhd2FpdCBleGl0Q29kZVZlcmlmaWVyO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxNQUFNQSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBY25CQSxRQUFRLENBQUNDLGFBQWEsR0FBRyxlQUFlQSxhQUFhQSxDQUFFQyxPQUFPLEVBQUVDLFFBQVEsR0FBRyxNQUFNLEVBQUU7RUFDakYsTUFBTUMsZ0JBQWdCLEdBQUcsTUFBTSxJQUFJLENBQUNDLElBQUksQ0FBQyxRQUFRLEVBQUU7SUFDakRDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQ0MsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDQyxZQUFZLEVBQUU7RUFDaEIsQ0FBQyxDQUFDO0VBQ0YsTUFBTUosZ0JBQWdCLENBQUNLLEtBQUssQ0FBQyxDQUFDLENBQUM7RUFDL0IsTUFBTUMsZ0JBQWdCLEdBQUdOLGdCQUFnQixDQUFDTyxJQUFJLEVBQUU7RUFDaEQsTUFBTUMsS0FBSyxHQUFHUixnQkFBZ0IsQ0FBQ1MsSUFBSSxDQUFDRCxLQUFLO0VBQ3pDQSxLQUFLLENBQUNFLFdBQVcsQ0FBQ1gsUUFBUSxDQUFDO0VBQzNCUyxLQUFLLENBQUNHLEtBQUssQ0FBQ2IsT0FBTyxDQUFDO0VBQ3BCVSxLQUFLLENBQUNJLEdBQUcsRUFBRTtFQUNYLE1BQU1OLGdCQUFnQjtBQUN4QixDQUFDO0FBQUMsSUFBQU8sUUFBQSxHQUVhakIsUUFBUTtBQUFBa0IsT0FBQSxDQUFBQyxPQUFBLEdBQUFGLFFBQUEifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"pbcopy.js","names":["commands","setPasteboard","content","encoding","pbCopySubprocess","exec","args","requireUdid","asynchronous","start","exitCodeVerifier","join","stdin","proc","setEncoding","write","end"],"sources":["../../../lib/subcommands/pbcopy.js"],"sourcesContent":["const commands = {};\n\n/**\n * Set the content of Simulator pasteboard.\n * It is required that Simulator is in _booted_ state.\n *\n * @since Xcode SDK 8.1\n * @param {string} content - The actual string content to be set.\n * @param {string} encoding [utf'] - The encoding of the given pasteboard content.\n * UTF-8 by default.\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.setPasteboard = async function setPasteboard (content, encoding = 'utf8') {\n const pbCopySubprocess = await this.exec('pbcopy', {\n args: [this.requireUdid('pbcopy')],\n asynchronous: true,\n });\n await pbCopySubprocess.start(0);\n const exitCodeVerifier = pbCopySubprocess.join();\n const stdin = pbCopySubprocess.proc.stdin;\n stdin.setEncoding(encoding);\n stdin.write(content);\n stdin.end();\n await exitCodeVerifier;\n};\n\nexport default commands;\n"],"mappings":";;;;;;;AAAA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AAcnBA,QAAQ,CAACC,aAAa,GAAG,eAAeA,aAAa,CAAEC,OAAO,EAAEC,QAAQ,GAAG,MAAM,EAAE;EACjF,MAAMC,gBAAgB,GAAG,MAAM,IAAI,CAACC,IAAI,CAAC,QAAQ,EAAE;IACjDC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAClCC,YAAY,EAAE;EAChB,CAAC,CAAC;EACF,MAAMJ,gBAAgB,CAACK,KAAK,CAAC,CAAC,CAAC;EAC/B,MAAMC,gBAAgB,GAAGN,gBAAgB,CAACO,IAAI,EAAE;EAChD,MAAMC,KAAK,GAAGR,gBAAgB,CAACS,IAAI,CAACD,KAAK;EACzCA,KAAK,CAACE,WAAW,CAACX,QAAQ,CAAC;EAC3BS,KAAK,CAACG,KAAK,CAACb,OAAO,CAAC;EACpBU,KAAK,CAACI,GAAG,EAAE;EACX,MAAMN,gBAAgB;AACxB,CAAC;AAAC,eAEaV,QAAQ;AAAA"}
1
+ {"version":3,"file":"pbcopy.js","names":["commands","setPasteboard","content","encoding","pbCopySubprocess","exec","args","requireUdid","asynchronous","start","exitCodeVerifier","join","stdin","proc","setEncoding","write","end","_default","exports","default"],"sources":["../../../lib/subcommands/pbcopy.js"],"sourcesContent":["const commands = {};\n\n/**\n * Set the content of Simulator pasteboard.\n * It is required that Simulator is in _booted_ state.\n *\n * @since Xcode SDK 8.1\n * @param {string} content - The actual string content to be set.\n * @param {string} encoding [utf'] - The encoding of the given pasteboard content.\n * UTF-8 by default.\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.setPasteboard = async function setPasteboard (content, encoding = 'utf8') {\n const pbCopySubprocess = await this.exec('pbcopy', {\n args: [this.requireUdid('pbcopy')],\n asynchronous: true,\n });\n await pbCopySubprocess.start(0);\n const exitCodeVerifier = pbCopySubprocess.join();\n const stdin = pbCopySubprocess.proc.stdin;\n stdin.setEncoding(encoding);\n stdin.write(content);\n stdin.end();\n await exitCodeVerifier;\n};\n\nexport default commands;\n"],"mappings":";;;;;;;AAAA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AAcnBA,QAAQ,CAACC,aAAa,GAAG,eAAeA,aAAaA,CAAEC,OAAO,EAAEC,QAAQ,GAAG,MAAM,EAAE;EACjF,MAAMC,gBAAgB,GAAG,MAAM,IAAI,CAACC,IAAI,CAAC,QAAQ,EAAE;IACjDC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAClCC,YAAY,EAAE;EAChB,CAAC,CAAC;EACF,MAAMJ,gBAAgB,CAACK,KAAK,CAAC,CAAC,CAAC;EAC/B,MAAMC,gBAAgB,GAAGN,gBAAgB,CAACO,IAAI,EAAE;EAChD,MAAMC,KAAK,GAAGR,gBAAgB,CAACS,IAAI,CAACD,KAAK;EACzCA,KAAK,CAACE,WAAW,CAACX,QAAQ,CAAC;EAC3BS,KAAK,CAACG,KAAK,CAACb,OAAO,CAAC;EACpBU,KAAK,CAACI,GAAG,EAAE;EACX,MAAMN,gBAAgB;AACxB,CAAC;AAAC,IAAAO,QAAA,GAEajB,QAAQ;AAAAkB,OAAA,CAAAC,OAAA,GAAAF,QAAA"}