appium 3.3.0 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/build/lib/appium.d.ts +147 -205
  2. package/build/lib/appium.d.ts.map +1 -1
  3. package/build/lib/appium.js +169 -282
  4. package/build/lib/appium.js.map +1 -1
  5. package/build/lib/bidi-commands.d.ts.map +1 -1
  6. package/build/lib/bidi-commands.js +11 -11
  7. package/build/lib/bidi-commands.js.map +1 -1
  8. package/build/lib/bootstrap/appium-initializer.d.ts +21 -0
  9. package/build/lib/bootstrap/appium-initializer.d.ts.map +1 -0
  10. package/build/lib/bootstrap/appium-initializer.js +146 -0
  11. package/build/lib/bootstrap/appium-initializer.js.map +1 -0
  12. package/build/lib/bootstrap/appium-main-runner.d.ts +22 -0
  13. package/build/lib/bootstrap/appium-main-runner.d.ts.map +1 -0
  14. package/build/lib/bootstrap/appium-main-runner.js +109 -0
  15. package/build/lib/bootstrap/appium-main-runner.js.map +1 -0
  16. package/build/lib/bootstrap/config-file.d.ts +37 -0
  17. package/build/lib/bootstrap/config-file.d.ts.map +1 -0
  18. package/build/lib/{config-file.js → bootstrap/config-file.js} +9 -26
  19. package/build/lib/bootstrap/config-file.js.map +1 -0
  20. package/build/lib/bootstrap/grid-v3-register.d.ts +20 -0
  21. package/build/lib/bootstrap/grid-v3-register.d.ts.map +1 -0
  22. package/build/lib/{grid-register.js → bootstrap/grid-v3-register.js} +28 -13
  23. package/build/lib/bootstrap/grid-v3-register.js.map +1 -0
  24. package/build/lib/bootstrap/init-types.d.ts +16 -0
  25. package/build/lib/bootstrap/init-types.d.ts.map +1 -0
  26. package/build/lib/bootstrap/init-types.js +3 -0
  27. package/build/lib/bootstrap/init-types.js.map +1 -0
  28. package/build/lib/bootstrap/main-helpers.d.ts +55 -0
  29. package/build/lib/bootstrap/main-helpers.d.ts.map +1 -0
  30. package/build/lib/bootstrap/main-helpers.js +187 -0
  31. package/build/lib/bootstrap/main-helpers.js.map +1 -0
  32. package/build/lib/bootstrap/node-helpers.d.ts +32 -0
  33. package/build/lib/bootstrap/node-helpers.d.ts.map +1 -0
  34. package/build/lib/bootstrap/node-helpers.js +201 -0
  35. package/build/lib/bootstrap/node-helpers.js.map +1 -0
  36. package/build/lib/bootstrap/startup-config.d.ts +22 -0
  37. package/build/lib/bootstrap/startup-config.d.ts.map +1 -0
  38. package/build/lib/bootstrap/startup-config.js +111 -0
  39. package/build/lib/bootstrap/startup-config.js.map +1 -0
  40. package/build/lib/cli/args.d.ts.map +1 -1
  41. package/build/lib/cli/args.js +9 -9
  42. package/build/lib/cli/args.js.map +1 -1
  43. package/build/lib/cli/extension-command.d.ts +95 -95
  44. package/build/lib/cli/extension-command.d.ts.map +1 -1
  45. package/build/lib/cli/extension-command.js +18 -18
  46. package/build/lib/cli/extension-command.js.map +1 -1
  47. package/build/lib/cli/extension.d.ts +1 -1
  48. package/build/lib/cli/extension.d.ts.map +1 -1
  49. package/build/lib/cli/extension.js +5 -5
  50. package/build/lib/cli/extension.js.map +1 -1
  51. package/build/lib/cli/parser.d.ts +8 -8
  52. package/build/lib/cli/parser.d.ts.map +1 -1
  53. package/build/lib/cli/parser.js +49 -49
  54. package/build/lib/cli/parser.js.map +1 -1
  55. package/build/lib/cli/setup-command.js +6 -6
  56. package/build/lib/cli/setup-command.js.map +1 -1
  57. package/build/lib/cli/utils.d.ts +17 -17
  58. package/build/lib/cli/utils.d.ts.map +1 -1
  59. package/build/lib/cli/utils.js +29 -29
  60. package/build/lib/cli/utils.js.map +1 -1
  61. package/build/lib/doctor/doctor.d.ts +2 -2
  62. package/build/lib/doctor/doctor.d.ts.map +1 -1
  63. package/build/lib/doctor/doctor.js +6 -6
  64. package/build/lib/doctor/doctor.js.map +1 -1
  65. package/build/lib/extension/driver-config.d.ts +18 -77
  66. package/build/lib/extension/driver-config.d.ts.map +1 -1
  67. package/build/lib/extension/driver-config.js +37 -125
  68. package/build/lib/extension/driver-config.js.map +1 -1
  69. package/build/lib/extension/extension-config.d.ts +103 -210
  70. package/build/lib/extension/extension-config.d.ts.map +1 -1
  71. package/build/lib/extension/extension-config.js +180 -342
  72. package/build/lib/extension/extension-config.js.map +1 -1
  73. package/build/lib/extension/index.d.ts +12 -29
  74. package/build/lib/extension/index.d.ts.map +1 -1
  75. package/build/lib/extension/index.js +33 -75
  76. package/build/lib/extension/index.js.map +1 -1
  77. package/build/lib/extension/manifest-migrations.d.ts +3 -20
  78. package/build/lib/extension/manifest-migrations.d.ts.map +1 -1
  79. package/build/lib/extension/manifest-migrations.js +20 -101
  80. package/build/lib/extension/manifest-migrations.js.map +1 -1
  81. package/build/lib/extension/manifest.d.ts +61 -107
  82. package/build/lib/extension/manifest.d.ts.map +1 -1
  83. package/build/lib/extension/manifest.js +181 -356
  84. package/build/lib/extension/manifest.js.map +1 -1
  85. package/build/lib/extension/package-changed.d.ts +1 -3
  86. package/build/lib/extension/package-changed.d.ts.map +1 -1
  87. package/build/lib/extension/package-changed.js +8 -15
  88. package/build/lib/extension/package-changed.js.map +1 -1
  89. package/build/lib/extension/plugin-config.d.ts +10 -52
  90. package/build/lib/extension/plugin-config.d.ts.map +1 -1
  91. package/build/lib/extension/plugin-config.js +11 -63
  92. package/build/lib/extension/plugin-config.js.map +1 -1
  93. package/build/lib/helpers/build.d.ts +22 -0
  94. package/build/lib/helpers/build.d.ts.map +1 -0
  95. package/build/lib/helpers/build.js +109 -0
  96. package/build/lib/helpers/build.js.map +1 -0
  97. package/build/lib/helpers/capability.d.ts +38 -0
  98. package/build/lib/helpers/capability.d.ts.map +1 -0
  99. package/build/lib/helpers/capability.js +128 -0
  100. package/build/lib/helpers/capability.js.map +1 -0
  101. package/build/lib/helpers/network.d.ts +14 -0
  102. package/build/lib/helpers/network.d.ts.map +1 -0
  103. package/build/lib/helpers/network.js +35 -0
  104. package/build/lib/helpers/network.js.map +1 -0
  105. package/build/lib/insecure-features.js +6 -6
  106. package/build/lib/insecure-features.js.map +1 -1
  107. package/build/lib/inspector-commands.d.ts +6 -0
  108. package/build/lib/inspector-commands.d.ts.map +1 -1
  109. package/build/lib/inspector-commands.js +6 -0
  110. package/build/lib/inspector-commands.js.map +1 -1
  111. package/build/lib/logger.d.ts +2 -3
  112. package/build/lib/logger.d.ts.map +1 -1
  113. package/build/lib/logger.js +2 -3
  114. package/build/lib/logger.js.map +1 -1
  115. package/build/lib/main.d.ts +15 -58
  116. package/build/lib/main.d.ts.map +1 -1
  117. package/build/lib/main.js +25 -425
  118. package/build/lib/main.js.map +1 -1
  119. package/build/lib/schema/cli-args-guards.d.ts +34 -0
  120. package/build/lib/schema/cli-args-guards.d.ts.map +1 -0
  121. package/build/lib/schema/cli-args-guards.js +49 -0
  122. package/build/lib/schema/cli-args-guards.js.map +1 -0
  123. package/build/lib/schema/cli-args.js +2 -2
  124. package/build/lib/schema/cli-args.js.map +1 -1
  125. package/build/lib/schema/format-errors.d.ts +28 -0
  126. package/build/lib/schema/format-errors.d.ts.map +1 -0
  127. package/build/lib/schema/format-errors.js +29 -0
  128. package/build/lib/schema/format-errors.js.map +1 -0
  129. package/build/lib/schema/index.d.ts +2 -0
  130. package/build/lib/schema/index.d.ts.map +1 -1
  131. package/build/lib/schema/index.js +2 -0
  132. package/build/lib/schema/index.js.map +1 -1
  133. package/build/lib/schema/schema.d.ts +15 -15
  134. package/build/lib/schema/schema.d.ts.map +1 -1
  135. package/build/lib/schema/schema.js +37 -37
  136. package/build/lib/schema/schema.js.map +1 -1
  137. package/build/lib/utils.d.ts +0 -81
  138. package/build/lib/utils.d.ts.map +1 -1
  139. package/build/lib/utils.js +1 -248
  140. package/build/lib/utils.js.map +1 -1
  141. package/lib/{appium.js → appium.ts} +297 -341
  142. package/lib/bidi-commands.ts +10 -14
  143. package/lib/bootstrap/appium-initializer.ts +212 -0
  144. package/lib/bootstrap/appium-main-runner.ts +172 -0
  145. package/lib/{config-file.ts → bootstrap/config-file.ts} +29 -63
  146. package/lib/{grid-register.ts → bootstrap/grid-v3-register.ts} +35 -35
  147. package/lib/bootstrap/init-types.ts +31 -0
  148. package/lib/bootstrap/main-helpers.ts +223 -0
  149. package/lib/bootstrap/node-helpers.ts +180 -0
  150. package/lib/bootstrap/startup-config.ts +143 -0
  151. package/lib/cli/args.ts +10 -10
  152. package/lib/cli/extension-command.ts +132 -132
  153. package/lib/cli/extension.ts +7 -7
  154. package/lib/cli/parser.ts +50 -50
  155. package/lib/cli/setup-command.ts +2 -2
  156. package/lib/cli/utils.ts +33 -33
  157. package/lib/doctor/doctor.ts +8 -8
  158. package/lib/extension/driver-config.ts +165 -0
  159. package/lib/extension/{extension-config.js → extension-config.ts} +291 -405
  160. package/lib/extension/index.ts +143 -0
  161. package/lib/extension/manifest-migrations.ts +57 -0
  162. package/lib/extension/manifest.ts +369 -0
  163. package/lib/extension/{package-changed.js → package-changed.ts} +9 -18
  164. package/lib/extension/plugin-config.ts +62 -0
  165. package/lib/helpers/build.ts +111 -0
  166. package/lib/helpers/capability.ts +171 -0
  167. package/lib/helpers/network.ts +30 -0
  168. package/lib/insecure-features.ts +1 -1
  169. package/lib/inspector-commands.ts +6 -1
  170. package/lib/{logger.js → logger.ts} +1 -2
  171. package/lib/main.ts +60 -0
  172. package/lib/schema/cli-args-guards.ts +67 -0
  173. package/lib/schema/cli-args.ts +1 -1
  174. package/lib/schema/format-errors.ts +43 -0
  175. package/lib/schema/index.ts +2 -0
  176. package/lib/schema/schema.ts +51 -52
  177. package/lib/utils.ts +0 -331
  178. package/package.json +12 -13
  179. package/scripts/autoinstall-extensions.js +3 -0
  180. package/build/lib/config-file.d.ts +0 -57
  181. package/build/lib/config-file.d.ts.map +0 -1
  182. package/build/lib/config-file.js.map +0 -1
  183. package/build/lib/config.d.ts +0 -68
  184. package/build/lib/config.d.ts.map +0 -1
  185. package/build/lib/config.js +0 -358
  186. package/build/lib/config.js.map +0 -1
  187. package/build/lib/grid-register.d.ts +0 -35
  188. package/build/lib/grid-register.d.ts.map +0 -1
  189. package/build/lib/grid-register.js.map +0 -1
  190. package/lib/config.ts +0 -377
  191. package/lib/extension/driver-config.js +0 -245
  192. package/lib/extension/index.js +0 -169
  193. package/lib/extension/manifest-migrations.js +0 -136
  194. package/lib/extension/manifest.js +0 -550
  195. package/lib/extension/plugin-config.js +0 -112
  196. package/lib/main.js +0 -545
@@ -3,126 +3,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getAppiumModuleRoot = exports.inspect = exports.npmPackage = exports.V6_BROADCAST_IP = exports.V4_BROADCAST_IP = void 0;
7
- exports.makeNonW3cCapsError = makeNonW3cCapsError;
8
- exports.parseCapsForInnerDriver = parseCapsForInnerDriver;
9
- exports.insertAppiumPrefixes = insertAppiumPrefixes;
10
- exports.removeAppiumPrefixes = removeAppiumPrefixes;
11
- exports.adjustNodePath = adjustNodePath;
12
- exports.pullSettings = pullSettings;
13
- exports.isServerCommandArgs = isServerCommandArgs;
14
- exports.isSetupCommandArgs = isSetupCommandArgs;
15
- exports.isExtensionCommandArgs = isExtensionCommandArgs;
16
- exports.isDriverCommandArgs = isDriverCommandArgs;
17
- exports.isPluginCommandArgs = isPluginCommandArgs;
18
- exports.fetchInterfaces = fetchInterfaces;
6
+ exports.getAppiumModuleRoot = exports.npmPackage = void 0;
19
7
  exports.adler32 = adler32;
20
- exports.isBroadcastIp = isBroadcastIp;
21
8
  const lodash_1 = __importDefault(require("lodash"));
22
- const logger_1 = __importDefault(require("./logger"));
23
- const base_driver_1 = require("@appium/base-driver");
24
- const node_util_1 = require("node:util");
25
9
  const support_1 = require("@appium/support");
26
- const node_path_1 = __importDefault(require("node:path"));
27
- const constants_1 = require("./constants");
28
- const node_os_1 = __importDefault(require("node:os"));
29
- const W3C_APPIUM_PREFIX = 'appium';
30
- const STANDARD_CAPS_LOWERCASE = new Set([...base_driver_1.STANDARD_CAPS].map((cap) => cap.toLowerCase()));
31
- exports.V4_BROADCAST_IP = '0.0.0.0';
32
- exports.V6_BROADCAST_IP = '::';
33
10
  exports.npmPackage = support_1.fs.readPackageJsonFrom(__dirname);
34
- /** If stdout is a TTY; used for tighter control over log output. */
35
- const isStdoutTTY = process.stdout.isTTY;
36
- /**
37
- * Creates an error when a session receives non-W3C capabilities.
38
- */
39
- function makeNonW3cCapsError() {
40
- return new base_driver_1.errors.SessionNotCreatedError('Session capabilities format must comply to the W3C standard. Make sure your client is up to date. ' +
41
- 'See https://www.w3.org/TR/webdriver/#new-session for more details.');
42
- }
43
- /**
44
- * Logs a value to the console using the info logger (with util.inspect formatting).
45
- */
46
- exports.inspect = lodash_1.default.flow(lodash_1.default.partialRight(node_util_1.inspect, {
47
- colors: true,
48
- depth: null,
49
- compact: !isStdoutTTY,
50
- }), (...args) => {
51
- logger_1.default.info(...args);
52
- });
53
- /**
54
- * Parses W3C capabilities for the inner driver and applies defaults.
55
- *
56
- * @returns Parsed caps or an invalid result with an error.
57
- */
58
- function parseCapsForInnerDriver(w3cCapabilities, constraints = {}, defaultCapabilities = {}) {
59
- if (!(0, base_driver_1.isW3cCaps)(w3cCapabilities)) {
60
- return { error: makeNonW3cCapsError() };
61
- }
62
- let desiredCaps = {};
63
- // eslint-disable-next-line prefer-const -- assigned in success path after try
64
- let processedW3CCapabilities;
65
- w3cCapabilities = lodash_1.default.cloneDeep(w3cCapabilities);
66
- defaultCapabilities = lodash_1.default.cloneDeep(defaultCapabilities);
67
- if (!lodash_1.default.isEmpty(defaultCapabilities)) {
68
- for (const [defaultCapKey, defaultCapValue] of lodash_1.default.toPairs(defaultCapabilities)) {
69
- let isCapAlreadySet = false;
70
- for (const firstMatchEntry of w3cCapabilities.firstMatch ?? []) {
71
- if (lodash_1.default.isPlainObject(firstMatchEntry) &&
72
- lodash_1.default.has(removeAppiumPrefixes(firstMatchEntry), removeAppiumPrefix(defaultCapKey))) {
73
- isCapAlreadySet = true;
74
- break;
75
- }
76
- }
77
- isCapAlreadySet =
78
- isCapAlreadySet ||
79
- (lodash_1.default.isPlainObject(w3cCapabilities.alwaysMatch) &&
80
- lodash_1.default.has(removeAppiumPrefixes(w3cCapabilities.alwaysMatch), removeAppiumPrefix(defaultCapKey)));
81
- if (isCapAlreadySet) {
82
- continue;
83
- }
84
- if (lodash_1.default.isEmpty(w3cCapabilities.firstMatch)) {
85
- w3cCapabilities.firstMatch = [{ [defaultCapKey]: defaultCapValue }];
86
- }
87
- else {
88
- w3cCapabilities.firstMatch[0][defaultCapKey] = defaultCapValue;
89
- }
90
- }
91
- }
92
- try {
93
- desiredCaps = (0, base_driver_1.processCapabilities)(w3cCapabilities, constraints, true);
94
- }
95
- catch (error) {
96
- logger_1.default.info(`Could not parse W3C capabilities: ${error.message}`);
97
- return {
98
- desiredCaps,
99
- processedW3CCapabilities,
100
- error: error,
101
- };
102
- }
103
- processedW3CCapabilities = {
104
- alwaysMatch: { ...insertAppiumPrefixes(desiredCaps) },
105
- firstMatch: [{}],
106
- };
107
- return {
108
- desiredCaps,
109
- processedW3CCapabilities,
110
- };
111
- }
112
- /**
113
- * Prefixes capability keys with `appium:` where appropriate.
114
- */
115
- function insertAppiumPrefixes(caps) {
116
- return lodash_1.default.mapKeys(caps, (_, key) => STANDARD_CAPS_LOWERCASE.has(key.toLowerCase()) || key.includes(':')
117
- ? key
118
- : `${W3C_APPIUM_PREFIX}:${key}`);
119
- }
120
- /**
121
- * Removes `appium:` prefix from capability keys.
122
- */
123
- function removeAppiumPrefixes(caps) {
124
- return lodash_1.default.mapKeys(caps, (_, key) => removeAppiumPrefix(key));
125
- }
126
11
  /**
127
12
  * Returns the root directory of the Appium module (memoized).
128
13
  *
@@ -135,126 +20,6 @@ exports.getAppiumModuleRoot = lodash_1.default.memoize(function getAppiumModuleR
135
20
  }
136
21
  return selfRoot;
137
22
  });
138
- /**
139
- * Adjusts NODE_PATH so CJS drivers/plugins can load peer deps. Does not work with ESM.
140
- */
141
- function adjustNodePath() {
142
- let appiumModuleSearchRoot;
143
- try {
144
- appiumModuleSearchRoot = node_path_1.default.dirname((0, exports.getAppiumModuleRoot)());
145
- }
146
- catch (error) {
147
- logger_1.default.warn(error.message);
148
- return;
149
- }
150
- const refreshRequirePaths = () => {
151
- try {
152
- // Private API; see https://gist.github.com/branneman/8048520#7-the-hack
153
- require('node:module').Module._initPaths();
154
- return true;
155
- }
156
- catch {
157
- return false;
158
- }
159
- };
160
- if (!process.env.NODE_PATH) {
161
- process.env.NODE_PATH = appiumModuleSearchRoot;
162
- if (refreshRequirePaths()) {
163
- process.env.APPIUM_OMIT_PEER_DEPS = '1';
164
- }
165
- else {
166
- delete process.env.NODE_PATH;
167
- }
168
- return;
169
- }
170
- const nodePathParts = process.env.NODE_PATH.split(node_path_1.default.delimiter);
171
- if (nodePathParts.includes(appiumModuleSearchRoot)) {
172
- process.env.APPIUM_OMIT_PEER_DEPS = '1';
173
- return;
174
- }
175
- nodePathParts.push(appiumModuleSearchRoot);
176
- process.env.NODE_PATH = nodePathParts.join(node_path_1.default.delimiter);
177
- if (refreshRequirePaths()) {
178
- process.env.APPIUM_OMIT_PEER_DEPS = '1';
179
- }
180
- else {
181
- process.env.NODE_PATH = lodash_1.default.without(nodePathParts, appiumModuleSearchRoot).join(node_path_1.default.delimiter);
182
- }
183
- }
184
- /**
185
- * Pulls Appium settings from capabilities (mutates caps). Supports
186
- * `settings[key]: value` and `settings: { key: value }`.
187
- *
188
- * @returns Parsed settings object; empty if none found.
189
- */
190
- function pullSettings(caps) {
191
- if (!lodash_1.default.isPlainObject(caps) || lodash_1.default.isEmpty(caps)) {
192
- return {};
193
- }
194
- const result = {};
195
- const singleSettings = {};
196
- for (const [key, value] of lodash_1.default.toPairs(caps)) {
197
- let match;
198
- if (/^(s|appium:s)ettings$/.test(key) && lodash_1.default.isPlainObject(value)) {
199
- Object.assign(result, value);
200
- delete caps[key];
201
- }
202
- else if ((match = /^(s|appium:s)ettings\[(\S+)\]$/.exec(key))) {
203
- singleSettings[match[2]] = value;
204
- delete caps[key];
205
- }
206
- }
207
- if (!lodash_1.default.isEmpty(singleSettings)) {
208
- Object.assign(result, singleSettings);
209
- }
210
- return result;
211
- }
212
- /**
213
- * Type guard: args are for the server command.
214
- */
215
- function isServerCommandArgs(args) {
216
- return args.subcommand === constants_1.SERVER_SUBCOMMAND;
217
- }
218
- /**
219
- * Type guard: args are for the setup command.
220
- */
221
- function isSetupCommandArgs(args) {
222
- return args.subcommand === constants_1.SETUP_SUBCOMMAND;
223
- }
224
- /**
225
- * Type guard: args are for an extension command (driver or plugin).
226
- */
227
- function isExtensionCommandArgs(args) {
228
- return args.subcommand === constants_1.DRIVER_TYPE || args.subcommand === constants_1.PLUGIN_TYPE;
229
- }
230
- /**
231
- * Type guard: args are for a driver extension command.
232
- */
233
- function isDriverCommandArgs(args) {
234
- return args.subcommand === constants_1.DRIVER_TYPE;
235
- }
236
- /**
237
- * Type guard: args are for a plugin extension command.
238
- */
239
- function isPluginCommandArgs(args) {
240
- return args.subcommand === constants_1.PLUGIN_TYPE;
241
- }
242
- /**
243
- * Returns network interfaces for the given IP family.
244
- *
245
- * @param family - 4 for IPv4, 6 for IPv6, or null for all.
246
- */
247
- function fetchInterfaces(family = null) {
248
- let familyValue = null;
249
- if (family === 4) {
250
- familyValue = [4, 'IPv4'];
251
- }
252
- else if (family === 6) {
253
- familyValue = [6, 'IPv6'];
254
- }
255
- const ifaces = lodash_1.default.values(node_os_1.default.networkInterfaces()).filter(Boolean);
256
- return lodash_1.default.flatMap(ifaces).filter((info) => !familyValue || familyValue.includes(info.family));
257
- }
258
23
  /**
259
24
  * Adler-32 checksum (see https://github.com/SheetJS/js-adler32).
260
25
  */
@@ -309,16 +74,4 @@ function adler32(str, seed = null) {
309
74
  }
310
75
  return ((b % 65521) << 16) | (a % 65521);
311
76
  }
312
- /**
313
- * Returns true if the address is a broadcast IP (0.0.0.0 or ::).
314
- */
315
- function isBroadcastIp(address) {
316
- return [exports.V4_BROADCAST_IP, exports.V6_BROADCAST_IP, `[${exports.V6_BROADCAST_IP}]`].includes(address);
317
- }
318
- // #region private helpers
319
- function removeAppiumPrefix(key) {
320
- const prefix = `${W3C_APPIUM_PREFIX}:`;
321
- return lodash_1.default.startsWith(key, prefix) ? key.substring(prefix.length) : key;
322
- }
323
- // #endregion
324
77
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":";;;;;;AAqBA,0BAmDC;AAxED,oDAAuB;AACvB,6CAAyC;AAE5B,QAAA,UAAU,GAAG,YAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAE5D;;;;GAIG;AACU,QAAA,mBAAmB,GAAG,gBAAC,CAAC,OAAO,CAAC,SAAS,mBAAmB;IACvE,MAAM,QAAQ,GAAG,cAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,SAAgB,OAAO,CAAC,GAAW,EAAE,OAAsB,IAAI;IAC7D,IAAI,CAAC,GAAG,CAAC,EACP,CAAC,GAAG,CAAC,EACL,CAAC,GAAG,CAAC,EACL,CAAC,GAAG,CAAC,EACL,CAAC,GAAG,CAAC,CAAC;IACR,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;IACrB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC;QAClB,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC;IAClB,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;QACvB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACb,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;YACxB,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;gBACb,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;iBAAM,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC;gBACrB,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC3B,CAAC,IAAI,CAAC,CAAC;gBACP,EAAE,CAAC,CAAC;gBACJ,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YACtB,CAAC;iBAAM,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC;gBACrC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACpB,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;gBAC/B,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1B,CAAC,IAAI,CAAC,CAAC;gBACP,EAAE,CAAC,CAAC;gBACJ,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC3B,CAAC,IAAI,CAAC,CAAC;gBACP,EAAE,CAAC,CAAC;gBACJ,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC5C,CAAC,IAAI,CAAC,CAAC;gBACP,EAAE,CAAC,CAAC;gBACJ,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC5B,CAAC,IAAI,CAAC,CAAC;gBACP,EAAE,CAAC,CAAC;gBACJ,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC3B,CAAC,IAAI,CAAC,CAAC;gBACP,EAAE,CAAC,CAAC;gBACJ,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YACtB,CAAC;YACD,CAAC,IAAI,CAAC,CAAC;YACP,EAAE,CAAC,CAAC;QACN,CAAC;QACD,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;QAClC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;AAC3C,CAAC"}