node-simctl 7.2.2 → 7.3.1

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 (130) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/build/index.js +9 -17
  3. package/build/lib/helpers.d.ts +13 -0
  4. package/build/lib/helpers.d.ts.map +1 -0
  5. package/build/lib/helpers.js +22 -16
  6. package/build/lib/helpers.js.map +1 -1
  7. package/build/lib/logger.d.ts +4 -0
  8. package/build/lib/logger.d.ts.map +1 -0
  9. package/build/lib/logger.js +13 -19
  10. package/build/lib/logger.js.map +1 -1
  11. package/build/lib/simctl.d.ts +131 -0
  12. package/build/lib/simctl.d.ts.map +1 -0
  13. package/build/lib/simctl.js +170 -94
  14. package/build/lib/simctl.js.map +1 -1
  15. package/build/lib/subcommands/addmedia.d.ts +16 -0
  16. package/build/lib/subcommands/addmedia.d.ts.map +1 -0
  17. package/build/lib/subcommands/addmedia.js +17 -12
  18. package/build/lib/subcommands/addmedia.js.map +1 -1
  19. package/build/lib/subcommands/appinfo.d.ts +45 -0
  20. package/build/lib/subcommands/appinfo.d.ts.map +1 -0
  21. package/build/lib/subcommands/appinfo.js +47 -15
  22. package/build/lib/subcommands/appinfo.js.map +1 -1
  23. package/build/lib/subcommands/boot.d.ts +12 -0
  24. package/build/lib/subcommands/boot.d.ts.map +1 -0
  25. package/build/lib/subcommands/boot.js +47 -22
  26. package/build/lib/subcommands/boot.js.map +1 -1
  27. package/build/lib/subcommands/bootstatus.d.ts +56 -0
  28. package/build/lib/subcommands/bootstatus.d.ts.map +1 -0
  29. package/build/lib/subcommands/bootstatus.js +102 -87
  30. package/build/lib/subcommands/bootstatus.js.map +1 -1
  31. package/build/lib/subcommands/create.d.ts +34 -0
  32. package/build/lib/subcommands/create.d.ts.map +1 -0
  33. package/build/lib/subcommands/create.js +115 -65
  34. package/build/lib/subcommands/create.js.map +1 -1
  35. package/build/lib/subcommands/delete.d.ts +12 -0
  36. package/build/lib/subcommands/delete.d.ts.map +1 -0
  37. package/build/lib/subcommands/delete.js +13 -12
  38. package/build/lib/subcommands/delete.js.map +1 -1
  39. package/build/lib/subcommands/erase.d.ts +15 -0
  40. package/build/lib/subcommands/erase.d.ts.map +1 -0
  41. package/build/lib/subcommands/erase.js +19 -14
  42. package/build/lib/subcommands/erase.js.map +1 -1
  43. package/build/lib/subcommands/get_app_container.d.ts +22 -0
  44. package/build/lib/subcommands/get_app_container.d.ts.map +1 -0
  45. package/build/lib/subcommands/get_app_container.js +26 -19
  46. package/build/lib/subcommands/get_app_container.js.map +1 -1
  47. package/build/lib/subcommands/getenv.d.ts +14 -0
  48. package/build/lib/subcommands/getenv.d.ts.map +1 -0
  49. package/build/lib/subcommands/getenv.js +17 -17
  50. package/build/lib/subcommands/getenv.js.map +1 -1
  51. package/build/lib/subcommands/index.d.ts +3 -0
  52. package/build/lib/subcommands/index.d.ts.map +1 -0
  53. package/build/lib/subcommands/index.js +33 -36
  54. package/build/lib/subcommands/index.js.map +1 -1
  55. package/build/lib/subcommands/install.d.ts +15 -0
  56. package/build/lib/subcommands/install.d.ts.map +1 -0
  57. package/build/lib/subcommands/install.js +16 -12
  58. package/build/lib/subcommands/install.js.map +1 -1
  59. package/build/lib/subcommands/io.d.ts +15 -0
  60. package/build/lib/subcommands/io.d.ts.map +1 -0
  61. package/build/lib/subcommands/io.js +32 -25
  62. package/build/lib/subcommands/io.js.map +1 -1
  63. package/build/lib/subcommands/keychain.d.ts +53 -0
  64. package/build/lib/subcommands/keychain.d.ts.map +1 -0
  65. package/build/lib/subcommands/keychain.js +85 -51
  66. package/build/lib/subcommands/keychain.js.map +1 -1
  67. package/build/lib/subcommands/launch.d.ts +19 -0
  68. package/build/lib/subcommands/launch.d.ts.map +1 -0
  69. package/build/lib/subcommands/launch.js +28 -19
  70. package/build/lib/subcommands/launch.js.map +1 -1
  71. package/build/lib/subcommands/list.d.ts +120 -0
  72. package/build/lib/subcommands/list.d.ts.map +1 -0
  73. package/build/lib/subcommands/list.js +296 -138
  74. package/build/lib/subcommands/list.js.map +1 -1
  75. package/build/lib/subcommands/location.d.ts +20 -0
  76. package/build/lib/subcommands/location.d.ts.map +1 -0
  77. package/build/lib/subcommands/location.js +37 -22
  78. package/build/lib/subcommands/location.js.map +1 -1
  79. package/build/lib/subcommands/openurl.d.ts +17 -0
  80. package/build/lib/subcommands/openurl.d.ts.map +1 -0
  81. package/build/lib/subcommands/openurl.js +18 -12
  82. package/build/lib/subcommands/openurl.js.map +1 -1
  83. package/build/lib/subcommands/pbcopy.d.ts +17 -0
  84. package/build/lib/subcommands/pbcopy.d.ts.map +1 -0
  85. package/build/lib/subcommands/pbcopy.js +26 -20
  86. package/build/lib/subcommands/pbcopy.js.map +1 -1
  87. package/build/lib/subcommands/pbpaste.d.ts +17 -0
  88. package/build/lib/subcommands/pbpaste.d.ts.map +1 -0
  89. package/build/lib/subcommands/pbpaste.js +20 -16
  90. package/build/lib/subcommands/pbpaste.js.map +1 -1
  91. package/build/lib/subcommands/privacy.d.ts +55 -0
  92. package/build/lib/subcommands/privacy.d.ts.map +1 -0
  93. package/build/lib/subcommands/privacy.js +60 -18
  94. package/build/lib/subcommands/privacy.js.map +1 -1
  95. package/build/lib/subcommands/push.d.ts +25 -0
  96. package/build/lib/subcommands/push.d.ts.map +1 -0
  97. package/build/lib/subcommands/push.js +41 -24
  98. package/build/lib/subcommands/push.js.map +1 -1
  99. package/build/lib/subcommands/shutdown.d.ts +12 -0
  100. package/build/lib/subcommands/shutdown.d.ts.map +1 -0
  101. package/build/lib/subcommands/shutdown.js +47 -22
  102. package/build/lib/subcommands/shutdown.js.map +1 -1
  103. package/build/lib/subcommands/spawn.d.ts +26 -0
  104. package/build/lib/subcommands/spawn.d.ts.map +1 -0
  105. package/build/lib/subcommands/spawn.js +42 -26
  106. package/build/lib/subcommands/spawn.js.map +1 -1
  107. package/build/lib/subcommands/terminate.d.ts +15 -0
  108. package/build/lib/subcommands/terminate.d.ts.map +1 -0
  109. package/build/lib/subcommands/terminate.js +16 -12
  110. package/build/lib/subcommands/terminate.js.map +1 -1
  111. package/build/lib/subcommands/ui.d.ts +24 -0
  112. package/build/lib/subcommands/ui.d.ts.map +1 -0
  113. package/build/lib/subcommands/ui.js +32 -20
  114. package/build/lib/subcommands/ui.js.map +1 -1
  115. package/build/lib/subcommands/uninstall.d.ts +16 -0
  116. package/build/lib/subcommands/uninstall.d.ts.map +1 -0
  117. package/build/lib/subcommands/uninstall.js +17 -12
  118. package/build/lib/subcommands/uninstall.js.map +1 -1
  119. package/lib/simctl.js +13 -3
  120. package/lib/subcommands/addmedia.js +1 -1
  121. package/lib/subcommands/bootstatus.js +2 -2
  122. package/lib/subcommands/create.js +2 -2
  123. package/lib/subcommands/erase.js +1 -1
  124. package/lib/subcommands/keychain.js +2 -2
  125. package/lib/subcommands/launch.js +1 -0
  126. package/lib/subcommands/list.js +6 -6
  127. package/lib/subcommands/location.js +1 -1
  128. package/lib/subcommands/openurl.js +1 -1
  129. package/lib/subcommands/spawn.js +2 -2
  130. package/package.json +29 -18
@@ -1,77 +1,127 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
6
17
  });
7
- exports.default = void 0;
8
- require("source-map-support/register");
9
- var _lodash = _interopRequireDefault(require("lodash"));
10
- var _logger = _interopRequireWildcard(require("../logger"));
11
- var _asyncbox = require("asyncbox");
12
- var _helpers = require("../helpers");
13
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const lodash_1 = __importDefault(require("lodash"));
30
+ const logger_1 = __importStar(require("../logger"));
31
+ const asyncbox_1 = require("asyncbox");
32
+ const helpers_1 = require("../helpers");
15
33
  const SIM_RUNTIME_NAME_SUFFIX_IOS = 'iOS';
16
34
  const DEFAULT_CREATE_SIMULATOR_TIMEOUT = 10000;
17
35
  const commands = {};
36
+ /**
37
+ * @typedef {Object} SimCreationOpts
38
+ * @property {string} platform [iOS] - Platform name in order to specify runtime such as 'iOS', 'tvOS', 'watchOS'
39
+ * @property {number} timeout [10000] - The maximum number of milliseconds to wait
40
+ * unit device creation is completed.
41
+ */
42
+ /**
43
+ * Create Simulator device with given name for the particular
44
+ * platform type and version.
45
+ *
46
+ * @param {string} name - The device name to be created.
47
+ * @param {string} deviceTypeId - Device type, for example 'iPhone 6'.
48
+ * @param {string} platformVersion - Platform version, for example '10.3'.
49
+ * @param {Partial<SimCreationOpts>} opts - Simulator options for creating devices.
50
+ * @return {Promise<string>} The UDID of the newly created device.
51
+ * @throws {Error} If the corresponding simctl subcommand command
52
+ * returns non-zero return code.
53
+ */
18
54
  commands.createDevice = async function createDevice(name, deviceTypeId, platformVersion, opts = {}) {
19
- const {
20
- platform = SIM_RUNTIME_NAME_SUFFIX_IOS,
21
- timeout = DEFAULT_CREATE_SIMULATOR_TIMEOUT
22
- } = opts;
23
- let runtimeIds = [];
24
- try {
25
- runtimeIds.push(await this.getRuntimeForPlatformVersionViaJson(platformVersion, platform));
26
- } catch (ign) {}
27
- if (_lodash.default.isEmpty(runtimeIds)) {
28
- let runtimeId;
55
+ const { platform = SIM_RUNTIME_NAME_SUFFIX_IOS, timeout = DEFAULT_CREATE_SIMULATOR_TIMEOUT } = opts;
56
+ let runtimeIds = [];
57
+ // Try getting runtimeId using JSON flag
29
58
  try {
30
- runtimeId = await this.getRuntimeForPlatformVersion(platformVersion, platform);
31
- } catch (err) {
32
- _logger.default.warn(`Unable to find runtime for iOS '${platformVersion}'. Continuing`);
33
- runtimeId = platformVersion;
59
+ runtimeIds.push(await this.getRuntimeForPlatformVersionViaJson(platformVersion, platform));
34
60
  }
35
- let potentialRuntimeIds = [(0, _helpers.normalizeVersion)(runtimeId)];
36
- if (runtimeId.split('.').length === 3) {
37
- potentialRuntimeIds.push(runtimeId);
61
+ catch (ign) { }
62
+ if (lodash_1.default.isEmpty(runtimeIds)) {
63
+ // at first make sure that the runtime id is the right one
64
+ // in some versions of Xcode it will be a patch version
65
+ let runtimeId;
66
+ try {
67
+ runtimeId = await this.getRuntimeForPlatformVersion(platformVersion, platform);
68
+ }
69
+ catch (err) {
70
+ logger_1.default.warn(`Unable to find runtime for iOS '${platformVersion}'. Continuing`);
71
+ runtimeId = platformVersion;
72
+ }
73
+ // get the possible runtimes, which will be iterated over
74
+ // start with major-minor version
75
+ let potentialRuntimeIds = [(0, helpers_1.normalizeVersion)(runtimeId)];
76
+ if (runtimeId.split('.').length === 3) {
77
+ // add patch version if it exists
78
+ potentialRuntimeIds.push(runtimeId);
79
+ }
80
+ // add modified versions, since modern Xcodes use this, then the bare
81
+ // versions, to accomodate older Xcodes
82
+ runtimeIds.push(...(potentialRuntimeIds.map((id) => `${helpers_1.SIM_RUNTIME_NAME}${platform}-${id.replace(/\./g, '-')}`)), ...potentialRuntimeIds);
38
83
  }
39
- runtimeIds.push(...potentialRuntimeIds.map(id => `${_helpers.SIM_RUNTIME_NAME}${platform}-${id.replace(/\./g, '-')}`), ...potentialRuntimeIds);
40
- }
41
- let udid;
42
- for (const runtimeId of runtimeIds) {
43
- _logger.default.debug(_logger.LOG_PREFIX, `Creating simulator with name '${name}', device type id '${deviceTypeId}' and runtime id '${runtimeId}'`);
44
- try {
45
- const {
46
- stdout
47
- } = await this.exec('create', {
48
- args: [name, deviceTypeId, runtimeId]
49
- });
50
- udid = stdout.trim();
51
- break;
52
- } catch (ign) {}
53
- }
54
- if (!udid) {
55
- throw new Error(`Could not create simulator with name '${name}', device ` + `type id '${deviceTypeId}', with runtime ids ` + `${runtimeIds.map(id => `'${id}'`).join(', ')}`);
56
- }
57
- const retries = parseInt(timeout / 1000, 10);
58
- await (0, _asyncbox.retryInterval)(retries, 1000, async () => {
59
- const devices = _lodash.default.values(await this.getDevices());
60
- for (const deviceArr of _lodash.default.values(devices)) {
61
- for (const device of deviceArr) {
62
- if (device.udid === udid) {
63
- if (device.state === 'Creating') {
64
- throw new Error(`Device with udid '${udid}' still being created`);
65
- } else {
66
- return;
67
- }
84
+ // go through the runtime ids and try to create a simulator with each
85
+ let udid;
86
+ for (const runtimeId of runtimeIds) {
87
+ logger_1.default.debug(logger_1.LOG_PREFIX, `Creating simulator with name '${name}', device type id '${deviceTypeId}' and runtime id '${runtimeId}'`);
88
+ try {
89
+ const { stdout } = await this.exec('create', {
90
+ args: [name, deviceTypeId, runtimeId]
91
+ });
92
+ udid = stdout.trim();
93
+ break;
94
+ }
95
+ catch (ign) {
96
+ // the error gets logged in `simExec`
68
97
  }
69
- }
70
98
  }
71
- throw new Error(`Device with udid '${udid}' not yet created`);
72
- });
73
- return udid;
99
+ if (!udid) {
100
+ throw new Error(`Could not create simulator with name '${name}', device ` +
101
+ `type id '${deviceTypeId}', with runtime ids ` +
102
+ `${runtimeIds.map((id) => `'${id}'`).join(', ')}`);
103
+ }
104
+ // make sure that it gets out of the "Creating" state
105
+ const retries = parseInt(`${timeout / 1000}`, 10);
106
+ await (0, asyncbox_1.retryInterval)(retries, 1000, async () => {
107
+ const devices = lodash_1.default.values(await this.getDevices());
108
+ for (const deviceArr of lodash_1.default.values(devices)) {
109
+ for (const device of deviceArr) {
110
+ if (device.udid === udid) {
111
+ if (device.state === 'Creating') {
112
+ // need to retry
113
+ throw new Error(`Device with udid '${udid}' still being created`);
114
+ }
115
+ else {
116
+ // stop looking, we're done
117
+ return;
118
+ }
119
+ }
120
+ }
121
+ }
122
+ throw new Error(`Device with udid '${udid}' not yet created`);
123
+ });
124
+ return udid;
74
125
  };
75
- var _default = commands;
76
- exports.default = _default;
77
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfbG9nZ2VyIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfYXN5bmNib3giLCJfaGVscGVycyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJTSU1fUlVOVElNRV9OQU1FX1NVRkZJWF9JT1MiLCJERUZBVUxUX0NSRUFURV9TSU1VTEFUT1JfVElNRU9VVCIsImNvbW1hbmRzIiwiY3JlYXRlRGV2aWNlIiwibmFtZSIsImRldmljZVR5cGVJZCIsInBsYXRmb3JtVmVyc2lvbiIsIm9wdHMiLCJwbGF0Zm9ybSIsInRpbWVvdXQiLCJydW50aW1lSWRzIiwicHVzaCIsImdldFJ1bnRpbWVGb3JQbGF0Zm9ybVZlcnNpb25WaWFKc29uIiwiaWduIiwiXyIsImlzRW1wdHkiLCJydW50aW1lSWQiLCJnZXRSdW50aW1lRm9yUGxhdGZvcm1WZXJzaW9uIiwiZXJyIiwibG9nIiwid2FybiIsInBvdGVudGlhbFJ1bnRpbWVJZHMiLCJub3JtYWxpemVWZXJzaW9uIiwic3BsaXQiLCJsZW5ndGgiLCJtYXAiLCJpZCIsIlNJTV9SVU5USU1FX05BTUUiLCJyZXBsYWNlIiwidWRpZCIsImRlYnVnIiwiTE9HX1BSRUZJWCIsInN0ZG91dCIsImV4ZWMiLCJhcmdzIiwidHJpbSIsIkVycm9yIiwiam9pbiIsInJldHJpZXMiLCJwYXJzZUludCIsInJldHJ5SW50ZXJ2YWwiLCJkZXZpY2VzIiwidmFsdWVzIiwiZ2V0RGV2aWNlcyIsImRldmljZUFyciIsImRldmljZSIsInN0YXRlIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N1YmNvbW1hbmRzL2NyZWF0ZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IGxvZywgeyBMT0dfUFJFRklYIH0gZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCB7IHJldHJ5SW50ZXJ2YWwgfSBmcm9tICdhc3luY2JveCc7XG5pbXBvcnQgeyBTSU1fUlVOVElNRV9OQU1FLCBub3JtYWxpemVWZXJzaW9uIH0gZnJvbSAnLi4vaGVscGVycyc7XG5cblxuY29uc3QgU0lNX1JVTlRJTUVfTkFNRV9TVUZGSVhfSU9TID0gJ2lPUyc7XG5jb25zdCBERUZBVUxUX0NSRUFURV9TSU1VTEFUT1JfVElNRU9VVCA9IDEwMDAwO1xuXG5jb25zdCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFNpbUNyZWF0aW9uT3B0c1xuICogQHByb3BlcnR5IHtzdHJpbmd9IHBsYXRmb3JtIFtpT1NdIC0gUGxhdGZvcm0gbmFtZSBpbiBvcmRlciB0byBzcGVjaWZ5IHJ1bnRpbWUgc3VjaCBhcyAnaU9TJywgJ3R2T1MnLCAnd2F0Y2hPUydcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSB0aW1lb3V0IFsxMDAwMF0gLSBUaGUgbWF4aW11bSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIHdhaXRcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bml0IGRldmljZSBjcmVhdGlvbiBpcyBjb21wbGV0ZWQuXG4gKi9cblxuLyoqXG4gKiBDcmVhdGUgU2ltdWxhdG9yIGRldmljZSB3aXRoIGdpdmVuIG5hbWUgZm9yIHRoZSBwYXJ0aWN1bGFyXG4gKiBwbGF0Zm9ybSB0eXBlIGFuZCB2ZXJzaW9uLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gVGhlIGRldmljZSBuYW1lIHRvIGJlIGNyZWF0ZWQuXG4gKiBAcGFyYW0ge3N0cmluZ30gZGV2aWNlVHlwZUlkIC0gRGV2aWNlIHR5cGUsIGZvciBleGFtcGxlICdpUGhvbmUgNicuXG4gKiBAcGFyYW0ge3N0cmluZ30gcGxhdGZvcm1WZXJzaW9uIC0gUGxhdGZvcm0gdmVyc2lvbiwgZm9yIGV4YW1wbGUgJzEwLjMnLlxuICogQHBhcmFtIHtTaW1DcmVhdGlvbk9wdHN9IG9wdHMgLSBTaW11bGF0b3Igb3B0aW9ucyBmb3IgY3JlYXRpbmcgZGV2aWNlcy5cbiAqIEByZXR1cm4ge1Byb21pc2U8c3RyaW5nPn0gVGhlIFVESUQgb2YgdGhlIG5ld2x5IGNyZWF0ZWQgZGV2aWNlLlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBjb3JyZXNwb25kaW5nIHNpbWN0bCBzdWJjb21tYW5kIGNvbW1hbmRcbiAqICAgICAgICAgICAgICAgICByZXR1cm5zIG5vbi16ZXJvIHJldHVybiBjb2RlLlxuICovXG5jb21tYW5kcy5jcmVhdGVEZXZpY2UgPSBhc3luYyBmdW5jdGlvbiBjcmVhdGVEZXZpY2UgKG5hbWUsIGRldmljZVR5cGVJZCwgcGxhdGZvcm1WZXJzaW9uLCBvcHRzID0ge30pIHtcbiAgY29uc3Qge1xuICAgIHBsYXRmb3JtID0gU0lNX1JVTlRJTUVfTkFNRV9TVUZGSVhfSU9TLFxuICAgIHRpbWVvdXQgPSBERUZBVUxUX0NSRUFURV9TSU1VTEFUT1JfVElNRU9VVFxuICB9ID0gb3B0cztcblxuICBsZXQgcnVudGltZUlkcyA9IFtdO1xuXG4gIC8vIFRyeSBnZXR0aW5nIHJ1bnRpbWVJZCB1c2luZyBKU09OIGZsYWdcbiAgdHJ5IHtcbiAgICBydW50aW1lSWRzLnB1c2goYXdhaXQgdGhpcy5nZXRSdW50aW1lRm9yUGxhdGZvcm1WZXJzaW9uVmlhSnNvbihwbGF0Zm9ybVZlcnNpb24sIHBsYXRmb3JtKSk7XG4gIH0gY2F0Y2ggKGlnbikge31cblxuICBpZiAoXy5pc0VtcHR5KHJ1bnRpbWVJZHMpKSB7XG4gICAgLy8gYXQgZmlyc3QgbWFrZSBzdXJlIHRoYXQgdGhlIHJ1bnRpbWUgaWQgaXMgdGhlIHJpZ2h0IG9uZVxuICAgIC8vIGluIHNvbWUgdmVyc2lvbnMgb2YgWGNvZGUgaXQgd2lsbCBiZSBhIHBhdGNoIHZlcnNpb25cbiAgICBsZXQgcnVudGltZUlkO1xuICAgIHRyeSB7XG4gICAgICBydW50aW1lSWQgPSBhd2FpdCB0aGlzLmdldFJ1bnRpbWVGb3JQbGF0Zm9ybVZlcnNpb24ocGxhdGZvcm1WZXJzaW9uLCBwbGF0Zm9ybSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBsb2cud2FybihgVW5hYmxlIHRvIGZpbmQgcnVudGltZSBmb3IgaU9TICcke3BsYXRmb3JtVmVyc2lvbn0nLiBDb250aW51aW5nYCk7XG4gICAgICBydW50aW1lSWQgPSBwbGF0Zm9ybVZlcnNpb247XG4gICAgfVxuXG4gICAgLy8gZ2V0IHRoZSBwb3NzaWJsZSBydW50aW1lcywgd2hpY2ggd2lsbCBiZSBpdGVyYXRlZCBvdmVyXG5cbiAgICAvLyBzdGFydCB3aXRoIG1ham9yLW1pbm9yIHZlcnNpb25cbiAgICBsZXQgcG90ZW50aWFsUnVudGltZUlkcyA9IFtub3JtYWxpemVWZXJzaW9uKHJ1bnRpbWVJZCldO1xuICAgIGlmIChydW50aW1lSWQuc3BsaXQoJy4nKS5sZW5ndGggPT09IDMpIHtcbiAgICAgIC8vIGFkZCBwYXRjaCB2ZXJzaW9uIGlmIGl0IGV4aXN0c1xuICAgICAgcG90ZW50aWFsUnVudGltZUlkcy5wdXNoKHJ1bnRpbWVJZCk7XG4gICAgfVxuXG4gICAgLy8gYWRkIG1vZGlmaWVkIHZlcnNpb25zLCBzaW5jZSBtb2Rlcm4gWGNvZGVzIHVzZSB0aGlzLCB0aGVuIHRoZSBiYXJlXG4gICAgLy8gdmVyc2lvbnMsIHRvIGFjY29tb2RhdGUgb2xkZXIgWGNvZGVzXG4gICAgcnVudGltZUlkcy5wdXNoKFxuICAgICAgLi4uKHBvdGVudGlhbFJ1bnRpbWVJZHMubWFwKChpZCkgPT4gYCR7U0lNX1JVTlRJTUVfTkFNRX0ke3BsYXRmb3JtfS0ke2lkLnJlcGxhY2UoL1xcLi9nLCAnLScpfWApKSxcbiAgICAgIC4uLnBvdGVudGlhbFJ1bnRpbWVJZHNcbiAgICApO1xuICB9XG5cbiAgLy8gZ28gdGhyb3VnaCB0aGUgcnVudGltZSBpZHMgYW5kIHRyeSB0byBjcmVhdGUgYSBzaW11bGF0b3Igd2l0aCBlYWNoXG4gIGxldCB1ZGlkO1xuICBmb3IgKGNvbnN0IHJ1bnRpbWVJZCBvZiBydW50aW1lSWRzKSB7XG4gICAgbG9nLmRlYnVnKExPR19QUkVGSVgsXG4gICAgICBgQ3JlYXRpbmcgc2ltdWxhdG9yIHdpdGggbmFtZSAnJHtuYW1lfScsIGRldmljZSB0eXBlIGlkICcke2RldmljZVR5cGVJZH0nIGFuZCBydW50aW1lIGlkICcke3J1bnRpbWVJZH0nYCk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgdGhpcy5leGVjKCdjcmVhdGUnLCB7XG4gICAgICAgIGFyZ3M6IFtuYW1lLCBkZXZpY2VUeXBlSWQsIHJ1bnRpbWVJZF1cbiAgICAgIH0pO1xuICAgICAgdWRpZCA9IHN0ZG91dC50cmltKCk7XG4gICAgICBicmVhaztcbiAgICB9IGNhdGNoIChpZ24pIHtcbiAgICAgIC8vIHRoZSBlcnJvciBnZXRzIGxvZ2dlZCBpbiBgc2ltRXhlY2BcbiAgICB9XG4gIH1cblxuICBpZiAoIXVkaWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBjcmVhdGUgc2ltdWxhdG9yIHdpdGggbmFtZSAnJHtuYW1lfScsIGRldmljZSBgICtcbiAgICAgIGB0eXBlIGlkICcke2RldmljZVR5cGVJZH0nLCB3aXRoIHJ1bnRpbWUgaWRzIGAgK1xuICAgICAgYCR7cnVudGltZUlkcy5tYXAoKGlkKSA9PiBgJyR7aWR9J2ApLmpvaW4oJywgJyl9YCk7XG4gIH1cblxuICAvLyBtYWtlIHN1cmUgdGhhdCBpdCBnZXRzIG91dCBvZiB0aGUgXCJDcmVhdGluZ1wiIHN0YXRlXG4gIGNvbnN0IHJldHJpZXMgPSBwYXJzZUludCh0aW1lb3V0IC8gMTAwMCwgMTApO1xuICBhd2FpdCByZXRyeUludGVydmFsKHJldHJpZXMsIDEwMDAsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBkZXZpY2VzID0gXy52YWx1ZXMoYXdhaXQgdGhpcy5nZXREZXZpY2VzKCkpO1xuICAgIGZvciAoY29uc3QgZGV2aWNlQXJyIG9mIF8udmFsdWVzKGRldmljZXMpKSB7XG4gICAgICBmb3IgKGNvbnN0IGRldmljZSBvZiBkZXZpY2VBcnIpIHtcbiAgICAgICAgaWYgKGRldmljZS51ZGlkID09PSB1ZGlkKSB7XG4gICAgICAgICAgaWYgKGRldmljZS5zdGF0ZSA9PT0gJ0NyZWF0aW5nJykge1xuICAgICAgICAgICAgLy8gbmVlZCB0byByZXRyeVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBEZXZpY2Ugd2l0aCB1ZGlkICcke3VkaWR9JyBzdGlsbCBiZWluZyBjcmVhdGVkYCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHN0b3AgbG9va2luZywgd2UncmUgZG9uZVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoYERldmljZSB3aXRoIHVkaWQgJyR7dWRpZH0nIG5vdCB5ZXQgY3JlYXRlZGApO1xuICB9KTtcblxuICByZXR1cm4gdWRpZDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFNBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUFnRSxTQUFBSyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxP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
126
+ exports.default = commands;
127
+ //# sourceMappingURL=create.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","names":["_lodash","_interopRequireDefault","require","_logger","_interopRequireWildcard","_asyncbox","_helpers","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SIM_RUNTIME_NAME_SUFFIX_IOS","DEFAULT_CREATE_SIMULATOR_TIMEOUT","commands","createDevice","name","deviceTypeId","platformVersion","opts","platform","timeout","runtimeIds","push","getRuntimeForPlatformVersionViaJson","ign","_","isEmpty","runtimeId","getRuntimeForPlatformVersion","err","log","warn","potentialRuntimeIds","normalizeVersion","split","length","map","id","SIM_RUNTIME_NAME","replace","udid","debug","LOG_PREFIX","stdout","exec","args","trim","Error","join","retries","parseInt","retryInterval","devices","values","getDevices","deviceArr","device","state","_default","exports"],"sources":["../../../lib/subcommands/create.js"],"sourcesContent":["import _ from 'lodash';\nimport log, { LOG_PREFIX } from '../logger';\nimport { retryInterval } from 'asyncbox';\nimport { SIM_RUNTIME_NAME, normalizeVersion } from '../helpers';\n\n\nconst SIM_RUNTIME_NAME_SUFFIX_IOS = 'iOS';\nconst DEFAULT_CREATE_SIMULATOR_TIMEOUT = 10000;\n\nconst commands = {};\n\n/**\n * @typedef {Object} SimCreationOpts\n * @property {string} platform [iOS] - Platform name in order to specify runtime such as 'iOS', 'tvOS', 'watchOS'\n * @property {number} timeout [10000] - The maximum number of milliseconds to wait\n * unit device creation is completed.\n */\n\n/**\n * Create Simulator device with given name for the particular\n * platform type and version.\n *\n * @param {string} name - The device name to be created.\n * @param {string} deviceTypeId - Device type, for example 'iPhone 6'.\n * @param {string} platformVersion - Platform version, for example '10.3'.\n * @param {SimCreationOpts} opts - Simulator options for creating devices.\n * @return {Promise<string>} The UDID of the newly created device.\n * @throws {Error} If the corresponding simctl subcommand command\n * returns non-zero return code.\n */\ncommands.createDevice = async function createDevice (name, deviceTypeId, platformVersion, opts = {}) {\n const {\n platform = SIM_RUNTIME_NAME_SUFFIX_IOS,\n timeout = DEFAULT_CREATE_SIMULATOR_TIMEOUT\n } = opts;\n\n let runtimeIds = [];\n\n // Try getting runtimeId using JSON flag\n try {\n runtimeIds.push(await this.getRuntimeForPlatformVersionViaJson(platformVersion, platform));\n } catch (ign) {}\n\n if (_.isEmpty(runtimeIds)) {\n // at first make sure that the runtime id is the right one\n // in some versions of Xcode it will be a patch version\n let runtimeId;\n try {\n runtimeId = await this.getRuntimeForPlatformVersion(platformVersion, platform);\n } catch (err) {\n log.warn(`Unable to find runtime for iOS '${platformVersion}'. Continuing`);\n runtimeId = platformVersion;\n }\n\n // get the possible runtimes, which will be iterated over\n\n // start with major-minor version\n let potentialRuntimeIds = [normalizeVersion(runtimeId)];\n if (runtimeId.split('.').length === 3) {\n // add patch version if it exists\n potentialRuntimeIds.push(runtimeId);\n }\n\n // add modified versions, since modern Xcodes use this, then the bare\n // versions, to accomodate older Xcodes\n runtimeIds.push(\n ...(potentialRuntimeIds.map((id) => `${SIM_RUNTIME_NAME}${platform}-${id.replace(/\\./g, '-')}`)),\n ...potentialRuntimeIds\n );\n }\n\n // go through the runtime ids and try to create a simulator with each\n let udid;\n for (const runtimeId of runtimeIds) {\n log.debug(LOG_PREFIX,\n `Creating simulator with name '${name}', device type id '${deviceTypeId}' and runtime id '${runtimeId}'`);\n try {\n const {stdout} = await this.exec('create', {\n args: [name, deviceTypeId, runtimeId]\n });\n udid = stdout.trim();\n break;\n } catch (ign) {\n // the error gets logged in `simExec`\n }\n }\n\n if (!udid) {\n throw new Error(`Could not create simulator with name '${name}', device ` +\n `type id '${deviceTypeId}', with runtime ids ` +\n `${runtimeIds.map((id) => `'${id}'`).join(', ')}`);\n }\n\n // make sure that it gets out of the \"Creating\" state\n const retries = parseInt(timeout / 1000, 10);\n await retryInterval(retries, 1000, async () => {\n const devices = _.values(await this.getDevices());\n for (const deviceArr of _.values(devices)) {\n for (const device of deviceArr) {\n if (device.udid === udid) {\n if (device.state === 'Creating') {\n // need to retry\n throw new Error(`Device with udid '${udid}' still being created`);\n } else {\n // stop looking, we're done\n return;\n }\n }\n }\n }\n throw new Error(`Device with udid '${udid}' not yet created`);\n });\n\n return udid;\n};\n\nexport default commands;\n"],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../lib/subcommands/create.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export default commands;
2
+ declare namespace commands {
3
+ /**
4
+ * Delete the particular Simulator from available devices list.
5
+ *
6
+ * @throws {Error} If the corresponding simctl subcommand command
7
+ * returns non-zero return code.
8
+ * @throws {Error} If the `udid` instance property is unset
9
+ */
10
+ function deleteDevice(): Promise<void>;
11
+ }
12
+ //# sourceMappingURL=delete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../lib/subcommands/delete.js"],"names":[],"mappings":";;IAEA;;;;;;OAMG;IACH,uCAIC"}
@@ -1,16 +1,17 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- require("source-map-support/register");
2
+ Object.defineProperty(exports, "__esModule", { value: true });
8
3
  const commands = {};
4
+ /**
5
+ * Delete the particular Simulator from available devices list.
6
+ *
7
+ * @throws {Error} If the corresponding simctl subcommand command
8
+ * returns non-zero return code.
9
+ * @throws {Error} If the `udid` instance property is unset
10
+ */
9
11
  commands.deleteDevice = async function deleteDevice() {
10
- await this.exec('delete', {
11
- args: [this.requireUdid('delete')]
12
- });
12
+ await this.exec('delete', {
13
+ args: [this.requireUdid('delete')]
14
+ });
13
15
  };
14
- var _default = commands;
15
- exports.default = _default;
16
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImRlbGV0ZURldmljZSIsImV4ZWMiLCJhcmdzIiwicmVxdWlyZVVkaWQiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3N1YmNvbW1hbmRzL2RlbGV0ZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIERlbGV0ZSB0aGUgcGFydGljdWxhciBTaW11bGF0b3IgZnJvbSBhdmFpbGFibGUgZGV2aWNlcyBsaXN0LlxuICpcbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kXG4gKiAgICAgICAgICAgICAgICAgcmV0dXJucyBub24temVybyByZXR1cm4gY29kZS5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgYHVkaWRgIGluc3RhbmNlIHByb3BlcnR5IGlzIHVuc2V0XG4gKi9cbmNvbW1hbmRzLmRlbGV0ZURldmljZSA9IGFzeW5jIGZ1bmN0aW9uIGRlbGV0ZURldmljZSAoKSB7XG4gIGF3YWl0IHRoaXMuZXhlYygnZGVsZXRlJywge1xuICAgIGFyZ3M6IFt0aGlzLnJlcXVpcmVVZGlkKCdkZWxldGUnKV1cbiAgfSk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLE1BQU1BLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFTbkJBLFFBQVEsQ0FBQ0MsWUFBWSxHQUFHLGVBQWVBLFlBQVlBLENBQUEsRUFBSTtFQUNyRCxNQUFNLElBQUksQ0FBQ0MsSUFBSSxDQUFDLFFBQVEsRUFBRTtJQUN4QkMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDQyxXQUFXLENBQUMsUUFBUSxDQUFDO0VBQ25DLENBQUMsQ0FBQztBQUNKLENBQUM7QUFBQyxJQUFBQyxRQUFBLEdBRWFMLFFBQVE7QUFBQU0sT0FBQSxDQUFBQyxPQUFBLEdBQUFGLFFBQUEifQ==
16
+ exports.default = commands;
17
+ //# sourceMappingURL=delete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","names":["commands","deleteDevice","exec","args","requireUdid","_default","exports","default"],"sources":["../../../lib/subcommands/delete.js"],"sourcesContent":["const commands = {};\n\n/**\n * Delete the particular Simulator from available devices list.\n *\n * @throws {Error} If the corresponding simctl subcommand command\n * returns non-zero return code.\n * @throws {Error} If the `udid` instance property is unset\n */\ncommands.deleteDevice = async function deleteDevice () {\n await this.exec('delete', {\n args: [this.requireUdid('delete')]\n });\n};\n\nexport default commands;\n"],"mappings":";;;;;;;AAAA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AASnBA,QAAQ,CAACC,YAAY,GAAG,eAAeA,YAAYA,CAAA,EAAI;EACrD,MAAM,IAAI,CAACC,IAAI,CAAC,QAAQ,EAAE;IACxBC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,QAAQ,CAAC;EACnC,CAAC,CAAC;AACJ,CAAC;AAAC,IAAAC,QAAA,GAEaL,QAAQ;AAAAM,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../lib/subcommands/delete.js"],"names":[],"mappings":";;AAAA,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB;;;;;;GAMG;AACH,QAAQ,CAAC,YAAY,GAAG,KAAK,UAAU,YAAY;IACjD,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;QACxB,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;KACnC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
@@ -0,0 +1,15 @@
1
+ export default commands;
2
+ declare namespace commands {
3
+ /**
4
+ * Reset the content and settings of the particular Simulator.
5
+ * It is required that Simulator is in _shutdown_ state.
6
+ *
7
+ * @param {number} timeout [10000] - The maximum number of milliseconds to wait
8
+ * unit device reset is completed.
9
+ * @throws {Error} If the corresponding simctl subcommand command
10
+ * returns non-zero return code.
11
+ * @throws {Error} If the `udid` instance property is unset
12
+ */
13
+ function eraseDevice(timeout?: number): Promise<void>;
14
+ }
15
+ //# sourceMappingURL=erase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erase.d.ts","sourceRoot":"","sources":["../../../lib/subcommands/erase.js"],"names":[],"mappings":";;IAIA;;;;;;;;;OASG;IACH,sDAQC"}
@@ -1,18 +1,23 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- require("source-map-support/register");
8
- var _asyncbox = require("asyncbox");
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const asyncbox_1 = require("asyncbox");
9
4
  const commands = {};
5
+ /**
6
+ * Reset the content and settings of the particular Simulator.
7
+ * It is required that Simulator is in _shutdown_ state.
8
+ *
9
+ * @param {number} timeout [10000] - The maximum number of milliseconds to wait
10
+ * unit device reset is completed.
11
+ * @throws {Error} If the corresponding simctl subcommand command
12
+ * returns non-zero return code.
13
+ * @throws {Error} If the `udid` instance property is unset
14
+ */
10
15
  commands.eraseDevice = async function eraseDevice(timeout = 1000) {
11
- const retries = parseInt(timeout / 200, 10);
12
- await (0, _asyncbox.retryInterval)(retries, 200, async () => await this.exec('erase', {
13
- args: [this.requireUdid('erase')]
14
- }));
16
+ // retry erase with a sleep in between because it's flakey
17
+ const retries = parseInt(`${timeout / 200}`, 10);
18
+ await (0, asyncbox_1.retryInterval)(retries, 200, async () => await this.exec('erase', {
19
+ args: [this.requireUdid('erase')]
20
+ }));
15
21
  };
16
- var _default = commands;
17
- exports.default = _default;
18
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXN5bmNib3giLCJyZXF1aXJlIiwiY29tbWFuZHMiLCJlcmFzZURldmljZSIsInRpbWVvdXQiLCJyZXRyaWVzIiwicGFyc2VJbnQiLCJyZXRyeUludGVydmFsIiwiZXhlYyIsImFyZ3MiLCJyZXF1aXJlVWRpZCIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3ViY29tbWFuZHMvZXJhc2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmV0cnlJbnRlcnZhbCB9IGZyb20gJ2FzeW5jYm94JztcblxuY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBSZXNldCB0aGUgY29udGVudCBhbmQgc2V0dGluZ3Mgb2YgdGhlIHBhcnRpY3VsYXIgU2ltdWxhdG9yLlxuICogSXQgaXMgcmVxdWlyZWQgdGhhdCBTaW11bGF0b3IgaXMgaW4gX3NodXRkb3duXyBzdGF0ZS5cbiAqXG4gKiBAcGFyYW0ge251bWJlcn0gdGltZW91dCBbMTAwMDBdIC0gVGhlIG1heGltdW0gbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyB0byB3YWl0XG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pdCBkZXZpY2UgcmVzZXQgaXMgY29tcGxldGVkLlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBjb3JyZXNwb25kaW5nIHNpbWN0bCBzdWJjb21tYW5kIGNvbW1hbmRcbiAqICAgICAgICAgICAgICAgICByZXR1cm5zIG5vbi16ZXJvIHJldHVybiBjb2RlLlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBgdWRpZGAgaW5zdGFuY2UgcHJvcGVydHkgaXMgdW5zZXRcbiAqL1xuY29tbWFuZHMuZXJhc2VEZXZpY2UgPSBhc3luYyBmdW5jdGlvbiBlcmFzZURldmljZSAodGltZW91dCA9IDEwMDApIHtcbiAgLy8gcmV0cnkgZXJhc2Ugd2l0aCBhIHNsZWVwIGluIGJldHdlZW4gYmVjYXVzZSBpdCdzIGZsYWtleVxuICBjb25zdCByZXRyaWVzID0gcGFyc2VJbnQodGltZW91dCAvIDIwMCwgMTApO1xuICBhd2FpdCByZXRyeUludGVydmFsKHJldHJpZXMsIDIwMCxcbiAgICBhc3luYyAoKSA9PiBhd2FpdCB0aGlzLmV4ZWMoJ2VyYXNlJywge1xuICAgICAgYXJnczogW3RoaXMucmVxdWlyZVVkaWQoJ2VyYXNlJyldXG4gICAgfSlcbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsU0FBQSxHQUFBQyxPQUFBO0FBRUEsTUFBTUMsUUFBUSxHQUFHLENBQUMsQ0FBQztBQVluQkEsUUFBUSxDQUFDQyxXQUFXLEdBQUcsZUFBZUEsV0FBV0EsQ0FBRUMsT0FBTyxHQUFHLElBQUksRUFBRTtFQUVqRSxNQUFNQyxPQUFPLEdBQUdDLFFBQVEsQ0FBQ0YsT0FBTyxHQUFHLEdBQUcsRUFBRSxFQUFFLENBQUM7RUFDM0MsTUFBTSxJQUFBRyx1QkFBYSxFQUFDRixPQUFPLEVBQUUsR0FBRyxFQUM5QixZQUFZLE1BQU0sSUFBSSxDQUFDRyxJQUFJLENBQUMsT0FBTyxFQUFFO0lBQ25DQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUNDLFdBQVcsQ0FBQyxPQUFPLENBQUM7RUFDbEMsQ0FBQyxDQUNILENBQUM7QUFDSCxDQUFDO0FBQUMsSUFBQUMsUUFBQSxHQUVhVCxRQUFRO0FBQUFVLE9BQUEsQ0FBQUMsT0FBQSxHQUFBRixRQUFBIn0=
22
+ exports.default = commands;
23
+ //# sourceMappingURL=erase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"erase.js","names":["_asyncbox","require","commands","eraseDevice","timeout","retries","parseInt","retryInterval","exec","args","requireUdid","_default","exports","default"],"sources":["../../../lib/subcommands/erase.js"],"sourcesContent":["import { retryInterval } from 'asyncbox';\n\nconst commands = {};\n\n/**\n * Reset the content and settings of the particular Simulator.\n * It is required that Simulator is in _shutdown_ state.\n *\n * @param {number} timeout [10000] - The maximum number of milliseconds to wait\n * unit device reset is completed.\n * @throws {Error} If the corresponding simctl subcommand command\n * returns non-zero return code.\n * @throws {Error} If the `udid` instance property is unset\n */\ncommands.eraseDevice = async function eraseDevice (timeout = 1000) {\n // retry erase with a sleep in between because it's flakey\n const retries = parseInt(timeout / 200, 10);\n await retryInterval(retries, 200,\n async () => await this.exec('erase', {\n args: [this.requireUdid('erase')]\n })\n );\n};\n\nexport default commands;\n"],"mappings":";;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEA,MAAMC,QAAQ,GAAG,CAAC,CAAC;AAYnBA,QAAQ,CAACC,WAAW,GAAG,eAAeA,WAAWA,CAAEC,OAAO,GAAG,IAAI,EAAE;EAEjE,MAAMC,OAAO,GAAGC,QAAQ,CAACF,OAAO,GAAG,GAAG,EAAE,EAAE,CAAC;EAC3C,MAAM,IAAAG,uBAAa,EAACF,OAAO,EAAE,GAAG,EAC9B,YAAY,MAAM,IAAI,CAACG,IAAI,CAAC,OAAO,EAAE;IACnCC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,OAAO,CAAC;EAClC,CAAC,CACH,CAAC;AACH,CAAC;AAAC,IAAAC,QAAA,GAEaT,QAAQ;AAAAU,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"file":"erase.js","sourceRoot":"","sources":["../../../lib/subcommands/erase.js"],"names":[],"mappings":";;AAAA,uCAAyC;AAEzC,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB;;;;;;;;;GASG;AACH,QAAQ,CAAC,WAAW,GAAG,KAAK,UAAU,WAAW,CAAE,OAAO,GAAG,IAAI;IAC/D,0DAA0D;IAC1D,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,OAAO,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IACjD,MAAM,IAAA,wBAAa,EAAC,OAAO,EAAE,GAAG,EAC9B,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;QACnC,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KAClC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
@@ -0,0 +1,22 @@
1
+ export default commands;
2
+ declare namespace commands {
3
+ /**
4
+ * Get the full path to the particular application container
5
+ * on the local file system. Note, that this subcommand throws
6
+ * an error if bundle id of a system application is provided,
7
+ * like 'com.apple.springboard'.
8
+ * It is required that Simulator is in _booted_ state.
9
+ *
10
+ * @param {string} bundleId - Bundle identifier of an application.
11
+ * @param {string?} containerType - Which container type to return. Possible values
12
+ * are 'app', 'data', 'groups', '<A specific App Group container>'.
13
+ * The default value is 'app'.
14
+ * @return {Promise<string>} Full path to the given application container on the local
15
+ * file system.
16
+ * @throws {Error} If the corresponding simctl subcommand command
17
+ * returns non-zero return code.
18
+ * @throws {Error} If the `udid` instance property is unset
19
+ */
20
+ function getAppContainer(bundleId: string, containerType?: string | null): Promise<string>;
21
+ }
22
+ //# sourceMappingURL=get_app_container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_app_container.d.ts","sourceRoot":"","sources":["../../../lib/subcommands/get_app_container.js"],"names":[],"mappings":";;IAEA;;;;;;;;;;;;;;;;OAgBG;IACH,2FAOC"}
@@ -1,23 +1,30 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- require("source-map-support/register");
2
+ Object.defineProperty(exports, "__esModule", { value: true });
8
3
  const commands = {};
4
+ /**
5
+ * Get the full path to the particular application container
6
+ * on the local file system. Note, that this subcommand throws
7
+ * an error if bundle id of a system application is provided,
8
+ * like 'com.apple.springboard'.
9
+ * It is required that Simulator is in _booted_ state.
10
+ *
11
+ * @param {string} bundleId - Bundle identifier of an application.
12
+ * @param {string?} containerType - Which container type to return. Possible values
13
+ * are 'app', 'data', 'groups', '<A specific App Group container>'.
14
+ * The default value is 'app'.
15
+ * @return {Promise<string>} Full path to the given application container on the local
16
+ * file system.
17
+ * @throws {Error} If the corresponding simctl subcommand command
18
+ * returns non-zero return code.
19
+ * @throws {Error} If the `udid` instance property is unset
20
+ */
9
21
  commands.getAppContainer = async function getAppContainer(bundleId, containerType = null) {
10
- const args = [this.requireUdid('get_app_container'), bundleId];
11
- if (containerType) {
12
- args.push(containerType);
13
- }
14
- const {
15
- stdout
16
- } = await this.exec('get_app_container', {
17
- args
18
- });
19
- return (stdout || '').trim();
22
+ const args = [this.requireUdid('get_app_container'), bundleId];
23
+ if (containerType) {
24
+ args.push(containerType);
25
+ }
26
+ const { stdout } = await this.exec('get_app_container', { args });
27
+ return (stdout || '').trim();
20
28
  };
21
- var _default = commands;
22
- exports.default = _default;
23
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImdldEFwcENvbnRhaW5lciIsImJ1bmRsZUlkIiwiY29udGFpbmVyVHlwZSIsImFyZ3MiLCJyZXF1aXJlVWRpZCIsInB1c2giLCJzdGRvdXQiLCJleGVjIiwidHJpbSIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3ViY29tbWFuZHMvZ2V0X2FwcF9jb250YWluZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBHZXQgdGhlIGZ1bGwgcGF0aCB0byB0aGUgcGFydGljdWxhciBhcHBsaWNhdGlvbiBjb250YWluZXJcbiAqIG9uIHRoZSBsb2NhbCBmaWxlIHN5c3RlbS4gTm90ZSwgdGhhdCB0aGlzIHN1YmNvbW1hbmQgdGhyb3dzXG4gKiBhbiBlcnJvciBpZiBidW5kbGUgaWQgb2YgYSBzeXN0ZW0gYXBwbGljYXRpb24gaXMgcHJvdmlkZWQsXG4gKiBsaWtlICdjb20uYXBwbGUuc3ByaW5nYm9hcmQnLlxuICogSXQgaXMgcmVxdWlyZWQgdGhhdCBTaW11bGF0b3IgaXMgaW4gX2Jvb3RlZF8gc3RhdGUuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGJ1bmRsZUlkIC0gQnVuZGxlIGlkZW50aWZpZXIgb2YgYW4gYXBwbGljYXRpb24uXG4gKiBAcGFyYW0ge3N0cmluZz99IGNvbnRhaW5lclR5cGUgLSBXaGljaCBjb250YWluZXIgdHlwZSB0byByZXR1cm4uIFBvc3NpYmxlIHZhbHVlc1xuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJlICdhcHAnLCAnZGF0YScsICdncm91cHMnLCAnPEEgc3BlY2lmaWMgQXBwIEdyb3VwIGNvbnRhaW5lcj4nLlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgJ2FwcCcuXG4gKiBAcmV0dXJuIHtQcm9taXNlPHN0cmluZz59IEZ1bGwgcGF0aCB0byB0aGUgZ2l2ZW4gYXBwbGljYXRpb24gY29udGFpbmVyIG9uIHRoZSBsb2NhbFxuICogICAgICAgICAgICAgICAgICBmaWxlIHN5c3RlbS5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kXG4gKiAgICAgICAgICAgICAgICAgcmV0dXJucyBub24temVybyByZXR1cm4gY29kZS5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgYHVkaWRgIGluc3RhbmNlIHByb3BlcnR5IGlzIHVuc2V0XG4gKi9cbmNvbW1hbmRzLmdldEFwcENvbnRhaW5lciA9IGFzeW5jIGZ1bmN0aW9uIGdldEFwcENvbnRhaW5lciAoYnVuZGxlSWQsIGNvbnRhaW5lclR5cGUgPSBudWxsKSB7XG4gIGNvbnN0IGFyZ3MgPSBbdGhpcy5yZXF1aXJlVWRpZCgnZ2V0X2FwcF9jb250YWluZXInKSwgYnVuZGxlSWRdO1xuICBpZiAoY29udGFpbmVyVHlwZSkge1xuICAgIGFyZ3MucHVzaChjb250YWluZXJUeXBlKTtcbiAgfVxuICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IHRoaXMuZXhlYygnZ2V0X2FwcF9jb250YWluZXInLCB7YXJnc30pO1xuICByZXR1cm4gKHN0ZG91dCB8fCAnJykudHJpbSgpO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxNQUFNQSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBbUJuQkEsUUFBUSxDQUFDQyxlQUFlLEdBQUcsZUFBZUEsZUFBZUEsQ0FBRUMsUUFBUSxFQUFFQyxhQUFhLEdBQUcsSUFBSSxFQUFFO0VBQ3pGLE1BQU1DLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQ0MsV0FBVyxDQUFDLG1CQUFtQixDQUFDLEVBQUVILFFBQVEsQ0FBQztFQUM5RCxJQUFJQyxhQUFhLEVBQUU7SUFDakJDLElBQUksQ0FBQ0UsSUFBSSxDQUFDSCxhQUFhLENBQUM7RUFDMUI7RUFDQSxNQUFNO0lBQUNJO0VBQU0sQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7SUFBQ0o7RUFBSSxDQUFDLENBQUM7RUFDN0QsT0FBTyxDQUFDRyxNQUFNLElBQUksRUFBRSxFQUFFRSxJQUFJLENBQUMsQ0FBQztBQUM5QixDQUFDO0FBQUMsSUFBQUMsUUFBQSxHQUVhVixRQUFRO0FBQUFXLE9BQUEsQ0FBQUMsT0FBQSxHQUFBRixRQUFBIn0=
29
+ exports.default = commands;
30
+ //# sourceMappingURL=get_app_container.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get_app_container.js","names":["commands","getAppContainer","bundleId","containerType","args","requireUdid","push","stdout","exec","trim","_default","exports","default"],"sources":["../../../lib/subcommands/get_app_container.js"],"sourcesContent":["const commands = {};\n\n/**\n * Get the full path to the particular application container\n * on the local file system. Note, that this subcommand throws\n * an error if bundle id of a system application is provided,\n * like 'com.apple.springboard'.\n * It is required that Simulator is in _booted_ state.\n *\n * @param {string} bundleId - Bundle identifier of an application.\n * @param {string?} containerType - Which container type to return. Possible values\n * are 'app', 'data', 'groups', '<A specific App Group container>'.\n * The default value is 'app'.\n * @return {Promise<string>} Full path to the given application container on the local\n * file system.\n * @throws {Error} If the corresponding simctl subcommand command\n * returns non-zero return code.\n * @throws {Error} If the `udid` instance property is unset\n */\ncommands.getAppContainer = async function getAppContainer (bundleId, containerType = null) {\n const args = [this.requireUdid('get_app_container'), bundleId];\n if (containerType) {\n args.push(containerType);\n }\n const {stdout} = await this.exec('get_app_container', {args});\n return (stdout || '').trim();\n};\n\nexport default commands;\n"],"mappings":";;;;;;;AAAA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AAmBnBA,QAAQ,CAACC,eAAe,GAAG,eAAeA,eAAeA,CAAEC,QAAQ,EAAEC,aAAa,GAAG,IAAI,EAAE;EACzF,MAAMC,IAAI,GAAG,CAAC,IAAI,CAACC,WAAW,CAAC,mBAAmB,CAAC,EAAEH,QAAQ,CAAC;EAC9D,IAAIC,aAAa,EAAE;IACjBC,IAAI,CAACE,IAAI,CAACH,aAAa,CAAC;EAC1B;EACA,MAAM;IAACI;EAAM,CAAC,GAAG,MAAM,IAAI,CAACC,IAAI,CAAC,mBAAmB,EAAE;IAACJ;EAAI,CAAC,CAAC;EAC7D,OAAO,CAACG,MAAM,IAAI,EAAE,EAAEE,IAAI,CAAC,CAAC;AAC9B,CAAC;AAAC,IAAAC,QAAA,GAEaV,QAAQ;AAAAW,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"file":"get_app_container.js","sourceRoot":"","sources":["../../../lib/subcommands/get_app_container.js"],"names":[],"mappings":";;AAAA,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB;;;;;;;;;;;;;;;;GAgBG;AACH,QAAQ,CAAC,eAAe,GAAG,KAAK,UAAU,eAAe,CAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IACvF,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC/D,IAAI,aAAa,EAAE;QACjB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAC1B;IACD,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
@@ -0,0 +1,14 @@
1
+ export default commands;
2
+ declare namespace commands {
3
+ /**
4
+ * Retrieves the value of a Simulator environment variable
5
+ *
6
+ * @param {string} varName - The name of the variable to be retrieved
7
+ * @returns {Promise<string|null>} The value of the variable or null if the given variable
8
+ * is not present in the Simulator environment
9
+ * @throws {Error} If there was an error while running the command
10
+ * @throws {Error} If the `udid` instance property is unset
11
+ */
12
+ function getEnv(varName: string): Promise<string | null>;
13
+ }
14
+ //# sourceMappingURL=getenv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getenv.d.ts","sourceRoot":"","sources":["../../../lib/subcommands/getenv.js"],"names":[],"mappings":";;IAEA;;;;;;;;OAQG;IACH,yDAMC"}
@@ -1,21 +1,21 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- require("source-map-support/register");
2
+ Object.defineProperty(exports, "__esModule", { value: true });
8
3
  const commands = {};
4
+ /**
5
+ * Retrieves the value of a Simulator environment variable
6
+ *
7
+ * @param {string} varName - The name of the variable to be retrieved
8
+ * @returns {Promise<string|null>} The value of the variable or null if the given variable
9
+ * is not present in the Simulator environment
10
+ * @throws {Error} If there was an error while running the command
11
+ * @throws {Error} If the `udid` instance property is unset
12
+ */
9
13
  commands.getEnv = async function getEnv(varName) {
10
- const {
11
- stdout,
12
- stderr
13
- } = await this.exec('getenv', {
14
- args: [this.requireUdid('getenv'), varName],
15
- logErrors: false
16
- });
17
- return stderr ? null : stdout;
14
+ const { stdout, stderr } = await this.exec('getenv', {
15
+ args: [this.requireUdid('getenv'), varName],
16
+ logErrors: false,
17
+ });
18
+ return stderr ? null : stdout;
18
19
  };
19
- var _default = commands;
20
- exports.default = _default;
21
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImdldEVudiIsInZhck5hbWUiLCJzdGRvdXQiLCJzdGRlcnIiLCJleGVjIiwiYXJncyIsInJlcXVpcmVVZGlkIiwibG9nRXJyb3JzIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zdWJjb21tYW5kcy9nZXRlbnYuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIHZhbHVlIG9mIGEgU2ltdWxhdG9yIGVudmlyb25tZW50IHZhcmlhYmxlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhck5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgdmFyaWFibGUgdG8gYmUgcmV0cmlldmVkXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmd8bnVsbD59IFRoZSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgb3IgbnVsbCBpZiB0aGUgZ2l2ZW4gdmFyaWFibGVcbiAqIGlzIG5vdCBwcmVzZW50IGluIHRoZSBTaW11bGF0b3IgZW52aXJvbm1lbnRcbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGVyZSB3YXMgYW4gZXJyb3Igd2hpbGUgcnVubmluZyB0aGUgY29tbWFuZFxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBgdWRpZGAgaW5zdGFuY2UgcHJvcGVydHkgaXMgdW5zZXRcbiAqL1xuY29tbWFuZHMuZ2V0RW52ID0gYXN5bmMgZnVuY3Rpb24gZ2V0RW52ICh2YXJOYW1lKSB7XG4gIGNvbnN0IHtzdGRvdXQsIHN0ZGVycn0gPSBhd2FpdCB0aGlzLmV4ZWMoJ2dldGVudicsIHtcbiAgICBhcmdzOiBbdGhpcy5yZXF1aXJlVWRpZCgnZ2V0ZW52JyksIHZhck5hbWVdLFxuICAgIGxvZ0Vycm9yczogZmFsc2UsXG4gIH0pO1xuICByZXR1cm4gc3RkZXJyID8gbnVsbCA6IHN0ZG91dDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsTUFBTUEsUUFBUSxHQUFHLENBQUMsQ0FBQztBQVduQkEsUUFBUSxDQUFDQyxNQUFNLEdBQUcsZUFBZUEsTUFBTUEsQ0FBRUMsT0FBTyxFQUFFO0VBQ2hELE1BQU07SUFBQ0MsTUFBTTtJQUFFQztFQUFNLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQ0MsSUFBSSxDQUFDLFFBQVEsRUFBRTtJQUNqREMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDQyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUVMLE9BQU8sQ0FBQztJQUMzQ00sU0FBUyxFQUFFO0VBQ2IsQ0FBQyxDQUFDO0VBQ0YsT0FBT0osTUFBTSxHQUFHLElBQUksR0FBR0QsTUFBTTtBQUMvQixDQUFDO0FBQUMsSUFBQU0sUUFBQSxHQUVhVCxRQUFRO0FBQUFVLE9BQUEsQ0FBQUMsT0FBQSxHQUFBRixRQUFBIn0=
20
+ exports.default = commands;
21
+ //# sourceMappingURL=getenv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getenv.js","names":["commands","getEnv","varName","stdout","stderr","exec","args","requireUdid","logErrors","_default","exports","default"],"sources":["../../../lib/subcommands/getenv.js"],"sourcesContent":["const commands = {};\n\n/**\n * Retrieves the value of a Simulator environment variable\n *\n * @param {string} varName - The name of the variable to be retrieved\n * @returns {Promise<string|null>} The value of the variable or null if the given variable\n * is not present in the Simulator environment\n * @throws {Error} If there was an error while running the command\n * @throws {Error} If the `udid` instance property is unset\n */\ncommands.getEnv = async function getEnv (varName) {\n const {stdout, stderr} = await this.exec('getenv', {\n args: [this.requireUdid('getenv'), varName],\n logErrors: false,\n });\n return stderr ? null : stdout;\n};\n\nexport default commands;\n"],"mappings":";;;;;;;AAAA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AAWnBA,QAAQ,CAACC,MAAM,GAAG,eAAeA,MAAMA,CAAEC,OAAO,EAAE;EAChD,MAAM;IAACC,MAAM;IAAEC;EAAM,CAAC,GAAG,MAAM,IAAI,CAACC,IAAI,CAAC,QAAQ,EAAE;IACjDC,IAAI,EAAE,CAAC,IAAI,CAACC,WAAW,CAAC,QAAQ,CAAC,EAAEL,OAAO,CAAC;IAC3CM,SAAS,EAAE;EACb,CAAC,CAAC;EACF,OAAOJ,MAAM,GAAG,IAAI,GAAGD,MAAM;AAC/B,CAAC;AAAC,IAAAM,QAAA,GAEaT,QAAQ;AAAAU,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"file":"getenv.js","sourceRoot":"","sources":["../../../lib/subcommands/getenv.js"],"names":[],"mappings":";;AAAA,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB;;;;;;;;GAQG;AACH,QAAQ,CAAC,MAAM,GAAG,KAAK,UAAU,MAAM,CAAE,OAAO;IAC9C,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;QACjD,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAC3C,SAAS,EAAE,KAAK;KACjB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AAChC,CAAC,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export default subcommands;
2
+ declare const subcommands: any;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/subcommands/index.js"],"names":[],"mappings":";AA2BA,+BA0BE"}