node-simctl 7.2.2 → 7.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/CHANGELOG.md +7 -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 +28 -17
@@ -1 +1 @@
1
- {"version":3,"file":"bootstatus.js","names":["_logger","_interopRequireDefault","require","_asyncbox","commands","startBootMonitor","opts","timeout","onWaitingDataMigration","onWaitingSystemApp","onFinished","onError","shouldPreboot","udid","requireUdid","status","isBootingFinished","error","timeoutHandler","args","push","bootMonitor","exec","asynchronous","on","stdout","stderr","includes","code","signal","clearTimeout","Error","start","stopMonitor","isRunning","stop","e","log","warn","message","process","hrtime","setTimeout","waitForCondition","waitMs","intervalMs","err","seconds","_default","exports","default"],"sources":["../../../lib/subcommands/bootstatus.js"],"sourcesContent":["import log from '../logger';\nimport { waitForCondition } from 'asyncbox';\n\n\nconst commands = {};\n\n/**\n * @typedef {Object} BootMonitorOptions\n * @property {number} timeout [240000] - Simulator booting timeout in ms.\n * @property {Function?} onWaitingDataMigration - This event is fired when data migration stage starts.\n * @property {Function?} onWaitingSystemApp - This event is fired when system app wait stage starts.\n * @property {Function?} onFinished - This event is fired when Simulator is fully booted.\n * @property {Function?} onError - This event is fired when there was an error while monitoring the booting process\n * or when the timeout has expired.\n * @property {boolean} shouldPreboot [false] Whether to preboot the Simulator\n * if this command is called and it is not already in booted or booting state.\n */\n\n/**\n * Start monitoring for boot status of the particular Simulator.\n * If onFinished property is not set then the method will block\n * until Simulator booting is completed.\n * The method is only available since Xcode8.\n *\n * @param {BootMonitorOptions} opts - Monitoring options.\n * @returns {Promise<SubProcess>} The instance of the corresponding monitoring process.\n * @throws {Error} If the Simulator fails to finish booting within the given timeout and onFinished\n * property is not set.\n * @throws {Error} If the `udid` instance property is unset\n */\ncommands.startBootMonitor = async function startBootMonitor (opts = {}) {\n const {\n timeout = 240000,\n onWaitingDataMigration,\n onWaitingSystemApp,\n onFinished,\n onError,\n shouldPreboot,\n } = opts;\n const udid = this.requireUdid('bootstatus');\n\n let status = '';\n let isBootingFinished = false;\n let error = null;\n let timeoutHandler = null;\n const args = [udid];\n if (shouldPreboot) {\n args.push('-b');\n }\n const bootMonitor = await this.exec('bootstatus', {\n args,\n asynchronous: true,\n });\n bootMonitor.on('output', (stdout, stderr) => {\n status += stdout || stderr;\n if (stdout) {\n if (stdout.includes('Waiting on Data Migration') && onWaitingDataMigration) {\n onWaitingDataMigration();\n } else if (stdout.includes('Waiting on System App') && onWaitingSystemApp) {\n onWaitingSystemApp();\n }\n }\n });\n bootMonitor.on('exit', (code, signal) => {\n if (timeoutHandler) {\n clearTimeout(timeoutHandler);\n }\n if (code === 0) {\n if (onFinished) {\n onFinished();\n }\n isBootingFinished = true;\n } else {\n status = status || signal;\n error = new Error(status);\n if (onError) {\n onError(error);\n }\n }\n });\n await bootMonitor.start(0);\n const stopMonitor = async () => {\n if (bootMonitor.isRunning) {\n try {\n await bootMonitor.stop();\n } catch (e) {\n log.warn(e.message);\n }\n }\n };\n const start = process.hrtime();\n if (onFinished) {\n timeoutHandler = setTimeout(stopMonitor, timeout);\n } else {\n try {\n await waitForCondition(() => {\n if (error) {\n throw error;\n }\n return isBootingFinished;\n }, {waitMs: timeout, intervalMs: 500});\n } catch (err) {\n await stopMonitor();\n const [seconds] = process.hrtime(start);\n throw new Error(\n `The simulator ${udid} has failed to finish booting after ${seconds}s. ` +\n `Original status: ${status}`);\n }\n }\n return bootMonitor;\n};\n\nexport default commands;\n"],"mappings":"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"}
1
+ {"version":3,"file":"bootstatus.js","sourceRoot":"","sources":["../../../lib/subcommands/bootstatus.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ export default commands;
2
+ export type SimCreationOpts = {
3
+ /**
4
+ * [iOS] - Platform name in order to specify runtime such as 'iOS', 'tvOS', 'watchOS'
5
+ */
6
+ platform: string;
7
+ /**
8
+ * [10000] - The maximum number of milliseconds to wait
9
+ * unit device creation is completed.
10
+ */
11
+ timeout: number;
12
+ };
13
+ declare namespace commands {
14
+ /**
15
+ * @typedef {Object} SimCreationOpts
16
+ * @property {string} platform [iOS] - Platform name in order to specify runtime such as 'iOS', 'tvOS', 'watchOS'
17
+ * @property {number} timeout [10000] - The maximum number of milliseconds to wait
18
+ * unit device creation is completed.
19
+ */
20
+ /**
21
+ * Create Simulator device with given name for the particular
22
+ * platform type and version.
23
+ *
24
+ * @param {string} name - The device name to be created.
25
+ * @param {string} deviceTypeId - Device type, for example 'iPhone 6'.
26
+ * @param {string} platformVersion - Platform version, for example '10.3'.
27
+ * @param {Partial<SimCreationOpts>} opts - Simulator options for creating devices.
28
+ * @return {Promise<string>} The UDID of the newly created device.
29
+ * @throws {Error} If the corresponding simctl subcommand command
30
+ * returns non-zero return code.
31
+ */
32
+ function createDevice(name: string, deviceTypeId: string, platformVersion: string, opts?: Partial<SimCreationOpts>): Promise<string>;
33
+ }
34
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../lib/subcommands/create.js"],"names":[],"mappings":";;;;;cAac,MAAM;;;;;aACN,MAAM;;;IAHpB;;;;;OAKG;IAEH;;;;;;;;;;;OAWG;IACH,qIAoFC"}
@@ -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":";;;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAAgE,SAAAK,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAJ,wBAAAQ,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAGhE,MAAMW,2BAA2B,GAAG,KAAK;AACzC,MAAMC,gCAAgC,GAAG,KAAK;AAE9C,MAAMC,QAAQ,GAAG,CAAC,CAAC;AAqBnBA,QAAQ,CAACC,YAAY,GAAG,eAAeA,YAAYA,CAAEC,IAAI,EAAEC,YAAY,EAAEC,eAAe,EAAEC,IAAI,GAAG,CAAC,CAAC,EAAE;EACnG,MAAM;IACJC,QAAQ,GAAGR,2BAA2B;IACtCS,OAAO,GAAGR;EACZ,CAAC,GAAGM,IAAI;EAER,IAAIG,UAAU,GAAG,EAAE;EAGnB,IAAI;IACFA,UAAU,CAACC,IAAI,CAAC,MAAM,IAAI,CAACC,mCAAmC,CAACN,eAAe,EAAEE,QAAQ,CAAC,CAAC;EAC5F,CAAC,CAAC,OAAOK,GAAG,EAAE,CAAC;EAEf,IAAIC,eAAC,CAACC,OAAO,CAACL,UAAU,CAAC,EAAE;IAGzB,IAAIM,SAAS;IACb,IAAI;MACFA,SAAS,GAAG,MAAM,IAAI,CAACC,4BAA4B,CAACX,eAAe,EAAEE,QAAQ,CAAC;IAChF,CAAC,CAAC,OAAOU,GAAG,EAAE;MACZC,eAAG,CAACC,IAAI,CAAE,mCAAkCd,eAAgB,eAAc,CAAC;MAC3EU,SAAS,GAAGV,eAAe;IAC7B;IAKA,IAAIe,mBAAmB,GAAG,CAAC,IAAAC,yBAAgB,EAACN,SAAS,CAAC,CAAC;IACvD,IAAIA,SAAS,CAACO,KAAK,CAAC,GAAG,CAAC,CAACC,MAAM,KAAK,CAAC,EAAE;MAErCH,mBAAmB,CAACV,IAAI,CAACK,SAAS,CAAC;IACrC;IAIAN,UAAU,CAACC,IAAI,CACb,GAAIU,mBAAmB,CAACI,GAAG,CAAEC,EAAE,IAAM,GAAEC,yBAAiB,GAAEnB,QAAS,IAAGkB,EAAE,CAACE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAE,EAAC,CAAE,EAChG,GAAGP,mBACL,CAAC;EACH;EAGA,IAAIQ,IAAI;EACR,KAAK,MAAMb,SAAS,IAAIN,UAAU,EAAE;IAClCS,eAAG,CAACW,KAAK,CAACC,kBAAU,EACjB,iCAAgC3B,IAAK,sBAAqBC,YAAa,qBAAoBW,SAAU,GAAE,CAAC;IAC3G,IAAI;MACF,MAAM;QAACgB;MAAM,CAAC,GAAG,MAAM,IAAI,CAACC,IAAI,CAAC,QAAQ,EAAE;QACzCC,IAAI,EAAE,CAAC9B,IAAI,EAAEC,YAAY,EAAEW,SAAS;MACtC,CAAC,CAAC;MACFa,IAAI,GAAGG,MAAM,CAACG,IAAI,CAAC,CAAC;MACpB;IACF,CAAC,CAAC,OAAOtB,GAAG,EAAE,CAEd;EACF;EAEA,IAAI,CAACgB,IAAI,EAAE;IACT,MAAM,IAAIO,KAAK,CAAE,yCAAwChC,IAAK,YAAW,GACtE,YAAWC,YAAa,sBAAqB,GAC7C,GAAEK,UAAU,CAACe,GAAG,CAAEC,EAAE,IAAM,IAAGA,EAAG,GAAE,CAAC,CAACW,IAAI,CAAC,IAAI,CAAE,EAAC,CAAC;EACtD;EAGA,MAAMC,OAAO,GAAGC,QAAQ,CAAC9B,OAAO,GAAG,IAAI,EAAE,EAAE,CAAC;EAC5C,MAAM,IAAA+B,uBAAa,EAACF,OAAO,EAAE,IAAI,EAAE,YAAY;IAC7C,MAAMG,OAAO,GAAG3B,eAAC,CAAC4B,MAAM,CAAC,MAAM,IAAI,CAACC,UAAU,CAAC,CAAC,CAAC;IACjD,KAAK,MAAMC,SAAS,IAAI9B,eAAC,CAAC4B,MAAM,CAACD,OAAO,CAAC,EAAE;MACzC,KAAK,MAAMI,MAAM,IAAID,SAAS,EAAE;QAC9B,IAAIC,MAAM,CAAChB,IAAI,KAAKA,IAAI,EAAE;UACxB,IAAIgB,MAAM,CAACC,KAAK,KAAK,UAAU,EAAE;YAE/B,MAAM,IAAIV,KAAK,CAAE,qBAAoBP,IAAK,uBAAsB,CAAC;UACnE,CAAC,MAAM;YAEL;UACF;QACF;MACF;IACF;IACA,MAAM,IAAIO,KAAK,CAAE,qBAAoBP,IAAK,mBAAkB,CAAC;EAC/D,CAAC,CAAC;EAEF,OAAOA,IAAI;AACb,CAAC;AAAC,IAAAkB,QAAA,GAEa7C,QAAQ;AAAA8C,OAAA,CAAA/D,OAAA,GAAA8D,QAAA"}
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"}