appium-xcuitest-driver 10.10.0 → 10.11.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 (75) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/build/lib/app-infos-cache.d.ts +29 -31
  3. package/build/lib/app-infos-cache.d.ts.map +1 -1
  4. package/build/lib/app-infos-cache.js +29 -33
  5. package/build/lib/app-infos-cache.js.map +1 -1
  6. package/build/lib/app-utils.d.ts +30 -59
  7. package/build/lib/app-utils.d.ts.map +1 -1
  8. package/build/lib/app-utils.js +158 -211
  9. package/build/lib/app-utils.js.map +1 -1
  10. package/build/lib/commands/battery.d.ts.map +1 -1
  11. package/build/lib/commands/battery.js +4 -8
  12. package/build/lib/commands/battery.js.map +1 -1
  13. package/build/lib/commands/biometric.d.ts.map +1 -1
  14. package/build/lib/commands/biometric.js +1 -5
  15. package/build/lib/commands/biometric.js.map +1 -1
  16. package/build/lib/commands/condition.js +4 -4
  17. package/build/lib/commands/condition.js.map +1 -1
  18. package/build/lib/commands/content-size.js +1 -1
  19. package/build/lib/commands/content-size.js.map +1 -1
  20. package/build/lib/commands/find.js +2 -2
  21. package/build/lib/commands/find.js.map +1 -1
  22. package/build/lib/commands/increase-contrast.js +1 -1
  23. package/build/lib/commands/increase-contrast.js.map +1 -1
  24. package/build/lib/commands/keychains.d.ts.map +1 -1
  25. package/build/lib/commands/keychains.js +1 -5
  26. package/build/lib/commands/keychains.js.map +1 -1
  27. package/build/lib/commands/localization.d.ts.map +1 -1
  28. package/build/lib/commands/localization.js +1 -5
  29. package/build/lib/commands/localization.js.map +1 -1
  30. package/build/lib/commands/pasteboard.d.ts.map +1 -1
  31. package/build/lib/commands/pasteboard.js +10 -8
  32. package/build/lib/commands/pasteboard.js.map +1 -1
  33. package/build/lib/commands/permissions.js +1 -1
  34. package/build/lib/commands/permissions.js.map +1 -1
  35. package/build/lib/css-converter.d.ts +3 -9
  36. package/build/lib/css-converter.d.ts.map +1 -1
  37. package/build/lib/css-converter.js +41 -52
  38. package/build/lib/css-converter.js.map +1 -1
  39. package/build/lib/device/real-device-management.js +14 -14
  40. package/build/lib/device/real-device-management.js.map +1 -1
  41. package/build/lib/device/simulator-management.d.ts.map +1 -1
  42. package/build/lib/device/simulator-management.js +8 -4
  43. package/build/lib/device/simulator-management.js.map +1 -1
  44. package/build/lib/driver.d.ts.map +1 -1
  45. package/build/lib/driver.js +3 -3
  46. package/build/lib/driver.js.map +1 -1
  47. package/build/lib/logger.d.ts +1 -2
  48. package/build/lib/logger.d.ts.map +1 -1
  49. package/build/lib/logger.js +2 -2
  50. package/build/lib/logger.js.map +1 -1
  51. package/build/lib/utils.d.ts +76 -134
  52. package/build/lib/utils.d.ts.map +1 -1
  53. package/build/lib/utils.js +80 -141
  54. package/build/lib/utils.js.map +1 -1
  55. package/lib/{app-infos-cache.js → app-infos-cache.ts} +44 -46
  56. package/lib/{app-utils.js → app-utils.ts} +215 -245
  57. package/lib/commands/battery.js +3 -4
  58. package/lib/commands/biometric.js +1 -2
  59. package/lib/commands/condition.js +1 -1
  60. package/lib/commands/content-size.js +1 -1
  61. package/lib/commands/find.js +1 -1
  62. package/lib/commands/increase-contrast.js +1 -1
  63. package/lib/commands/keychains.js +1 -2
  64. package/lib/commands/localization.js +1 -2
  65. package/lib/commands/pasteboard.js +9 -8
  66. package/lib/commands/permissions.js +1 -1
  67. package/lib/{css-converter.js → css-converter.ts} +75 -88
  68. package/lib/device/real-device-management.ts +1 -1
  69. package/lib/device/simulator-management.ts +9 -4
  70. package/lib/driver.ts +6 -4
  71. package/lib/logger.ts +3 -0
  72. package/lib/{utils.js → utils.ts} +102 -139
  73. package/npm-shrinkwrap.json +38 -32
  74. package/package.json +3 -3
  75. package/lib/logger.js +0 -5
@@ -36,27 +36,27 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.DEFAULT_TIMEOUT_KEY = exports.getDriverInfo = exports.NATIVE_WIN = exports.UDID_AUTO = void 0;
40
- exports.removeAllSessionWebSocketHandlers = removeAllSessionWebSocketHandlers;
41
- exports.assertSimulator = assertSimulator;
42
- exports.isTvOs = isTvOs;
43
- exports.normalizePlatformName = normalizePlatformName;
44
- exports.shouldSetInitialSafariUrl = shouldSetInitialSafariUrl;
45
- exports.isIos17OrNewer = isIos17OrNewer;
46
- exports.isIos18OrNewer = isIos18OrNewer;
39
+ exports.getDriverInfo = exports.NATIVE_WIN = exports.DEFAULT_TIMEOUT_KEY = exports.UDID_AUTO = void 0;
47
40
  exports.getAndCheckXcodeVersion = getAndCheckXcodeVersion;
48
41
  exports.getAndCheckIosSdkVersion = getAndCheckIosSdkVersion;
49
- exports.checkAppPresent = checkAppPresent;
42
+ exports.clearLogs = clearLogs;
43
+ exports.markSystemFilesForCleanup = markSystemFilesForCleanup;
50
44
  exports.clearSystemFiles = clearSystemFiles;
45
+ exports.checkAppPresent = checkAppPresent;
51
46
  exports.normalizeCommandTimeouts = normalizeCommandTimeouts;
52
- exports.markSystemFilesForCleanup = markSystemFilesForCleanup;
53
47
  exports.printUser = printUser;
54
48
  exports.getPIDsListeningOnPort = getPIDsListeningOnPort;
55
49
  exports.encodeBase64OrUpload = encodeBase64OrUpload;
50
+ exports.removeAllSessionWebSocketHandlers = removeAllSessionWebSocketHandlers;
56
51
  exports.isLocalHost = isLocalHost;
57
52
  exports.normalizePlatformVersion = normalizePlatformVersion;
58
- exports.clearLogs = clearLogs;
59
53
  exports.requireArgs = requireArgs;
54
+ exports.assertSimulator = assertSimulator;
55
+ exports.isTvOs = isTvOs;
56
+ exports.normalizePlatformName = normalizePlatformName;
57
+ exports.shouldSetInitialSafariUrl = shouldSetInitialSafariUrl;
58
+ exports.isIos17OrNewer = isIos17OrNewer;
59
+ exports.isIos18OrNewer = isIos18OrNewer;
60
60
  const xcode = __importStar(require("appium-xcode"));
61
61
  const driver_1 = require("appium/driver");
62
62
  const support_1 = require("appium/support");
@@ -67,57 +67,35 @@ const node_path_1 = __importDefault(require("node:path"));
67
67
  const node_url_1 = __importDefault(require("node:url"));
68
68
  const semver = __importStar(require("semver"));
69
69
  const teen_process_1 = require("teen_process");
70
- const logger_1 = __importDefault(require("./logger"));
70
+ const logger_1 = require("./logger");
71
71
  const desired_caps_1 = require("./desired-caps");
72
72
  exports.UDID_AUTO = 'auto';
73
73
  const MODULE_NAME = 'appium-xcuitest-driver';
74
- const DEFAULT_TIMEOUT_KEY = 'default';
75
- exports.DEFAULT_TIMEOUT_KEY = DEFAULT_TIMEOUT_KEY;
74
+ exports.DEFAULT_TIMEOUT_KEY = 'default';
76
75
  const XCTEST_LOG_FILES_PATTERNS = [
77
76
  /^Session-WebDriverAgentRunner.*\.log$/i,
78
77
  /^StandardOutputAndStandardError\.txt$/i,
79
78
  ];
80
79
  const XCTEST_LOGS_CACHE_FOLDER_PREFIX = 'com.apple.dt.XCTest';
81
80
  exports.NATIVE_WIN = 'NATIVE_APP';
82
- /**
83
- * @privateRemarks Is the minimum version really Xcode 7.3?
84
- * @returns {Promise<XcodeVersion>}
85
- */
86
81
  async function getAndCheckXcodeVersion() {
87
- /** @type {XcodeVersion} */
88
- let version;
89
82
  try {
90
- version = /** @type {XcodeVersion} */ (await xcode.getVersion(true));
83
+ return await xcode.getVersion(true);
91
84
  }
92
85
  catch (err) {
93
- logger_1.default.error(err);
94
- throw new Error(`Could not determine Xcode version: ${err.message}`);
95
- }
96
- // we do not support Xcodes < 7.3,
97
- if (version.versionFloat < 7.3) {
98
- const msg = `Xcode ${version.versionString} is not supported. Please upgrade to version 7.3 or higher`;
99
- logger_1.default.error(msg);
100
- throw new Error(msg);
86
+ throw logger_1.log.errorWithException(`Could not determine Xcode version: ${err.message}`);
101
87
  }
102
- return version;
103
88
  }
104
- /**
105
- * @returns {Promise<string|null>}
106
- */
107
89
  async function getAndCheckIosSdkVersion() {
108
90
  try {
109
91
  return await xcode.getMaxIOSSDK();
110
92
  }
111
93
  catch (err) {
112
- throw logger_1.default.errorWithException(`Could not determine iOS SDK version: ${err.message}`);
94
+ throw logger_1.log.errorWithException(`Could not determine iOS SDK version: ${err.message}`);
113
95
  }
114
96
  }
115
- /**
116
- * @param {string[]} locations
117
- * @returns {Promise<void>}
118
- */
119
97
  async function clearLogs(locations) {
120
- logger_1.default.debug('Clearing log files');
98
+ logger_1.log.debug('Clearing log files');
121
99
  const cleanupPromises = [];
122
100
  for (const location of locations) {
123
101
  if (!(await support_1.fs.exists(location))) {
@@ -131,18 +109,18 @@ async function clearLogs(locations) {
131
109
  }
132
110
  catch { }
133
111
  try {
134
- logger_1.default.debug(`Deleting '${location}'. ${size ? `Freeing ${size}.` : ''}`);
112
+ logger_1.log.debug(`Deleting '${location}'. ${size ? `Freeing ${size}.` : ''}`);
135
113
  await support_1.fs.rimraf(location);
136
114
  }
137
115
  catch (err) {
138
- logger_1.default.warn(`Unable to delete '${location}': ${err.message}`);
116
+ logger_1.log.warn(`Unable to delete '${location}': ${err.message}`);
139
117
  }
140
118
  })());
141
119
  }
142
120
  if (!lodash_1.default.isEmpty(cleanupPromises)) {
143
121
  await bluebird_1.default.all(cleanupPromises);
144
122
  }
145
- logger_1.default.debug('Finished clearing log files');
123
+ logger_1.log.debug('Finished clearing log files');
146
124
  }
147
125
  // This map contains derived data logs folders as keys
148
126
  // and values are the count of times the particular
@@ -150,28 +128,30 @@ async function clearLogs(locations) {
150
128
  const derivedDataCleanupMarkers = new Map();
151
129
  async function markSystemFilesForCleanup(wda) {
152
130
  if (!wda || !(await wda.retrieveDerivedDataPath())) {
153
- logger_1.default.warn('No WebDriverAgent derived data available, so unable to mark system files for cleanup');
131
+ logger_1.log.warn('No WebDriverAgent derived data available, so unable to mark system files for cleanup');
154
132
  return;
155
133
  }
156
134
  const logsRoot = node_path_1.default.resolve(await wda.retrieveDerivedDataPath(), 'Logs');
157
135
  let markersCount = 0;
158
- if (derivedDataCleanupMarkers.has(logsRoot)) {
159
- markersCount = derivedDataCleanupMarkers.get(logsRoot);
136
+ const existingCount = derivedDataCleanupMarkers.get(logsRoot);
137
+ if (existingCount !== undefined) {
138
+ markersCount = existingCount;
160
139
  }
161
140
  derivedDataCleanupMarkers.set(logsRoot, ++markersCount);
162
141
  }
163
142
  async function clearSystemFiles(wda) {
164
143
  // only want to clear the system files for the particular WDA xcode run
165
144
  if (!wda || !(await wda.retrieveDerivedDataPath())) {
166
- logger_1.default.warn('No WebDriverAgent derived data available, so unable to clear system files');
145
+ logger_1.log.warn('No WebDriverAgent derived data available, so unable to clear system files');
167
146
  return;
168
147
  }
169
148
  const logsRoot = node_path_1.default.resolve(await wda.retrieveDerivedDataPath(), 'Logs');
170
- if (derivedDataCleanupMarkers.has(logsRoot)) {
171
- let markersCount = derivedDataCleanupMarkers.get(logsRoot);
149
+ const existingCount = derivedDataCleanupMarkers.get(logsRoot);
150
+ if (existingCount !== undefined) {
151
+ let markersCount = existingCount;
172
152
  derivedDataCleanupMarkers.set(logsRoot, --markersCount);
173
153
  if (markersCount > 0) {
174
- logger_1.default.info(`Not cleaning '${logsRoot}' folder, because the other session does not expect it to be cleaned`);
154
+ logger_1.log.info(`Not cleaning '${logsRoot}' folder, because the other session does not expect it to be cleaned`);
175
155
  return;
176
156
  }
177
157
  }
@@ -180,11 +160,10 @@ async function clearSystemFiles(wda) {
180
160
  const globPattern = `${node_os_1.default.tmpdir()}/${XCTEST_LOGS_CACHE_FOLDER_PREFIX}*/`;
181
161
  const dstFolders = await support_1.fs.glob(globPattern);
182
162
  if (lodash_1.default.isEmpty(dstFolders)) {
183
- logger_1.default.debug(`Did not find the temporary XCTest logs root at '${globPattern}'`);
163
+ logger_1.log.debug(`Did not find the temporary XCTest logs root at '${globPattern}'`);
184
164
  }
185
165
  else {
186
166
  // perform the cleanup asynchronously
187
- /** @type {Promise[]} */
188
167
  const promises = [];
189
168
  for (const dstFolder of dstFolders) {
190
169
  const promise = (async () => {
@@ -200,39 +179,41 @@ async function clearSystemFiles(wda) {
200
179
  });
201
180
  }
202
181
  catch (e) {
203
- logger_1.default.debug(e.stack);
204
- logger_1.default.info(e.message);
182
+ logger_1.log.debug(e.stack);
183
+ logger_1.log.info(e.message);
205
184
  }
206
185
  })();
207
186
  promises.push(promise);
208
187
  }
209
- logger_1.default.debug(`Started XCTest logs cleanup in '${dstFolders}'`);
188
+ logger_1.log.debug(`Started XCTest logs cleanup in '${dstFolders}'`);
210
189
  if (promises.length) {
211
190
  await bluebird_1.default.all(promises);
212
191
  }
213
192
  }
214
193
  if (await support_1.fs.exists(logsRoot)) {
215
- logger_1.default.info(`Cleaning test logs in '${logsRoot}' folder`);
194
+ logger_1.log.info(`Cleaning test logs in '${logsRoot}' folder`);
216
195
  await clearLogs([logsRoot]);
217
196
  return;
218
197
  }
219
- logger_1.default.info(`There is no ${logsRoot} folder, so not cleaning files`);
198
+ logger_1.log.info(`There is no ${logsRoot} folder, so not cleaning files`);
220
199
  }
221
200
  async function checkAppPresent(app) {
222
- logger_1.default.debug(`Checking whether app '${app}' is actually present on file system`);
201
+ logger_1.log.debug(`Checking whether app '${app}' is actually present on file system`);
223
202
  if (!(await support_1.fs.exists(app))) {
224
- throw logger_1.default.errorWithException(`Could not find app at '${app}'`);
203
+ throw logger_1.log.errorWithException(`Could not find app at '${app}'`);
225
204
  }
226
- logger_1.default.debug('App is present');
205
+ logger_1.log.debug('App is present');
227
206
  }
228
207
  /**
229
208
  * Reads the content to the current module's package.json
230
209
  *
231
- * @returns {Promise<Record<string, any>>} The full path to module root
232
- * @throws {Error} If the current module's package.json cannot be determined
210
+ * @returns The full path to module root
211
+ * @throws If the current module's package.json cannot be determined
233
212
  */
234
213
  const getModuleManifest = lodash_1.default.memoize(async function getModuleManifest() {
235
- let currentDir = node_path_1.default.dirname(node_path_1.default.resolve(__filename));
214
+ // Start from the directory containing the compiled output (build/lib) or source (lib)
215
+ // and walk up to find package.json
216
+ let currentDir = node_path_1.default.resolve(__dirname, '..');
236
217
  let isAtFsRoot = false;
237
218
  while (!isAtFsRoot) {
238
219
  const manifestPath = node_path_1.default.join(currentDir, 'package.json');
@@ -245,20 +226,16 @@ const getModuleManifest = lodash_1.default.memoize(async function getModuleManif
245
226
  }
246
227
  }
247
228
  catch { }
248
- currentDir = node_path_1.default.dirname(currentDir);
249
- isAtFsRoot = currentDir.length <= node_path_1.default.dirname(currentDir).length;
229
+ const parentDir = node_path_1.default.dirname(currentDir);
230
+ isAtFsRoot = currentDir.length <= parentDir.length;
231
+ currentDir = parentDir;
250
232
  }
251
233
  throw new Error(`Cannot find the package manifest of the ${MODULE_NAME} Node.js module`);
252
234
  });
253
235
  /**
254
- * @typedef {Object} DriverInfo
255
- * @property {string} version Driver version string
256
- * @property {string} built Driver build timestamp
236
+ * @returns
257
237
  */
258
- /**
259
- * @returns {DriverInfo}
260
- */
261
- const getDriverInfo = lodash_1.default.memoize(async function getDriverInfo() {
238
+ exports.getDriverInfo = lodash_1.default.memoize(async function getDriverInfo() {
262
239
  const [stat, manifest] = await bluebird_1.default.all([
263
240
  support_1.fs.stat(node_path_1.default.resolve(__dirname, '..')),
264
241
  getModuleManifest(),
@@ -268,7 +245,6 @@ const getDriverInfo = lodash_1.default.memoize(async function getDriverInfo() {
268
245
  version: manifest.version,
269
246
  };
270
247
  });
271
- exports.getDriverInfo = getDriverInfo;
272
248
  function normalizeCommandTimeouts(value) {
273
249
  // The value is normalized already
274
250
  if (typeof value !== 'string') {
@@ -277,7 +253,7 @@ function normalizeCommandTimeouts(value) {
277
253
  let result = {};
278
254
  // Use as default timeout for all commands if a single integer value is provided
279
255
  if (!isNaN(Number(value))) {
280
- result[DEFAULT_TIMEOUT_KEY] = lodash_1.default.toInteger(value);
256
+ result[exports.DEFAULT_TIMEOUT_KEY] = lodash_1.default.toInteger(value);
281
257
  return result;
282
258
  }
283
259
  // JSON object has been provided. Let's parse it
@@ -288,22 +264,22 @@ function normalizeCommandTimeouts(value) {
288
264
  }
289
265
  }
290
266
  catch {
291
- throw logger_1.default.errorWithException(`"commandTimeouts" capability should be a valid JSON object. "${value}" was given instead`);
267
+ throw logger_1.log.errorWithException(`"commandTimeouts" capability should be a valid JSON object. "${value}" was given instead`);
292
268
  }
293
- for (let [cmd, timeout] of lodash_1.default.toPairs(result)) {
269
+ for (const [cmd, timeout] of lodash_1.default.toPairs(result)) {
294
270
  if (!lodash_1.default.isInteger(timeout) || timeout <= 0) {
295
- throw logger_1.default.errorWithException(`The timeout for "${cmd}" should be a valid natural number of milliseconds. "${timeout}" was given instead`);
271
+ throw logger_1.log.errorWithException(`The timeout for "${cmd}" should be a valid natural number of milliseconds. "${timeout}" was given instead`);
296
272
  }
297
273
  }
298
274
  return result;
299
275
  }
300
276
  async function printUser() {
301
277
  try {
302
- let { stdout } = await (0, teen_process_1.exec)('whoami');
303
- logger_1.default.debug(`Current user: '${stdout.trim()}'`);
278
+ const { stdout } = await (0, teen_process_1.exec)('whoami');
279
+ logger_1.log.debug(`Current user: '${stdout.trim()}'`);
304
280
  }
305
281
  catch (err) {
306
- logger_1.default.debug(`Unable to get username running server: ${err.message}`);
282
+ logger_1.log.debug(`Unable to get username running server: ${err.message}`);
307
283
  }
308
284
  }
309
285
  /**
@@ -311,13 +287,13 @@ async function printUser() {
311
287
  * It is also possible to apply additional filtering based on the
312
288
  * process command line.
313
289
  *
314
- * @param {string|number} port - The port number.
315
- * @param {?Function} filteringFunc - Optional lambda function, which
290
+ * @param port - The port number.
291
+ * @param filteringFunc - Optional lambda function, which
316
292
  * receives command line string of the particular process
317
293
  * listening on given port, and is expected to return
318
294
  * either true or false to include/exclude the corresponding PID
319
295
  * from the resulting array.
320
- * @returns {Promise<string[]>} - the list of matched process ids.
296
+ * @returns - the list of matched process ids.
321
297
  */
322
298
  async function getPIDsListeningOnPort(port, filteringFunc = null) {
323
299
  const result = [];
@@ -337,37 +313,25 @@ async function getPIDsListeningOnPort(port, filteringFunc = null) {
337
313
  return await filteringFunc(stdout);
338
314
  });
339
315
  }
340
- /**
341
- * @typedef {Object} UploadOptions
342
- *
343
- * @property {string} [user] - The name of the user for the remote authentication. Only works if `remotePath` is provided.
344
- * @property {string} [pass] - The password for the remote authentication. Only works if `remotePath` is provided.
345
- * @property {import('axios').Method} [method] - The http multipart upload method name. The 'PUT' one is used by default.
346
- * Only works if `remotePath` is provided.
347
- * @property {import('@appium/types').HTTPHeaders} [headers] - Additional headers mapping for multipart http(s) uploads
348
- * @property {string} [fileFieldName] [file] - The name of the form field, where the file content BLOB should be stored for
349
- * http(s) uploads
350
- * @property {Record<string, any> | [string, any][]} [formFields] - Additional form fields for multipart http(s) uploads
351
- */
352
316
  /**
353
317
  * Encodes the given local file to base64 and returns the resulting string
354
318
  * or uploads it to a remote server using http/https or ftp protocols
355
319
  * if `remotePath` is set
356
320
  *
357
- * @param {string} localPath - The path to an existing local file
358
- * @param {string|null} [remotePath] - The path to the remote location, where
321
+ * @param localPath - The path to an existing local file
322
+ * @param remotePath - The path to the remote location, where
359
323
  * this file should be uploaded
360
- * @param {UploadOptions} uploadOptions - Set of upload options
361
- * @returns {Promise<string>} Either an empty string if the upload was successful or
324
+ * @param uploadOptions - Set of upload options
325
+ * @returns Either an empty string if the upload was successful or
362
326
  * base64-encoded file representation if `remotePath` is falsy
363
327
  */
364
328
  async function encodeBase64OrUpload(localPath, remotePath = null, uploadOptions = {}) {
365
329
  if (!(await support_1.fs.exists(localPath))) {
366
- throw logger_1.default.errorWithException(`The file at '${localPath}' does not exist or is not accessible`);
330
+ throw logger_1.log.errorWithException(`The file at '${localPath}' does not exist or is not accessible`);
367
331
  }
368
332
  if (lodash_1.default.isEmpty(remotePath)) {
369
333
  const { size } = await support_1.fs.stat(localPath);
370
- logger_1.default.debug(`The size of the file is ${support_1.util.toReadableSizeString(size)}`);
334
+ logger_1.log.debug(`The size of the file is ${support_1.util.toReadableSizeString(size)}`);
371
335
  return (await support_1.util.toInMemoryBase64(localPath)).toString();
372
336
  }
373
337
  const { user, pass, method, headers, fileFieldName, formFields } = uploadOptions;
@@ -380,7 +344,7 @@ async function encodeBase64OrUpload(localPath, remotePath = null, uploadOptions
380
344
  if (user && pass) {
381
345
  options.auth = { user, pass };
382
346
  }
383
- await support_1.net.uploadFile(localPath, /** @type {string} */ (remotePath), options);
347
+ await support_1.net.uploadFile(localPath, remotePath, options);
384
348
  return '';
385
349
  }
386
350
  /**
@@ -388,7 +352,7 @@ async function encodeBase64OrUpload(localPath, remotePath = null, uploadOptions
388
352
  * in scope of the current session.
389
353
  *
390
354
  * @this {XCUITestDriver}
391
- * @returns {Promise<void>}
355
+ * @returns
392
356
  */
393
357
  async function removeAllSessionWebSocketHandlers() {
394
358
  if (!this.sessionId || !lodash_1.default.isFunction(this.server?.getWebSocketHandlers)) {
@@ -401,25 +365,25 @@ async function removeAllSessionWebSocketHandlers() {
401
365
  }
402
366
  /**
403
367
  * Returns true if the urlString is localhost
404
- * @param {string} urlString
405
- * @returns {boolean} Return true if the urlString is localhost
368
+ * @param urlString
369
+ * @returns Return true if the urlString is localhost
406
370
  */
407
371
  function isLocalHost(urlString) {
408
372
  try {
409
- const hostname = /** @type {string} */ (node_url_1.default.parse(urlString).hostname);
373
+ const hostname = node_url_1.default.parse(urlString).hostname;
410
374
  return ['localhost', '127.0.0.1', '::1', '::ffff:127.0.0.1'].includes(hostname);
411
375
  }
412
376
  catch {
413
- logger_1.default.warn(`'${urlString}' cannot be parsed as a valid URL`);
377
+ logger_1.log.warn(`'${urlString}' cannot be parsed as a valid URL`);
414
378
  }
415
379
  return false;
416
380
  }
417
381
  /**
418
382
  * Normalizes platformVersion to a valid iOS version string
419
383
  *
420
- * @param {string} originalVersion - Loose version number, that can be parsed by semver
421
- * @return {string} iOS version number in <major>.<minor> format
422
- * @throws {Error} if the version number cannot be parsed
384
+ * @param originalVersion - Loose version number, that can be parsed by semver
385
+ * @return iOS version number in <major>.<minor> format
386
+ * @throws if the version number cannot be parsed
423
387
  */
424
388
  function normalizePlatformVersion(originalVersion) {
425
389
  const normalizedVersion = semver.coerce(originalVersion);
@@ -431,9 +395,9 @@ function normalizePlatformVersion(originalVersion) {
431
395
  /**
432
396
  * Assert the presence of particular keys in the given object
433
397
  *
434
- * @param {string|Array<string>} argNames one or more key names
435
- * @param {Object} opts the object to check
436
- * @returns {Object} the same given object
398
+ * @param argNames one or more key names
399
+ * @param opts the object to check
400
+ * @returns the same given object
437
401
  */
438
402
  function requireArgs(argNames, opts = {}) {
439
403
  for (const argName of lodash_1.default.isArray(argNames) ? argNames : [argNames]) {
@@ -447,59 +411,34 @@ function requireArgs(argNames, opts = {}) {
447
411
  * Asserts that the given driver is running on a Simulator and return
448
412
  * the simlator instance.
449
413
  *
450
- * @param {string} action - Description of action
451
- * @param {import('./driver').XCUITestDriver} driver
452
- * @returns {Simulator}
414
+ * @param action - Description of action
453
415
  */
454
- function assertSimulator(action, driver) {
455
- if (!driver.isSimulator()) {
416
+ function assertSimulator(action) {
417
+ if (!this.isSimulator()) {
456
418
  throw new Error(`${lodash_1.default.upperFirst(action)} can only be performed on Simulator`);
457
419
  }
458
- return /** @type{Simulator} */ (driver.device);
420
+ return this.device;
459
421
  }
460
422
  /**
461
423
  * Check if platform name is the TV OS one.
462
- *
463
- * @param {string|null|undefined} platformName
464
- * @returns {boolean}
465
424
  */
466
425
  function isTvOs(platformName) {
467
426
  return lodash_1.default.toLower(platformName ?? '') === lodash_1.default.toLower(desired_caps_1.PLATFORM_NAME_TVOS);
468
427
  }
469
428
  /**
470
429
  * Return normalized platform name.
471
- *
472
- * @param {string|null|undefined} platformName
473
- * @returns {string}
474
430
  */
475
431
  function normalizePlatformName(platformName) {
476
432
  return isTvOs(platformName) ? desired_caps_1.PLATFORM_NAME_TVOS : desired_caps_1.PLATFORM_NAME_IOS;
477
433
  }
478
- /**
479
- * @param {import('./driver').XCUITestDriverOpts} opts
480
- * @returns {boolean}
481
- */
482
434
  function shouldSetInitialSafariUrl(opts) {
483
435
  return !(opts.safariInitialUrl === '' || (opts.noReset && lodash_1.default.isNil(opts.safariInitialUrl)))
484
436
  && !opts.initialDeeplinkUrl;
485
437
  }
486
- /**
487
- * @param {import('./driver').XCUITestDriverOpts} opts
488
- * @returns {boolean}
489
- */
490
438
  function isIos17OrNewer(opts) {
491
439
  return !!opts.platformVersion && support_1.util.compareVersions(opts.platformVersion, '>=', '17.0');
492
440
  }
493
- /**
494
- * @param {import('./driver').XCUITestDriverOpts} opts
495
- * @returns {boolean}
496
- */
497
441
  function isIos18OrNewer(opts) {
498
442
  return !!opts.platformVersion && support_1.util.compareVersions(opts.platformVersion, '>=', '18.0');
499
443
  }
500
- /**
501
- * @typedef {import('appium-xcode').XcodeVersion} XcodeVersion
502
- * @typedef {import('appium-ios-simulator').Simulator} Simulator
503
- * @typedef {import('./driver').XCUITestDriver} XCUITestDriver
504
- */
505
444
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"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"}