appium-mac2-driver 3.3.1 → 3.3.2

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 (36) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/lib/commands/execute.d.ts.map +1 -1
  3. package/build/lib/commands/execute.js +1 -5
  4. package/build/lib/commands/execute.js.map +1 -1
  5. package/build/lib/commands/gestures.d.ts.map +1 -1
  6. package/build/lib/commands/gestures.js +6 -7
  7. package/build/lib/commands/gestures.js.map +1 -1
  8. package/build/lib/commands/helpers.d.ts.map +1 -1
  9. package/build/lib/commands/helpers.js +1 -5
  10. package/build/lib/commands/helpers.js.map +1 -1
  11. package/build/lib/commands/native-record-screen.d.ts.map +1 -1
  12. package/build/lib/commands/native-record-screen.js +6 -6
  13. package/build/lib/commands/native-record-screen.js.map +1 -1
  14. package/build/lib/commands/record-screen.d.ts.map +1 -1
  15. package/build/lib/commands/record-screen.js +4 -4
  16. package/build/lib/commands/record-screen.js.map +1 -1
  17. package/build/lib/driver.d.ts.map +1 -1
  18. package/build/lib/driver.js +5 -6
  19. package/build/lib/driver.js.map +1 -1
  20. package/build/lib/utils.d.ts +4 -8
  21. package/build/lib/utils.d.ts.map +1 -1
  22. package/build/lib/utils.js +33 -10
  23. package/build/lib/utils.js.map +1 -1
  24. package/build/lib/wda-mac.d.ts.map +1 -1
  25. package/build/lib/wda-mac.js +14 -13
  26. package/build/lib/wda-mac.js.map +1 -1
  27. package/lib/commands/execute.ts +1 -2
  28. package/lib/commands/gestures.ts +8 -4
  29. package/lib/commands/helpers.ts +1 -2
  30. package/lib/commands/native-record-screen.ts +6 -6
  31. package/lib/commands/record-screen.ts +4 -4
  32. package/lib/driver.ts +5 -6
  33. package/lib/utils.ts +33 -7
  34. package/lib/wda-mac.ts +15 -14
  35. package/npm-shrinkwrap.json +118 -100
  36. package/package.json +1 -3
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.WDA_MAC_SERVER = exports.WDAMacServer = exports.WDAMacProxy = void 0;
7
- const lodash_1 = __importDefault(require("lodash"));
8
7
  const node_path_1 = __importDefault(require("node:path"));
9
8
  const node_url_1 = __importDefault(require("node:url"));
10
9
  const axios_1 = __importDefault(require("axios"));
@@ -191,7 +190,7 @@ class WDAMacProcess {
191
190
  if (!this._showServerLogs) {
192
191
  return;
193
192
  }
194
- const line = lodash_1.default.trim(stdout || stderr);
193
+ const line = (stdout ?? stderr ?? '').trim();
195
194
  if (line) {
196
195
  log.debug(`[${XCODEBUILD}] ${line}`);
197
196
  }
@@ -208,7 +207,7 @@ class WDAMacProcess {
208
207
  return;
209
208
  }
210
209
  const childrenPids = await this.listChildrenPids();
211
- if (!lodash_1.default.isEmpty(childrenPids)) {
210
+ if (childrenPids.length > 0) {
212
211
  try {
213
212
  await (0, teen_process_1.exec)('kill', childrenPids);
214
213
  }
@@ -221,7 +220,7 @@ class WDAMacProcess {
221
220
  return;
222
221
  }
223
222
  const childrenPids = await this.listChildrenPids();
224
- if (!lodash_1.default.isEmpty(childrenPids)) {
223
+ if (childrenPids.length > 0) {
225
224
  try {
226
225
  await (0, teen_process_1.exec)('kill', ['-9', ...childrenPids]);
227
226
  }
@@ -234,8 +233,8 @@ class WDAMacProcess {
234
233
  }
235
234
  hasSameOpts(opts) {
236
235
  const { showServerLogs, systemPort, systemHost, bootstrapRoot } = opts;
237
- if ((lodash_1.default.isBoolean(showServerLogs) && this._showServerLogs !== showServerLogs) ||
238
- (lodash_1.default.isNil(showServerLogs) && this._showServerLogs !== DEFAULT_SHOW_SERVER_LOGS)) {
236
+ if ((typeof showServerLogs === 'boolean' && this._showServerLogs !== showServerLogs) ||
237
+ (showServerLogs == null && this._showServerLogs !== DEFAULT_SHOW_SERVER_LOGS)) {
239
238
  return false;
240
239
  }
241
240
  if ((systemPort && this.port !== systemPort) ||
@@ -331,7 +330,9 @@ class WDAMacServer {
331
330
  const childrenPids = await this._process.listChildrenPids();
332
331
  if (pid !== null) {
333
332
  RUNNING_PROCESS_IDS.push(...childrenPids, pid);
334
- this._process.proc?.on('exit', () => void lodash_1.default.pull(RUNNING_PROCESS_IDS, pid));
333
+ this._process.proc?.on('exit', () => {
334
+ (0, utils_1.removeAllOccurrences)(RUNNING_PROCESS_IDS, pid);
335
+ });
335
336
  }
336
337
  log.info(`The host process is ready within ${timer.getDuration().asMilliSeconds.toFixed(0)}ms`);
337
338
  }
@@ -401,13 +402,13 @@ class WDAMacServer {
401
402
  `in the capabilities is invalid. ${e.message}`);
402
403
  }
403
404
  const { protocol, hostname, port, pathname } = parsedUrl;
404
- if (lodash_1.default.isString(protocol)) {
405
+ if (typeof protocol === 'string') {
405
406
  scheme = protocol.split(':')[0];
406
407
  }
407
408
  return {
408
409
  scheme,
409
410
  host: hostname ?? DEFAULT_SYSTEM_HOST,
410
- port: lodash_1.default.isEmpty(port) ? DEFAULT_SYSTEM_PORT : lodash_1.default.parseInt(port),
411
+ port: port.length === 0 ? DEFAULT_SYSTEM_PORT : Number.parseInt(port, 10),
411
412
  path: pathname === '/' ? '' : pathname,
412
413
  };
413
414
  }
@@ -416,23 +417,23 @@ exports.WDAMacServer = WDAMacServer;
416
417
  exports.WDA_MAC_SERVER = new WDAMacServer();
417
418
  // Private functions
418
419
  async function cleanupObsoleteProcesses() {
419
- if (!lodash_1.default.isEmpty(RUNNING_PROCESS_IDS)) {
420
+ if (RUNNING_PROCESS_IDS.length > 0) {
420
421
  log.debug(`Cleaning up ${RUNNING_PROCESS_IDS.length} obsolete ` +
421
422
  support_1.util.pluralize('process', RUNNING_PROCESS_IDS.length, false));
422
423
  try {
423
424
  await (0, teen_process_1.exec)('kill', ['-9', ...RUNNING_PROCESS_IDS.map(String)]);
424
425
  }
425
426
  catch { }
426
- lodash_1.default.pullAll(RUNNING_PROCESS_IDS, RUNNING_PROCESS_IDS);
427
+ (0, utils_1.clearArray)(RUNNING_PROCESS_IDS);
427
428
  }
428
429
  }
429
430
  process.once('exit', () => {
430
- if (!lodash_1.default.isEmpty(RUNNING_PROCESS_IDS)) {
431
+ if (RUNNING_PROCESS_IDS.length > 0) {
431
432
  try {
432
433
  (0, node_child_process_1.execSync)(`kill -9 ${RUNNING_PROCESS_IDS.map(String).join(' ')}`);
433
434
  }
434
435
  catch { }
435
- lodash_1.default.pullAll(RUNNING_PROCESS_IDS, RUNNING_PROCESS_IDS);
436
+ (0, utils_1.clearArray)(RUNNING_PROCESS_IDS);
436
437
  }
437
438
  });
438
439
  //# sourceMappingURL=wda-mac.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wda-mac.js","sourceRoot":"","sources":["../../lib/wda-mac.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,0DAA6B;AAC7B,wDAA2B;AAC3B,kDAA0B;AAC1B,wDAAyB;AACzB,0CAA8C;AAC9C,4CAAwD;AACxD,iDAA4C;AAC5C,+CAA8C;AAC9C,uCAA0C;AAC1C,6CAA4C;AAC5C,2DAA4C;AAE5C,mCAA8D;AAE9D,MAAM,GAAG,GAAG,gBAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;AAElD,MAAM,gBAAgB,GAAG,mBAAI,CAAC,OAAO,CAAC,IAAA,qBAAa,GAAE,EAAE,mBAAmB,CAAC,CAAC;AAC5E,MAAM,gBAAgB,GAAG,6BAA6B,CAAC;AACvD,MAAM,WAAW,GAAG,CAAC,OAAO,GAAG,gBAAgB,EAAE,EAAE,CAAC,mBAAI,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;AAC5F,MAAM,aAAa,GAAG,sBAAsB,CAAC;AAC7C,MAAM,iBAAiB,GAAG,gCAAgC,CAAC;AAC3D,MAAM,UAAU,GAAG,YAAY,CAAC;AAChC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAClC,MAAM,mBAAmB,GAAG,WAAW,CAAC;AACxC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AACvC,MAAM,mBAAmB,GAAwB,EAAE,CAAC;AACpD,MAAM,6BAA6B,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,EAAE,cAAc,CAAC,CAAC;AACjG,MAAM,+BAA+B,GAAG,wBAAwB,CAAC;AAMjE,MAAa,WAAY,SAAQ,gBAAO;IAC/B,cAAc,GAAY,KAAK,CAAC;IAE9B,KAAK,CAAC,YAAY,CACzB,GAAW,EACX,MAAkB,EAClB,OAAiB,IAAI;QAErB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,eAAM,CAAC,mBAAmB,CAClC,IAAI,MAAM,IAAI,GAAG,oDAAoD;gBACnE,sFAAsF,CACzF,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;CACF;AAhBD,kCAgBC;AAED,MAAM,aAAa;IACV,IAAI,GAAW,mBAAmB,CAAC;IACnC,IAAI,GAAW,mBAAmB,CAAC;IACnC,aAAa,GAAW,gBAAgB,CAAC;IACzC,IAAI,GAAsB,IAAI,CAAC;IAC9B,eAAe,GAAY,wBAAwB,CAAC;IAE5D,IAAI,SAAS;QACX,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;IAChC,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,IAAA,8BAAsB,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,MAAM,YAAE,CAAC,QAAQ,CAAC,mBAAI,CAAC,IAAI,CAAC,IAAA,qBAAa,GAAE,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CACnC,CAAC;QACrC,MAAM,GAAG,GAAG,IAAA,qBAAS,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,aAAa,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,6BAA6B,CAAC,CAAC;YAC1F,IAAI,MAAM,YAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;gBACnC,yEAAyE;gBACzE,qEAAqE;gBACrE,qEAAqE;gBACrE,IAAI,CAAC;oBACH,OAAO,GAAG,MAAM,GAAG,CAAC,mBAAmB,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAC;gBACpF,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,GAAG,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oBACxE,OAAO;gBACT,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,IAAI,CACN,oFAAoF,CACrF,CAAC;gBACF,IAAI,CAAC;oBACH,MAAM,GAAG,CAAC,mBAAmB,CAAC,+BAA+B,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;gBACtF,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,GAAG,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC1E,CAAC;gBACD,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,mBAAmB,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC;YACH,mBAAmB,GAAG,cAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QACtE,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,GAAG,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/E,GAAG,CAAC,IAAI,CACN,mBAAmB,WAAW,CAAC,OAAO,8CAA8C,CACrF,CAAC;YACF,MAAM,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QAED,IAAI,cAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACzE,GAAG,CAAC,IAAI,CACN,6EAA6E;gBAC3E,IAAI,mBAAmB,OAAO,WAAW,CAAC,OAAO,GAAG,CACvD,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;YAC9F,MAAM,IAAA,mBAAI,EAAC,UAAU,EAAE,IAAI,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,aAAa,EAAC,CAAC,CAAC;YACxD,MAAM,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,GAAG,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAiC,EAAE;QAC5C,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,eAAe,CAAC;QACnE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC;QAE9D,GAAG,CAAC,KAAK,CAAC,yBAAyB,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,CAAC,MAAM,YAAE,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CACb,GAAG,gBAAgB,uBAAuB,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK;gBAC5E,4CAA4C,CAC/C,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,wBAAwB,EAAE,CAAC;QAEjC,IAAI,UAAkB,CAAC;QACvB,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,YAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,GAAG,UAAU,mCAAmC;gBAC9C,yDAAyD,CAC5D,CAAC;QACJ,CAAC;QACD,GAAG,CAAC,KAAK,CAAC,SAAS,UAAU,eAAe,UAAU,GAAG,CAAC,CAAC;QAE3D,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAEnC,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,iBAAiB,CAAC,CAAC;QAC/C,GAAG,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,KAAK,IAAsB,EAAE,CAC9C,CAAC,MAAM,IAAA,6BAAe,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,MAAM,CAAC;QAC3D,IAAI,MAAM,UAAU,EAAE,EAAE,CAAC;YACvB,GAAG,CAAC,IAAI,CACN,aAAa,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,YAAY;gBAChD,qDAAqD;gBACrD,oDAAoD,CACvD,CAAC;YACF,MAAM,KAAK,GAAG,IAAI,gBAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,eAAK,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,EAAE;oBACtD,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;gBACH,yDAAyD;gBACzD,MAAM,kBAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnB,MAAM,IAAA,2BAAgB,EAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,UAAU,EAAE,CAAC,EAAE;oBACxD,MAAM,EAAE,IAAI;oBACZ,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,GAAG,CAAC,IAAI,CACN,gDAAgD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,IAAI;oBACtF,6DAA6D,CAChE,CAAC;gBACF,MAAM,IAAI,KAAK,CACb,aAAa,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,YAAY;oBAChD,8EAA8E;oBAC9E,+DAA+D,CAClE,CAAC;YACJ,CAAC;YACD,GAAG,CAAC,IAAI,CACN,2EAA2E;gBACzE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,cAAc,CAAC,IAAI,CACxD,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG;YACX,mBAAmB;YACnB,uBAAuB;YACvB,UAAU;YACV,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC;YAC/B,SAAS;YACT,aAAa;YACb,iBAAiB;SAClB,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE;YACzC,QAAQ,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE;YACxB,QAAQ,EAAE,IAAI,CAAC,IAAI;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,IAAI,yBAAU,CAAC,UAAU,EAAE,IAAI,EAAE;YAC3C,GAAG,EAAE,IAAI,CAAC,aAAa;YACvB,GAAG;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,GAAG,CAAC,IAAI,CACN,+CAA+C;gBAC7C,WAAW,UAAU,qCAAqC;gBAC1D,gFAAgF,CACnF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YACxC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC1B,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,gBAAC,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC;YACtC,IAAI,IAAI,EAAE,CAAC;gBACT,GAAG,CAAC,KAAK,CAAC,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACpC,GAAG,CAAC,IAAI,CAAC,gDAAgD,IAAI,YAAY,MAAM,EAAE,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,qCAAqC,UAAU,IAAI,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChF,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACnD,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,IAAA,mBAAI,EAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACnD,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,IAAA,mBAAI,EAAC,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;YAC9C,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAEO,WAAW,CAAC,IAA8B;QAChD,MAAM,EAAC,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAC,GAAG,IAAI,CAAC;QACrE,IACE,CAAC,gBAAC,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,eAAe,KAAK,cAAc,CAAC;YACxE,CAAC,gBAAC,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,eAAe,KAAK,wBAAwB,CAAC,EAC9E,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IACE,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC;YACxC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,EAClD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IACE,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC;YACxC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,EAClD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IACE,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC;YACvD,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,KAAK,gBAAgB,CAAC,EAC3D,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,MAAa,YAAY;IACf,MAAM,GAAuB,IAAI,CAAC;IAClC,QAAQ,GAAyB,IAAI,CAAC;IACtC,uBAAuB,GAAW,kBAAkB,CAAC;IACrD,yBAAyB,GAAY,KAAK,CAAC;IAEnD,IAAI,KAAK;QACP,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAA8B,EAAE,OAAuB,EAAE;QAC1E,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,uBAAuB,CAAC;QAEzF,IAAI,CAAC,yBAAyB,GAAG,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;QAE7D,IAAI,uBAAgC,CAAC;QACrC,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC3B,MAAM,wBAAwB,EAAE,CAAC;gBACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,CAAC;YACD,uBAAuB,GAAG,KAAK,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;YACtC,CAAC;YACD,uBAAuB,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,uBAAuB,IAAI,IAAI,CAAC,yBAAyB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9E,MAAM,EAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACnE,MAAM,SAAS,GAAiB;gBAC9B,MAAM;gBACN,MAAM,EAAE,IAAI;gBACZ,IAAI;gBACJ,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,IAAI;aAChB,CAAC;YACF,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAC3C,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,KAAK,CAAC;YAEnC,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;oBACjC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;wBAChB,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;oBACpC,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,gBAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,IAAA,2BAAgB,EAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,EAAE;oBAC5D,MAAM,EAAE,IAAI,CAAC,uBAAuB;oBACpC,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,IAAI,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;oBAC7B,4BAA4B;oBAC5B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC7B,CAAC;gBACD,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;oBACtC,MAAM,GAAG,GAAG,IAAI,CAAC,yBAAyB;wBACxC,CAAC,CAAC,qBAAqB,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,YAAY,IAAI,CAAC,uBAAuB,aAAa;4BACzG,wEAAwE;wBAC1E,CAAC,CAAC,6CAA6C,IAAI,CAAC,uBAAuB,cAAc;4BACvF,wFAAwF;4BACxF,qBAAqB,UAAU,yDAAyD,CAAC;oBAC7F,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC;gBACD,MAAM,CAAC,CAAC;YACV,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAC9B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;gBAC5D,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBACjB,mBAAmB,CAAC,IAAI,CAAC,GAAG,YAAY,EAAE,GAAG,CAAC,CAAC;oBAC/C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,gBAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC9E,CAAC;gBACD,GAAG,CAAC,IAAI,CACN,oCAAoC,KAAK,CAAC,WAAW,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CACtF,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;QAC5F,CAAC;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE;YAC5C,YAAY,EAAE;gBACZ,UAAU,EAAE,CAAC,EAAE,CAAC;gBAChB,WAAW,EAAE,IAAI;aAClB;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;YACjE,GAAG,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;YACpF,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC3E,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,GAAG,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,WAAW,GAAG,IAAI;QAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC9C,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,oBAAoB,CAAC,IAA8B;QACzD,IAAI,MAAM,GAAG,MAAM,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/B,OAAO;gBACL,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,mBAAmB;gBACnE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,mBAAmB;gBACnE,IAAI,EAAE,EAAE;aACT,CAAC;QACJ,CAAC;QAED,IAAI,SAAkB,CAAC;QACvB,IAAI,CAAC;YACH,SAAS,GAAG,IAAI,kBAAG,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,0BAA0B,IAAI,CAAC,oBAAoB,KAAK;gBACtD,mCAAmC,CAAC,CAAC,OAAO,EAAE,CACjD,CAAC;QACJ,CAAC;QAED,MAAM,EAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAC,GAAG,SAAS,CAAC;QACvD,IAAI,gBAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;QACD,OAAO;YACL,MAAM;YACN,IAAI,EAAE,QAAQ,IAAI,mBAAmB;YACrC,IAAI,EAAE,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC9D,IAAI,EAAE,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;SACvC,CAAC;IACJ,CAAC;CACF;AA5KD,oCA4KC;AAEY,QAAA,cAAc,GAAG,IAAI,YAAY,EAAE,CAAC;AAEjD,oBAAoB;AACpB,KAAK,UAAU,wBAAwB;IACrC,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACpC,GAAG,CAAC,KAAK,CACP,eAAe,mBAAmB,CAAC,MAAM,YAAY;YACnD,cAAI,CAAC,SAAS,CAAC,SAAS,EAAE,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAC/D,CAAC;QACF,IAAI,CAAC;YACH,MAAM,IAAA,mBAAI,EAAC,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,gBAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;IACxB,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,IAAA,6BAAQ,EAAC,WAAW,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,gBAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;IACtD,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"wda-mac.js","sourceRoot":"","sources":["../../lib/wda-mac.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import _ from 'lodash';
2
1
  import type {Mac2Driver} from '../driver';
3
2
  import type {StringRecord} from '@appium/types';
4
3
 
@@ -29,5 +28,5 @@ export async function execute(
29
28
  * @returns Preprocessed arguments as StringRecord
30
29
  */
31
30
  function preprocessExecuteMethodArgs(args?: readonly any[] | StringRecord): StringRecord {
32
- return (_.isArray(args) ? _.first(args) : args) ?? {};
31
+ return (Array.isArray(args) ? args[0] : args) ?? {};
33
32
  }
@@ -1,4 +1,3 @@
1
- import _ from 'lodash';
2
1
  import {util} from 'appium/support';
3
2
  import {errors} from 'appium/driver';
4
3
  import type {Mac2Driver} from '../driver';
@@ -578,7 +577,7 @@ export async function macosPressAndDragAndHold(
578
577
  * @param y - Optional Y coordinate
579
578
  */
580
579
  function requireElementIdOrXY(elementId?: string, x?: number, y?: number): void {
581
- if (!_.isString(elementId) && !(_.isNumber(x) && _.isNumber(y))) {
580
+ if (typeof elementId !== 'string' && !(typeof x === 'number' && typeof y === 'number')) {
582
581
  throw new errors.InvalidArgumentError(`'elementId' or 'x' and 'y' is required.`);
583
582
  }
584
583
  }
@@ -602,8 +601,13 @@ function requireSourceDestWithElementsOrCoordinates(
602
601
  endY?: number,
603
602
  ): void {
604
603
  if (
605
- !(_.isString(sourceElementId) && _.isString(destinationElementId)) &&
606
- !(_.isNumber(startX) && _.isNumber(startY) && _.isNumber(endX) && _.isNumber(endY))
604
+ !(typeof sourceElementId === 'string' && typeof destinationElementId === 'string') &&
605
+ !(
606
+ typeof startX === 'number' &&
607
+ typeof startY === 'number' &&
608
+ typeof endX === 'number' &&
609
+ typeof endY === 'number'
610
+ )
607
611
  ) {
608
612
  throw new errors.InvalidArgumentError(
609
613
  `'sourceElementId' and 'destinationElementId' ` +
@@ -1,4 +1,3 @@
1
- import _ from 'lodash';
2
1
  import {util, fs, net} from 'appium/support';
3
2
  import type {Mac2Driver} from '../driver';
4
3
  import type {StringRecord} from '@appium/types';
@@ -9,7 +8,7 @@ export async function uploadRecordedMedia(
9
8
  remotePath: string | null,
10
9
  uploadOptions: StringRecord = {},
11
10
  ): Promise<string> {
12
- if (_.isEmpty(remotePath) || _.isNil(remotePath)) {
11
+ if (remotePath == null || remotePath.length === 0) {
13
12
  const {size} = await fs.stat(localFile);
14
13
  this.log.debug(
15
14
  `The size of the resulting screen recording is ${util.toReadableSizeString(size)}`,
@@ -1,4 +1,3 @@
1
- import _ from 'lodash';
2
1
  import B, {TimeoutError} from 'bluebird';
3
2
  import path from 'node:path';
4
3
  import {fs, util} from 'appium/support';
@@ -10,6 +9,7 @@ import {waitForCondition} from 'asyncbox';
10
9
  import {exec} from 'teen_process';
11
10
  import {BIDI_EVENT_NAME} from './bidi/constants';
12
11
  import {toNativeVideoChunkAddedEvent} from './bidi/models';
12
+ import {isPlainObject} from '../utils';
13
13
 
14
14
  const RECORDING_STARTUP_TIMEOUT_MS = 5000;
15
15
  const BUFFER_SIZE = 0xffff;
@@ -140,7 +140,7 @@ export class NativeVideoChunksBroadcaster {
140
140
  }
141
141
  clearTimeout(timer);
142
142
 
143
- if (!_.isEmpty(publishingErrors)) {
143
+ if (publishingErrors.length > 0) {
144
144
  throw new Error(publishingErrors.join('\n'));
145
145
  }
146
146
  }
@@ -151,14 +151,14 @@ export class NativeVideoChunksBroadcaster {
151
151
  }
152
152
 
153
153
  const attachments = await listAttachments();
154
- if (_.isEmpty(attachments)) {
154
+ if (attachments.length === 0) {
155
155
  return;
156
156
  }
157
157
  const tasks: Promise<any>[] = attachments
158
158
  .map((attachmentPath) => [path.basename(attachmentPath), attachmentPath])
159
159
  .filter(([name]) => this._publishers.has(name))
160
160
  .map(([, attachmentPath]) => fs.rimraf(attachmentPath));
161
- if (_.isEmpty(tasks)) {
161
+ if (tasks.length === 0) {
162
162
  return;
163
163
  }
164
164
  try {
@@ -256,7 +256,7 @@ export async function macosStopNativeScreenRecording(
256
256
  'POST',
257
257
  {},
258
258
  )) as ActiveVideoInfo | null;
259
- if (!response || !_.isPlainObject(response)) {
259
+ if (!response || !isPlainObject(response)) {
260
260
  throw new Error(
261
261
  'There is no active screen recording, thus nothing to stop. Did you start it before?',
262
262
  );
@@ -280,7 +280,7 @@ export async function macosStopNativeScreenRecording(
280
280
  return '';
281
281
  }
282
282
 
283
- const matchedVideoPath = _.first((await listAttachments()).filter((name) => name.endsWith(uuid)));
283
+ const matchedVideoPath = (await listAttachments()).find((name) => name.endsWith(uuid));
284
284
  if (!matchedVideoPath) {
285
285
  throw new Error(
286
286
  `The screen recording identified by ${uuid} cannot be retrieved. ` +
@@ -1,4 +1,3 @@
1
- import _ from 'lodash';
2
1
  import {waitForCondition} from 'asyncbox';
3
2
  import {util, fs, tempDir} from 'appium/support';
4
3
  import {SubProcess} from 'teen_process';
@@ -149,8 +148,9 @@ export class ScreenRecorder {
149
148
  this._process = new SubProcess(fullCmd[0], fullCmd.slice(1));
150
149
  this._log.debug(`Starting ${FFMPEG_BINARY}: ${util.quote(fullCmd)}`);
151
150
  this._process.on('output', (stdout, stderr) => {
152
- if (_.trim(stdout || stderr)) {
153
- this._log.debug(`[${FFMPEG_BINARY}] ${stdout || stderr}`);
151
+ const output = stdout ?? stderr ?? '';
152
+ if (output.trim()) {
153
+ this._log.debug(`[${FFMPEG_BINARY}] ${output}`);
154
154
  }
155
155
  });
156
156
  this._process.once('exit', async (code, signal) => {
@@ -285,7 +285,7 @@ export async function macosStartRecordingScreen(
285
285
  captureClicks?: boolean,
286
286
  forceRestart: boolean = true,
287
287
  ): Promise<void> {
288
- if (_.isNil(deviceId)) {
288
+ if (deviceId == null) {
289
289
  throw new Error(
290
290
  `'deviceId' option must be provided. Run 'ffmpeg -f avfoundation -list_devices true -i' ` +
291
291
  'to fetch the list of available device ids',
package/lib/driver.ts CHANGED
@@ -1,4 +1,3 @@
1
- import _ from 'lodash';
2
1
  import type {
3
2
  RouteMatcher,
4
3
  HTTPMethod,
@@ -57,7 +56,7 @@ export class Mac2Driver
57
56
 
58
57
  constructor(opts: InitialOpts = {} as InitialOpts) {
59
58
  super(opts);
60
- this.desiredCapConstraints = _.cloneDeep(MAC2_CONSTRAINTS);
59
+ this.desiredCapConstraints = structuredClone(MAC2_CONSTRAINTS);
61
60
  this.locatorStrategies = [
62
61
  'id',
63
62
  'name',
@@ -142,7 +141,7 @@ export class Mac2Driver
142
141
  try {
143
142
  const prerun = caps.prerun as PrerunCapability | undefined;
144
143
  if (prerun) {
145
- if (!_.isString(prerun.command) && !_.isString(prerun.script)) {
144
+ if (typeof prerun.command !== 'string' && typeof prerun.script !== 'string') {
146
145
  throw new Error(
147
146
  `'prerun' capability value must either contain ` +
148
147
  `'script' or 'command' entry of string type`,
@@ -150,7 +149,7 @@ export class Mac2Driver
150
149
  }
151
150
  log.info('Executing prerun AppleScript');
152
151
  const output = await this.macosExecAppleScript(prerun.script, undefined, prerun.command);
153
- if (_.trim(output)) {
152
+ if (output.trim()) {
154
153
  log.info(`Prerun script output: ${output}`);
155
154
  }
156
155
  }
@@ -182,7 +181,7 @@ export class Mac2Driver
182
181
 
183
182
  const postrun = this.opts.postrun as PostrunCapability | undefined;
184
183
  if (postrun) {
185
- if (!_.isString(postrun.command) && !_.isString(postrun.script)) {
184
+ if (typeof postrun.command !== 'string' && typeof postrun.script !== 'string') {
186
185
  log.error(
187
186
  `'postrun' capability value must either contain ` +
188
187
  `'script' or 'command' entry of string type`,
@@ -195,7 +194,7 @@ export class Mac2Driver
195
194
  undefined,
196
195
  postrun.command,
197
196
  );
198
- if (_.trim(output)) {
197
+ if (output.trim()) {
199
198
  log.info(`Postrun script output: ${output}`);
200
199
  }
201
200
  } catch (e: any) {
package/lib/utils.ts CHANGED
@@ -1,4 +1,3 @@
1
- import _ from 'lodash';
2
1
  import {exec} from 'teen_process';
3
2
  import {node} from 'appium/support';
4
3
 
@@ -10,13 +9,19 @@ const MODULE_NAME = 'appium-mac2-driver';
10
9
  * @returns The full path to module root
11
10
  * @throws If the current module root folder cannot be determined
12
11
  */
13
- export const getModuleRoot = _.memoize(function getModuleRoot(): string {
12
+ let moduleRootCache: string | null = null;
13
+
14
+ export const getModuleRoot = function getModuleRoot(): string {
15
+ if (moduleRootCache) {
16
+ return moduleRootCache;
17
+ }
14
18
  const root = node.getModuleRootSync(MODULE_NAME, __filename);
15
19
  if (!root) {
16
20
  throw new Error(`Cannot find the root folder of the ${MODULE_NAME} Node.js module`);
17
21
  }
18
- return root;
19
- });
22
+ moduleRootCache = root;
23
+ return moduleRootCache;
24
+ };
20
25
 
21
26
  /**
22
27
  * Retrieves process ids of all the children processes created by the given
@@ -31,11 +36,32 @@ export async function listChildrenProcessIds(parentPid: number | string): Promis
31
36
  // USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND PPID
32
37
  return stdout
33
38
  .split('\n')
34
- .filter(_.trim)
39
+ .map((line) => line.trim())
40
+ .filter(Boolean)
35
41
  .map((line: string) => {
36
- const [, pid, ...rest] = line.split(/\s+/).filter(_.trim);
37
- return [pid, _.last(rest)];
42
+ const [, pid, ...rest] = line.split(/\s+/).filter(Boolean);
43
+ return [pid, rest.at(-1)];
38
44
  })
39
45
  .filter(([, ppid]) => ppid === `${parentPid}`)
40
46
  .map(([pid]) => String(pid));
41
47
  }
48
+
49
+ export function clearArray<T>(items: T[]): void {
50
+ items.length = 0;
51
+ }
52
+
53
+ export function removeAllOccurrences<T>(items: T[], value: T): void {
54
+ let index = items.indexOf(value);
55
+ while (index >= 0) {
56
+ items.splice(index, 1);
57
+ index = items.indexOf(value);
58
+ }
59
+ }
60
+
61
+ export function isPlainObject(value: unknown): value is Record<string, unknown> {
62
+ if (value === null || typeof value !== 'object') {
63
+ return false;
64
+ }
65
+ const proto = Object.getPrototypeOf(value);
66
+ return proto === Object.prototype || proto === null;
67
+ }
package/lib/wda-mac.ts CHANGED
@@ -1,4 +1,3 @@
1
- import _ from 'lodash';
2
1
  import path from 'node:path';
3
2
  import url from 'node:url';
4
3
  import axios from 'axios';
@@ -11,7 +10,7 @@ import {waitForCondition} from 'asyncbox';
11
10
  import {checkPortStatus} from 'portscanner';
12
11
  import {execSync} from 'node:child_process';
13
12
  import type {HTTPMethod, HTTPBody, ProxyResponse, ProxyOptions} from '@appium/types';
14
- import {listChildrenProcessIds, getModuleRoot} from './utils';
13
+ import {listChildrenProcessIds, getModuleRoot, clearArray, removeAllOccurrences} from './utils';
15
14
 
16
15
  const log = logger.getLogger('WebDriverAgentMac');
17
16
 
@@ -232,7 +231,7 @@ class WDAMacProcess {
232
231
  return;
233
232
  }
234
233
 
235
- const line = _.trim(stdout || stderr);
234
+ const line = (stdout ?? stderr ?? '').trim();
236
235
  if (line) {
237
236
  log.debug(`[${XCODEBUILD}] ${line}`);
238
237
  }
@@ -251,7 +250,7 @@ class WDAMacProcess {
251
250
  }
252
251
 
253
252
  const childrenPids = await this.listChildrenPids();
254
- if (!_.isEmpty(childrenPids)) {
253
+ if (childrenPids.length > 0) {
255
254
  try {
256
255
  await exec('kill', childrenPids);
257
256
  } catch {}
@@ -265,7 +264,7 @@ class WDAMacProcess {
265
264
  }
266
265
 
267
266
  const childrenPids = await this.listChildrenPids();
268
- if (!_.isEmpty(childrenPids)) {
267
+ if (childrenPids.length > 0) {
269
268
  try {
270
269
  await exec('kill', ['-9', ...childrenPids]);
271
270
  } catch {}
@@ -278,8 +277,8 @@ class WDAMacProcess {
278
277
  private hasSameOpts(opts: WDAMacProcessInitOptions): boolean {
279
278
  const {showServerLogs, systemPort, systemHost, bootstrapRoot} = opts;
280
279
  if (
281
- (_.isBoolean(showServerLogs) && this._showServerLogs !== showServerLogs) ||
282
- (_.isNil(showServerLogs) && this._showServerLogs !== DEFAULT_SHOW_SERVER_LOGS)
280
+ (typeof showServerLogs === 'boolean' && this._showServerLogs !== showServerLogs) ||
281
+ (showServerLogs == null && this._showServerLogs !== DEFAULT_SHOW_SERVER_LOGS)
283
282
  ) {
284
283
  return false;
285
284
  }
@@ -390,7 +389,9 @@ export class WDAMacServer {
390
389
  const childrenPids = await this._process.listChildrenPids();
391
390
  if (pid !== null) {
392
391
  RUNNING_PROCESS_IDS.push(...childrenPids, pid);
393
- this._process.proc?.on('exit', () => void _.pull(RUNNING_PROCESS_IDS, pid));
392
+ this._process.proc?.on('exit', () => {
393
+ removeAllOccurrences(RUNNING_PROCESS_IDS, pid);
394
+ });
394
395
  }
395
396
  log.info(
396
397
  `The host process is ready within ${timer.getDuration().asMilliSeconds.toFixed(0)}ms`,
@@ -468,13 +469,13 @@ export class WDAMacServer {
468
469
  }
469
470
 
470
471
  const {protocol, hostname, port, pathname} = parsedUrl;
471
- if (_.isString(protocol)) {
472
+ if (typeof protocol === 'string') {
472
473
  scheme = protocol.split(':')[0];
473
474
  }
474
475
  return {
475
476
  scheme,
476
477
  host: hostname ?? DEFAULT_SYSTEM_HOST,
477
- port: _.isEmpty(port) ? DEFAULT_SYSTEM_PORT : _.parseInt(port),
478
+ port: port.length === 0 ? DEFAULT_SYSTEM_PORT : Number.parseInt(port, 10),
478
479
  path: pathname === '/' ? '' : pathname,
479
480
  };
480
481
  }
@@ -484,7 +485,7 @@ export const WDA_MAC_SERVER = new WDAMacServer();
484
485
 
485
486
  // Private functions
486
487
  async function cleanupObsoleteProcesses(): Promise<void> {
487
- if (!_.isEmpty(RUNNING_PROCESS_IDS)) {
488
+ if (RUNNING_PROCESS_IDS.length > 0) {
488
489
  log.debug(
489
490
  `Cleaning up ${RUNNING_PROCESS_IDS.length} obsolete ` +
490
491
  util.pluralize('process', RUNNING_PROCESS_IDS.length, false),
@@ -492,16 +493,16 @@ async function cleanupObsoleteProcesses(): Promise<void> {
492
493
  try {
493
494
  await exec('kill', ['-9', ...RUNNING_PROCESS_IDS.map(String)]);
494
495
  } catch {}
495
- _.pullAll(RUNNING_PROCESS_IDS, RUNNING_PROCESS_IDS);
496
+ clearArray(RUNNING_PROCESS_IDS);
496
497
  }
497
498
  }
498
499
 
499
500
  process.once('exit', () => {
500
- if (!_.isEmpty(RUNNING_PROCESS_IDS)) {
501
+ if (RUNNING_PROCESS_IDS.length > 0) {
501
502
  try {
502
503
  execSync(`kill -9 ${RUNNING_PROCESS_IDS.map(String).join(' ')}`);
503
504
  } catch {}
504
- _.pullAll(RUNNING_PROCESS_IDS, RUNNING_PROCESS_IDS);
505
+ clearArray(RUNNING_PROCESS_IDS);
505
506
  }
506
507
  });
507
508