appium-ios-remotexpc 5.7.0 → 5.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## [5.7.1](https://github.com/appium/appium-ios-remotexpc/compare/v5.7.0...v5.7.1) (2026-07-04)
2
+
3
+ ### Code Refactoring
4
+
5
+ * **xpc:** centralize `asDictionary` helper ([#268](https://github.com/appium/appium-ios-remotexpc/issues/268)) ([ce9ec69](https://github.com/appium/appium-ios-remotexpc/commit/ce9ec69c6db6e2515fcfb8a262d920e6715f09e2))
6
+
1
7
  ## [5.7.0](https://github.com/appium/appium-ios-remotexpc/compare/v5.6.3...v5.7.0) (2026-07-03)
2
8
 
3
9
  ### Features
@@ -0,0 +1,8 @@
1
+ import type { XPCDictionary, XPCValue } from '../types.js';
2
+ /**
3
+ * Coerces an XPC value to a dictionary, or `undefined` when it is not a plain
4
+ * object (an array, primitive, `Buffer`, `Uint8Array`, `Date`, `null`, or
5
+ * `undefined`).
6
+ */
7
+ export declare function asDictionary(value: XPCValue | undefined): XPCDictionary | undefined;
8
+ //# sourceMappingURL=xpc-value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xpc-value.d.ts","sourceRoot":"","sources":["../../../../src/lib/remote-xpc/xpc-value.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,aAAa,EAAE,QAAQ,EAAC,MAAM,aAAa,CAAC;AAEzD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAEnF"}
@@ -0,0 +1,10 @@
1
+ import { util } from '@appium/support';
2
+ /**
3
+ * Coerces an XPC value to a dictionary, or `undefined` when it is not a plain
4
+ * object (an array, primitive, `Buffer`, `Uint8Array`, `Date`, `null`, or
5
+ * `undefined`).
6
+ */
7
+ export function asDictionary(value) {
8
+ return util.isPlainObject(value) ? value : undefined;
9
+ }
10
+ //# sourceMappingURL=xpc-value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xpc-value.js","sourceRoot":"","sources":["../../../../src/lib/remote-xpc/xpc-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAIrC;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,KAA2B;IACtD,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,KAAuB,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/app-service/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,aAAa,EAAW,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAC,KAAK,uBAAuB,EAAE,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AAStG,uEAAuE;AACvE,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;IAC5D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,gEAAgE;IAChE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,+DAA+D;IAC/D,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,0CAA0C;AAC1C,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACtC,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,UAAW,SAAQ,iBAAiB;IAC/C,MAAM,CAAC,QAAQ,CAAC,gBAAgB,qCAAqC;gBAEzD,IAAI,EAAE,MAAM;IAIxB;;;;;;;;;;;OAWG;IACG,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAkBtE;;;;;OAKG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkC/G;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAKxD;;;;;;OAMG;IACG,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAS9E;;;OAGG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD;;;;;OAKG;IACG,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,aAAa,CAAC;CAK5G;AAwBD,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/app-service/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAkB,aAAa,EAAW,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAC,KAAK,uBAAuB,EAAE,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AAStG,uEAAuE;AACvE,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;IAC5D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,gEAAgE;IAChE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,+DAA+D;IAC/D,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,0CAA0C;AAC1C,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACtC,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,UAAW,SAAQ,iBAAiB;IAC/C,MAAM,CAAC,QAAQ,CAAC,gBAAgB,qCAAqC;gBAEzD,IAAI,EAAE,MAAM;IAIxB;;;;;;;;;;;OAWG;IACG,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAkBtE;;;;;OAKG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmC/G;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAKxD;;;;;;OAMG;IACG,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAW9E;;;OAGG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD;;;;;OAKG;IACG,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,aAAa,CAAC;CAO5G;AAiBD,eAAe,UAAU,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { createPlist } from '../../../lib/plist/index.js';
2
+ import { asDictionary } from '../../../lib/remote-xpc/xpc-value.js';
2
3
  import { CoreDeviceService } from '../core-device/core-device-service.js';
3
4
  const FEATURE_LIST_APPS = 'com.apple.coredevice.feature.listapps';
4
5
  const FEATURE_LAUNCH_APPLICATION = 'com.apple.coredevice.feature.launchapplication';
@@ -71,7 +72,7 @@ export class AppService extends CoreDeviceService {
71
72
  const platformOptionsBuffer = Buffer.isBuffer(platformOptions)
72
73
  ? platformOptions
73
74
  : Buffer.from(platformOptions, 'utf8');
74
- const output = asDict(await this.invoke(FEATURE_LAUNCH_APPLICATION, {
75
+ const output = asDictionary(await this.invoke(FEATURE_LAUNCH_APPLICATION, {
75
76
  applicationSpecifier: {
76
77
  bundleIdentifier: { _0: bundleId },
77
78
  },
@@ -85,7 +86,7 @@ export class AppService extends CoreDeviceService {
85
86
  platformSpecificOptions: platformOptionsBuffer,
86
87
  },
87
88
  standardIOIdentifiers: {},
88
- }, { timeoutMs: options.timeoutMs }));
89
+ }, { timeoutMs: options.timeoutMs })) ?? {};
89
90
  return {
90
91
  ...output,
91
92
  processIdentifier: extractProcessIdentifier(output),
@@ -95,7 +96,7 @@ export class AppService extends CoreDeviceService {
95
96
  * Lists the processes currently running on the device.
96
97
  */
97
98
  async listProcesses() {
98
- const output = asDict(await this.invoke(FEATURE_LIST_PROCESSES));
99
+ const output = asDictionary(await this.invoke(FEATURE_LIST_PROCESSES)) ?? {};
99
100
  return asArray(output.processTokens);
100
101
  }
101
102
  /**
@@ -106,10 +107,10 @@ export class AppService extends CoreDeviceService {
106
107
  * reports `com.apple.dt.CoreDeviceError`).
107
108
  */
108
109
  async sendSignalToProcess(pid, signal) {
109
- return asDict(await this.invoke(FEATURE_SEND_SIGNAL, {
110
+ return (asDictionary(await this.invoke(FEATURE_SEND_SIGNAL, {
110
111
  process: { processIdentifier: pid },
111
112
  signal,
112
- }));
113
+ })) ?? {});
113
114
  }
114
115
  /**
115
116
  * Uninstalls an application by bundle identifier. This is idempotent: the
@@ -125,15 +126,9 @@ export class AppService extends CoreDeviceService {
125
126
  * `options` to bound how long to wait for a still-running process to exit.
126
127
  */
127
128
  async monitorProcessTermination(pid, options = {}) {
128
- return asDict(await this.invoke(FEATURE_MONITOR_PROCESS_TERMINATION, { processToken: { processIdentifier: pid } }, options));
129
+ return (asDictionary(await this.invoke(FEATURE_MONITOR_PROCESS_TERMINATION, { processToken: { processIdentifier: pid } }, options)) ?? {});
129
130
  }
130
131
  }
131
- function asDict(value) {
132
- if (value && typeof value === 'object' && !Array.isArray(value)) {
133
- return value;
134
- }
135
- return {};
136
- }
137
132
  function asArray(value) {
138
133
  return Array.isArray(value) ? value : [];
139
134
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/ios/app-service/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/ios/app-service/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/device-info/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAW,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAC,KAAK,uBAAuB,EAAE,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AAOtG,iFAAiF;AACjF,MAAM,WAAW,oBAAoB;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,mFAAmF;AACnF,MAAM,WAAW,qBAAqB;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,yEAAyE;AACzE,MAAM,WAAW,mBAAmB;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,qBAAsB,SAAQ,iBAAiB;IAC1D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,qCAAqC;gBAEzD,IAAI,EAAE,MAAM;IAIxB;;;OAGG;IACG,aAAa,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAIzF;;;OAGG;IACG,cAAc,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI3F;;;;;;;OAOG;IACG,YAAY,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIvF;;;;;;;OAOG;IACG,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,aAAa,CAAC;CAGxG;AASD,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/device-info/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAC,KAAK,uBAAuB,EAAE,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AAOtG,iFAAiF;AACjF,MAAM,WAAW,oBAAoB;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,mFAAmF;AACnF,MAAM,WAAW,qBAAqB;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,yEAAyE;AACzE,MAAM,WAAW,mBAAmB;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,qBAAsB,SAAQ,iBAAiB;IAC1D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,qCAAqC;gBAEzD,IAAI,EAAE,MAAM;IAIxB;;;OAGG;IACG,aAAa,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAIzF;;;OAGG;IACG,cAAc,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI3F;;;;;;;OAOG;IACG,YAAY,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIvF;;;;;;;OAOG;IACG,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,aAAa,CAAC;CAGxG;AAED,eAAe,qBAAqB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { asDictionary } from '../../../lib/remote-xpc/xpc-value.js';
1
2
  import { CoreDeviceService } from '../core-device/core-device-service.js';
2
3
  const FEATURE_GET_DEVICE_INFO = 'com.apple.coredevice.feature.getdeviceinfo';
3
4
  const FEATURE_GET_DISPLAY_INFO = 'com.apple.coredevice.feature.getdisplayinfo';
@@ -32,14 +33,14 @@ export class CoreDeviceInfoService extends CoreDeviceService {
32
33
  * device class, …).
33
34
  */
34
35
  async getDeviceInfo(options = {}) {
35
- return asDict(await this.invoke(FEATURE_GET_DEVICE_INFO, {}, options));
36
+ return asDictionary(await this.invoke(FEATURE_GET_DEVICE_INFO, {}, options)) ?? {};
36
37
  }
37
38
  /**
38
39
  * Returns display attributes (dimensions, scale, …). Useful for coordinate
39
40
  * mapping and screenshot geometry.
40
41
  */
41
42
  async getDisplayInfo(options = {}) {
42
- return asDict(await this.invoke(FEATURE_GET_DISPLAY_INFO, {}, options));
43
+ return asDictionary(await this.invoke(FEATURE_GET_DISPLAY_INFO, {}, options)) ?? {};
43
44
  }
44
45
  /**
45
46
  * Returns the device lock state (e.g. whether the screen is locked and
@@ -50,7 +51,7 @@ export class CoreDeviceInfoService extends CoreDeviceService {
50
51
  * {@link CoreDeviceError}.
51
52
  */
52
53
  async getLockState(options = {}) {
53
- return asDict(await this.invoke(FEATURE_GET_LOCK_STATE, {}, options));
54
+ return asDictionary(await this.invoke(FEATURE_GET_LOCK_STATE, {}, options)) ?? {};
54
55
  }
55
56
  /**
56
57
  * Queries MobileGestalt values for the given keys, returning a map of the
@@ -61,14 +62,8 @@ export class CoreDeviceInfoService extends CoreDeviceService {
61
62
  * values. Pass `timeoutMs` via `options` to bound the wait.
62
63
  */
63
64
  async queryMobileGestalt(keys, options = {}) {
64
- return asDict(await this.invoke(FEATURE_QUERY_MOBILEGESTALT, { keys }, options));
65
+ return asDictionary(await this.invoke(FEATURE_QUERY_MOBILEGESTALT, { keys }, options)) ?? {};
65
66
  }
66
67
  }
67
- function asDict(value) {
68
- if (value && typeof value === 'object' && !Array.isArray(value)) {
69
- return value;
70
- }
71
- return {};
72
- }
73
68
  export default CoreDeviceInfoService;
74
69
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/ios/device-info/index.ts"],"names":[],"mappings":"AACA,OAAO,EAA+B,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AAEtG,MAAM,uBAAuB,GAAG,4CAA4C,CAAC;AAC7E,MAAM,wBAAwB,GAAG,6CAA6C,CAAC;AAC/E,MAAM,sBAAsB,GAAG,2CAA2C,CAAC;AAC3E,MAAM,2BAA2B,GAAG,iDAAiD,CAAC;AAiBtF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,qBAAsB,SAAQ,iBAAiB;IAC1D,MAAM,CAAU,gBAAgB,GAAG,iCAAiC,CAAC;IAErE,YAAY,IAAY;QACtB,KAAK,CAAC,IAAI,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,UAAmC,EAAE;QACvD,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IACzE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,UAAmC,EAAE;QACxD,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,YAAY,CAAC,UAAmC,EAAE;QACtD,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,kBAAkB,CAAC,IAAc,EAAE,UAAmC,EAAE;QAC5E,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,2BAA2B,EAAE,EAAC,IAAI,EAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACjF,CAAC;;AAGH,SAAS,MAAM,CAAC,KAAe;IAC7B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,KAAsB,CAAC;IAChC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/ios/device-info/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,sCAAsC,CAAC;AAElE,OAAO,EAA+B,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AAEtG,MAAM,uBAAuB,GAAG,4CAA4C,CAAC;AAC7E,MAAM,wBAAwB,GAAG,6CAA6C,CAAC;AAC/E,MAAM,sBAAsB,GAAG,2CAA2C,CAAC;AAC3E,MAAM,2BAA2B,GAAG,iDAAiD,CAAC;AAiBtF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,qBAAsB,SAAQ,iBAAiB;IAC1D,MAAM,CAAU,gBAAgB,GAAG,iCAAiC,CAAC;IAErE,YAAY,IAAY;QACtB,KAAK,CAAC,IAAI,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,UAAmC,EAAE;QACvD,OAAO,YAAY,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IACrF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,UAAmC,EAAE;QACxD,OAAO,YAAY,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IACtF,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,YAAY,CAAC,UAAmC,EAAE;QACtD,OAAO,YAAY,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IACpF,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,kBAAkB,CAAC,IAAc,EAAE,UAAmC,EAAE;QAC5E,OAAO,YAAY,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,2BAA2B,EAAE,EAAC,IAAI,EAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7F,CAAC;;AAGH,eAAe,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/pasteboard/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AAYxE;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,iBAAiB;IACtD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,4CAA4C;gBAEhE,IAAI,EAAE,MAAM;IAIxB;;OAEG;IACG,OAAO,CAAC,cAAc,SAAqB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAI/E;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,SAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/E;;OAEG;IACG,MAAM,CAAC,cAAc,SAAqB,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;IAS3E;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,cAAc,SAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAInF;;;;OAIG;IACG,QAAQ,CAAC,cAAc,SAAqB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIhF;;;;;OAKG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,cAAc,SAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9F,OAAO,CAAC,MAAM,CAAC,aAAa;IAQ5B,OAAO,CAAC,MAAM,CAAC,YAAY;IAQ3B,OAAO,CAAC,MAAM,CAAC,cAAc;IAS7B,OAAO,CAAC,MAAM,CAAC,aAAa;IAuB5B,OAAO,CAAC,MAAM,CAAC,WAAW;YAmBZ,GAAG;YAcH,GAAG;CAiBlB;AAwBD,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/pasteboard/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AAYxE;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,iBAAiB;IACtD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,4CAA4C;gBAEhE,IAAI,EAAE,MAAM;IAIxB;;OAEG;IACG,OAAO,CAAC,cAAc,SAAqB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAI/E;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,SAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/E;;OAEG;IACG,MAAM,CAAC,cAAc,SAAqB,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;IAS3E;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,cAAc,SAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAInF;;;;OAIG;IACG,QAAQ,CAAC,cAAc,SAAqB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIhF;;;;;OAKG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,cAAc,SAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9F,OAAO,CAAC,MAAM,CAAC,aAAa;IAQ5B,OAAO,CAAC,MAAM,CAAC,YAAY;IAQ3B,OAAO,CAAC,MAAM,CAAC,cAAc;IAS7B,OAAO,CAAC,MAAM,CAAC,aAAa;IAuB5B,OAAO,CAAC,MAAM,CAAC,WAAW;YAmBZ,GAAG;YAcH,GAAG;CAiBlB;AAiBD,eAAe,iBAAiB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { asDictionary } from '../../../lib/remote-xpc/xpc-value.js';
1
2
  import { CoreDeviceService } from '../core-device/core-device-service.js';
2
3
  import { GENERAL_PASTEBOARD, IMAGE_UTIS, PASTEBOARD_COMMAND, PASTEBOARD_POLICY, PASTEBOARD_UTI, TEXT_UTIS, URL_UTIS, } from './constants.js';
3
4
  /**
@@ -136,12 +137,6 @@ function pickSnapshot(snapshotOrReply) {
136
137
  const pasteboard = asDictionary(snapshotOrReply.pasteboard);
137
138
  return (pasteboard ?? snapshotOrReply);
138
139
  }
139
- function asDictionary(value) {
140
- if (value && typeof value === 'object' && !Array.isArray(value)) {
141
- return value;
142
- }
143
- return undefined;
144
- }
145
140
  function decodeUtf8(value) {
146
141
  if (typeof value === 'string') {
147
142
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/ios/pasteboard/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/ios/pasteboard/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appium-ios-remotexpc",
3
- "version": "5.7.0",
3
+ "version": "5.7.1",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "bugs": {
@@ -0,0 +1,12 @@
1
+ import {util} from '@appium/support';
2
+
3
+ import type {XPCDictionary, XPCValue} from '../types.js';
4
+
5
+ /**
6
+ * Coerces an XPC value to a dictionary, or `undefined` when it is not a plain
7
+ * object (an array, primitive, `Buffer`, `Uint8Array`, `Date`, `null`, or
8
+ * `undefined`).
9
+ */
10
+ export function asDictionary(value: XPCValue | undefined): XPCDictionary | undefined {
11
+ return util.isPlainObject(value) ? (value as XPCDictionary) : undefined;
12
+ }
@@ -1,4 +1,5 @@
1
1
  import {createPlist} from '../../../lib/plist/index.js';
2
+ import {asDictionary} from '../../../lib/remote-xpc/xpc-value.js';
2
3
  import type {PlistDictionary, XPCDictionary, XPCValue} from '../../../lib/types.js';
3
4
  import {type CoreDeviceInvokeOptions, CoreDeviceService} from '../core-device/core-device-service.js';
4
5
 
@@ -158,27 +159,28 @@ export class AppService extends CoreDeviceService {
158
159
  ? platformOptions
159
160
  : Buffer.from(platformOptions, 'utf8');
160
161
 
161
- const output = asDict(
162
- await this.invoke(
163
- FEATURE_LAUNCH_APPLICATION,
164
- {
165
- applicationSpecifier: {
166
- bundleIdentifier: {_0: bundleId},
162
+ const output =
163
+ asDictionary(
164
+ await this.invoke(
165
+ FEATURE_LAUNCH_APPLICATION,
166
+ {
167
+ applicationSpecifier: {
168
+ bundleIdentifier: {_0: bundleId},
169
+ },
170
+ options: {
171
+ arguments: options.arguments ?? [],
172
+ environmentVariables: options.environment ?? {},
173
+ standardIOUsesPseudoterminals: true,
174
+ startStopped: options.startSuspended ?? false,
175
+ terminateExisting: options.terminateExisting ?? true,
176
+ user: {shortName: 'mobile'},
177
+ platformSpecificOptions: platformOptionsBuffer,
178
+ },
179
+ standardIOIdentifiers: {},
167
180
  },
168
- options: {
169
- arguments: options.arguments ?? [],
170
- environmentVariables: options.environment ?? {},
171
- standardIOUsesPseudoterminals: true,
172
- startStopped: options.startSuspended ?? false,
173
- terminateExisting: options.terminateExisting ?? true,
174
- user: {shortName: 'mobile'},
175
- platformSpecificOptions: platformOptionsBuffer,
176
- },
177
- standardIOIdentifiers: {},
178
- },
179
- {timeoutMs: options.timeoutMs},
180
- ),
181
- );
181
+ {timeoutMs: options.timeoutMs},
182
+ ),
183
+ ) ?? {};
182
184
 
183
185
  return {
184
186
  ...output,
@@ -190,7 +192,7 @@ export class AppService extends CoreDeviceService {
190
192
  * Lists the processes currently running on the device.
191
193
  */
192
194
  async listProcesses(): Promise<AppServiceProcessToken[]> {
193
- const output = asDict(await this.invoke(FEATURE_LIST_PROCESSES));
195
+ const output = asDictionary(await this.invoke(FEATURE_LIST_PROCESSES)) ?? {};
194
196
  return asArray(output.processTokens) as AppServiceProcessToken[];
195
197
  }
196
198
 
@@ -202,11 +204,13 @@ export class AppService extends CoreDeviceService {
202
204
  * reports `com.apple.dt.CoreDeviceError`).
203
205
  */
204
206
  async sendSignalToProcess(pid: number, signal: number): Promise<XPCDictionary> {
205
- return asDict(
206
- await this.invoke(FEATURE_SEND_SIGNAL, {
207
- process: {processIdentifier: pid},
208
- signal,
209
- }),
207
+ return (
208
+ asDictionary(
209
+ await this.invoke(FEATURE_SEND_SIGNAL, {
210
+ process: {processIdentifier: pid},
211
+ signal,
212
+ }),
213
+ ) ?? {}
210
214
  );
211
215
  }
212
216
 
@@ -225,19 +229,14 @@ export class AppService extends CoreDeviceService {
225
229
  * `options` to bound how long to wait for a still-running process to exit.
226
230
  */
227
231
  async monitorProcessTermination(pid: number, options: CoreDeviceInvokeOptions = {}): Promise<XPCDictionary> {
228
- return asDict(
229
- await this.invoke(FEATURE_MONITOR_PROCESS_TERMINATION, {processToken: {processIdentifier: pid}}, options),
232
+ return (
233
+ asDictionary(
234
+ await this.invoke(FEATURE_MONITOR_PROCESS_TERMINATION, {processToken: {processIdentifier: pid}}, options),
235
+ ) ?? {}
230
236
  );
231
237
  }
232
238
  }
233
239
 
234
- function asDict(value: XPCValue): XPCDictionary {
235
- if (value && typeof value === 'object' && !Array.isArray(value)) {
236
- return value as XPCDictionary;
237
- }
238
- return {};
239
- }
240
-
241
240
  function asArray(value: XPCValue): XPCValue[] {
242
241
  return Array.isArray(value) ? value : [];
243
242
  }
@@ -1,4 +1,5 @@
1
- import type {XPCDictionary, XPCValue} from '../../../lib/types.js';
1
+ import {asDictionary} from '../../../lib/remote-xpc/xpc-value.js';
2
+ import type {XPCDictionary} from '../../../lib/types.js';
2
3
  import {type CoreDeviceInvokeOptions, CoreDeviceService} from '../core-device/core-device-service.js';
3
4
 
4
5
  const FEATURE_GET_DEVICE_INFO = 'com.apple.coredevice.feature.getdeviceinfo';
@@ -52,7 +53,7 @@ export class CoreDeviceInfoService extends CoreDeviceService {
52
53
  * device class, …).
53
54
  */
54
55
  async getDeviceInfo(options: CoreDeviceInvokeOptions = {}): Promise<CoreDeviceAttributes> {
55
- return asDict(await this.invoke(FEATURE_GET_DEVICE_INFO, {}, options));
56
+ return asDictionary(await this.invoke(FEATURE_GET_DEVICE_INFO, {}, options)) ?? {};
56
57
  }
57
58
 
58
59
  /**
@@ -60,7 +61,7 @@ export class CoreDeviceInfoService extends CoreDeviceService {
60
61
  * mapping and screenshot geometry.
61
62
  */
62
63
  async getDisplayInfo(options: CoreDeviceInvokeOptions = {}): Promise<CoreDeviceDisplayInfo> {
63
- return asDict(await this.invoke(FEATURE_GET_DISPLAY_INFO, {}, options));
64
+ return asDictionary(await this.invoke(FEATURE_GET_DISPLAY_INFO, {}, options)) ?? {};
64
65
  }
65
66
 
66
67
  /**
@@ -72,7 +73,7 @@ export class CoreDeviceInfoService extends CoreDeviceService {
72
73
  * {@link CoreDeviceError}.
73
74
  */
74
75
  async getLockState(options: CoreDeviceInvokeOptions = {}): Promise<CoreDeviceLockState> {
75
- return asDict(await this.invoke(FEATURE_GET_LOCK_STATE, {}, options));
76
+ return asDictionary(await this.invoke(FEATURE_GET_LOCK_STATE, {}, options)) ?? {};
76
77
  }
77
78
 
78
79
  /**
@@ -84,15 +85,8 @@ export class CoreDeviceInfoService extends CoreDeviceService {
84
85
  * values. Pass `timeoutMs` via `options` to bound the wait.
85
86
  */
86
87
  async queryMobileGestalt(keys: string[], options: CoreDeviceInvokeOptions = {}): Promise<XPCDictionary> {
87
- return asDict(await this.invoke(FEATURE_QUERY_MOBILEGESTALT, {keys}, options));
88
+ return asDictionary(await this.invoke(FEATURE_QUERY_MOBILEGESTALT, {keys}, options)) ?? {};
88
89
  }
89
90
  }
90
91
 
91
- function asDict(value: XPCValue): XPCDictionary {
92
- if (value && typeof value === 'object' && !Array.isArray(value)) {
93
- return value as XPCDictionary;
94
- }
95
- return {};
96
- }
97
-
98
92
  export default CoreDeviceInfoService;
@@ -1,3 +1,4 @@
1
+ import {asDictionary} from '../../../lib/remote-xpc/xpc-value.js';
1
2
  import type {XPCDictionary, XPCValue} from '../../../lib/types.js';
2
3
  import {CoreDeviceService} from '../core-device/core-device-service.js';
3
4
  import {
@@ -178,13 +179,6 @@ function pickSnapshot(snapshotOrReply: XPCDictionary | PasteboardSnapshot | Past
178
179
  return (pasteboard ?? snapshotOrReply) as PasteboardSnapshot;
179
180
  }
180
181
 
181
- function asDictionary(value: XPCValue | undefined): XPCDictionary | undefined {
182
- if (value && typeof value === 'object' && !Array.isArray(value)) {
183
- return value as XPCDictionary;
184
- }
185
- return undefined;
186
- }
187
-
188
182
  function decodeUtf8(value: XPCValue): string | undefined {
189
183
  if (typeof value === 'string') {
190
184
  return value;