appium-uiautomator2-driver 2.22.1 → 2.24.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [2.24.0](https://github.com/appium/appium-uiautomator2-driver/compare/v2.23.0...v2.24.0) (2023-05-05)
2
+
3
+
4
+ ### Features
5
+
6
+ * Add mobile wrapper for performance data collectors ([#613](https://github.com/appium/appium-uiautomator2-driver/issues/613)) ([cfd13f8](https://github.com/appium/appium-uiautomator2-driver/commit/cfd13f8e3d2cec60c0c0379e8336f3a62753cd96))
7
+
8
+ ## [2.23.0](https://github.com/appium/appium-uiautomator2-driver/compare/v2.22.1...v2.23.0) (2023-04-30)
9
+
10
+
11
+ ### Features
12
+
13
+ * Add mobile wrappers for GPS and notification helpers ([#608](https://github.com/appium/appium-uiautomator2-driver/issues/608)) ([97c2989](https://github.com/appium/appium-uiautomator2-driver/commit/97c2989bcf469bb45e735237fe91c4797f2403ea))
14
+
1
15
  ## [2.22.1](https://github.com/appium/appium-uiautomator2-driver/compare/v2.22.0...v2.22.1) (2023-04-28)
2
16
 
3
17
 
package/README.md CHANGED
@@ -548,6 +548,10 @@ The example output is:
548
548
  }
549
549
  ```
550
550
 
551
+ ### mobile: openNotifications
552
+
553
+ Opens notifications drawer on the device under test. Does nothing if the drawer is already opened. Available since driver version 2.23
554
+
551
555
  ### mobile: listSms
552
556
 
553
557
  Retrieves the list of the most recent SMS properties list via Appium Settings helper. Messages are sorted by date in descending order.
@@ -1254,6 +1258,77 @@ Name | Type | Required | Description | Example
1254
1258
  elementId | string | yes | Hexadecimal identifier of the destination text input | 123456-3456-3435-3453453
1255
1259
  text | string | yes | The text to enter. It could also contain Unicode characters. If the text ends with `\\n` (the backslash must be escaped, so the char is NOT translated into `0x0A`) then the Enter key press is going to be emulated after it is entered (the `\\n` substring itself will be cut off from the typed text). | yolo
1256
1260
 
1261
+ ### mobile: toggleGps
1262
+
1263
+ Switches GPS setting state. This API only works reliably since Android 12 (API 31). Available since driver version 2.23
1264
+
1265
+ ### mobile: isGpsEnabled
1266
+
1267
+ Returns `true` if GPS is enabled on the device under test. Available since driver version 2.23
1268
+
1269
+ ### mobile: getPerformanceDataTypes
1270
+
1271
+ Fetches the list of supported perfomance data types that could be used as `dataType` argument value to [mobile: getPerformanceData](#mobile-getperformancedata) extension. Available since driver version 2.24
1272
+
1273
+ #### Returned Result
1274
+
1275
+ List of strings, where each item is data type name.
1276
+
1277
+ ### mobile: getPerformanceData
1278
+
1279
+ Retrieves performance data about the given Android subsystem. The data is parsed from the output of the dumpsys utility. Available since driver version 2.24
1280
+
1281
+ #### Arguments
1282
+
1283
+ Name | Type | Required | Description | Example
1284
+ --- | --- | --- | --- | ---
1285
+ packageName | string | yes | The name of the package identifier to fetch the data for | com.myapp
1286
+ dataType | string | yes | One of supported subsystem names. The full list of supported values is returned by [mobile: getPerformanceDataTypes](#mobile-getperformancedatatypes) extension. | batteryinfo or cpuinfo or memoryinfo or networkinfo
1287
+
1288
+ #### Returned Result
1289
+
1290
+ The output depends on the selected subsystem. It is organized into a table, where the first row represents column names and the following rows represent the sampled data for each column.
1291
+ Example output for different data types:
1292
+
1293
+ - batteryinfo:
1294
+ ```
1295
+ [
1296
+ [power],
1297
+ [23]
1298
+ ]
1299
+ ```
1300
+ - memoryinfo:
1301
+ ```
1302
+ [
1303
+ [totalPrivateDirty, nativePrivateDirty, dalvikPrivateDirty, eglPrivateDirty, glPrivateDirty, totalPss, nativePss, dalvikPss, eglPss, glPss, nativeHeapAllocatedSize, nativeHeapSize],
1304
+ [18360, 8296, 6132, null, null, 42588, 8406, 7024, null, null, 26519, 10344]
1305
+ ]
1306
+ ```
1307
+ - networkinfo:
1308
+ ```
1309
+ // emulator
1310
+ [
1311
+ [bucketStart, activeTime, rxBytes, rxPackets, txBytes, txPackets, operations, bucketDuration],
1312
+ [1478091600000, null, 1099075, 610947, 928, 114362, 769, 0, 3600000],
1313
+ [1478095200000, null, 1306300, 405997, 509, 46359, 370, 0, 3600000]
1314
+ ]
1315
+ // real devices
1316
+ [
1317
+ [st, activeTime, rb, rp, tb, tp, op, bucketDuration],
1318
+ [1478088000, null, null, 32115296, 34291, 2956805, 25705, 0, 3600],
1319
+ [1478091600, null, null, 2714683, 11821, 1420564, 12650, 0, 3600],
1320
+ [1478095200, null, null, 10079213, 19962, 2487705, 20015, 0, 3600],
1321
+ [1478098800, null, null, 4444433, 10227, 1430356, 10493, 0, 3600]
1322
+ ]
1323
+ ```
1324
+ - cpuinfo:
1325
+ ```
1326
+ [
1327
+ [user, kernel],
1328
+ [0.9, 1.3]
1329
+ ]
1330
+ ```
1331
+
1257
1332
 
1258
1333
  ## Applications Management
1259
1334
 
@@ -55,4 +55,4 @@ commands.mobilePressKey = async function mobilePressKey(opts = {}) {
55
55
  Object.assign(extensions, commands, helpers);
56
56
  var _default = extensions;
57
57
  exports.default = _default;
58
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImhlbHBlcnMiLCJleHRlbnNpb25zIiwiZXhwb3J0cyIsInByZXNzS2V5Q29kZSIsImtleWNvZGUiLCJtZXRhc3RhdGUiLCJmbGFncyIsInVpYXV0b21hdG9yMiIsImp3cHJveHkiLCJjb21tYW5kIiwibG9uZ1ByZXNzS2V5Q29kZSIsImRvU3dpcGUiLCJzd2lwZU9wdHMiLCJkb0RyYWciLCJkcmFnT3B0cyIsImdldE9yaWVudGF0aW9uIiwic2V0T3JpZW50YXRpb24iLCJvcmllbnRhdGlvbiIsInRvVXBwZXJDYXNlIiwibW9iaWxlUHJlc3NLZXkiLCJvcHRzIiwiaXNMb25nUHJlc3MiLCJPYmplY3QiLCJhc3NpZ24iLCJfZGVmYXVsdCIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvYWN0aW9ucy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcblxubGV0IGNvbW1hbmRzID0ge30sIGhlbHBlcnMgPSB7fSwgZXh0ZW5zaW9ucyA9IHt9O1xuXG5jb21tYW5kcy5wcmVzc0tleUNvZGUgPSBhc3luYyBmdW5jdGlvbiAoa2V5Y29kZSwgbWV0YXN0YXRlID0gbnVsbCwgZmxhZ3MgPSBudWxsKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoJy9hcHBpdW0vZGV2aWNlL3ByZXNzX2tleWNvZGUnLCAnUE9TVCcsIHtcbiAgICBrZXljb2RlLFxuICAgIG1ldGFzdGF0ZSxcbiAgICBmbGFncyxcbiAgfSk7XG59O1xuXG5jb21tYW5kcy5sb25nUHJlc3NLZXlDb2RlID0gYXN5bmMgZnVuY3Rpb24gKGtleWNvZGUsIG1ldGFzdGF0ZSA9IG51bGwsIGZsYWdzID0gbnVsbCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKCcvYXBwaXVtL2RldmljZS9sb25nX3ByZXNzX2tleWNvZGUnLCAnUE9TVCcsIHtcbiAgICBrZXljb2RlLFxuICAgIG1ldGFzdGF0ZSxcbiAgICBmbGFnc1xuICB9KTtcbn07XG5cbmNvbW1hbmRzLmRvU3dpcGUgPSBhc3luYyBmdW5jdGlvbiAoc3dpcGVPcHRzKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC90b3VjaC9wZXJmb3JtYCwgJ1BPU1QnLCBzd2lwZU9wdHMpO1xufTtcblxuY29tbWFuZHMuZG9EcmFnID0gYXN5bmMgZnVuY3Rpb24gKGRyYWdPcHRzKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC90b3VjaC9kcmFnYCwgJ1BPU1QnLCBkcmFnT3B0cyk7XG59O1xuXG5jb21tYW5kcy5nZXRPcmllbnRhdGlvbiA9IGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL29yaWVudGF0aW9uYCwgJ0dFVCcsIHt9KTtcbn07XG5cbmNvbW1hbmRzLnNldE9yaWVudGF0aW9uID0gYXN5bmMgZnVuY3Rpb24gKG9yaWVudGF0aW9uKSB7XG4gIG9yaWVudGF0aW9uID0gb3JpZW50YXRpb24udG9VcHBlckNhc2UoKTtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL29yaWVudGF0aW9uYCwgJ1BPU1QnLCB7b3JpZW50YXRpb259KTtcbn07XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gUHJlc3NLZXlPcHRpb25zXG4gKiBAcHJvcGVydHkge251bWJlcn0ga2V5Y29kZSBBIHZhbGlkIEFuZHJvaWQga2V5IGNvZGUuIFNlZSBodHRwczovL2RldmVsb3Blci5hbmRyb2lkLmNvbS9yZWZlcmVuY2UvYW5kcm9pZC92aWV3L0tleUV2ZW50XG4gKiBmb3IgdGhlIGxpc3Qgb2YgYXZhaWxhYmxlIGtleSBjb2Rlc1xuICogQHByb3BlcnR5IHtudW1iZXI/fSBtZXRhc3RhdGUgQW4gaW50ZWdlciBpbiB3aGljaCBlYWNoIGJpdCBzZXQgdG8gMSByZXByZXNlbnRzIGEgcHJlc3NlZCBtZXRhIGtleS4gU2VlXG4gKiBodHRwczovL2RldmVsb3Blci5hbmRyb2lkLmNvbS9yZWZlcmVuY2UvYW5kcm9pZC92aWV3L0tleUV2ZW50IGZvciBtb3JlIGRldGFpbHMuXG4gKiBAcHJvcGVydHkge3N0cmluZz99IGZsYWdzIEZsYWdzIGZvciB0aGUgcGFydGljdWxhciBrZXkgZXZlbnQuIFNlZVxuICogaHR0cHM6Ly9kZXZlbG9wZXIuYW5kcm9pZC5jb20vcmVmZXJlbmNlL2FuZHJvaWQvdmlldy9LZXlFdmVudCBmb3IgbW9yZSBkZXRhaWxzLlxuICogQHByb3BlcnR5IHtib29sZWFufSBpc0xvbmdQcmVzcyBbZmFsc2VdIFdoZXRoZXIgdG8gZW11bGF0ZSBsb25nIGtleSBwcmVzc1xuKi9cblxuLyoqXG4gKiBFbXVsYXRlcyBzaW5nbGUga2V5IHByZXNzIG9mIHRoZSBrZXkgd2l0aCB0aGUgZ2l2ZW4gY29kZS5cbiAqXG4gKiBAcGFyYW0ge1ByZXNzS2V5T3B0aW9uc30gb3B0c1xuICovXG5jb21tYW5kcy5tb2JpbGVQcmVzc0tleSA9IGFzeW5jIGZ1bmN0aW9uIG1vYmlsZVByZXNzS2V5KG9wdHMgPSB7fSkge1xuICBjb25zdCB7XG4gICAga2V5Y29kZSxcbiAgICBtZXRhc3RhdGUsXG4gICAgZmxhZ3MsXG4gICAgaXNMb25nUHJlc3MgPSBmYWxzZSxcbiAgfSA9IG9wdHM7XG5cbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChcbiAgICBgL2FwcGl1bS9kZXZpY2UvJHtpc0xvbmdQcmVzcyA/ICdsb25nXycgOiAnJ31wcmVzc19rZXljb2RlYCxcbiAgICAnUE9TVCcsIHtcbiAgICAgIGtleWNvZGUsXG4gICAgICBtZXRhc3RhdGUsXG4gICAgICBmbGFnc1xuICAgIH1cbiAgKTtcbn07XG5cbk9iamVjdC5hc3NpZ24oZXh0ZW5zaW9ucywgY29tbWFuZHMsIGhlbHBlcnMp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
58
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImhlbHBlcnMiLCJleHRlbnNpb25zIiwiZXhwb3J0cyIsInByZXNzS2V5Q29kZSIsImtleWNvZGUiLCJtZXRhc3RhdGUiLCJmbGFncyIsInVpYXV0b21hdG9yMiIsImp3cHJveHkiLCJjb21tYW5kIiwibG9uZ1ByZXNzS2V5Q29kZSIsImRvU3dpcGUiLCJzd2lwZU9wdHMiLCJkb0RyYWciLCJkcmFnT3B0cyIsImdldE9yaWVudGF0aW9uIiwic2V0T3JpZW50YXRpb24iLCJvcmllbnRhdGlvbiIsInRvVXBwZXJDYXNlIiwibW9iaWxlUHJlc3NLZXkiLCJvcHRzIiwiaXNMb25nUHJlc3MiLCJPYmplY3QiLCJhc3NpZ24iLCJfZGVmYXVsdCIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvYWN0aW9ucy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcblxubGV0IGNvbW1hbmRzID0ge30sIGhlbHBlcnMgPSB7fSwgZXh0ZW5zaW9ucyA9IHt9O1xuXG5jb21tYW5kcy5wcmVzc0tleUNvZGUgPSBhc3luYyBmdW5jdGlvbiAoa2V5Y29kZSwgbWV0YXN0YXRlID0gbnVsbCwgZmxhZ3MgPSBudWxsKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoJy9hcHBpdW0vZGV2aWNlL3ByZXNzX2tleWNvZGUnLCAnUE9TVCcsIHtcbiAgICBrZXljb2RlLFxuICAgIG1ldGFzdGF0ZSxcbiAgICBmbGFncyxcbiAgfSk7XG59O1xuXG5jb21tYW5kcy5sb25nUHJlc3NLZXlDb2RlID0gYXN5bmMgZnVuY3Rpb24gKGtleWNvZGUsIG1ldGFzdGF0ZSA9IG51bGwsIGZsYWdzID0gbnVsbCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKCcvYXBwaXVtL2RldmljZS9sb25nX3ByZXNzX2tleWNvZGUnLCAnUE9TVCcsIHtcbiAgICBrZXljb2RlLFxuICAgIG1ldGFzdGF0ZSxcbiAgICBmbGFnc1xuICB9KTtcbn07XG5cbmNvbW1hbmRzLmRvU3dpcGUgPSBhc3luYyBmdW5jdGlvbiAoc3dpcGVPcHRzKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC90b3VjaC9wZXJmb3JtYCwgJ1BPU1QnLCBzd2lwZU9wdHMpO1xufTtcblxuY29tbWFuZHMuZG9EcmFnID0gYXN5bmMgZnVuY3Rpb24gKGRyYWdPcHRzKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC90b3VjaC9kcmFnYCwgJ1BPU1QnLCBkcmFnT3B0cyk7XG59O1xuXG5jb21tYW5kcy5nZXRPcmllbnRhdGlvbiA9IGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL29yaWVudGF0aW9uYCwgJ0dFVCcsIHt9KTtcbn07XG5cbmNvbW1hbmRzLnNldE9yaWVudGF0aW9uID0gYXN5bmMgZnVuY3Rpb24gKG9yaWVudGF0aW9uKSB7XG4gIG9yaWVudGF0aW9uID0gb3JpZW50YXRpb24udG9VcHBlckNhc2UoKTtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL29yaWVudGF0aW9uYCwgJ1BPU1QnLCB7b3JpZW50YXRpb259KTtcbn07XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gUHJlc3NLZXlPcHRpb25zXG4gKiBAcHJvcGVydHkge251bWJlcn0ga2V5Y29kZSBBIHZhbGlkIEFuZHJvaWQga2V5IGNvZGUuIFNlZSBodHRwczovL2RldmVsb3Blci5hbmRyb2lkLmNvbS9yZWZlcmVuY2UvYW5kcm9pZC92aWV3L0tleUV2ZW50XG4gKiBmb3IgdGhlIGxpc3Qgb2YgYXZhaWxhYmxlIGtleSBjb2Rlc1xuICogQHByb3BlcnR5IHtudW1iZXI/fSBtZXRhc3RhdGUgQW4gaW50ZWdlciBpbiB3aGljaCBlYWNoIGJpdCBzZXQgdG8gMSByZXByZXNlbnRzIGEgcHJlc3NlZCBtZXRhIGtleS4gU2VlXG4gKiBodHRwczovL2RldmVsb3Blci5hbmRyb2lkLmNvbS9yZWZlcmVuY2UvYW5kcm9pZC92aWV3L0tleUV2ZW50IGZvciBtb3JlIGRldGFpbHMuXG4gKiBAcHJvcGVydHkge3N0cmluZz99IGZsYWdzIEZsYWdzIGZvciB0aGUgcGFydGljdWxhciBrZXkgZXZlbnQuIFNlZVxuICogaHR0cHM6Ly9kZXZlbG9wZXIuYW5kcm9pZC5jb20vcmVmZXJlbmNlL2FuZHJvaWQvdmlldy9LZXlFdmVudCBmb3IgbW9yZSBkZXRhaWxzLlxuICogQHByb3BlcnR5IHtib29sZWFufSBpc0xvbmdQcmVzcyBbZmFsc2VdIFdoZXRoZXIgdG8gZW11bGF0ZSBsb25nIGtleSBwcmVzc1xuKi9cblxuLyoqXG4gKiBFbXVsYXRlcyBzaW5nbGUga2V5IHByZXNzIG9mIHRoZSBrZXkgd2l0aCB0aGUgZ2l2ZW4gY29kZS5cbiAqXG4gKiBAcGFyYW0ge1ByZXNzS2V5T3B0aW9uc30gb3B0c1xuICovXG5jb21tYW5kcy5tb2JpbGVQcmVzc0tleSA9IGFzeW5jIGZ1bmN0aW9uIG1vYmlsZVByZXNzS2V5KG9wdHMgPSB7fSkge1xuICBjb25zdCB7XG4gICAga2V5Y29kZSxcbiAgICBtZXRhc3RhdGUsXG4gICAgZmxhZ3MsXG4gICAgaXNMb25nUHJlc3MgPSBmYWxzZSxcbiAgfSA9IG9wdHM7XG5cbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChcbiAgICBgL2FwcGl1bS9kZXZpY2UvJHtpc0xvbmdQcmVzcyA/ICdsb25nXycgOiAnJ31wcmVzc19rZXljb2RlYCxcbiAgICAnUE9TVCcsIHtcbiAgICAgIGtleWNvZGUsXG4gICAgICBtZXRhc3RhdGUsXG4gICAgICBmbGFnc1xuICAgIH1cbiAgKTtcbn07XG5cbk9iamVjdC5hc3NpZ24oZXh0ZW5zaW9ucywgY29tbWFuZHMsIGhlbHBlcnMp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
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","names":["commands","helpers","extensions","exports","pressKeyCode","keycode","metastate","flags","uiautomator2","jwproxy","command","longPressKeyCode","doSwipe","swipeOpts","doDrag","dragOpts","getOrientation","setOrientation","orientation","toUpperCase","mobilePressKey","opts","isLongPress","Object","assign","_default","default"],"sources":["../../../lib/commands/actions.js"],"sourcesContent":["\n\nlet commands = {}, helpers = {}, extensions = {};\n\ncommands.pressKeyCode = async function (keycode, metastate = null, flags = null) {\n return await this.uiautomator2.jwproxy.command('/appium/device/press_keycode', 'POST', {\n keycode,\n metastate,\n flags,\n });\n};\n\ncommands.longPressKeyCode = async function (keycode, metastate = null, flags = null) {\n return await this.uiautomator2.jwproxy.command('/appium/device/long_press_keycode', 'POST', {\n keycode,\n metastate,\n flags\n });\n};\n\ncommands.doSwipe = async function (swipeOpts) {\n return await this.uiautomator2.jwproxy.command(`/touch/perform`, 'POST', swipeOpts);\n};\n\ncommands.doDrag = async function (dragOpts) {\n return await this.uiautomator2.jwproxy.command(`/touch/drag`, 'POST', dragOpts);\n};\n\ncommands.getOrientation = async function () {\n return await this.uiautomator2.jwproxy.command(`/orientation`, 'GET', {});\n};\n\ncommands.setOrientation = async function (orientation) {\n orientation = orientation.toUpperCase();\n return await this.uiautomator2.jwproxy.command(`/orientation`, 'POST', {orientation});\n};\n\n/**\n * @typedef {Object} PressKeyOptions\n * @property {number} keycode A valid Android key code. See https://developer.android.com/reference/android/view/KeyEvent\n * for the list of available key codes\n * @property {number?} metastate An integer in which each bit set to 1 represents a pressed meta key. See\n * https://developer.android.com/reference/android/view/KeyEvent for more details.\n * @property {string?} flags Flags for the particular key event. See\n * https://developer.android.com/reference/android/view/KeyEvent for more details.\n * @property {boolean} isLongPress [false] Whether to emulate long key press\n*/\n\n/**\n * Emulates single key press of the key with the given code.\n *\n * @param {PressKeyOptions} opts\n */\ncommands.mobilePressKey = async function mobilePressKey(opts = {}) {\n const {\n keycode,\n metastate,\n flags,\n isLongPress = false,\n } = opts;\n\n return await this.uiautomator2.jwproxy.command(\n `/appium/device/${isLongPress ? 'long_' : ''}press_keycode`,\n 'POST', {\n keycode,\n metastate,\n flags\n }\n );\n};\n\nObject.assign(extensions, commands, helpers);\nexport { commands, helpers };\nexport default extensions;\n"],"mappings":";;;;;;;AAEA,IAAIA,QAAQ,GAAG,CAAC,CAAC;EAAEC,OAAO,GAAG,CAAC,CAAC;EAAEC,UAAU,GAAG,CAAC,CAAC;AAACC,OAAA,CAAAF,OAAA,GAAAA,OAAA;AAAAE,OAAA,CAAAH,QAAA,GAAAA,QAAA;AAEjDA,QAAQ,CAACI,YAAY,GAAG,gBAAgBC,OAAO,EAAEC,SAAS,GAAG,IAAI,EAAEC,KAAK,GAAG,IAAI,EAAE;EAC/E,OAAO,MAAM,IAAI,CAACC,YAAY,CAACC,OAAO,CAACC,OAAO,CAAC,8BAA8B,EAAE,MAAM,EAAE;IACrFL,OAAO;IACPC,SAAS;IACTC;EACF,CAAC,CAAC;AACJ,CAAC;AAEDP,QAAQ,CAACW,gBAAgB,GAAG,gBAAgBN,OAAO,EAAEC,SAAS,GAAG,IAAI,EAAEC,KAAK,GAAG,IAAI,EAAE;EACnF,OAAO,MAAM,IAAI,CAACC,YAAY,CAACC,OAAO,CAACC,OAAO,CAAC,mCAAmC,EAAE,MAAM,EAAE;IAC1FL,OAAO;IACPC,SAAS;IACTC;EACF,CAAC,CAAC;AACJ,CAAC;AAEDP,QAAQ,CAACY,OAAO,GAAG,gBAAgBC,SAAS,EAAE;EAC5C,OAAO,MAAM,IAAI,CAACL,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,gBAAe,EAAE,MAAM,EAAEG,SAAS,CAAC;AACrF,CAAC;AAEDb,QAAQ,CAACc,MAAM,GAAG,gBAAgBC,QAAQ,EAAE;EAC1C,OAAO,MAAM,IAAI,CAACP,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,aAAY,EAAE,MAAM,EAAEK,QAAQ,CAAC;AACjF,CAAC;AAEDf,QAAQ,CAACgB,cAAc,GAAG,kBAAkB;EAC1C,OAAO,MAAM,IAAI,CAACR,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,cAAa,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC3E,CAAC;AAEDV,QAAQ,CAACiB,cAAc,GAAG,gBAAgBC,WAAW,EAAE;EACrDA,WAAW,GAAGA,WAAW,CAACC,WAAW,EAAE;EACvC,OAAO,MAAM,IAAI,CAACX,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,cAAa,EAAE,MAAM,EAAE;IAACQ;EAAW,CAAC,CAAC;AACvF,CAAC;AAkBDlB,QAAQ,CAACoB,cAAc,GAAG,eAAeA,cAAcA,CAACC,IAAI,GAAG,CAAC,CAAC,EAAE;EACjE,MAAM;IACJhB,OAAO;IACPC,SAAS;IACTC,KAAK;IACLe,WAAW,GAAG;EAChB,CAAC,GAAGD,IAAI;EAER,OAAO,MAAM,IAAI,CAACb,YAAY,CAACC,OAAO,CAACC,OAAO,CAC3C,kBAAiBY,WAAW,GAAG,OAAO,GAAG,EAAG,eAAc,EAC3D,MAAM,EAAE;IACNjB,OAAO;IACPC,SAAS;IACTC;EACF,CAAC,CACF;AACH,CAAC;AAEDgB,MAAM,CAACC,MAAM,CAACtB,UAAU,EAAEF,QAAQ,EAAEC,OAAO,CAAC;AAAC,IAAAwB,QAAA,GAE9BvB,UAAU;AAAAC,OAAA,CAAAuB,OAAA,GAAAD,QAAA"}
1
+ {"version":3,"file":"actions.js","names":["commands","helpers","extensions","exports","pressKeyCode","keycode","metastate","flags","uiautomator2","jwproxy","command","longPressKeyCode","doSwipe","swipeOpts","doDrag","dragOpts","getOrientation","setOrientation","orientation","toUpperCase","mobilePressKey","opts","isLongPress","Object","assign","_default","default"],"sources":["../../../lib/commands/actions.js"],"sourcesContent":["\n\nlet commands = {}, helpers = {}, extensions = {};\n\ncommands.pressKeyCode = async function (keycode, metastate = null, flags = null) {\n return await this.uiautomator2.jwproxy.command('/appium/device/press_keycode', 'POST', {\n keycode,\n metastate,\n flags,\n });\n};\n\ncommands.longPressKeyCode = async function (keycode, metastate = null, flags = null) {\n return await this.uiautomator2.jwproxy.command('/appium/device/long_press_keycode', 'POST', {\n keycode,\n metastate,\n flags\n });\n};\n\ncommands.doSwipe = async function (swipeOpts) {\n return await this.uiautomator2.jwproxy.command(`/touch/perform`, 'POST', swipeOpts);\n};\n\ncommands.doDrag = async function (dragOpts) {\n return await this.uiautomator2.jwproxy.command(`/touch/drag`, 'POST', dragOpts);\n};\n\ncommands.getOrientation = async function () {\n return await this.uiautomator2.jwproxy.command(`/orientation`, 'GET', {});\n};\n\ncommands.setOrientation = async function (orientation) {\n orientation = orientation.toUpperCase();\n return await this.uiautomator2.jwproxy.command(`/orientation`, 'POST', {orientation});\n};\n\n/**\n * @typedef {Object} PressKeyOptions\n * @property {number} keycode A valid Android key code. See https://developer.android.com/reference/android/view/KeyEvent\n * for the list of available key codes\n * @property {number?} metastate An integer in which each bit set to 1 represents a pressed meta key. See\n * https://developer.android.com/reference/android/view/KeyEvent for more details.\n * @property {string?} flags Flags for the particular key event. See\n * https://developer.android.com/reference/android/view/KeyEvent for more details.\n * @property {boolean} isLongPress [false] Whether to emulate long key press\n*/\n\n/**\n * Emulates single key press of the key with the given code.\n *\n * @param {PressKeyOptions} opts\n */\ncommands.mobilePressKey = async function mobilePressKey(opts = {}) {\n const {\n keycode,\n metastate,\n flags,\n isLongPress = false,\n } = opts;\n\n return await this.uiautomator2.jwproxy.command(\n `/appium/device/${isLongPress ? 'long_' : ''}press_keycode`,\n 'POST', {\n keycode,\n metastate,\n flags\n }\n );\n};\n\nObject.assign(extensions, commands, helpers);\nexport { commands, helpers };\nexport default extensions;\n"],"mappings":";;;;;;;AAEA,IAAIA,QAAQ,GAAG,CAAC,CAAC;EAAEC,OAAO,GAAG,CAAC,CAAC;EAAEC,UAAU,GAAG,CAAC,CAAC;AAACC,OAAA,CAAAF,OAAA,GAAAA,OAAA;AAAAE,OAAA,CAAAH,QAAA,GAAAA,QAAA;AAEjDA,QAAQ,CAACI,YAAY,GAAG,gBAAgBC,OAAO,EAAEC,SAAS,GAAG,IAAI,EAAEC,KAAK,GAAG,IAAI,EAAE;EAC/E,OAAO,MAAM,IAAI,CAACC,YAAY,CAACC,OAAO,CAACC,OAAO,CAAC,8BAA8B,EAAE,MAAM,EAAE;IACrFL,OAAO;IACPC,SAAS;IACTC;EACF,CAAC,CAAC;AACJ,CAAC;AAEDP,QAAQ,CAACW,gBAAgB,GAAG,gBAAgBN,OAAO,EAAEC,SAAS,GAAG,IAAI,EAAEC,KAAK,GAAG,IAAI,EAAE;EACnF,OAAO,MAAM,IAAI,CAACC,YAAY,CAACC,OAAO,CAACC,OAAO,CAAC,mCAAmC,EAAE,MAAM,EAAE;IAC1FL,OAAO;IACPC,SAAS;IACTC;EACF,CAAC,CAAC;AACJ,CAAC;AAEDP,QAAQ,CAACY,OAAO,GAAG,gBAAgBC,SAAS,EAAE;EAC5C,OAAO,MAAM,IAAI,CAACL,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,gBAAe,EAAE,MAAM,EAAEG,SAAS,CAAC;AACrF,CAAC;AAEDb,QAAQ,CAACc,MAAM,GAAG,gBAAgBC,QAAQ,EAAE;EAC1C,OAAO,MAAM,IAAI,CAACP,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,aAAY,EAAE,MAAM,EAAEK,QAAQ,CAAC;AACjF,CAAC;AAEDf,QAAQ,CAACgB,cAAc,GAAG,kBAAkB;EAC1C,OAAO,MAAM,IAAI,CAACR,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,cAAa,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC3E,CAAC;AAEDV,QAAQ,CAACiB,cAAc,GAAG,gBAAgBC,WAAW,EAAE;EACrDA,WAAW,GAAGA,WAAW,CAACC,WAAW,CAAC,CAAC;EACvC,OAAO,MAAM,IAAI,CAACX,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,cAAa,EAAE,MAAM,EAAE;IAACQ;EAAW,CAAC,CAAC;AACvF,CAAC;AAkBDlB,QAAQ,CAACoB,cAAc,GAAG,eAAeA,cAAcA,CAACC,IAAI,GAAG,CAAC,CAAC,EAAE;EACjE,MAAM;IACJhB,OAAO;IACPC,SAAS;IACTC,KAAK;IACLe,WAAW,GAAG;EAChB,CAAC,GAAGD,IAAI;EAER,OAAO,MAAM,IAAI,CAACb,YAAY,CAACC,OAAO,CAACC,OAAO,CAC3C,kBAAiBY,WAAW,GAAG,OAAO,GAAG,EAAG,eAAc,EAC3D,MAAM,EAAE;IACNjB,OAAO;IACPC,SAAS;IACTC;EACF,CACF,CAAC;AACH,CAAC;AAEDgB,MAAM,CAACC,MAAM,CAACtB,UAAU,EAAEF,QAAQ,EAAEC,OAAO,CAAC;AAAC,IAAAwB,QAAA,GAE9BvB,UAAU;AAAAC,OAAA,CAAAuB,OAAA,GAAAD,QAAA"}
@@ -28,4 +28,4 @@ commands.postDismissAlert = async function () {
28
28
  Object.assign(extensions, commands, helpers);
29
29
  var _default = extensions;
30
30
  exports.default = _default;
31
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImhlbHBlcnMiLCJleHRlbnNpb25zIiwiZXhwb3J0cyIsImdldEFsZXJ0VGV4dCIsInVpYXV0b21hdG9yMiIsImp3cHJveHkiLCJjb21tYW5kIiwibW9iaWxlQWNjZXB0QWxlcnQiLCJvcHRzIiwicG9zdEFjY2VwdEFsZXJ0IiwibW9iaWxlRGlzbWlzc0FsZXJ0IiwicG9zdERpc21pc3NBbGVydCIsIk9iamVjdCIsImFzc2lnbiIsIl9kZWZhdWx0IiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jb21tYW5kcy9hbGVydC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJsZXQgY29tbWFuZHMgPSB7fSwgaGVscGVycyA9IHt9LCBleHRlbnNpb25zID0ge307XG5cbmNvbW1hbmRzLmdldEFsZXJ0VGV4dCA9IGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZCgnL2FsZXJ0L3RleHQnLCAnR0VUJywge30pO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBBY2NlcHRBbGVydE9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gYnV0dG9uTGFiZWwgLSBUaGUgbmFtZSBvZiB0aGUgYnV0dG9uIHRvIGNsaWNrIGluIG9yZGVyIHRvXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXB0IHRoZSBhbGVydC4gSWYgdGhlIG5hbWUgaXMgbm90IHByb3ZpZGVkXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbiB0aGUgc2NyaXB0IHdpbGwgdHJ5IHRvIGRldGVjdCB0aGUgYnV0dG9uXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b21hdGljYWxseS5cbiAqL1xuXG4vKipcbiAqIEBwYXJhbSB7QWNjZXB0QWxlcnRPcHRpb25zfSBvcHRzXG4gKiBAdGhyb3dzIHtJbnZhbGlkRWxlbWVudFN0YXRlRXJyb3J9IElmIG5vIG1hdGNoaW5nIGJ1dHRvbiwgdGhhdCBjYW4gYWNjZXB0IHRoZSBhbGVydCxcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuIGJlIGZvdW5kXG4gKiBAdGhyb3dzIHtOb0FsZXJ0T3BlbkVycm9yfSBJZiBubyBhbGVydCBpcyBwcmVzZW50XG4gKi9cbmNvbW1hbmRzLm1vYmlsZUFjY2VwdEFsZXJ0ID0gYXN5bmMgZnVuY3Rpb24gKG9wdHMgPSB7fSkge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKCcvYWxlcnQvYWNjZXB0JywgJ1BPU1QnLCBvcHRzKTtcbn07XG5cbmNvbW1hbmRzLnBvc3RBY2NlcHRBbGVydCA9IGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMubW9iaWxlQWNjZXB0QWxlcnQoKTtcbn07XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gRGlzbWlzc0FsZXJ0T3B0aW9uc1xuICogQHByb3BlcnR5IHs/c3RyaW5nfSBidXR0b25MYWJlbCAtIFRoZSBuYW1lIG9mIHRoZSBidXR0b24gdG8gY2xpY2sgaW4gb3JkZXIgdG9cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNtaXNzIHRoZSBhbGVydC4gSWYgdGhlIG5hbWUgaXMgbm90IHByb3ZpZGVkXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbiB0aGUgc2NyaXB0IHdpbGwgdHJ5IHRvIGRldGVjdCB0aGUgYnV0dG9uXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b21hdGljYWxseS5cbiAqL1xuXG4vKipcbiAqIEBwYXJhbSB7RGlzbWlzc0FsZXJ0T3B0aW9uc30gb3B0c1xuICogQHRocm93cyB7SW52YWxpZEVsZW1lbnRTdGF0ZUVycm9yfSBJZiBubyBtYXRjaGluZyBidXR0b24sIHRoYXQgY2FuIGRpc21pc3MgdGhlIGFsZXJ0LFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW4gYmUgZm91bmRcbiAqIEB0aHJvd3Mge05vQWxlcnRPcGVuRXJyb3J9IElmIG5vIGFsZXJ0IGlzIHByZXNlbnRcbiAqL1xuY29tbWFuZHMubW9iaWxlRGlzbWlzc0FsZXJ0ID0gYXN5bmMgZnVuY3Rpb24gKG9wdHMgPSB7fSkge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKCcvYWxlcnQvZGlzbWlzcycsICdQT1NUJywgb3B0cyk7XG59O1xuXG5jb21tYW5kcy5wb3N0RGlzbWlzc0FsZXJ0ID0gYXN5bmMgZnVuY3Rpb24gKCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy5tb2JpbGVEaXNtaXNzQWxlcnQoKTtcbn07XG5cbk9iamVjdC5hc3NpZ24oZXh0ZW5zaW9ucywgY29tbWFuZHMsIGhlbHBlcnMpO1xuZXhwb3J0IHsgY29tbWFuZHMsIGhlbHBlcnMgfTtcbmV4cG9ydCBkZWZhdWx0IGV4dGVuc2lvbnM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFJQSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0VBQUVDLE9BQU8sR0FBRyxDQUFDLENBQUM7RUFBRUMsVUFBVSxHQUFHLENBQUMsQ0FBQztBQUFDQyxPQUFBLENBQUFGLE9BQUEsR0FBQUEsT0FBQTtBQUFBRSxPQUFBLENBQUFILFFBQUEsR0FBQUEsUUFBQTtBQUVqREEsUUFBUSxDQUFDSSxZQUFZLEdBQUcsa0JBQWtCO0VBQ3hDLE9BQU8sTUFBTSxJQUFJLENBQUNDLFlBQVksQ0FBQ0MsT0FBTyxDQUFDQyxPQUFPLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMxRSxDQUFDO0FBZ0JEUCxRQUFRLENBQUNRLGlCQUFpQixHQUFHLGdCQUFnQkMsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFO0VBQ3RELE9BQU8sTUFBTSxJQUFJLENBQUNKLFlBQVksQ0FBQ0MsT0FBTyxDQUFDQyxPQUFPLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRUUsSUFBSSxDQUFDO0FBQy9FLENBQUM7QUFFRFQsUUFBUSxDQUFDVSxlQUFlLEdBQUcsa0JBQWtCO0VBQzNDLE9BQU8sTUFBTSxJQUFJLENBQUNGLGlCQUFpQixFQUFFO0FBQ3ZDLENBQUM7QUFnQkRSLFFBQVEsQ0FBQ1csa0JBQWtCLEdBQUcsZ0JBQWdCRixJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUU7RUFDdkQsT0FBTyxNQUFNLElBQUksQ0FBQ0osWUFBWSxDQUFDQyxPQUFPLENBQUNDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUVFLElBQUksQ0FBQztBQUNoRixDQUFDO0FBRURULFFBQVEsQ0FBQ1ksZ0JBQWdCLEdBQUcsa0JBQWtCO0VBQzVDLE9BQU8sTUFBTSxJQUFJLENBQUNELGtCQUFrQixFQUFFO0FBQ3hDLENBQUM7QUFFREUsTUFBTSxDQUFDQyxNQUFNLENBQUNaLFVBQVUsRUFBRUYsUUFBUSxFQUFFQyxPQUFPLENBQUM7QUFBQyxJQUFBYyxRQUFBLEdBRTlCYixVQUFVO0FBQUFDLE9BQUEsQ0FBQWEsT0FBQSxHQUFBRCxRQUFBIn0=
31
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImhlbHBlcnMiLCJleHRlbnNpb25zIiwiZXhwb3J0cyIsImdldEFsZXJ0VGV4dCIsInVpYXV0b21hdG9yMiIsImp3cHJveHkiLCJjb21tYW5kIiwibW9iaWxlQWNjZXB0QWxlcnQiLCJvcHRzIiwicG9zdEFjY2VwdEFsZXJ0IiwibW9iaWxlRGlzbWlzc0FsZXJ0IiwicG9zdERpc21pc3NBbGVydCIsIk9iamVjdCIsImFzc2lnbiIsIl9kZWZhdWx0IiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jb21tYW5kcy9hbGVydC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJsZXQgY29tbWFuZHMgPSB7fSwgaGVscGVycyA9IHt9LCBleHRlbnNpb25zID0ge307XG5cbmNvbW1hbmRzLmdldEFsZXJ0VGV4dCA9IGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZCgnL2FsZXJ0L3RleHQnLCAnR0VUJywge30pO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBBY2NlcHRBbGVydE9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gYnV0dG9uTGFiZWwgLSBUaGUgbmFtZSBvZiB0aGUgYnV0dG9uIHRvIGNsaWNrIGluIG9yZGVyIHRvXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXB0IHRoZSBhbGVydC4gSWYgdGhlIG5hbWUgaXMgbm90IHByb3ZpZGVkXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbiB0aGUgc2NyaXB0IHdpbGwgdHJ5IHRvIGRldGVjdCB0aGUgYnV0dG9uXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b21hdGljYWxseS5cbiAqL1xuXG4vKipcbiAqIEBwYXJhbSB7QWNjZXB0QWxlcnRPcHRpb25zfSBvcHRzXG4gKiBAdGhyb3dzIHtJbnZhbGlkRWxlbWVudFN0YXRlRXJyb3J9IElmIG5vIG1hdGNoaW5nIGJ1dHRvbiwgdGhhdCBjYW4gYWNjZXB0IHRoZSBhbGVydCxcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuIGJlIGZvdW5kXG4gKiBAdGhyb3dzIHtOb0FsZXJ0T3BlbkVycm9yfSBJZiBubyBhbGVydCBpcyBwcmVzZW50XG4gKi9cbmNvbW1hbmRzLm1vYmlsZUFjY2VwdEFsZXJ0ID0gYXN5bmMgZnVuY3Rpb24gKG9wdHMgPSB7fSkge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKCcvYWxlcnQvYWNjZXB0JywgJ1BPU1QnLCBvcHRzKTtcbn07XG5cbmNvbW1hbmRzLnBvc3RBY2NlcHRBbGVydCA9IGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMubW9iaWxlQWNjZXB0QWxlcnQoKTtcbn07XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gRGlzbWlzc0FsZXJ0T3B0aW9uc1xuICogQHByb3BlcnR5IHs/c3RyaW5nfSBidXR0b25MYWJlbCAtIFRoZSBuYW1lIG9mIHRoZSBidXR0b24gdG8gY2xpY2sgaW4gb3JkZXIgdG9cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNtaXNzIHRoZSBhbGVydC4gSWYgdGhlIG5hbWUgaXMgbm90IHByb3ZpZGVkXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbiB0aGUgc2NyaXB0IHdpbGwgdHJ5IHRvIGRldGVjdCB0aGUgYnV0dG9uXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b21hdGljYWxseS5cbiAqL1xuXG4vKipcbiAqIEBwYXJhbSB7RGlzbWlzc0FsZXJ0T3B0aW9uc30gb3B0c1xuICogQHRocm93cyB7SW52YWxpZEVsZW1lbnRTdGF0ZUVycm9yfSBJZiBubyBtYXRjaGluZyBidXR0b24sIHRoYXQgY2FuIGRpc21pc3MgdGhlIGFsZXJ0LFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW4gYmUgZm91bmRcbiAqIEB0aHJvd3Mge05vQWxlcnRPcGVuRXJyb3J9IElmIG5vIGFsZXJ0IGlzIHByZXNlbnRcbiAqL1xuY29tbWFuZHMubW9iaWxlRGlzbWlzc0FsZXJ0ID0gYXN5bmMgZnVuY3Rpb24gKG9wdHMgPSB7fSkge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKCcvYWxlcnQvZGlzbWlzcycsICdQT1NUJywgb3B0cyk7XG59O1xuXG5jb21tYW5kcy5wb3N0RGlzbWlzc0FsZXJ0ID0gYXN5bmMgZnVuY3Rpb24gKCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy5tb2JpbGVEaXNtaXNzQWxlcnQoKTtcbn07XG5cbk9iamVjdC5hc3NpZ24oZXh0ZW5zaW9ucywgY29tbWFuZHMsIGhlbHBlcnMpO1xuZXhwb3J0IHsgY29tbWFuZHMsIGhlbHBlcnMgfTtcbmV4cG9ydCBkZWZhdWx0IGV4dGVuc2lvbnM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFJQSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0VBQUVDLE9BQU8sR0FBRyxDQUFDLENBQUM7RUFBRUMsVUFBVSxHQUFHLENBQUMsQ0FBQztBQUFDQyxPQUFBLENBQUFGLE9BQUEsR0FBQUEsT0FBQTtBQUFBRSxPQUFBLENBQUFILFFBQUEsR0FBQUEsUUFBQTtBQUVqREEsUUFBUSxDQUFDSSxZQUFZLEdBQUcsa0JBQWtCO0VBQ3hDLE9BQU8sTUFBTSxJQUFJLENBQUNDLFlBQVksQ0FBQ0MsT0FBTyxDQUFDQyxPQUFPLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMxRSxDQUFDO0FBZ0JEUCxRQUFRLENBQUNRLGlCQUFpQixHQUFHLGdCQUFnQkMsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFO0VBQ3RELE9BQU8sTUFBTSxJQUFJLENBQUNKLFlBQVksQ0FBQ0MsT0FBTyxDQUFDQyxPQUFPLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRUUsSUFBSSxDQUFDO0FBQy9FLENBQUM7QUFFRFQsUUFBUSxDQUFDVSxlQUFlLEdBQUcsa0JBQWtCO0VBQzNDLE9BQU8sTUFBTSxJQUFJLENBQUNGLGlCQUFpQixDQUFDLENBQUM7QUFDdkMsQ0FBQztBQWdCRFIsUUFBUSxDQUFDVyxrQkFBa0IsR0FBRyxnQkFBZ0JGLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRTtFQUN2RCxPQUFPLE1BQU0sSUFBSSxDQUFDSixZQUFZLENBQUNDLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDLGdCQUFnQixFQUFFLE1BQU0sRUFBRUUsSUFBSSxDQUFDO0FBQ2hGLENBQUM7QUFFRFQsUUFBUSxDQUFDWSxnQkFBZ0IsR0FBRyxrQkFBa0I7RUFDNUMsT0FBTyxNQUFNLElBQUksQ0FBQ0Qsa0JBQWtCLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRURFLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDWixVQUFVLEVBQUVGLFFBQVEsRUFBRUMsT0FBTyxDQUFDO0FBQUMsSUFBQWMsUUFBQSxHQUU5QmIsVUFBVTtBQUFBQyxPQUFBLENBQUFhLE9BQUEsR0FBQUQsUUFBQSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"alert.js","names":["commands","helpers","extensions","exports","getAlertText","uiautomator2","jwproxy","command","mobileAcceptAlert","opts","postAcceptAlert","mobileDismissAlert","postDismissAlert","Object","assign","_default","default"],"sources":["../../../lib/commands/alert.js"],"sourcesContent":["let commands = {}, helpers = {}, extensions = {};\n\ncommands.getAlertText = async function () {\n return await this.uiautomator2.jwproxy.command('/alert/text', 'GET', {});\n};\n\n/**\n * @typedef {Object} AcceptAlertOptions\n * @property {?string} buttonLabel - The name of the button to click in order to\n * accept the alert. If the name is not provided\n * then the script will try to detect the button\n * automatically.\n */\n\n/**\n * @param {AcceptAlertOptions} opts\n * @throws {InvalidElementStateError} If no matching button, that can accept the alert,\n * can be found\n * @throws {NoAlertOpenError} If no alert is present\n */\ncommands.mobileAcceptAlert = async function (opts = {}) {\n return await this.uiautomator2.jwproxy.command('/alert/accept', 'POST', opts);\n};\n\ncommands.postAcceptAlert = async function () {\n return await this.mobileAcceptAlert();\n};\n\n/**\n * @typedef {Object} DismissAlertOptions\n * @property {?string} buttonLabel - The name of the button to click in order to\n * dismiss the alert. If the name is not provided\n * then the script will try to detect the button\n * automatically.\n */\n\n/**\n * @param {DismissAlertOptions} opts\n * @throws {InvalidElementStateError} If no matching button, that can dismiss the alert,\n * can be found\n * @throws {NoAlertOpenError} If no alert is present\n */\ncommands.mobileDismissAlert = async function (opts = {}) {\n return await this.uiautomator2.jwproxy.command('/alert/dismiss', 'POST', opts);\n};\n\ncommands.postDismissAlert = async function () {\n return await this.mobileDismissAlert();\n};\n\nObject.assign(extensions, commands, helpers);\nexport { commands, helpers };\nexport default extensions;\n"],"mappings":";;;;;;;AAAA,IAAIA,QAAQ,GAAG,CAAC,CAAC;EAAEC,OAAO,GAAG,CAAC,CAAC;EAAEC,UAAU,GAAG,CAAC,CAAC;AAACC,OAAA,CAAAF,OAAA,GAAAA,OAAA;AAAAE,OAAA,CAAAH,QAAA,GAAAA,QAAA;AAEjDA,QAAQ,CAACI,YAAY,GAAG,kBAAkB;EACxC,OAAO,MAAM,IAAI,CAACC,YAAY,CAACC,OAAO,CAACC,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC1E,CAAC;AAgBDP,QAAQ,CAACQ,iBAAiB,GAAG,gBAAgBC,IAAI,GAAG,CAAC,CAAC,EAAE;EACtD,OAAO,MAAM,IAAI,CAACJ,YAAY,CAACC,OAAO,CAACC,OAAO,CAAC,eAAe,EAAE,MAAM,EAAEE,IAAI,CAAC;AAC/E,CAAC;AAEDT,QAAQ,CAACU,eAAe,GAAG,kBAAkB;EAC3C,OAAO,MAAM,IAAI,CAACF,iBAAiB,EAAE;AACvC,CAAC;AAgBDR,QAAQ,CAACW,kBAAkB,GAAG,gBAAgBF,IAAI,GAAG,CAAC,CAAC,EAAE;EACvD,OAAO,MAAM,IAAI,CAACJ,YAAY,CAACC,OAAO,CAACC,OAAO,CAAC,gBAAgB,EAAE,MAAM,EAAEE,IAAI,CAAC;AAChF,CAAC;AAEDT,QAAQ,CAACY,gBAAgB,GAAG,kBAAkB;EAC5C,OAAO,MAAM,IAAI,CAACD,kBAAkB,EAAE;AACxC,CAAC;AAEDE,MAAM,CAACC,MAAM,CAACZ,UAAU,EAAEF,QAAQ,EAAEC,OAAO,CAAC;AAAC,IAAAc,QAAA,GAE9Bb,UAAU;AAAAC,OAAA,CAAAa,OAAA,GAAAD,QAAA"}
1
+ {"version":3,"file":"alert.js","names":["commands","helpers","extensions","exports","getAlertText","uiautomator2","jwproxy","command","mobileAcceptAlert","opts","postAcceptAlert","mobileDismissAlert","postDismissAlert","Object","assign","_default","default"],"sources":["../../../lib/commands/alert.js"],"sourcesContent":["let commands = {}, helpers = {}, extensions = {};\n\ncommands.getAlertText = async function () {\n return await this.uiautomator2.jwproxy.command('/alert/text', 'GET', {});\n};\n\n/**\n * @typedef {Object} AcceptAlertOptions\n * @property {?string} buttonLabel - The name of the button to click in order to\n * accept the alert. If the name is not provided\n * then the script will try to detect the button\n * automatically.\n */\n\n/**\n * @param {AcceptAlertOptions} opts\n * @throws {InvalidElementStateError} If no matching button, that can accept the alert,\n * can be found\n * @throws {NoAlertOpenError} If no alert is present\n */\ncommands.mobileAcceptAlert = async function (opts = {}) {\n return await this.uiautomator2.jwproxy.command('/alert/accept', 'POST', opts);\n};\n\ncommands.postAcceptAlert = async function () {\n return await this.mobileAcceptAlert();\n};\n\n/**\n * @typedef {Object} DismissAlertOptions\n * @property {?string} buttonLabel - The name of the button to click in order to\n * dismiss the alert. If the name is not provided\n * then the script will try to detect the button\n * automatically.\n */\n\n/**\n * @param {DismissAlertOptions} opts\n * @throws {InvalidElementStateError} If no matching button, that can dismiss the alert,\n * can be found\n * @throws {NoAlertOpenError} If no alert is present\n */\ncommands.mobileDismissAlert = async function (opts = {}) {\n return await this.uiautomator2.jwproxy.command('/alert/dismiss', 'POST', opts);\n};\n\ncommands.postDismissAlert = async function () {\n return await this.mobileDismissAlert();\n};\n\nObject.assign(extensions, commands, helpers);\nexport { commands, helpers };\nexport default extensions;\n"],"mappings":";;;;;;;AAAA,IAAIA,QAAQ,GAAG,CAAC,CAAC;EAAEC,OAAO,GAAG,CAAC,CAAC;EAAEC,UAAU,GAAG,CAAC,CAAC;AAACC,OAAA,CAAAF,OAAA,GAAAA,OAAA;AAAAE,OAAA,CAAAH,QAAA,GAAAA,QAAA;AAEjDA,QAAQ,CAACI,YAAY,GAAG,kBAAkB;EACxC,OAAO,MAAM,IAAI,CAACC,YAAY,CAACC,OAAO,CAACC,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC1E,CAAC;AAgBDP,QAAQ,CAACQ,iBAAiB,GAAG,gBAAgBC,IAAI,GAAG,CAAC,CAAC,EAAE;EACtD,OAAO,MAAM,IAAI,CAACJ,YAAY,CAACC,OAAO,CAACC,OAAO,CAAC,eAAe,EAAE,MAAM,EAAEE,IAAI,CAAC;AAC/E,CAAC;AAEDT,QAAQ,CAACU,eAAe,GAAG,kBAAkB;EAC3C,OAAO,MAAM,IAAI,CAACF,iBAAiB,CAAC,CAAC;AACvC,CAAC;AAgBDR,QAAQ,CAACW,kBAAkB,GAAG,gBAAgBF,IAAI,GAAG,CAAC,CAAC,EAAE;EACvD,OAAO,MAAM,IAAI,CAACJ,YAAY,CAACC,OAAO,CAACC,OAAO,CAAC,gBAAgB,EAAE,MAAM,EAAEE,IAAI,CAAC;AAChF,CAAC;AAEDT,QAAQ,CAACY,gBAAgB,GAAG,kBAAkB;EAC5C,OAAO,MAAM,IAAI,CAACD,kBAAkB,CAAC,CAAC;AACxC,CAAC;AAEDE,MAAM,CAACC,MAAM,CAACZ,UAAU,EAAEF,QAAQ,EAAEC,OAAO,CAAC;AAAC,IAAAc,QAAA,GAE9Bb,UAAU;AAAAC,OAAA,CAAAa,OAAA,GAAAD,QAAA"}
@@ -58,4 +58,4 @@ commands.mobileGetAppStrings = async function mobileGetAppStrings(opts = {}) {
58
58
  };
59
59
  var _default = commands;
60
60
  exports.default = _default;
61
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfc3VwcG9ydCIsImNvbW1hbmRzIiwiZ2V0U3RyaW5ncyIsImxhbmd1YWdlIiwiYWRiIiwiZ2V0RGV2aWNlTGFuZ3VhZ2UiLCJsb2ciLCJpbmZvIiwicHJlcHJvY2Vzc1N0cmluZ3NNYXAiLCJtYXBwaW5nIiwicmVzdWx0Iiwia2V5IiwidmFsdWUiLCJfIiwidG9QYWlycyIsImlzU3RyaW5nIiwiSlNPTiIsInN0cmluZ2lmeSIsImFwa1N0cmluZ3MiLCJvcHRzIiwiYXBwIiwiYXBwUGFja2FnZSIsImVycm9yQW5kVGhyb3ciLCJ0bXBSb290IiwidGVtcERpciIsIm9wZW5EaXIiLCJwdWxsQXBrIiwiZXJyIiwibWVzc2FnZSIsImZzIiwiZXhpc3RzIiwiZXh0cmFjdFN0cmluZ3NGcm9tQXBrIiwicmltcmFmIiwibW9iaWxlR2V0QXBwU3RyaW5ncyIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvYXBwLXN0cmluZ3MuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IGZzLCB0ZW1wRGlyIH0gZnJvbSAnYXBwaXVtL3N1cHBvcnQnO1xuXG5jb25zdCBjb21tYW5kcyA9IHt9O1xuXG5jb21tYW5kcy5nZXRTdHJpbmdzID0gYXN5bmMgZnVuY3Rpb24gKGxhbmd1YWdlKSB7XG4gIGlmICghbGFuZ3VhZ2UpIHtcbiAgICBsYW5ndWFnZSA9IGF3YWl0IHRoaXMuYWRiLmdldERldmljZUxhbmd1YWdlKCk7XG4gICAgdGhpcy5sb2cuaW5mbyhgTm8gbGFuZ3VhZ2Ugc3BlY2lmaWVkLCByZXR1cm5pbmcgc3RyaW5ncyBmb3I6ICR7bGFuZ3VhZ2V9YCk7XG4gIH1cblxuICAvLyBDbGllbnRzIHJlcXVpcmUgdGhlIHJlc3VsdGluZyBtYXBwaW5nIHRvIGhhdmUgYm90aCBrZXlzXG4gIC8vIGFuZCB2YWx1ZXMgb2YgdHlwZSBzdHJpbmdcbiAgY29uc3QgcHJlcHJvY2Vzc1N0cmluZ3NNYXAgPSBmdW5jdGlvbiAobWFwcGluZykge1xuICAgIGNvbnN0IHJlc3VsdCA9IHt9O1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIF8udG9QYWlycyhtYXBwaW5nKSkge1xuICAgICAgcmVzdWx0W2tleV0gPSBfLmlzU3RyaW5nKHZhbHVlKSA/IHZhbHVlIDogSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xuXG4gIGlmICh0aGlzLmFwa1N0cmluZ3NbbGFuZ3VhZ2VdKSB7XG4gICAgLy8gUmV0dXJuIGNhY2hlZCBzdHJpbmdzXG4gICAgcmV0dXJuIHByZXByb2Nlc3NTdHJpbmdzTWFwKHRoaXMuYXBrU3RyaW5nc1tsYW5ndWFnZV0pO1xuICB9XG5cbiAgaWYgKCF0aGlzLm9wdHMuYXBwICYmICF0aGlzLm9wdHMuYXBwUGFja2FnZSkge1xuICAgIHRoaXMubG9nLmVycm9yQW5kVGhyb3coXCJPbmUgb2YgJ2FwcCcgb3IgJ2FwcFBhY2thZ2UnIGNhcGFiaWxpdGllcyBzaG91bGQgbXVzdCBiZSBzcGVjaWZpZWRcIik7XG4gIH1cblxuICBsZXQgYXBwID0gdGhpcy5vcHRzLmFwcDtcbiAgY29uc3QgdG1wUm9vdCA9IGF3YWl0IHRlbXBEaXIub3BlbkRpcigpO1xuICB0cnkge1xuICAgIGlmICghYXBwKSB7XG4gICAgICB0cnkge1xuICAgICAgICBhcHAgPSBhd2FpdCB0aGlzLmFkYi5wdWxsQXBrKHRoaXMub3B0cy5hcHBQYWNrYWdlLCB0bXBSb290KTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICB0aGlzLmxvZy5lcnJvckFuZFRocm93KGBGYWlsZWQgdG8gcHVsbCBhbiBhcGsgZnJvbSAnJHt0aGlzLm9wdHMuYXBwUGFja2FnZX0nLiBPcmlnaW5hbCBlcnJvcjogJHtlcnIubWVzc2FnZX1gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIWF3YWl0IGZzLmV4aXN0cyhhcHApKSB7XG4gICAgICB0aGlzLmxvZy5lcnJvckFuZFRocm93KGBUaGUgYXBwIGF0ICcke2FwcH0nIGRvZXMgbm90IGV4aXN0YCk7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHthcGtTdHJpbmdzfSA9IGF3YWl0IHRoaXMuYWRiLmV4dHJhY3RTdHJpbmdzRnJvbUFwayhhcHAsIGxhbmd1YWdlLCB0bXBSb290KTtcbiAgICAgIHRoaXMuYXBrU3RyaW5nc1tsYW5ndWFnZV0gPSBhcGtTdHJpbmdzO1xuICAgICAgcmV0dXJuIHByZXByb2Nlc3NTdHJpbmdzTWFwKGFwa1N0cmluZ3MpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5sb2cuZXJyb3JBbmRUaHJvdyhgQ2Fubm90IGV4dHJhY3Qgc3RyaW5ncyBmcm9tICcke2FwcH0nLiBPcmlnaW5hbCBlcnJvcjogJHtlcnIubWVzc2FnZX1gKTtcbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgYXdhaXQgZnMucmltcmFmKHRtcFJvb3QpO1xuICB9XG59O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEdldEFwcFN0cmluZ3NPcHRpb25zXG4gKiBAcHJvcGVydHkge3N0cmluZz99IGxhbmd1YWdlIFRoZSBsYW5ndWFnZSBhYmJyZXZpYXRpb24gdG8gZmV0Y2ggYXBwIHN0cmluZ3MgbWFwcGluZyBmb3IuIElmIG5vXG4gKiBsYW5ndWFnZSBpcyBwcm92aWRlZCB0aGVuIHN0cmluZ3MgZm9yIHRoZSBkZWZhdWx0IGxhbmd1YWdlIG9uIHRoZSBkZXZpY2UgdW5kZXIgdGVzdFxuICogd291bGQgYmUgcmV0dXJuZWQuIEV4YW1wbGVzOiBlbiwgZnJcbiAqL1xuXG4vKipcbiAqIFJldHJpdmVzIGFwcCBzdHJpbmdzIGZyb20gaXRzIHJlc291cmNlcyBmb3IgdGhlIGdpdmVuIGxhbmd1YWdlXG4gKiBvciB0aGUgZGVmYXVsdCBkZXZpY2UgbGFuZ3VhZ2UuXG4gKlxuICogQHBhcmFtIHtHZXRBcHBTdHJpbmdzT3B0aW9uc30gb3B0c1xuICogQHJldHVybnMge1Byb21pc2U8b2JqZWN0Pn0gQXBwIHN0cmluZ3MgbWFwXG4gKi9cbmNvbW1hbmRzLm1vYmlsZUdldEFwcFN0cmluZ3MgPSBhc3luYyBmdW5jdGlvbiBtb2JpbGVHZXRBcHBTdHJpbmdzIChvcHRzID0ge30pIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMuZ2V0U3RyaW5ncyhvcHRzLmxhbmd1YWdlKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzOyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxRQUFBLEdBQUFELE9BQUE7QUFFQSxNQUFNRSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBRW5CQSxRQUFRLENBQUNDLFVBQVUsR0FBRyxnQkFBZ0JDLFFBQVEsRUFBRTtFQUM5QyxJQUFJLENBQUNBLFFBQVEsRUFBRTtJQUNiQSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUNDLEdBQUcsQ0FBQ0MsaUJBQWlCLEVBQUU7SUFDN0MsSUFBSSxDQUFDQyxHQUFHLENBQUNDLElBQUksQ0FBRSxpREFBZ0RKLFFBQVMsRUFBQyxDQUFDO0VBQzVFO0VBSUEsTUFBTUssb0JBQW9CLEdBQUcsU0FBQUEsQ0FBVUMsT0FBTyxFQUFFO0lBQzlDLE1BQU1DLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDakIsS0FBSyxNQUFNLENBQUNDLEdBQUcsRUFBRUMsS0FBSyxDQUFDLElBQUlDLGVBQUMsQ0FBQ0MsT0FBTyxDQUFDTCxPQUFPLENBQUMsRUFBRTtNQUM3Q0MsTUFBTSxDQUFDQyxHQUFHLENBQUMsR0FBR0UsZUFBQyxDQUFDRSxRQUFRLENBQUNILEtBQUssQ0FBQyxHQUFHQSxLQUFLLEdBQUdJLElBQUksQ0FBQ0MsU0FBUyxDQUFDTCxLQUFLLENBQUM7SUFDakU7SUFDQSxPQUFPRixNQUFNO0VBQ2YsQ0FBQztFQUVELElBQUksSUFBSSxDQUFDUSxVQUFVLENBQUNmLFFBQVEsQ0FBQyxFQUFFO0lBRTdCLE9BQU9LLG9CQUFvQixDQUFDLElBQUksQ0FBQ1UsVUFBVSxDQUFDZixRQUFRLENBQUMsQ0FBQztFQUN4RDtFQUVBLElBQUksQ0FBQyxJQUFJLENBQUNnQixJQUFJLENBQUNDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQ0QsSUFBSSxDQUFDRSxVQUFVLEVBQUU7SUFDM0MsSUFBSSxDQUFDZixHQUFHLENBQUNnQixhQUFhLENBQUMsb0VBQW9FLENBQUM7RUFDOUY7RUFFQSxJQUFJRixHQUFHLEdBQUcsSUFBSSxDQUFDRCxJQUFJLENBQUNDLEdBQUc7RUFDdkIsTUFBTUcsT0FBTyxHQUFHLE1BQU1DLGdCQUFPLENBQUNDLE9BQU8sRUFBRTtFQUN2QyxJQUFJO0lBQ0YsSUFBSSxDQUFDTCxHQUFHLEVBQUU7TUFDUixJQUFJO1FBQ0ZBLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQ2hCLEdBQUcsQ0FBQ3NCLE9BQU8sQ0FBQyxJQUFJLENBQUNQLElBQUksQ0FBQ0UsVUFBVSxFQUFFRSxPQUFPLENBQUM7TUFDN0QsQ0FBQyxDQUFDLE9BQU9JLEdBQUcsRUFBRTtRQUNaLElBQUksQ0FBQ3JCLEdBQUcsQ0FBQ2dCLGFBQWEsQ0FBRSwrQkFBOEIsSUFBSSxDQUFDSCxJQUFJLENBQUNFLFVBQVcsc0JBQXFCTSxHQUFHLENBQUNDLE9BQVEsRUFBQyxDQUFDO01BQ2hIO0lBQ0Y7SUFFQSxJQUFJLEVBQUMsTUFBTUMsV0FBRSxDQUFDQyxNQUFNLENBQUNWLEdBQUcsQ0FBQyxHQUFFO01BQ3pCLElBQUksQ0FBQ2QsR0FBRyxDQUFDZ0IsYUFBYSxDQUFFLGVBQWNGLEdBQUksa0JBQWlCLENBQUM7SUFDOUQ7SUFFQSxJQUFJO01BQ0YsTUFBTTtRQUFDRjtNQUFVLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQ2QsR0FBRyxDQUFDMkIscUJBQXFCLENBQUNYLEdBQUcsRUFBRWpCLFFBQVEsRUFBRW9CLE9BQU8sQ0FBQztNQUNqRixJQUFJLENBQUNMLFVBQVUsQ0FBQ2YsUUFBUSxDQUFDLEdBQUdlLFVBQVU7TUFDdEMsT0FBT1Ysb0JBQW9CLENBQUNVLFVBQVUsQ0FBQztJQUN6QyxDQUFDLENBQUMsT0FBT1MsR0FBRyxFQUFFO01BQ1osSUFBSSxDQUFDckIsR0FBRyxDQUFDZ0IsYUFBYSxDQUFFLGdDQUErQkYsR0FBSSxzQkFBcUJPLEdBQUcsQ0FBQ0MsT0FBUSxFQUFDLENBQUM7SUFDaEc7RUFDRixDQUFDLFNBQVM7SUFDUixNQUFNQyxXQUFFLENBQUNHLE1BQU0sQ0FBQ1QsT0FBTyxDQUFDO0VBQzFCO0FBQ0YsQ0FBQztBQWdCRHRCLFFBQVEsQ0FBQ2dDLG1CQUFtQixHQUFHLGVBQWVBLG1CQUFtQkEsQ0FBRWQsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFO0VBQzVFLE9BQU8sTUFBTSxJQUFJLENBQUNqQixVQUFVLENBQUNpQixJQUFJLENBQUNoQixRQUFRLENBQUM7QUFDN0MsQ0FBQztBQUFDLElBQUErQixRQUFBLEdBRWFqQyxRQUFRO0FBQUFrQyxPQUFBLENBQUFDLE9BQUEsR0FBQUYsUUFBQSJ9
61
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfc3VwcG9ydCIsImNvbW1hbmRzIiwiZ2V0U3RyaW5ncyIsImxhbmd1YWdlIiwiYWRiIiwiZ2V0RGV2aWNlTGFuZ3VhZ2UiLCJsb2ciLCJpbmZvIiwicHJlcHJvY2Vzc1N0cmluZ3NNYXAiLCJtYXBwaW5nIiwicmVzdWx0Iiwia2V5IiwidmFsdWUiLCJfIiwidG9QYWlycyIsImlzU3RyaW5nIiwiSlNPTiIsInN0cmluZ2lmeSIsImFwa1N0cmluZ3MiLCJvcHRzIiwiYXBwIiwiYXBwUGFja2FnZSIsImVycm9yQW5kVGhyb3ciLCJ0bXBSb290IiwidGVtcERpciIsIm9wZW5EaXIiLCJwdWxsQXBrIiwiZXJyIiwibWVzc2FnZSIsImZzIiwiZXhpc3RzIiwiZXh0cmFjdFN0cmluZ3NGcm9tQXBrIiwicmltcmFmIiwibW9iaWxlR2V0QXBwU3RyaW5ncyIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvYXBwLXN0cmluZ3MuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IGZzLCB0ZW1wRGlyIH0gZnJvbSAnYXBwaXVtL3N1cHBvcnQnO1xuXG5jb25zdCBjb21tYW5kcyA9IHt9O1xuXG5jb21tYW5kcy5nZXRTdHJpbmdzID0gYXN5bmMgZnVuY3Rpb24gKGxhbmd1YWdlKSB7XG4gIGlmICghbGFuZ3VhZ2UpIHtcbiAgICBsYW5ndWFnZSA9IGF3YWl0IHRoaXMuYWRiLmdldERldmljZUxhbmd1YWdlKCk7XG4gICAgdGhpcy5sb2cuaW5mbyhgTm8gbGFuZ3VhZ2Ugc3BlY2lmaWVkLCByZXR1cm5pbmcgc3RyaW5ncyBmb3I6ICR7bGFuZ3VhZ2V9YCk7XG4gIH1cblxuICAvLyBDbGllbnRzIHJlcXVpcmUgdGhlIHJlc3VsdGluZyBtYXBwaW5nIHRvIGhhdmUgYm90aCBrZXlzXG4gIC8vIGFuZCB2YWx1ZXMgb2YgdHlwZSBzdHJpbmdcbiAgY29uc3QgcHJlcHJvY2Vzc1N0cmluZ3NNYXAgPSBmdW5jdGlvbiAobWFwcGluZykge1xuICAgIGNvbnN0IHJlc3VsdCA9IHt9O1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIF8udG9QYWlycyhtYXBwaW5nKSkge1xuICAgICAgcmVzdWx0W2tleV0gPSBfLmlzU3RyaW5nKHZhbHVlKSA/IHZhbHVlIDogSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xuXG4gIGlmICh0aGlzLmFwa1N0cmluZ3NbbGFuZ3VhZ2VdKSB7XG4gICAgLy8gUmV0dXJuIGNhY2hlZCBzdHJpbmdzXG4gICAgcmV0dXJuIHByZXByb2Nlc3NTdHJpbmdzTWFwKHRoaXMuYXBrU3RyaW5nc1tsYW5ndWFnZV0pO1xuICB9XG5cbiAgaWYgKCF0aGlzLm9wdHMuYXBwICYmICF0aGlzLm9wdHMuYXBwUGFja2FnZSkge1xuICAgIHRoaXMubG9nLmVycm9yQW5kVGhyb3coXCJPbmUgb2YgJ2FwcCcgb3IgJ2FwcFBhY2thZ2UnIGNhcGFiaWxpdGllcyBzaG91bGQgbXVzdCBiZSBzcGVjaWZpZWRcIik7XG4gIH1cblxuICBsZXQgYXBwID0gdGhpcy5vcHRzLmFwcDtcbiAgY29uc3QgdG1wUm9vdCA9IGF3YWl0IHRlbXBEaXIub3BlbkRpcigpO1xuICB0cnkge1xuICAgIGlmICghYXBwKSB7XG4gICAgICB0cnkge1xuICAgICAgICBhcHAgPSBhd2FpdCB0aGlzLmFkYi5wdWxsQXBrKHRoaXMub3B0cy5hcHBQYWNrYWdlLCB0bXBSb290KTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICB0aGlzLmxvZy5lcnJvckFuZFRocm93KGBGYWlsZWQgdG8gcHVsbCBhbiBhcGsgZnJvbSAnJHt0aGlzLm9wdHMuYXBwUGFja2FnZX0nLiBPcmlnaW5hbCBlcnJvcjogJHtlcnIubWVzc2FnZX1gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIWF3YWl0IGZzLmV4aXN0cyhhcHApKSB7XG4gICAgICB0aGlzLmxvZy5lcnJvckFuZFRocm93KGBUaGUgYXBwIGF0ICcke2FwcH0nIGRvZXMgbm90IGV4aXN0YCk7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHthcGtTdHJpbmdzfSA9IGF3YWl0IHRoaXMuYWRiLmV4dHJhY3RTdHJpbmdzRnJvbUFwayhhcHAsIGxhbmd1YWdlLCB0bXBSb290KTtcbiAgICAgIHRoaXMuYXBrU3RyaW5nc1tsYW5ndWFnZV0gPSBhcGtTdHJpbmdzO1xuICAgICAgcmV0dXJuIHByZXByb2Nlc3NTdHJpbmdzTWFwKGFwa1N0cmluZ3MpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5sb2cuZXJyb3JBbmRUaHJvdyhgQ2Fubm90IGV4dHJhY3Qgc3RyaW5ncyBmcm9tICcke2FwcH0nLiBPcmlnaW5hbCBlcnJvcjogJHtlcnIubWVzc2FnZX1gKTtcbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgYXdhaXQgZnMucmltcmFmKHRtcFJvb3QpO1xuICB9XG59O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEdldEFwcFN0cmluZ3NPcHRpb25zXG4gKiBAcHJvcGVydHkge3N0cmluZz99IGxhbmd1YWdlIFRoZSBsYW5ndWFnZSBhYmJyZXZpYXRpb24gdG8gZmV0Y2ggYXBwIHN0cmluZ3MgbWFwcGluZyBmb3IuIElmIG5vXG4gKiBsYW5ndWFnZSBpcyBwcm92aWRlZCB0aGVuIHN0cmluZ3MgZm9yIHRoZSBkZWZhdWx0IGxhbmd1YWdlIG9uIHRoZSBkZXZpY2UgdW5kZXIgdGVzdFxuICogd291bGQgYmUgcmV0dXJuZWQuIEV4YW1wbGVzOiBlbiwgZnJcbiAqL1xuXG4vKipcbiAqIFJldHJpdmVzIGFwcCBzdHJpbmdzIGZyb20gaXRzIHJlc291cmNlcyBmb3IgdGhlIGdpdmVuIGxhbmd1YWdlXG4gKiBvciB0aGUgZGVmYXVsdCBkZXZpY2UgbGFuZ3VhZ2UuXG4gKlxuICogQHBhcmFtIHtHZXRBcHBTdHJpbmdzT3B0aW9uc30gb3B0c1xuICogQHJldHVybnMge1Byb21pc2U8b2JqZWN0Pn0gQXBwIHN0cmluZ3MgbWFwXG4gKi9cbmNvbW1hbmRzLm1vYmlsZUdldEFwcFN0cmluZ3MgPSBhc3luYyBmdW5jdGlvbiBtb2JpbGVHZXRBcHBTdHJpbmdzIChvcHRzID0ge30pIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMuZ2V0U3RyaW5ncyhvcHRzLmxhbmd1YWdlKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzOyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxRQUFBLEdBQUFELE9BQUE7QUFFQSxNQUFNRSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBRW5CQSxRQUFRLENBQUNDLFVBQVUsR0FBRyxnQkFBZ0JDLFFBQVEsRUFBRTtFQUM5QyxJQUFJLENBQUNBLFFBQVEsRUFBRTtJQUNiQSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUNDLEdBQUcsQ0FBQ0MsaUJBQWlCLENBQUMsQ0FBQztJQUM3QyxJQUFJLENBQUNDLEdBQUcsQ0FBQ0MsSUFBSSxDQUFFLGlEQUFnREosUUFBUyxFQUFDLENBQUM7RUFDNUU7RUFJQSxNQUFNSyxvQkFBb0IsR0FBRyxTQUFBQSxDQUFVQyxPQUFPLEVBQUU7SUFDOUMsTUFBTUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNqQixLQUFLLE1BQU0sQ0FBQ0MsR0FBRyxFQUFFQyxLQUFLLENBQUMsSUFBSUMsZUFBQyxDQUFDQyxPQUFPLENBQUNMLE9BQU8sQ0FBQyxFQUFFO01BQzdDQyxNQUFNLENBQUNDLEdBQUcsQ0FBQyxHQUFHRSxlQUFDLENBQUNFLFFBQVEsQ0FBQ0gsS0FBSyxDQUFDLEdBQUdBLEtBQUssR0FBR0ksSUFBSSxDQUFDQyxTQUFTLENBQUNMLEtBQUssQ0FBQztJQUNqRTtJQUNBLE9BQU9GLE1BQU07RUFDZixDQUFDO0VBRUQsSUFBSSxJQUFJLENBQUNRLFVBQVUsQ0FBQ2YsUUFBUSxDQUFDLEVBQUU7SUFFN0IsT0FBT0ssb0JBQW9CLENBQUMsSUFBSSxDQUFDVSxVQUFVLENBQUNmLFFBQVEsQ0FBQyxDQUFDO0VBQ3hEO0VBRUEsSUFBSSxDQUFDLElBQUksQ0FBQ2dCLElBQUksQ0FBQ0MsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDRCxJQUFJLENBQUNFLFVBQVUsRUFBRTtJQUMzQyxJQUFJLENBQUNmLEdBQUcsQ0FBQ2dCLGFBQWEsQ0FBQyxvRUFBb0UsQ0FBQztFQUM5RjtFQUVBLElBQUlGLEdBQUcsR0FBRyxJQUFJLENBQUNELElBQUksQ0FBQ0MsR0FBRztFQUN2QixNQUFNRyxPQUFPLEdBQUcsTUFBTUMsZ0JBQU8sQ0FBQ0MsT0FBTyxDQUFDLENBQUM7RUFDdkMsSUFBSTtJQUNGLElBQUksQ0FBQ0wsR0FBRyxFQUFFO01BQ1IsSUFBSTtRQUNGQSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUNoQixHQUFHLENBQUNzQixPQUFPLENBQUMsSUFBSSxDQUFDUCxJQUFJLENBQUNFLFVBQVUsRUFBRUUsT0FBTyxDQUFDO01BQzdELENBQUMsQ0FBQyxPQUFPSSxHQUFHLEVBQUU7UUFDWixJQUFJLENBQUNyQixHQUFHLENBQUNnQixhQUFhLENBQUUsK0JBQThCLElBQUksQ0FBQ0gsSUFBSSxDQUFDRSxVQUFXLHNCQUFxQk0sR0FBRyxDQUFDQyxPQUFRLEVBQUMsQ0FBQztNQUNoSDtJQUNGO0lBRUEsSUFBSSxFQUFDLE1BQU1DLFdBQUUsQ0FBQ0MsTUFBTSxDQUFDVixHQUFHLENBQUMsR0FBRTtNQUN6QixJQUFJLENBQUNkLEdBQUcsQ0FBQ2dCLGFBQWEsQ0FBRSxlQUFjRixHQUFJLGtCQUFpQixDQUFDO0lBQzlEO0lBRUEsSUFBSTtNQUNGLE1BQU07UUFBQ0Y7TUFBVSxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUNkLEdBQUcsQ0FBQzJCLHFCQUFxQixDQUFDWCxHQUFHLEVBQUVqQixRQUFRLEVBQUVvQixPQUFPLENBQUM7TUFDakYsSUFBSSxDQUFDTCxVQUFVLENBQUNmLFFBQVEsQ0FBQyxHQUFHZSxVQUFVO01BQ3RDLE9BQU9WLG9CQUFvQixDQUFDVSxVQUFVLENBQUM7SUFDekMsQ0FBQyxDQUFDLE9BQU9TLEdBQUcsRUFBRTtNQUNaLElBQUksQ0FBQ3JCLEdBQUcsQ0FBQ2dCLGFBQWEsQ0FBRSxnQ0FBK0JGLEdBQUksc0JBQXFCTyxHQUFHLENBQUNDLE9BQVEsRUFBQyxDQUFDO0lBQ2hHO0VBQ0YsQ0FBQyxTQUFTO0lBQ1IsTUFBTUMsV0FBRSxDQUFDRyxNQUFNLENBQUNULE9BQU8sQ0FBQztFQUMxQjtBQUNGLENBQUM7QUFnQkR0QixRQUFRLENBQUNnQyxtQkFBbUIsR0FBRyxlQUFlQSxtQkFBbUJBLENBQUVkLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRTtFQUM1RSxPQUFPLE1BQU0sSUFBSSxDQUFDakIsVUFBVSxDQUFDaUIsSUFBSSxDQUFDaEIsUUFBUSxDQUFDO0FBQzdDLENBQUM7QUFBQyxJQUFBK0IsUUFBQSxHQUVhakMsUUFBUTtBQUFBa0MsT0FBQSxDQUFBQyxPQUFBLEdBQUFGLFFBQUEifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"app-strings.js","names":["_lodash","_interopRequireDefault","require","_support","commands","getStrings","language","adb","getDeviceLanguage","log","info","preprocessStringsMap","mapping","result","key","value","_","toPairs","isString","JSON","stringify","apkStrings","opts","app","appPackage","errorAndThrow","tmpRoot","tempDir","openDir","pullApk","err","message","fs","exists","extractStringsFromApk","rimraf","mobileGetAppStrings","_default","exports","default"],"sources":["../../../lib/commands/app-strings.js"],"sourcesContent":["import _ from 'lodash';\nimport { fs, tempDir } from 'appium/support';\n\nconst commands = {};\n\ncommands.getStrings = async function (language) {\n if (!language) {\n language = await this.adb.getDeviceLanguage();\n this.log.info(`No language specified, returning strings for: ${language}`);\n }\n\n // Clients require the resulting mapping to have both keys\n // and values of type string\n const preprocessStringsMap = function (mapping) {\n const result = {};\n for (const [key, value] of _.toPairs(mapping)) {\n result[key] = _.isString(value) ? value : JSON.stringify(value);\n }\n return result;\n };\n\n if (this.apkStrings[language]) {\n // Return cached strings\n return preprocessStringsMap(this.apkStrings[language]);\n }\n\n if (!this.opts.app && !this.opts.appPackage) {\n this.log.errorAndThrow(\"One of 'app' or 'appPackage' capabilities should must be specified\");\n }\n\n let app = this.opts.app;\n const tmpRoot = await tempDir.openDir();\n try {\n if (!app) {\n try {\n app = await this.adb.pullApk(this.opts.appPackage, tmpRoot);\n } catch (err) {\n this.log.errorAndThrow(`Failed to pull an apk from '${this.opts.appPackage}'. Original error: ${err.message}`);\n }\n }\n\n if (!await fs.exists(app)) {\n this.log.errorAndThrow(`The app at '${app}' does not exist`);\n }\n\n try {\n const {apkStrings} = await this.adb.extractStringsFromApk(app, language, tmpRoot);\n this.apkStrings[language] = apkStrings;\n return preprocessStringsMap(apkStrings);\n } catch (err) {\n this.log.errorAndThrow(`Cannot extract strings from '${app}'. Original error: ${err.message}`);\n }\n } finally {\n await fs.rimraf(tmpRoot);\n }\n};\n\n/**\n * @typedef {Object} GetAppStringsOptions\n * @property {string?} language The language abbreviation to fetch app strings mapping for. If no\n * language is provided then strings for the default language on the device under test\n * would be returned. Examples: en, fr\n */\n\n/**\n * Retrives app strings from its resources for the given language\n * or the default device language.\n *\n * @param {GetAppStringsOptions} opts\n * @returns {Promise<object>} App strings map\n */\ncommands.mobileGetAppStrings = async function mobileGetAppStrings (opts = {}) {\n return await this.getStrings(opts.language);\n};\n\nexport default commands;"],"mappings":";;;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA,MAAME,QAAQ,GAAG,CAAC,CAAC;AAEnBA,QAAQ,CAACC,UAAU,GAAG,gBAAgBC,QAAQ,EAAE;EAC9C,IAAI,CAACA,QAAQ,EAAE;IACbA,QAAQ,GAAG,MAAM,IAAI,CAACC,GAAG,CAACC,iBAAiB,EAAE;IAC7C,IAAI,CAACC,GAAG,CAACC,IAAI,CAAE,iDAAgDJ,QAAS,EAAC,CAAC;EAC5E;EAIA,MAAMK,oBAAoB,GAAG,SAAAA,CAAUC,OAAO,EAAE;IAC9C,MAAMC,MAAM,GAAG,CAAC,CAAC;IACjB,KAAK,MAAM,CAACC,GAAG,EAAEC,KAAK,CAAC,IAAIC,eAAC,CAACC,OAAO,CAACL,OAAO,CAAC,EAAE;MAC7CC,MAAM,CAACC,GAAG,CAAC,GAAGE,eAAC,CAACE,QAAQ,CAACH,KAAK,CAAC,GAAGA,KAAK,GAAGI,IAAI,CAACC,SAAS,CAACL,KAAK,CAAC;IACjE;IACA,OAAOF,MAAM;EACf,CAAC;EAED,IAAI,IAAI,CAACQ,UAAU,CAACf,QAAQ,CAAC,EAAE;IAE7B,OAAOK,oBAAoB,CAAC,IAAI,CAACU,UAAU,CAACf,QAAQ,CAAC,CAAC;EACxD;EAEA,IAAI,CAAC,IAAI,CAACgB,IAAI,CAACC,GAAG,IAAI,CAAC,IAAI,CAACD,IAAI,CAACE,UAAU,EAAE;IAC3C,IAAI,CAACf,GAAG,CAACgB,aAAa,CAAC,oEAAoE,CAAC;EAC9F;EAEA,IAAIF,GAAG,GAAG,IAAI,CAACD,IAAI,CAACC,GAAG;EACvB,MAAMG,OAAO,GAAG,MAAMC,gBAAO,CAACC,OAAO,EAAE;EACvC,IAAI;IACF,IAAI,CAACL,GAAG,EAAE;MACR,IAAI;QACFA,GAAG,GAAG,MAAM,IAAI,CAAChB,GAAG,CAACsB,OAAO,CAAC,IAAI,CAACP,IAAI,CAACE,UAAU,EAAEE,OAAO,CAAC;MAC7D,CAAC,CAAC,OAAOI,GAAG,EAAE;QACZ,IAAI,CAACrB,GAAG,CAACgB,aAAa,CAAE,+BAA8B,IAAI,CAACH,IAAI,CAACE,UAAW,sBAAqBM,GAAG,CAACC,OAAQ,EAAC,CAAC;MAChH;IACF;IAEA,IAAI,EAAC,MAAMC,WAAE,CAACC,MAAM,CAACV,GAAG,CAAC,GAAE;MACzB,IAAI,CAACd,GAAG,CAACgB,aAAa,CAAE,eAAcF,GAAI,kBAAiB,CAAC;IAC9D;IAEA,IAAI;MACF,MAAM;QAACF;MAAU,CAAC,GAAG,MAAM,IAAI,CAACd,GAAG,CAAC2B,qBAAqB,CAACX,GAAG,EAAEjB,QAAQ,EAAEoB,OAAO,CAAC;MACjF,IAAI,CAACL,UAAU,CAACf,QAAQ,CAAC,GAAGe,UAAU;MACtC,OAAOV,oBAAoB,CAACU,UAAU,CAAC;IACzC,CAAC,CAAC,OAAOS,GAAG,EAAE;MACZ,IAAI,CAACrB,GAAG,CAACgB,aAAa,CAAE,gCAA+BF,GAAI,sBAAqBO,GAAG,CAACC,OAAQ,EAAC,CAAC;IAChG;EACF,CAAC,SAAS;IACR,MAAMC,WAAE,CAACG,MAAM,CAACT,OAAO,CAAC;EAC1B;AACF,CAAC;AAgBDtB,QAAQ,CAACgC,mBAAmB,GAAG,eAAeA,mBAAmBA,CAAEd,IAAI,GAAG,CAAC,CAAC,EAAE;EAC5E,OAAO,MAAM,IAAI,CAACjB,UAAU,CAACiB,IAAI,CAAChB,QAAQ,CAAC;AAC7C,CAAC;AAAC,IAAA+B,QAAA,GAEajC,QAAQ;AAAAkC,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"file":"app-strings.js","names":["_lodash","_interopRequireDefault","require","_support","commands","getStrings","language","adb","getDeviceLanguage","log","info","preprocessStringsMap","mapping","result","key","value","_","toPairs","isString","JSON","stringify","apkStrings","opts","app","appPackage","errorAndThrow","tmpRoot","tempDir","openDir","pullApk","err","message","fs","exists","extractStringsFromApk","rimraf","mobileGetAppStrings","_default","exports","default"],"sources":["../../../lib/commands/app-strings.js"],"sourcesContent":["import _ from 'lodash';\nimport { fs, tempDir } from 'appium/support';\n\nconst commands = {};\n\ncommands.getStrings = async function (language) {\n if (!language) {\n language = await this.adb.getDeviceLanguage();\n this.log.info(`No language specified, returning strings for: ${language}`);\n }\n\n // Clients require the resulting mapping to have both keys\n // and values of type string\n const preprocessStringsMap = function (mapping) {\n const result = {};\n for (const [key, value] of _.toPairs(mapping)) {\n result[key] = _.isString(value) ? value : JSON.stringify(value);\n }\n return result;\n };\n\n if (this.apkStrings[language]) {\n // Return cached strings\n return preprocessStringsMap(this.apkStrings[language]);\n }\n\n if (!this.opts.app && !this.opts.appPackage) {\n this.log.errorAndThrow(\"One of 'app' or 'appPackage' capabilities should must be specified\");\n }\n\n let app = this.opts.app;\n const tmpRoot = await tempDir.openDir();\n try {\n if (!app) {\n try {\n app = await this.adb.pullApk(this.opts.appPackage, tmpRoot);\n } catch (err) {\n this.log.errorAndThrow(`Failed to pull an apk from '${this.opts.appPackage}'. Original error: ${err.message}`);\n }\n }\n\n if (!await fs.exists(app)) {\n this.log.errorAndThrow(`The app at '${app}' does not exist`);\n }\n\n try {\n const {apkStrings} = await this.adb.extractStringsFromApk(app, language, tmpRoot);\n this.apkStrings[language] = apkStrings;\n return preprocessStringsMap(apkStrings);\n } catch (err) {\n this.log.errorAndThrow(`Cannot extract strings from '${app}'. Original error: ${err.message}`);\n }\n } finally {\n await fs.rimraf(tmpRoot);\n }\n};\n\n/**\n * @typedef {Object} GetAppStringsOptions\n * @property {string?} language The language abbreviation to fetch app strings mapping for. If no\n * language is provided then strings for the default language on the device under test\n * would be returned. Examples: en, fr\n */\n\n/**\n * Retrives app strings from its resources for the given language\n * or the default device language.\n *\n * @param {GetAppStringsOptions} opts\n * @returns {Promise<object>} App strings map\n */\ncommands.mobileGetAppStrings = async function mobileGetAppStrings (opts = {}) {\n return await this.getStrings(opts.language);\n};\n\nexport default commands;"],"mappings":"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"}
@@ -162,4 +162,4 @@ commands.mobileReplaceElementValue = async function mobileReplaceElementValue(op
162
162
  Object.assign(extensions, commands, helpers);
163
163
  var _default = extensions;
164
164
  exports.default = _default;
165
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfc3VwcG9ydCIsIl9kcml2ZXIiLCJfdXRpbHMiLCJjb21tYW5kcyIsImhlbHBlcnMiLCJleHRlbnNpb25zIiwiZXhwb3J0cyIsInRvQm9vbCIsInMiLCJfIiwiaXNTdHJpbmciLCJ0b0xvd2VyQ2FzZSIsImFjdGl2ZSIsInVpYXV0b21hdG9yMiIsImp3cHJveHkiLCJjb21tYW5kIiwiZ2V0QXR0cmlidXRlIiwiYXR0cmlidXRlIiwiZWxlbWVudElkIiwiZWxlbWVudERpc3BsYXllZCIsImVsZW1lbnRFbmFibGVkIiwiZWxlbWVudFNlbGVjdGVkIiwiZ2V0TmFtZSIsImdldExvY2F0aW9uIiwiZ2V0U2l6ZSIsInRvdWNoTG9uZ0NsaWNrIiwiZWxlbWVudCIsIngiLCJ5IiwiZHVyYXRpb24iLCJwYXJhbXMiLCJ0b3VjaERvd24iLCJ0b3VjaFVwIiwidG91Y2hNb3ZlIiwiZG9TZXRFbGVtZW50VmFsdWUiLCJzZXRWYWx1ZUltbWVkaWF0ZSIsImtleXMiLCJ0ZXh0IiwiaXNBcnJheSIsImpvaW4iLCJyZXBsYWNlIiwiZ2V0VGV4dCIsImNsaWNrIiwiZ2V0RWxlbWVudFNjcmVlbnNob3QiLCJ0YXAiLCJjb3VudCIsImFyZUNvb3JkaW5hdGVzRGVmaW5lZCIsInV0aWwiLCJoYXNWYWx1ZSIsIkVycm9yIiwiaSIsIlczQ19FTEVNRU5UX0tFWSIsImNsZWFyIiwiZ2V0RWxlbWVudFJlY3QiLCJpc1dlYkNvbnRleHQiLCJsb2ciLCJkZWJ1ZyIsImNocm9tZWRyaXZlciIsImRvd25zdHJlYW1Qcm90b2NvbCIsIlBST1RPQ09MUyIsIk1KU09OV1AiLCJ3aWR0aCIsImhlaWdodCIsIm1vYmlsZVJlcGxhY2VFbGVtZW50VmFsdWUiLCJvcHRzIiwicmVxdWlyZUFyZ3MiLCJPYmplY3QiLCJhc3NpZ24iLCJfZGVmYXVsdCIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvZWxlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgdXRpbCB9IGZyb20gJ2FwcGl1bS9zdXBwb3J0JztcbmltcG9ydCB7IFBST1RPQ09MUywgVzNDX0VMRU1FTlRfS0VZIH0gZnJvbSAnYXBwaXVtL2RyaXZlcic7XG5pbXBvcnQgeyByZXF1aXJlQXJncyB9IGZyb20gJy4uL3V0aWxzJztcblxubGV0IGNvbW1hbmRzID0ge30sIGhlbHBlcnMgPSB7fSwgZXh0ZW5zaW9ucyA9IHt9O1xuXG5mdW5jdGlvbiB0b0Jvb2wgKHMpIHtcbiAgcmV0dXJuIF8uaXNTdHJpbmcocykgPyAocy50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScpIDogISFzO1xufVxuXG5jb21tYW5kcy5hY3RpdmUgPSBhc3luYyBmdW5jdGlvbiBhY3RpdmUgKCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKCcvZWxlbWVudC9hY3RpdmUnLCAnR0VUJyk7XG59O1xuXG5jb21tYW5kcy5nZXRBdHRyaWJ1dGUgPSBhc3luYyBmdW5jdGlvbiAoYXR0cmlidXRlLCBlbGVtZW50SWQpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL2VsZW1lbnQvJHtlbGVtZW50SWR9L2F0dHJpYnV0ZS8ke2F0dHJpYnV0ZX1gLCAnR0VUJywge30pO1xufTtcblxuY29tbWFuZHMuZWxlbWVudERpc3BsYXllZCA9IGFzeW5jIGZ1bmN0aW9uIChlbGVtZW50SWQpIHtcbiAgcmV0dXJuIHRvQm9vbChhd2FpdCB0aGlzLmdldEF0dHJpYnV0ZSgnZGlzcGxheWVkJywgZWxlbWVudElkKSk7XG59O1xuXG5jb21tYW5kcy5lbGVtZW50RW5hYmxlZCA9IGFzeW5jIGZ1bmN0aW9uIChlbGVtZW50SWQpIHtcbiAgcmV0dXJuIHRvQm9vbChhd2FpdCB0aGlzLmdldEF0dHJpYnV0ZSgnZW5hYmxlZCcsIGVsZW1lbnRJZCkpO1xufTtcblxuY29tbWFuZHMuZWxlbWVudFNlbGVjdGVkID0gYXN5bmMgZnVuY3Rpb24gKGVsZW1lbnRJZCkge1xuICByZXR1cm4gdG9Cb29sKGF3YWl0IHRoaXMuZ2V0QXR0cmlidXRlKCdzZWxlY3RlZCcsIGVsZW1lbnRJZCkpO1xufTtcblxuY29tbWFuZHMuZ2V0TmFtZSA9IGFzeW5jIGZ1bmN0aW9uIChlbGVtZW50SWQpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL2VsZW1lbnQvJHtlbGVtZW50SWR9L25hbWVgLCAnR0VUJywge30pO1xufTtcblxuY29tbWFuZHMuZ2V0TG9jYXRpb24gPSBhc3luYyBmdW5jdGlvbiAoZWxlbWVudElkKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC9lbGVtZW50LyR7ZWxlbWVudElkfS9sb2NhdGlvbmAsICdHRVQnLCB7fSk7XG59O1xuXG5jb21tYW5kcy5nZXRTaXplID0gYXN5bmMgZnVuY3Rpb24gKGVsZW1lbnRJZCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudC8ke2VsZW1lbnRJZH0vc2l6ZWAsICdHRVQnLCB7fSk7XG59O1xuXG5jb21tYW5kcy50b3VjaExvbmdDbGljayA9IGFzeW5jIGZ1bmN0aW9uIChlbGVtZW50LCB4LCB5LCBkdXJhdGlvbikge1xuICBsZXQgcGFyYW1zID0ge2VsZW1lbnQsIHgsIHksIGR1cmF0aW9ufTtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL3RvdWNoL2xvbmdjbGlja2AsICdQT1NUJywge3BhcmFtc30pO1xufTtcblxuY29tbWFuZHMudG91Y2hEb3duID0gYXN5bmMgZnVuY3Rpb24gKGVsZW1lbnQsIHgsIHkpIHtcbiAgbGV0IHBhcmFtcyA9IHtlbGVtZW50LCB4LCB5fTtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL3RvdWNoL2Rvd25gLCAnUE9TVCcsIHtwYXJhbXN9KTtcbn07XG5cbmNvbW1hbmRzLnRvdWNoVXAgPSBhc3luYyBmdW5jdGlvbiAoZWxlbWVudCwgeCwgeSkge1xuICBsZXQgcGFyYW1zID0ge2VsZW1lbnQsIHgsIHl9O1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvdG91Y2gvdXBgLCAnUE9TVCcsIHtwYXJhbXN9KTtcbn07XG5cbmNvbW1hbmRzLnRvdWNoTW92ZSA9IGFzeW5jIGZ1bmN0aW9uIChlbGVtZW50LCB4LCB5KSB7XG4gIGxldCBwYXJhbXMgPSB7ZWxlbWVudCwgeCwgeX07XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC90b3VjaC9tb3ZlYCwgJ1BPU1QnLCB7cGFyYW1zfSk7XG59O1xuXG5oZWxwZXJzLmRvU2V0RWxlbWVudFZhbHVlID0gYXN5bmMgZnVuY3Rpb24gKHBhcmFtcykge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudC8ke3BhcmFtcy5lbGVtZW50SWR9L3ZhbHVlYCwgJ1BPU1QnLCBwYXJhbXMpO1xufTtcblxuY29tbWFuZHMuc2V0VmFsdWVJbW1lZGlhdGUgPSBhc3luYyBmdW5jdGlvbiAoa2V5cywgZWxlbWVudElkKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC9lbGVtZW50LyR7ZWxlbWVudElkfS92YWx1ZWAsICdQT1NUJywge1xuICAgIGVsZW1lbnRJZCxcbiAgICB0ZXh0OiBfLmlzQXJyYXkoa2V5cykgPyBrZXlzLmpvaW4oJycpIDoga2V5cyxcbiAgICByZXBsYWNlOiBmYWxzZVxuICB9KTtcbn07XG5cbmNvbW1hbmRzLmdldFRleHQgPSBhc3luYyBmdW5jdGlvbiAoZWxlbWVudElkKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC9lbGVtZW50LyR7ZWxlbWVudElkfS90ZXh0YCwgJ0dFVCcsIHt9KTtcbn07XG5cbmNvbW1hbmRzLmNsaWNrID0gYXN5bmMgZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL2VsZW1lbnQvJHtlbGVtZW50fS9jbGlja2AsICdQT1NUJywge2VsZW1lbnR9KTtcbn07XG5cbmNvbW1hbmRzLmdldEVsZW1lbnRTY3JlZW5zaG90ID0gYXN5bmMgZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL2VsZW1lbnQvJHtlbGVtZW50fS9zY3JlZW5zaG90YCwgJ0dFVCcsIHt9KTtcbn07XG5cbmNvbW1hbmRzLnRhcCA9IGFzeW5jIGZ1bmN0aW9uIChlbGVtZW50SWQgPSBudWxsLCB4ID0gbnVsbCwgeSA9IG51bGwsIGNvdW50ID0gMSkge1xuICBjb25zdCBhcmVDb29yZGluYXRlc0RlZmluZWQgPSB1dGlsLmhhc1ZhbHVlKHgpICYmIHV0aWwuaGFzVmFsdWUoeSk7XG4gIGlmICghdXRpbC5oYXNWYWx1ZShlbGVtZW50SWQpICYmICFhcmVDb29yZGluYXRlc0RlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEVpdGhlciBlbGVtZW50IGlkIHRvIHRhcCBvciBib3RoIGFic29sdXRlIGNvb3JkaW5hdGVzIHNob3VsZCBiZSBkZWZpbmVkYCk7XG4gIH1cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGNvdW50OyBpKyspIHtcbiAgICBpZiAodXRpbC5oYXNWYWx1ZShlbGVtZW50SWQpICYmICFhcmVDb29yZGluYXRlc0RlZmluZWQpIHtcbiAgICAgIC8vIHdlIGFyZSBlaXRoZXIgdGFwcGluZyBvbiB0aGUgZGVmYXVsdCBsb2NhdGlvbiBvZiB0aGUgZWxlbWVudFxuICAgICAgLy8gb3IgYW4gb2Zmc2V0IGZyb20gdGhlIHRvcCBsZWZ0IGNvcm5lclxuICAgICAgYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudC8ke2VsZW1lbnRJZH0vY2xpY2tgLCAnUE9TVCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC9hcHBpdW0vdGFwYCwgJ1BPU1QnLCB7XG4gICAgICAgIHgsIHksXG4gICAgICAgIFtXM0NfRUxFTUVOVF9LRVldOiBlbGVtZW50SWQsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn07XG5cbmNvbW1hbmRzLmNsZWFyID0gYXN5bmMgZnVuY3Rpb24gKGVsZW1lbnRJZCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudC8ke2VsZW1lbnRJZH0vY2xlYXJgLCAnUE9TVCcsIHtlbGVtZW50SWR9KTtcbn07XG5cbmNvbW1hbmRzLmdldEVsZW1lbnRSZWN0ID0gYXN5bmMgZnVuY3Rpb24gKGVsZW1lbnRJZCkge1xuICBpZiAodGhpcy5pc1dlYkNvbnRleHQoKSkge1xuICAgIHRoaXMubG9nLmRlYnVnKGBEZXRlY3RlZCBkb3duc3RyZWFtIGNocm9tZWRyaXZlciBwcm90b2NvbDogJHt0aGlzLmNocm9tZWRyaXZlci5qd3Byb3h5LmRvd25zdHJlYW1Qcm90b2NvbH1gKTtcbiAgICBpZiAodGhpcy5jaHJvbWVkcml2ZXIuandwcm94eS5kb3duc3RyZWFtUHJvdG9jb2wgPT09IFBST1RPQ09MUy5NSlNPTldQKSB7XG4gICAgICBjb25zdCB7eCwgeX0gPSBhd2FpdCB0aGlzLmNocm9tZWRyaXZlci5qd3Byb3h5LmNvbW1hbmQoYC9lbGVtZW50LyR7ZWxlbWVudElkfS9sb2NhdGlvbmAsICdHRVQnKTtcbiAgICAgIGNvbnN0IHt3aWR0aCwgaGVpZ2h0fSA9IGF3YWl0IHRoaXMuY2hyb21lZHJpdmVyLmp3cHJveHkuY29tbWFuZChgL2VsZW1lbnQvJHtlbGVtZW50SWR9L3NpemVgLCAnR0VUJyk7XG4gICAgICByZXR1cm4ge3gsIHksIHdpZHRoLCBoZWlnaHR9O1xuICAgIH1cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jaHJvbWVkcml2ZXIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudC8ke2VsZW1lbnRJZH0vcmVjdGAsICdHRVQnKTtcbiAgfVxuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudC8ke2VsZW1lbnRJZH0vcmVjdGAsICdHRVQnKTtcbn07XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gUmVwbGFjZVZhbHVlT3B0aW9uc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IGVsZW1lbnRJZCBUaGUgaWQgb2YgdGhlIGVsZW1lbnQgd2hvc2UgY29udGVudCB3aWxsIGJlIHJlcGxhY2VkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdGV4dCBUaGUgYWN0dWFsIHRleHQgdG8gc2V0XG4gKi9cblxuLyoqXG4gKiBTZW5kcyB0ZXh0IHRvIHRoZSBnaXZlbiBlbGVtZW50IGJ5IHJlcGxhY2luZyBpdHMgcHJldmlvdXMgY29udGVudFxuICpcbiAqIEBwYXJhbSB7UmVwbGFjZVZhbHVlT3B0aW9uc30gb3B0c1xuICogQHRocm93cyB7RXJyb3J9IElmIHRoZXJlIHdhcyBhIGZhdWxyZSB3aGlsZSBzZXR0aW5nIHRoZSB0ZXh0XG4gKi9cbmNvbW1hbmRzLm1vYmlsZVJlcGxhY2VFbGVtZW50VmFsdWUgPSBhc3luYyBmdW5jdGlvbiBtb2JpbGVSZXBsYWNlRWxlbWVudFZhbHVlIChvcHRzID0ge30pIHtcbiAgY29uc3Qge2VsZW1lbnRJZCwgdGV4dH0gPSByZXF1aXJlQXJncyhbJ2VsZW1lbnRJZCcsICd0ZXh0J10sIG9wdHMpO1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudC8ke2VsZW1lbnRJZH0vdmFsdWVgLCAnUE9TVCcsIHt0ZXh0LCByZXBsYWNlOiB0cnVlfSk7XG59O1xuXG5PYmplY3QuYXNzaWduKGV4dGVuc2lvbnMsIGNvbW1hbmRzLCBoZWxwZXJzKTtcbmV4cG9ydCB7IGNvbW1hbmRzLCBoZWxwZXJzIH07XG5leHBvcnQgZGVmYXVsdCBleHRlbnNpb25zO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUVBLElBQUlJLFFBQVEsR0FBRyxDQUFDLENBQUM7RUFBRUMsT0FBTyxHQUFHLENBQUMsQ0FBQztFQUFFQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBQUNDLE9BQUEsQ0FBQUYsT0FBQSxHQUFBQSxPQUFBO0FBQUFFLE9BQUEsQ0FBQUgsUUFBQSxHQUFBQSxRQUFBO0FBRWpELFNBQVNJLE1BQU1BLENBQUVDLENBQUMsRUFBRTtFQUNsQixPQUFPQyxlQUFDLENBQUNDLFFBQVEsQ0FBQ0YsQ0FBQyxDQUFDLEdBQUlBLENBQUMsQ0FBQ0csV0FBVyxFQUFFLEtBQUssTUFBTSxHQUFJLENBQUMsQ0FBQ0gsQ0FBQztBQUMzRDtBQUVBTCxRQUFRLENBQUNTLE1BQU0sR0FBRyxlQUFlQSxNQUFNQSxDQUFBLEVBQUk7RUFDekMsT0FBTyxNQUFNLElBQUksQ0FBQ0MsWUFBWSxDQUFDQyxPQUFPLENBQUNDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUM7QUFDMUUsQ0FBQztBQUVEWixRQUFRLENBQUNhLFlBQVksR0FBRyxnQkFBZ0JDLFNBQVMsRUFBRUMsU0FBUyxFQUFFO0VBQzVELE9BQU8sTUFBTSxJQUFJLENBQUNMLFlBQVksQ0FBQ0MsT0FBTyxDQUFDQyxPQUFPLENBQUUsWUFBV0csU0FBVSxjQUFhRCxTQUFVLEVBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENB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
165
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfc3VwcG9ydCIsIl9kcml2ZXIiLCJfdXRpbHMiLCJjb21tYW5kcyIsImhlbHBlcnMiLCJleHRlbnNpb25zIiwiZXhwb3J0cyIsInRvQm9vbCIsInMiLCJfIiwiaXNTdHJpbmciLCJ0b0xvd2VyQ2FzZSIsImFjdGl2ZSIsInVpYXV0b21hdG9yMiIsImp3cHJveHkiLCJjb21tYW5kIiwiZ2V0QXR0cmlidXRlIiwiYXR0cmlidXRlIiwiZWxlbWVudElkIiwiZWxlbWVudERpc3BsYXllZCIsImVsZW1lbnRFbmFibGVkIiwiZWxlbWVudFNlbGVjdGVkIiwiZ2V0TmFtZSIsImdldExvY2F0aW9uIiwiZ2V0U2l6ZSIsInRvdWNoTG9uZ0NsaWNrIiwiZWxlbWVudCIsIngiLCJ5IiwiZHVyYXRpb24iLCJwYXJhbXMiLCJ0b3VjaERvd24iLCJ0b3VjaFVwIiwidG91Y2hNb3ZlIiwiZG9TZXRFbGVtZW50VmFsdWUiLCJzZXRWYWx1ZUltbWVkaWF0ZSIsImtleXMiLCJ0ZXh0IiwiaXNBcnJheSIsImpvaW4iLCJyZXBsYWNlIiwiZ2V0VGV4dCIsImNsaWNrIiwiZ2V0RWxlbWVudFNjcmVlbnNob3QiLCJ0YXAiLCJjb3VudCIsImFyZUNvb3JkaW5hdGVzRGVmaW5lZCIsInV0aWwiLCJoYXNWYWx1ZSIsIkVycm9yIiwiaSIsIlczQ19FTEVNRU5UX0tFWSIsImNsZWFyIiwiZ2V0RWxlbWVudFJlY3QiLCJpc1dlYkNvbnRleHQiLCJsb2ciLCJkZWJ1ZyIsImNocm9tZWRyaXZlciIsImRvd25zdHJlYW1Qcm90b2NvbCIsIlBST1RPQ09MUyIsIk1KU09OV1AiLCJ3aWR0aCIsImhlaWdodCIsIm1vYmlsZVJlcGxhY2VFbGVtZW50VmFsdWUiLCJvcHRzIiwicmVxdWlyZUFyZ3MiLCJPYmplY3QiLCJhc3NpZ24iLCJfZGVmYXVsdCIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvZWxlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgdXRpbCB9IGZyb20gJ2FwcGl1bS9zdXBwb3J0JztcbmltcG9ydCB7IFBST1RPQ09MUywgVzNDX0VMRU1FTlRfS0VZIH0gZnJvbSAnYXBwaXVtL2RyaXZlcic7XG5pbXBvcnQgeyByZXF1aXJlQXJncyB9IGZyb20gJy4uL3V0aWxzJztcblxubGV0IGNvbW1hbmRzID0ge30sIGhlbHBlcnMgPSB7fSwgZXh0ZW5zaW9ucyA9IHt9O1xuXG5mdW5jdGlvbiB0b0Jvb2wgKHMpIHtcbiAgcmV0dXJuIF8uaXNTdHJpbmcocykgPyAocy50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScpIDogISFzO1xufVxuXG5jb21tYW5kcy5hY3RpdmUgPSBhc3luYyBmdW5jdGlvbiBhY3RpdmUgKCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKCcvZWxlbWVudC9hY3RpdmUnLCAnR0VUJyk7XG59O1xuXG5jb21tYW5kcy5nZXRBdHRyaWJ1dGUgPSBhc3luYyBmdW5jdGlvbiAoYXR0cmlidXRlLCBlbGVtZW50SWQpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL2VsZW1lbnQvJHtlbGVtZW50SWR9L2F0dHJpYnV0ZS8ke2F0dHJpYnV0ZX1gLCAnR0VUJywge30pO1xufTtcblxuY29tbWFuZHMuZWxlbWVudERpc3BsYXllZCA9IGFzeW5jIGZ1bmN0aW9uIChlbGVtZW50SWQpIHtcbiAgcmV0dXJuIHRvQm9vbChhd2FpdCB0aGlzLmdldEF0dHJpYnV0ZSgnZGlzcGxheWVkJywgZWxlbWVudElkKSk7XG59O1xuXG5jb21tYW5kcy5lbGVtZW50RW5hYmxlZCA9IGFzeW5jIGZ1bmN0aW9uIChlbGVtZW50SWQpIHtcbiAgcmV0dXJuIHRvQm9vbChhd2FpdCB0aGlzLmdldEF0dHJpYnV0ZSgnZW5hYmxlZCcsIGVsZW1lbnRJZCkpO1xufTtcblxuY29tbWFuZHMuZWxlbWVudFNlbGVjdGVkID0gYXN5bmMgZnVuY3Rpb24gKGVsZW1lbnRJZCkge1xuICByZXR1cm4gdG9Cb29sKGF3YWl0IHRoaXMuZ2V0QXR0cmlidXRlKCdzZWxlY3RlZCcsIGVsZW1lbnRJZCkpO1xufTtcblxuY29tbWFuZHMuZ2V0TmFtZSA9IGFzeW5jIGZ1bmN0aW9uIChlbGVtZW50SWQpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL2VsZW1lbnQvJHtlbGVtZW50SWR9L25hbWVgLCAnR0VUJywge30pO1xufTtcblxuY29tbWFuZHMuZ2V0TG9jYXRpb24gPSBhc3luYyBmdW5jdGlvbiAoZWxlbWVudElkKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC9lbGVtZW50LyR7ZWxlbWVudElkfS9sb2NhdGlvbmAsICdHRVQnLCB7fSk7XG59O1xuXG5jb21tYW5kcy5nZXRTaXplID0gYXN5bmMgZnVuY3Rpb24gKGVsZW1lbnRJZCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudC8ke2VsZW1lbnRJZH0vc2l6ZWAsICdHRVQnLCB7fSk7XG59O1xuXG5jb21tYW5kcy50b3VjaExvbmdDbGljayA9IGFzeW5jIGZ1bmN0aW9uIChlbGVtZW50LCB4LCB5LCBkdXJhdGlvbikge1xuICBsZXQgcGFyYW1zID0ge2VsZW1lbnQsIHgsIHksIGR1cmF0aW9ufTtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL3RvdWNoL2xvbmdjbGlja2AsICdQT1NUJywge3BhcmFtc30pO1xufTtcblxuY29tbWFuZHMudG91Y2hEb3duID0gYXN5bmMgZnVuY3Rpb24gKGVsZW1lbnQsIHgsIHkpIHtcbiAgbGV0IHBhcmFtcyA9IHtlbGVtZW50LCB4LCB5fTtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL3RvdWNoL2Rvd25gLCAnUE9TVCcsIHtwYXJhbXN9KTtcbn07XG5cbmNvbW1hbmRzLnRvdWNoVXAgPSBhc3luYyBmdW5jdGlvbiAoZWxlbWVudCwgeCwgeSkge1xuICBsZXQgcGFyYW1zID0ge2VsZW1lbnQsIHgsIHl9O1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvdG91Y2gvdXBgLCAnUE9TVCcsIHtwYXJhbXN9KTtcbn07XG5cbmNvbW1hbmRzLnRvdWNoTW92ZSA9IGFzeW5jIGZ1bmN0aW9uIChlbGVtZW50LCB4LCB5KSB7XG4gIGxldCBwYXJhbXMgPSB7ZWxlbWVudCwgeCwgeX07XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC90b3VjaC9tb3ZlYCwgJ1BPU1QnLCB7cGFyYW1zfSk7XG59O1xuXG5oZWxwZXJzLmRvU2V0RWxlbWVudFZhbHVlID0gYXN5bmMgZnVuY3Rpb24gKHBhcmFtcykge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudC8ke3BhcmFtcy5lbGVtZW50SWR9L3ZhbHVlYCwgJ1BPU1QnLCBwYXJhbXMpO1xufTtcblxuY29tbWFuZHMuc2V0VmFsdWVJbW1lZGlhdGUgPSBhc3luYyBmdW5jdGlvbiAoa2V5cywgZWxlbWVudElkKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC9lbGVtZW50LyR7ZWxlbWVudElkfS92YWx1ZWAsICdQT1NUJywge1xuICAgIGVsZW1lbnRJZCxcbiAgICB0ZXh0OiBfLmlzQXJyYXkoa2V5cykgPyBrZXlzLmpvaW4oJycpIDoga2V5cyxcbiAgICByZXBsYWNlOiBmYWxzZVxuICB9KTtcbn07XG5cbmNvbW1hbmRzLmdldFRleHQgPSBhc3luYyBmdW5jdGlvbiAoZWxlbWVudElkKSB7XG4gIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC9lbGVtZW50LyR7ZWxlbWVudElkfS90ZXh0YCwgJ0dFVCcsIHt9KTtcbn07XG5cbmNvbW1hbmRzLmNsaWNrID0gYXN5bmMgZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL2VsZW1lbnQvJHtlbGVtZW50fS9jbGlja2AsICdQT1NUJywge2VsZW1lbnR9KTtcbn07XG5cbmNvbW1hbmRzLmdldEVsZW1lbnRTY3JlZW5zaG90ID0gYXN5bmMgZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMudWlhdXRvbWF0b3IyLmp3cHJveHkuY29tbWFuZChgL2VsZW1lbnQvJHtlbGVtZW50fS9zY3JlZW5zaG90YCwgJ0dFVCcsIHt9KTtcbn07XG5cbmNvbW1hbmRzLnRhcCA9IGFzeW5jIGZ1bmN0aW9uIChlbGVtZW50SWQgPSBudWxsLCB4ID0gbnVsbCwgeSA9IG51bGwsIGNvdW50ID0gMSkge1xuICBjb25zdCBhcmVDb29yZGluYXRlc0RlZmluZWQgPSB1dGlsLmhhc1ZhbHVlKHgpICYmIHV0aWwuaGFzVmFsdWUoeSk7XG4gIGlmICghdXRpbC5oYXNWYWx1ZShlbGVtZW50SWQpICYmICFhcmVDb29yZGluYXRlc0RlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEVpdGhlciBlbGVtZW50IGlkIHRvIHRhcCBvciBib3RoIGFic29sdXRlIGNvb3JkaW5hdGVzIHNob3VsZCBiZSBkZWZpbmVkYCk7XG4gIH1cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGNvdW50OyBpKyspIHtcbiAgICBpZiAodXRpbC5oYXNWYWx1ZShlbGVtZW50SWQpICYmICFhcmVDb29yZGluYXRlc0RlZmluZWQpIHtcbiAgICAgIC8vIHdlIGFyZSBlaXRoZXIgdGFwcGluZyBvbiB0aGUgZGVmYXVsdCBsb2NhdGlvbiBvZiB0aGUgZWxlbWVudFxuICAgICAgLy8gb3IgYW4gb2Zmc2V0IGZyb20gdGhlIHRvcCBsZWZ0IGNvcm5lclxuICAgICAgYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudC8ke2VsZW1lbnRJZH0vY2xpY2tgLCAnUE9TVCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC9hcHBpdW0vdGFwYCwgJ1BPU1QnLCB7XG4gICAgICAgIHgsIHksXG4gICAgICAgIFtXM0NfRUxFTUVOVF9LRVldOiBlbGVtZW50SWQsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn07XG5cbmNvbW1hbmRzLmNsZWFyID0gYXN5bmMgZnVuY3Rpb24gKGVsZW1lbnRJZCkge1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudC8ke2VsZW1lbnRJZH0vY2xlYXJgLCAnUE9TVCcsIHtlbGVtZW50SWR9KTtcbn07XG5cbmNvbW1hbmRzLmdldEVsZW1lbnRSZWN0ID0gYXN5bmMgZnVuY3Rpb24gKGVsZW1lbnRJZCkge1xuICBpZiAodGhpcy5pc1dlYkNvbnRleHQoKSkge1xuICAgIHRoaXMubG9nLmRlYnVnKGBEZXRlY3RlZCBkb3duc3RyZWFtIGNocm9tZWRyaXZlciBwcm90b2NvbDogJHt0aGlzLmNocm9tZWRyaXZlci5qd3Byb3h5LmRvd25zdHJlYW1Qcm90b2NvbH1gKTtcbiAgICBpZiAodGhpcy5jaHJvbWVkcml2ZXIuandwcm94eS5kb3duc3RyZWFtUHJvdG9jb2wgPT09IFBST1RPQ09MUy5NSlNPTldQKSB7XG4gICAgICBjb25zdCB7eCwgeX0gPSBhd2FpdCB0aGlzLmNocm9tZWRyaXZlci5qd3Byb3h5LmNvbW1hbmQoYC9lbGVtZW50LyR7ZWxlbWVudElkfS9sb2NhdGlvbmAsICdHRVQnKTtcbiAgICAgIGNvbnN0IHt3aWR0aCwgaGVpZ2h0fSA9IGF3YWl0IHRoaXMuY2hyb21lZHJpdmVyLmp3cHJveHkuY29tbWFuZChgL2VsZW1lbnQvJHtlbGVtZW50SWR9L3NpemVgLCAnR0VUJyk7XG4gICAgICByZXR1cm4ge3gsIHksIHdpZHRoLCBoZWlnaHR9O1xuICAgIH1cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jaHJvbWVkcml2ZXIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudC8ke2VsZW1lbnRJZH0vcmVjdGAsICdHRVQnKTtcbiAgfVxuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudC8ke2VsZW1lbnRJZH0vcmVjdGAsICdHRVQnKTtcbn07XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gUmVwbGFjZVZhbHVlT3B0aW9uc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IGVsZW1lbnRJZCBUaGUgaWQgb2YgdGhlIGVsZW1lbnQgd2hvc2UgY29udGVudCB3aWxsIGJlIHJlcGxhY2VkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdGV4dCBUaGUgYWN0dWFsIHRleHQgdG8gc2V0XG4gKi9cblxuLyoqXG4gKiBTZW5kcyB0ZXh0IHRvIHRoZSBnaXZlbiBlbGVtZW50IGJ5IHJlcGxhY2luZyBpdHMgcHJldmlvdXMgY29udGVudFxuICpcbiAqIEBwYXJhbSB7UmVwbGFjZVZhbHVlT3B0aW9uc30gb3B0c1xuICogQHRocm93cyB7RXJyb3J9IElmIHRoZXJlIHdhcyBhIGZhdWxyZSB3aGlsZSBzZXR0aW5nIHRoZSB0ZXh0XG4gKi9cbmNvbW1hbmRzLm1vYmlsZVJlcGxhY2VFbGVtZW50VmFsdWUgPSBhc3luYyBmdW5jdGlvbiBtb2JpbGVSZXBsYWNlRWxlbWVudFZhbHVlIChvcHRzID0ge30pIHtcbiAgY29uc3Qge2VsZW1lbnRJZCwgdGV4dH0gPSByZXF1aXJlQXJncyhbJ2VsZW1lbnRJZCcsICd0ZXh0J10sIG9wdHMpO1xuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudC8ke2VsZW1lbnRJZH0vdmFsdWVgLCAnUE9TVCcsIHt0ZXh0LCByZXBsYWNlOiB0cnVlfSk7XG59O1xuXG5PYmplY3QuYXNzaWduKGV4dGVuc2lvbnMsIGNvbW1hbmRzLCBoZWxwZXJzKTtcbmV4cG9ydCB7IGNvbW1hbmRzLCBoZWxwZXJzIH07XG5leHBvcnQgZGVmYXVsdCBleHRlbnNpb25zO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUVBLElBQUlJLFFBQVEsR0FBRyxDQUFDLENBQUM7RUFBRUMsT0FBTyxHQUFHLENBQUMsQ0FBQztFQUFFQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBQUNDLE9BQUEsQ0FBQUYsT0FBQSxHQUFBQSxPQUFBO0FBQUFFLE9BQUEsQ0FBQUgsUUFBQSxHQUFBQSxRQUFBO0FBRWpELFNBQVNJLE1BQU1BLENBQUVDLENBQUMsRUFBRTtFQUNsQixPQUFPQyxlQUFDLENBQUNDLFFBQVEsQ0FBQ0YsQ0FBQyxDQUFDLEdBQUlBLENBQUMsQ0FBQ0csV0FBVyxDQUFDLENBQUMsS0FBSyxNQUFNLEdBQUksQ0FBQyxDQUFDSCxDQUFDO0FBQzNEO0FBRUFMLFFBQVEsQ0FBQ1MsTUFBTSxHQUFHLGVBQWVBLE1BQU1BLENBQUEsRUFBSTtFQUN6QyxPQUFPLE1BQU0sSUFBSSxDQUFDQyxZQUFZLENBQUNDLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQztBQUMxRSxDQUFDO0FBRURaLFFBQVEsQ0FBQ2EsWUFBWSxHQUFHLGdCQUFnQkMsU0FBUyxFQUFFQyxTQUFTLEVBQUU7RUFDNUQsT0FBTyxNQUFNLElBQUksQ0FBQ0wsWUFBWSxDQUFDQyxPQUFPLENBQUNDLE9BQU8sQ0FBRSxZQUFXRyxTQUFVLGNBQWFELFNBQVUsRUFBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENB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
@@ -1 +1 @@
1
- {"version":3,"file":"element.js","names":["_lodash","_interopRequireDefault","require","_support","_driver","_utils","commands","helpers","extensions","exports","toBool","s","_","isString","toLowerCase","active","uiautomator2","jwproxy","command","getAttribute","attribute","elementId","elementDisplayed","elementEnabled","elementSelected","getName","getLocation","getSize","touchLongClick","element","x","y","duration","params","touchDown","touchUp","touchMove","doSetElementValue","setValueImmediate","keys","text","isArray","join","replace","getText","click","getElementScreenshot","tap","count","areCoordinatesDefined","util","hasValue","Error","i","W3C_ELEMENT_KEY","clear","getElementRect","isWebContext","log","debug","chromedriver","downstreamProtocol","PROTOCOLS","MJSONWP","width","height","mobileReplaceElementValue","opts","requireArgs","Object","assign","_default","default"],"sources":["../../../lib/commands/element.js"],"sourcesContent":["import _ from 'lodash';\nimport { util } from 'appium/support';\nimport { PROTOCOLS, W3C_ELEMENT_KEY } from 'appium/driver';\nimport { requireArgs } from '../utils';\n\nlet commands = {}, helpers = {}, extensions = {};\n\nfunction toBool (s) {\n return _.isString(s) ? (s.toLowerCase() === 'true') : !!s;\n}\n\ncommands.active = async function active () {\n return await this.uiautomator2.jwproxy.command('/element/active', 'GET');\n};\n\ncommands.getAttribute = async function (attribute, elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/attribute/${attribute}`, 'GET', {});\n};\n\ncommands.elementDisplayed = async function (elementId) {\n return toBool(await this.getAttribute('displayed', elementId));\n};\n\ncommands.elementEnabled = async function (elementId) {\n return toBool(await this.getAttribute('enabled', elementId));\n};\n\ncommands.elementSelected = async function (elementId) {\n return toBool(await this.getAttribute('selected', elementId));\n};\n\ncommands.getName = async function (elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/name`, 'GET', {});\n};\n\ncommands.getLocation = async function (elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/location`, 'GET', {});\n};\n\ncommands.getSize = async function (elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/size`, 'GET', {});\n};\n\ncommands.touchLongClick = async function (element, x, y, duration) {\n let params = {element, x, y, duration};\n return await this.uiautomator2.jwproxy.command(`/touch/longclick`, 'POST', {params});\n};\n\ncommands.touchDown = async function (element, x, y) {\n let params = {element, x, y};\n return await this.uiautomator2.jwproxy.command(`/touch/down`, 'POST', {params});\n};\n\ncommands.touchUp = async function (element, x, y) {\n let params = {element, x, y};\n return await this.uiautomator2.jwproxy.command(`/touch/up`, 'POST', {params});\n};\n\ncommands.touchMove = async function (element, x, y) {\n let params = {element, x, y};\n return await this.uiautomator2.jwproxy.command(`/touch/move`, 'POST', {params});\n};\n\nhelpers.doSetElementValue = async function (params) {\n return await this.uiautomator2.jwproxy.command(`/element/${params.elementId}/value`, 'POST', params);\n};\n\ncommands.setValueImmediate = async function (keys, elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/value`, 'POST', {\n elementId,\n text: _.isArray(keys) ? keys.join('') : keys,\n replace: false\n });\n};\n\ncommands.getText = async function (elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/text`, 'GET', {});\n};\n\ncommands.click = async function (element) {\n return await this.uiautomator2.jwproxy.command(`/element/${element}/click`, 'POST', {element});\n};\n\ncommands.getElementScreenshot = async function (element) {\n return await this.uiautomator2.jwproxy.command(`/element/${element}/screenshot`, 'GET', {});\n};\n\ncommands.tap = async function (elementId = null, x = null, y = null, count = 1) {\n const areCoordinatesDefined = util.hasValue(x) && util.hasValue(y);\n if (!util.hasValue(elementId) && !areCoordinatesDefined) {\n throw new Error(`Either element id to tap or both absolute coordinates should be defined`);\n }\n\n for (let i = 0; i < count; i++) {\n if (util.hasValue(elementId) && !areCoordinatesDefined) {\n // we are either tapping on the default location of the element\n // or an offset from the top left corner\n await this.uiautomator2.jwproxy.command(`/element/${elementId}/click`, 'POST');\n } else {\n await this.uiautomator2.jwproxy.command(`/appium/tap`, 'POST', {\n x, y,\n [W3C_ELEMENT_KEY]: elementId,\n });\n }\n }\n};\n\ncommands.clear = async function (elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/clear`, 'POST', {elementId});\n};\n\ncommands.getElementRect = async function (elementId) {\n if (this.isWebContext()) {\n this.log.debug(`Detected downstream chromedriver protocol: ${this.chromedriver.jwproxy.downstreamProtocol}`);\n if (this.chromedriver.jwproxy.downstreamProtocol === PROTOCOLS.MJSONWP) {\n const {x, y} = await this.chromedriver.jwproxy.command(`/element/${elementId}/location`, 'GET');\n const {width, height} = await this.chromedriver.jwproxy.command(`/element/${elementId}/size`, 'GET');\n return {x, y, width, height};\n }\n return await this.chromedriver.jwproxy.command(`/element/${elementId}/rect`, 'GET');\n }\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/rect`, 'GET');\n};\n\n/**\n * @typedef {Object} ReplaceValueOptions\n * @property {string} elementId The id of the element whose content will be replaced\n * @property {string} text The actual text to set\n */\n\n/**\n * Sends text to the given element by replacing its previous content\n *\n * @param {ReplaceValueOptions} opts\n * @throws {Error} If there was a faulre while setting the text\n */\ncommands.mobileReplaceElementValue = async function mobileReplaceElementValue (opts = {}) {\n const {elementId, text} = requireArgs(['elementId', 'text'], opts);\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/value`, 'POST', {text, replace: true});\n};\n\nObject.assign(extensions, commands, helpers);\nexport { commands, helpers };\nexport default extensions;\n"],"mappings":"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"}
1
+ {"version":3,"file":"element.js","names":["_lodash","_interopRequireDefault","require","_support","_driver","_utils","commands","helpers","extensions","exports","toBool","s","_","isString","toLowerCase","active","uiautomator2","jwproxy","command","getAttribute","attribute","elementId","elementDisplayed","elementEnabled","elementSelected","getName","getLocation","getSize","touchLongClick","element","x","y","duration","params","touchDown","touchUp","touchMove","doSetElementValue","setValueImmediate","keys","text","isArray","join","replace","getText","click","getElementScreenshot","tap","count","areCoordinatesDefined","util","hasValue","Error","i","W3C_ELEMENT_KEY","clear","getElementRect","isWebContext","log","debug","chromedriver","downstreamProtocol","PROTOCOLS","MJSONWP","width","height","mobileReplaceElementValue","opts","requireArgs","Object","assign","_default","default"],"sources":["../../../lib/commands/element.js"],"sourcesContent":["import _ from 'lodash';\nimport { util } from 'appium/support';\nimport { PROTOCOLS, W3C_ELEMENT_KEY } from 'appium/driver';\nimport { requireArgs } from '../utils';\n\nlet commands = {}, helpers = {}, extensions = {};\n\nfunction toBool (s) {\n return _.isString(s) ? (s.toLowerCase() === 'true') : !!s;\n}\n\ncommands.active = async function active () {\n return await this.uiautomator2.jwproxy.command('/element/active', 'GET');\n};\n\ncommands.getAttribute = async function (attribute, elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/attribute/${attribute}`, 'GET', {});\n};\n\ncommands.elementDisplayed = async function (elementId) {\n return toBool(await this.getAttribute('displayed', elementId));\n};\n\ncommands.elementEnabled = async function (elementId) {\n return toBool(await this.getAttribute('enabled', elementId));\n};\n\ncommands.elementSelected = async function (elementId) {\n return toBool(await this.getAttribute('selected', elementId));\n};\n\ncommands.getName = async function (elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/name`, 'GET', {});\n};\n\ncommands.getLocation = async function (elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/location`, 'GET', {});\n};\n\ncommands.getSize = async function (elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/size`, 'GET', {});\n};\n\ncommands.touchLongClick = async function (element, x, y, duration) {\n let params = {element, x, y, duration};\n return await this.uiautomator2.jwproxy.command(`/touch/longclick`, 'POST', {params});\n};\n\ncommands.touchDown = async function (element, x, y) {\n let params = {element, x, y};\n return await this.uiautomator2.jwproxy.command(`/touch/down`, 'POST', {params});\n};\n\ncommands.touchUp = async function (element, x, y) {\n let params = {element, x, y};\n return await this.uiautomator2.jwproxy.command(`/touch/up`, 'POST', {params});\n};\n\ncommands.touchMove = async function (element, x, y) {\n let params = {element, x, y};\n return await this.uiautomator2.jwproxy.command(`/touch/move`, 'POST', {params});\n};\n\nhelpers.doSetElementValue = async function (params) {\n return await this.uiautomator2.jwproxy.command(`/element/${params.elementId}/value`, 'POST', params);\n};\n\ncommands.setValueImmediate = async function (keys, elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/value`, 'POST', {\n elementId,\n text: _.isArray(keys) ? keys.join('') : keys,\n replace: false\n });\n};\n\ncommands.getText = async function (elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/text`, 'GET', {});\n};\n\ncommands.click = async function (element) {\n return await this.uiautomator2.jwproxy.command(`/element/${element}/click`, 'POST', {element});\n};\n\ncommands.getElementScreenshot = async function (element) {\n return await this.uiautomator2.jwproxy.command(`/element/${element}/screenshot`, 'GET', {});\n};\n\ncommands.tap = async function (elementId = null, x = null, y = null, count = 1) {\n const areCoordinatesDefined = util.hasValue(x) && util.hasValue(y);\n if (!util.hasValue(elementId) && !areCoordinatesDefined) {\n throw new Error(`Either element id to tap or both absolute coordinates should be defined`);\n }\n\n for (let i = 0; i < count; i++) {\n if (util.hasValue(elementId) && !areCoordinatesDefined) {\n // we are either tapping on the default location of the element\n // or an offset from the top left corner\n await this.uiautomator2.jwproxy.command(`/element/${elementId}/click`, 'POST');\n } else {\n await this.uiautomator2.jwproxy.command(`/appium/tap`, 'POST', {\n x, y,\n [W3C_ELEMENT_KEY]: elementId,\n });\n }\n }\n};\n\ncommands.clear = async function (elementId) {\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/clear`, 'POST', {elementId});\n};\n\ncommands.getElementRect = async function (elementId) {\n if (this.isWebContext()) {\n this.log.debug(`Detected downstream chromedriver protocol: ${this.chromedriver.jwproxy.downstreamProtocol}`);\n if (this.chromedriver.jwproxy.downstreamProtocol === PROTOCOLS.MJSONWP) {\n const {x, y} = await this.chromedriver.jwproxy.command(`/element/${elementId}/location`, 'GET');\n const {width, height} = await this.chromedriver.jwproxy.command(`/element/${elementId}/size`, 'GET');\n return {x, y, width, height};\n }\n return await this.chromedriver.jwproxy.command(`/element/${elementId}/rect`, 'GET');\n }\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/rect`, 'GET');\n};\n\n/**\n * @typedef {Object} ReplaceValueOptions\n * @property {string} elementId The id of the element whose content will be replaced\n * @property {string} text The actual text to set\n */\n\n/**\n * Sends text to the given element by replacing its previous content\n *\n * @param {ReplaceValueOptions} opts\n * @throws {Error} If there was a faulre while setting the text\n */\ncommands.mobileReplaceElementValue = async function mobileReplaceElementValue (opts = {}) {\n const {elementId, text} = requireArgs(['elementId', 'text'], opts);\n return await this.uiautomator2.jwproxy.command(`/element/${elementId}/value`, 'POST', {text, replace: true});\n};\n\nObject.assign(extensions, commands, helpers);\nexport { commands, helpers };\nexport default extensions;\n"],"mappings":";;;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAEA,IAAII,QAAQ,GAAG,CAAC,CAAC;EAAEC,OAAO,GAAG,CAAC,CAAC;EAAEC,UAAU,GAAG,CAAC,CAAC;AAACC,OAAA,CAAAF,OAAA,GAAAA,OAAA;AAAAE,OAAA,CAAAH,QAAA,GAAAA,QAAA;AAEjD,SAASI,MAAMA,CAAEC,CAAC,EAAE;EAClB,OAAOC,eAAC,CAACC,QAAQ,CAACF,CAAC,CAAC,GAAIA,CAAC,CAACG,WAAW,CAAC,CAAC,KAAK,MAAM,GAAI,CAAC,CAACH,CAAC;AAC3D;AAEAL,QAAQ,CAACS,MAAM,GAAG,eAAeA,MAAMA,CAAA,EAAI;EACzC,OAAO,MAAM,IAAI,CAACC,YAAY,CAACC,OAAO,CAACC,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC;AAC1E,CAAC;AAEDZ,QAAQ,CAACa,YAAY,GAAG,gBAAgBC,SAAS,EAAEC,SAAS,EAAE;EAC5D,OAAO,MAAM,IAAI,CAACL,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,YAAWG,SAAU,cAAaD,SAAU,EAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC3G,CAAC;AAEDd,QAAQ,CAACgB,gBAAgB,GAAG,gBAAgBD,SAAS,EAAE;EACrD,OAAOX,MAAM,CAAC,MAAM,IAAI,CAACS,YAAY,CAAC,WAAW,EAAEE,SAAS,CAAC,CAAC;AAChE,CAAC;AAEDf,QAAQ,CAACiB,cAAc,GAAG,gBAAgBF,SAAS,EAAE;EACnD,OAAOX,MAAM,CAAC,MAAM,IAAI,CAACS,YAAY,CAAC,SAAS,EAAEE,SAAS,CAAC,CAAC;AAC9D,CAAC;AAEDf,QAAQ,CAACkB,eAAe,GAAG,gBAAgBH,SAAS,EAAE;EACpD,OAAOX,MAAM,CAAC,MAAM,IAAI,CAACS,YAAY,CAAC,UAAU,EAAEE,SAAS,CAAC,CAAC;AAC/D,CAAC;AAEDf,QAAQ,CAACmB,OAAO,GAAG,gBAAgBJ,SAAS,EAAE;EAC5C,OAAO,MAAM,IAAI,CAACL,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,YAAWG,SAAU,OAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AACzF,CAAC;AAEDf,QAAQ,CAACoB,WAAW,GAAG,gBAAgBL,SAAS,EAAE;EAChD,OAAO,MAAM,IAAI,CAACL,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,YAAWG,SAAU,WAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC7F,CAAC;AAEDf,QAAQ,CAACqB,OAAO,GAAG,gBAAgBN,SAAS,EAAE;EAC5C,OAAO,MAAM,IAAI,CAACL,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,YAAWG,SAAU,OAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AACzF,CAAC;AAEDf,QAAQ,CAACsB,cAAc,GAAG,gBAAgBC,OAAO,EAAEC,CAAC,EAAEC,CAAC,EAAEC,QAAQ,EAAE;EACjE,IAAIC,MAAM,GAAG;IAACJ,OAAO;IAAEC,CAAC;IAAEC,CAAC;IAAEC;EAAQ,CAAC;EACtC,OAAO,MAAM,IAAI,CAAChB,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,kBAAiB,EAAE,MAAM,EAAE;IAACe;EAAM,CAAC,CAAC;AACtF,CAAC;AAED3B,QAAQ,CAAC4B,SAAS,GAAG,gBAAgBL,OAAO,EAAEC,CAAC,EAAEC,CAAC,EAAE;EAClD,IAAIE,MAAM,GAAG;IAACJ,OAAO;IAAEC,CAAC;IAAEC;EAAC,CAAC;EAC5B,OAAO,MAAM,IAAI,CAACf,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,aAAY,EAAE,MAAM,EAAE;IAACe;EAAM,CAAC,CAAC;AACjF,CAAC;AAED3B,QAAQ,CAAC6B,OAAO,GAAG,gBAAgBN,OAAO,EAAEC,CAAC,EAAEC,CAAC,EAAE;EAChD,IAAIE,MAAM,GAAG;IAACJ,OAAO;IAAEC,CAAC;IAAEC;EAAC,CAAC;EAC5B,OAAO,MAAM,IAAI,CAACf,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,WAAU,EAAE,MAAM,EAAE;IAACe;EAAM,CAAC,CAAC;AAC/E,CAAC;AAED3B,QAAQ,CAAC8B,SAAS,GAAG,gBAAgBP,OAAO,EAAEC,CAAC,EAAEC,CAAC,EAAE;EAClD,IAAIE,MAAM,GAAG;IAACJ,OAAO;IAAEC,CAAC;IAAEC;EAAC,CAAC;EAC5B,OAAO,MAAM,IAAI,CAACf,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,aAAY,EAAE,MAAM,EAAE;IAACe;EAAM,CAAC,CAAC;AACjF,CAAC;AAED1B,OAAO,CAAC8B,iBAAiB,GAAG,gBAAgBJ,MAAM,EAAE;EAClD,OAAO,MAAM,IAAI,CAACjB,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,YAAWe,MAAM,CAACZ,SAAU,QAAO,EAAE,MAAM,EAAEY,MAAM,CAAC;AACtG,CAAC;AAED3B,QAAQ,CAACgC,iBAAiB,GAAG,gBAAgBC,IAAI,EAAElB,SAAS,EAAE;EAC5D,OAAO,MAAM,IAAI,CAACL,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,YAAWG,SAAU,QAAO,EAAE,MAAM,EAAE;IACpFA,SAAS;IACTmB,IAAI,EAAE5B,eAAC,CAAC6B,OAAO,CAACF,IAAI,CAAC,GAAGA,IAAI,CAACG,IAAI,CAAC,EAAE,CAAC,GAAGH,IAAI;IAC5CI,OAAO,EAAE;EACX,CAAC,CAAC;AACJ,CAAC;AAEDrC,QAAQ,CAACsC,OAAO,GAAG,gBAAgBvB,SAAS,EAAE;EAC5C,OAAO,MAAM,IAAI,CAACL,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,YAAWG,SAAU,OAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AACzF,CAAC;AAEDf,QAAQ,CAACuC,KAAK,GAAG,gBAAgBhB,OAAO,EAAE;EACxC,OAAO,MAAM,IAAI,CAACb,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,YAAWW,OAAQ,QAAO,EAAE,MAAM,EAAE;IAACA;EAAO,CAAC,CAAC;AAChG,CAAC;AAEDvB,QAAQ,CAACwC,oBAAoB,GAAG,gBAAgBjB,OAAO,EAAE;EACvD,OAAO,MAAM,IAAI,CAACb,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,YAAWW,OAAQ,aAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC7F,CAAC;AAEDvB,QAAQ,CAACyC,GAAG,GAAG,gBAAgB1B,SAAS,GAAG,IAAI,EAAES,CAAC,GAAG,IAAI,EAAEC,CAAC,GAAG,IAAI,EAAEiB,KAAK,GAAG,CAAC,EAAE;EAC9E,MAAMC,qBAAqB,GAAGC,aAAI,CAACC,QAAQ,CAACrB,CAAC,CAAC,IAAIoB,aAAI,CAACC,QAAQ,CAACpB,CAAC,CAAC;EAClE,IAAI,CAACmB,aAAI,CAACC,QAAQ,CAAC9B,SAAS,CAAC,IAAI,CAAC4B,qBAAqB,EAAE;IACvD,MAAM,IAAIG,KAAK,CAAE,yEAAwE,CAAC;EAC5F;EAEA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,KAAK,EAAEK,CAAC,EAAE,EAAE;IAC9B,IAAIH,aAAI,CAACC,QAAQ,CAAC9B,SAAS,CAAC,IAAI,CAAC4B,qBAAqB,EAAE;MAGtD,MAAM,IAAI,CAACjC,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,YAAWG,SAAU,QAAO,EAAE,MAAM,CAAC;IAChF,CAAC,MAAM;MACL,MAAM,IAAI,CAACL,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,aAAY,EAAE,MAAM,EAAE;QAC7DY,CAAC;QAAEC,CAAC;QACJ,CAACuB,uBAAe,GAAGjC;MACrB,CAAC,CAAC;IACJ;EACF;AACF,CAAC;AAEDf,QAAQ,CAACiD,KAAK,GAAG,gBAAgBlC,SAAS,EAAE;EAC1C,OAAO,MAAM,IAAI,CAACL,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,YAAWG,SAAU,QAAO,EAAE,MAAM,EAAE;IAACA;EAAS,CAAC,CAAC;AACpG,CAAC;AAEDf,QAAQ,CAACkD,cAAc,GAAG,gBAAgBnC,SAAS,EAAE;EACnD,IAAI,IAAI,CAACoC,YAAY,CAAC,CAAC,EAAE;IACvB,IAAI,CAACC,GAAG,CAACC,KAAK,CAAE,8CAA6C,IAAI,CAACC,YAAY,CAAC3C,OAAO,CAAC4C,kBAAmB,EAAC,CAAC;IAC5G,IAAI,IAAI,CAACD,YAAY,CAAC3C,OAAO,CAAC4C,kBAAkB,KAAKC,iBAAS,CAACC,OAAO,EAAE;MACtE,MAAM;QAACjC,CAAC;QAAEC;MAAC,CAAC,GAAG,MAAM,IAAI,CAAC6B,YAAY,CAAC3C,OAAO,CAACC,OAAO,CAAE,YAAWG,SAAU,WAAU,EAAE,KAAK,CAAC;MAC/F,MAAM;QAAC2C,KAAK;QAAEC;MAAM,CAAC,GAAG,MAAM,IAAI,CAACL,YAAY,CAAC3C,OAAO,CAACC,OAAO,CAAE,YAAWG,SAAU,OAAM,EAAE,KAAK,CAAC;MACpG,OAAO;QAACS,CAAC;QAAEC,CAAC;QAAEiC,KAAK;QAAEC;MAAM,CAAC;IAC9B;IACA,OAAO,MAAM,IAAI,CAACL,YAAY,CAAC3C,OAAO,CAACC,OAAO,CAAE,YAAWG,SAAU,OAAM,EAAE,KAAK,CAAC;EACrF;EACA,OAAO,MAAM,IAAI,CAACL,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,YAAWG,SAAU,OAAM,EAAE,KAAK,CAAC;AACrF,CAAC;AAcDf,QAAQ,CAAC4D,yBAAyB,GAAG,eAAeA,yBAAyBA,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAE;EACxF,MAAM;IAAC9C,SAAS;IAAEmB;EAAI,CAAC,GAAG,IAAA4B,kBAAW,EAAC,CAAC,WAAW,EAAE,MAAM,CAAC,EAAED,IAAI,CAAC;EAClE,OAAO,MAAM,IAAI,CAACnD,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,YAAWG,SAAU,QAAO,EAAE,MAAM,EAAE;IAACmB,IAAI;IAAEG,OAAO,EAAE;EAAI,CAAC,CAAC;AAC9G,CAAC;AAED0B,MAAM,CAACC,MAAM,CAAC9D,UAAU,EAAEF,QAAQ,EAAEC,OAAO,CAAC;AAAC,IAAAgE,QAAA,GAE9B/D,UAAU;AAAAC,OAAA,CAAA+D,OAAA,GAAAD,QAAA"}
@@ -29,4 +29,4 @@ helpers.doFindElementOrEls = async function (params) {
29
29
  };
30
30
  var _default = helpers;
31
31
  exports.default = _default;
32
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY3NzQ29udmVydGVyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJoZWxwZXJzIiwiZXhwb3J0cyIsIk1BR0lDX0ZJUlNUX1ZJU19DSElMRF9TRUwiLCJNQUdJQ19TQ1JPTExBQkxFX1NFTCIsIk1BR0lDX1NDUk9MTEFCTEVfQlkiLCJkb0ZpbmRFbGVtZW50T3JFbHMiLCJwYXJhbXMiLCJzdHJhdGVneSIsInRlc3QiLCJzZWxlY3RvciIsImVsZW1lbnRJZCIsImNvbnRleHQiLCJ1aWF1dG9tYXRvcjIiLCJqd3Byb3h5IiwiY29tbWFuZCIsIkNzc0NvbnZlcnRlciIsIm9wdHMiLCJhcHBQYWNrYWdlIiwidG9VaUF1dG9tYXRvclNlbGVjdG9yIiwibXVsdGlwbGUiLCJfZGVmYXVsdCIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvZmluZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ3NzQ29udmVydGVyIGZyb20gJy4uL2Nzcy1jb252ZXJ0ZXInO1xuXG5jb25zdCBoZWxwZXJzID0ge307XG5cbi8vIHdlIG92ZXJyaWRlIHRoZSB4cGF0aCBzZWFyY2ggZm9yIHRoaXMgZmlyc3QtdmlzaWJsZS1jaGlsZCBzZWxlY3Rvciwgd2hpY2hcbi8vIGxvb2tzIGxpa2UgLypbQGZpcnN0VmlzaWJsZT1cInRydWVcIl1cbmNvbnN0IE1BR0lDX0ZJUlNUX1ZJU19DSElMRF9TRUwgPSAvXFwvXFwqXFxbQGZpcnN0VmlzaWJsZSA/PSA/KCd8XCIpdHJ1ZVxcMVxcXS87XG5cbmNvbnN0IE1BR0lDX1NDUk9MTEFCTEVfU0VMID0gL1xcL1xcL1xcKlxcW0BzY3JvbGxhYmxlID89ID8oJ3xcIil0cnVlXFwxXFxdLztcbmNvbnN0IE1BR0lDX1NDUk9MTEFCTEVfQlkgPSAnbmV3IFVpU2VsZWN0b3IoKS5zY3JvbGxhYmxlKHRydWUpJztcblxuLyoqXG4gKiBPdmVycmlkaW5nIGhlbHBlcnMuZG9GaW5kRWxlbWVudE9yRWxzIGZ1bmN0aW9uYWxpdHkgb2YgYXBwaXVtLWFuZHJvaWQtZHJpdmVyLFxuICogdGhpcy5lbGVtZW50IGluaXRpYWxpemVkIGluIGZpbmQuanMgb2YgYXBwaXVtLWFuZHJvaWQtZHJpdmUuXG4gKi9cbmhlbHBlcnMuZG9GaW5kRWxlbWVudE9yRWxzID0gYXN5bmMgZnVuY3Rpb24gKHBhcmFtcykge1xuICBpZiAocGFyYW1zLnN0cmF0ZWd5ID09PSAneHBhdGgnICYmIE1BR0lDX0ZJUlNUX1ZJU19DSElMRF9TRUwudGVzdChwYXJhbXMuc2VsZWN0b3IpKSB7XG4gICAgbGV0IGVsZW1lbnRJZCA9IHBhcmFtcy5jb250ZXh0O1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC9hcHBpdW0vZWxlbWVudC8ke2VsZW1lbnRJZH0vZmlyc3RfdmlzaWJsZWAsICdHRVQnLCB7fSk7XG4gIH1cbiAgaWYgKHBhcmFtcy5zdHJhdGVneSA9PT0gJ3hwYXRoJyAmJiBNQUdJQ19TQ1JPTExBQkxFX1NFTC50ZXN0KHBhcmFtcy5zZWxlY3RvcikpIHtcbiAgICBwYXJhbXMuc3RyYXRlZ3kgPSAnLWFuZHJvaWQgdWlhdXRvbWF0b3InO1xuICAgIHBhcmFtcy5zZWxlY3RvciA9IE1BR0lDX1NDUk9MTEFCTEVfQlk7XG4gIH1cbiAgaWYgKHBhcmFtcy5zdHJhdGVneSA9PT0gJ2NzcyBzZWxlY3RvcicpIHtcbiAgICBwYXJhbXMuc3RyYXRlZ3kgPSAnLWFuZHJvaWQgdWlhdXRvbWF0b3InO1xuICAgIHBhcmFtcy5zZWxlY3RvciA9IG5ldyBDc3NDb252ZXJ0ZXIocGFyYW1zLnNlbGVjdG9yLCB0aGlzLm9wdHMuYXBwUGFja2FnZSlcbiAgICAgIC50b1VpQXV0b21hdG9yU2VsZWN0b3IoKTtcbiAgfVxuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudCR7cGFyYW1zLm11bHRpcGxlID8gJ3MnIDogJyd9YCwgJ1BPU1QnLCBwYXJhbXMpO1xufTtcblxuZXhwb3J0IHsgaGVscGVycyB9O1xuZXhwb3J0IGRlZmF1bHQgaGVscGVycztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxhQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxNQUFNQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBQUNDLE9BQUEsQ0FBQUQsT0FBQSxHQUFBQSxPQUFBO0FBSW5CLE1BQU1FLHlCQUF5QixHQUFHLHVDQUF1QztBQUV6RSxNQUFNQyxvQkFBb0IsR0FBRyx1Q0FBdUM7QUFDcEUsTUFBTUMsbUJBQW1CLEdBQUcsbUNBQW1DO0FBTS9ESixPQUFPLENBQUNLLGtCQUFrQixHQUFHLGdCQUFnQkMsTUFBTSxFQUFFO0VBQ25ELElBQUlBLE1BQU0sQ0FBQ0MsUUFBUSxLQUFLLE9BQU8sSUFBSUwseUJBQXlCLENBQUNNLElBQUksQ0FBQ0YsTUFBTSxDQUFDRyxRQUFRLENBQUMsRUFBRTtJQUNsRixJQUFJQyxTQUFTLEdBQUdKLE1BQU0sQ0FBQ0ssT0FBTztJQUM5QixPQUFPLE1BQU0sSUFBSSxDQUFDQyxZQUFZLENBQUNDLE9BQU8sQ0FBQ0MsT0FBTyxDQUFFLG1CQUFrQkosU0FBVSxnQkFBZSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztFQUN6RztFQUNBLElBQUlKLE1BQU0sQ0FBQ0MsUUFBUSxLQUFLLE9BQU8sSUFBSUosb0JBQW9CLENBQUNLLElBQUksQ0FBQ0YsTUFBTSxDQUFDRyxRQUFRLENBQUMsRUFBRTtJQUM3RUgsTUFBTSxDQUFDQyxRQUFRLEdBQUcsc0JBQXNCO0lBQ3hDRCxNQUFNLENBQUNHLFFBQVEsR0FBR0wsbUJBQW1CO0VBQ3ZDO0VBQ0EsSUFBSUUsTUFBTSxDQUFDQyxRQUFRLEtBQUssY0FBYyxFQUFFO0lBQ3RDRCxNQUFNLENBQUNDLFFBQVEsR0FBRyxzQkFBc0I7SUFDeENELE1BQU0sQ0FBQ0csUUFBUSxHQUFHLElBQUlNLHFCQUFZLENBQUNULE1BQU0sQ0FBQ0csUUFBUSxFQUFFLElBQUksQ0FBQ08sSUFBSSxDQUFDQyxVQUFVLENBQUMsQ0FDdEVDLHFCQUFxQixFQUFFO0VBQzVCO0VBQ0EsT0FBTyxNQUFNLElBQUksQ0FBQ04sWUFBWSxDQUFDQyxPQUFPLENBQUNDLE9BQU8sQ0FBRSxXQUFVUixNQUFNLENBQUNhLFFBQVEsR0FBRyxHQUFHLEdBQUcsRUFBRyxFQUFDLEVBQUUsTUFBTSxFQUFFYixNQUFNLENBQUM7QUFDekcsQ0FBQztBQUFDLElBQUFjLFFBQUEsR0FHYXBCLE9BQU87QUFBQUMsT0FBQSxDQUFBb0IsT0FBQSxHQUFBRCxRQUFBIn0=
32
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY3NzQ29udmVydGVyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJoZWxwZXJzIiwiZXhwb3J0cyIsIk1BR0lDX0ZJUlNUX1ZJU19DSElMRF9TRUwiLCJNQUdJQ19TQ1JPTExBQkxFX1NFTCIsIk1BR0lDX1NDUk9MTEFCTEVfQlkiLCJkb0ZpbmRFbGVtZW50T3JFbHMiLCJwYXJhbXMiLCJzdHJhdGVneSIsInRlc3QiLCJzZWxlY3RvciIsImVsZW1lbnRJZCIsImNvbnRleHQiLCJ1aWF1dG9tYXRvcjIiLCJqd3Byb3h5IiwiY29tbWFuZCIsIkNzc0NvbnZlcnRlciIsIm9wdHMiLCJhcHBQYWNrYWdlIiwidG9VaUF1dG9tYXRvclNlbGVjdG9yIiwibXVsdGlwbGUiLCJfZGVmYXVsdCIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvZmluZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ3NzQ29udmVydGVyIGZyb20gJy4uL2Nzcy1jb252ZXJ0ZXInO1xuXG5jb25zdCBoZWxwZXJzID0ge307XG5cbi8vIHdlIG92ZXJyaWRlIHRoZSB4cGF0aCBzZWFyY2ggZm9yIHRoaXMgZmlyc3QtdmlzaWJsZS1jaGlsZCBzZWxlY3Rvciwgd2hpY2hcbi8vIGxvb2tzIGxpa2UgLypbQGZpcnN0VmlzaWJsZT1cInRydWVcIl1cbmNvbnN0IE1BR0lDX0ZJUlNUX1ZJU19DSElMRF9TRUwgPSAvXFwvXFwqXFxbQGZpcnN0VmlzaWJsZSA/PSA/KCd8XCIpdHJ1ZVxcMVxcXS87XG5cbmNvbnN0IE1BR0lDX1NDUk9MTEFCTEVfU0VMID0gL1xcL1xcL1xcKlxcW0BzY3JvbGxhYmxlID89ID8oJ3xcIil0cnVlXFwxXFxdLztcbmNvbnN0IE1BR0lDX1NDUk9MTEFCTEVfQlkgPSAnbmV3IFVpU2VsZWN0b3IoKS5zY3JvbGxhYmxlKHRydWUpJztcblxuLyoqXG4gKiBPdmVycmlkaW5nIGhlbHBlcnMuZG9GaW5kRWxlbWVudE9yRWxzIGZ1bmN0aW9uYWxpdHkgb2YgYXBwaXVtLWFuZHJvaWQtZHJpdmVyLFxuICogdGhpcy5lbGVtZW50IGluaXRpYWxpemVkIGluIGZpbmQuanMgb2YgYXBwaXVtLWFuZHJvaWQtZHJpdmUuXG4gKi9cbmhlbHBlcnMuZG9GaW5kRWxlbWVudE9yRWxzID0gYXN5bmMgZnVuY3Rpb24gKHBhcmFtcykge1xuICBpZiAocGFyYW1zLnN0cmF0ZWd5ID09PSAneHBhdGgnICYmIE1BR0lDX0ZJUlNUX1ZJU19DSElMRF9TRUwudGVzdChwYXJhbXMuc2VsZWN0b3IpKSB7XG4gICAgbGV0IGVsZW1lbnRJZCA9IHBhcmFtcy5jb250ZXh0O1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnVpYXV0b21hdG9yMi5qd3Byb3h5LmNvbW1hbmQoYC9hcHBpdW0vZWxlbWVudC8ke2VsZW1lbnRJZH0vZmlyc3RfdmlzaWJsZWAsICdHRVQnLCB7fSk7XG4gIH1cbiAgaWYgKHBhcmFtcy5zdHJhdGVneSA9PT0gJ3hwYXRoJyAmJiBNQUdJQ19TQ1JPTExBQkxFX1NFTC50ZXN0KHBhcmFtcy5zZWxlY3RvcikpIHtcbiAgICBwYXJhbXMuc3RyYXRlZ3kgPSAnLWFuZHJvaWQgdWlhdXRvbWF0b3InO1xuICAgIHBhcmFtcy5zZWxlY3RvciA9IE1BR0lDX1NDUk9MTEFCTEVfQlk7XG4gIH1cbiAgaWYgKHBhcmFtcy5zdHJhdGVneSA9PT0gJ2NzcyBzZWxlY3RvcicpIHtcbiAgICBwYXJhbXMuc3RyYXRlZ3kgPSAnLWFuZHJvaWQgdWlhdXRvbWF0b3InO1xuICAgIHBhcmFtcy5zZWxlY3RvciA9IG5ldyBDc3NDb252ZXJ0ZXIocGFyYW1zLnNlbGVjdG9yLCB0aGlzLm9wdHMuYXBwUGFja2FnZSlcbiAgICAgIC50b1VpQXV0b21hdG9yU2VsZWN0b3IoKTtcbiAgfVxuICByZXR1cm4gYXdhaXQgdGhpcy51aWF1dG9tYXRvcjIuandwcm94eS5jb21tYW5kKGAvZWxlbWVudCR7cGFyYW1zLm11bHRpcGxlID8gJ3MnIDogJyd9YCwgJ1BPU1QnLCBwYXJhbXMpO1xufTtcblxuZXhwb3J0IHsgaGVscGVycyB9O1xuZXhwb3J0IGRlZmF1bHQgaGVscGVycztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxhQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxNQUFNQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBQUNDLE9BQUEsQ0FBQUQsT0FBQSxHQUFBQSxPQUFBO0FBSW5CLE1BQU1FLHlCQUF5QixHQUFHLHVDQUF1QztBQUV6RSxNQUFNQyxvQkFBb0IsR0FBRyx1Q0FBdUM7QUFDcEUsTUFBTUMsbUJBQW1CLEdBQUcsbUNBQW1DO0FBTS9ESixPQUFPLENBQUNLLGtCQUFrQixHQUFHLGdCQUFnQkMsTUFBTSxFQUFFO0VBQ25ELElBQUlBLE1BQU0sQ0FBQ0MsUUFBUSxLQUFLLE9BQU8sSUFBSUwseUJBQXlCLENBQUNNLElBQUksQ0FBQ0YsTUFBTSxDQUFDRyxRQUFRLENBQUMsRUFBRTtJQUNsRixJQUFJQyxTQUFTLEdBQUdKLE1BQU0sQ0FBQ0ssT0FBTztJQUM5QixPQUFPLE1BQU0sSUFBSSxDQUFDQyxZQUFZLENBQUNDLE9BQU8sQ0FBQ0MsT0FBTyxDQUFFLG1CQUFrQkosU0FBVSxnQkFBZSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztFQUN6RztFQUNBLElBQUlKLE1BQU0sQ0FBQ0MsUUFBUSxLQUFLLE9BQU8sSUFBSUosb0JBQW9CLENBQUNLLElBQUksQ0FBQ0YsTUFBTSxDQUFDRyxRQUFRLENBQUMsRUFBRTtJQUM3RUgsTUFBTSxDQUFDQyxRQUFRLEdBQUcsc0JBQXNCO0lBQ3hDRCxNQUFNLENBQUNHLFFBQVEsR0FBR0wsbUJBQW1CO0VBQ3ZDO0VBQ0EsSUFBSUUsTUFBTSxDQUFDQyxRQUFRLEtBQUssY0FBYyxFQUFFO0lBQ3RDRCxNQUFNLENBQUNDLFFBQVEsR0FBRyxzQkFBc0I7SUFDeENELE1BQU0sQ0FBQ0csUUFBUSxHQUFHLElBQUlNLHFCQUFZLENBQUNULE1BQU0sQ0FBQ0csUUFBUSxFQUFFLElBQUksQ0FBQ08sSUFBSSxDQUFDQyxVQUFVLENBQUMsQ0FDdEVDLHFCQUFxQixDQUFDLENBQUM7RUFDNUI7RUFDQSxPQUFPLE1BQU0sSUFBSSxDQUFDTixZQUFZLENBQUNDLE9BQU8sQ0FBQ0MsT0FBTyxDQUFFLFdBQVVSLE1BQU0sQ0FBQ2EsUUFBUSxHQUFHLEdBQUcsR0FBRyxFQUFHLEVBQUMsRUFBRSxNQUFNLEVBQUViLE1BQU0sQ0FBQztBQUN6RyxDQUFDO0FBQUMsSUFBQWMsUUFBQSxHQUdhcEIsT0FBTztBQUFBQyxPQUFBLENBQUFvQixPQUFBLEdBQUFELFFBQUEifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"find.js","names":["_cssConverter","_interopRequireDefault","require","helpers","exports","MAGIC_FIRST_VIS_CHILD_SEL","MAGIC_SCROLLABLE_SEL","MAGIC_SCROLLABLE_BY","doFindElementOrEls","params","strategy","test","selector","elementId","context","uiautomator2","jwproxy","command","CssConverter","opts","appPackage","toUiAutomatorSelector","multiple","_default","default"],"sources":["../../../lib/commands/find.js"],"sourcesContent":["import CssConverter from '../css-converter';\n\nconst helpers = {};\n\n// we override the xpath search for this first-visible-child selector, which\n// looks like /*[@firstVisible=\"true\"]\nconst MAGIC_FIRST_VIS_CHILD_SEL = /\\/\\*\\[@firstVisible ?= ?('|\")true\\1\\]/;\n\nconst MAGIC_SCROLLABLE_SEL = /\\/\\/\\*\\[@scrollable ?= ?('|\")true\\1\\]/;\nconst MAGIC_SCROLLABLE_BY = 'new UiSelector().scrollable(true)';\n\n/**\n * Overriding helpers.doFindElementOrEls functionality of appium-android-driver,\n * this.element initialized in find.js of appium-android-drive.\n */\nhelpers.doFindElementOrEls = async function (params) {\n if (params.strategy === 'xpath' && MAGIC_FIRST_VIS_CHILD_SEL.test(params.selector)) {\n let elementId = params.context;\n return await this.uiautomator2.jwproxy.command(`/appium/element/${elementId}/first_visible`, 'GET', {});\n }\n if (params.strategy === 'xpath' && MAGIC_SCROLLABLE_SEL.test(params.selector)) {\n params.strategy = '-android uiautomator';\n params.selector = MAGIC_SCROLLABLE_BY;\n }\n if (params.strategy === 'css selector') {\n params.strategy = '-android uiautomator';\n params.selector = new CssConverter(params.selector, this.opts.appPackage)\n .toUiAutomatorSelector();\n }\n return await this.uiautomator2.jwproxy.command(`/element${params.multiple ? 's' : ''}`, 'POST', params);\n};\n\nexport { helpers };\nexport default helpers;\n"],"mappings":";;;;;;;;AAAA,IAAAA,aAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,MAAMC,OAAO,GAAG,CAAC,CAAC;AAACC,OAAA,CAAAD,OAAA,GAAAA,OAAA;AAInB,MAAME,yBAAyB,GAAG,uCAAuC;AAEzE,MAAMC,oBAAoB,GAAG,uCAAuC;AACpE,MAAMC,mBAAmB,GAAG,mCAAmC;AAM/DJ,OAAO,CAACK,kBAAkB,GAAG,gBAAgBC,MAAM,EAAE;EACnD,IAAIA,MAAM,CAACC,QAAQ,KAAK,OAAO,IAAIL,yBAAyB,CAACM,IAAI,CAACF,MAAM,CAACG,QAAQ,CAAC,EAAE;IAClF,IAAIC,SAAS,GAAGJ,MAAM,CAACK,OAAO;IAC9B,OAAO,MAAM,IAAI,CAACC,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,mBAAkBJ,SAAU,gBAAe,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;EACzG;EACA,IAAIJ,MAAM,CAACC,QAAQ,KAAK,OAAO,IAAIJ,oBAAoB,CAACK,IAAI,CAACF,MAAM,CAACG,QAAQ,CAAC,EAAE;IAC7EH,MAAM,CAACC,QAAQ,GAAG,sBAAsB;IACxCD,MAAM,CAACG,QAAQ,GAAGL,mBAAmB;EACvC;EACA,IAAIE,MAAM,CAACC,QAAQ,KAAK,cAAc,EAAE;IACtCD,MAAM,CAACC,QAAQ,GAAG,sBAAsB;IACxCD,MAAM,CAACG,QAAQ,GAAG,IAAIM,qBAAY,CAACT,MAAM,CAACG,QAAQ,EAAE,IAAI,CAACO,IAAI,CAACC,UAAU,CAAC,CACtEC,qBAAqB,EAAE;EAC5B;EACA,OAAO,MAAM,IAAI,CAACN,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,WAAUR,MAAM,CAACa,QAAQ,GAAG,GAAG,GAAG,EAAG,EAAC,EAAE,MAAM,EAAEb,MAAM,CAAC;AACzG,CAAC;AAAC,IAAAc,QAAA,GAGapB,OAAO;AAAAC,OAAA,CAAAoB,OAAA,GAAAD,QAAA"}
1
+ {"version":3,"file":"find.js","names":["_cssConverter","_interopRequireDefault","require","helpers","exports","MAGIC_FIRST_VIS_CHILD_SEL","MAGIC_SCROLLABLE_SEL","MAGIC_SCROLLABLE_BY","doFindElementOrEls","params","strategy","test","selector","elementId","context","uiautomator2","jwproxy","command","CssConverter","opts","appPackage","toUiAutomatorSelector","multiple","_default","default"],"sources":["../../../lib/commands/find.js"],"sourcesContent":["import CssConverter from '../css-converter';\n\nconst helpers = {};\n\n// we override the xpath search for this first-visible-child selector, which\n// looks like /*[@firstVisible=\"true\"]\nconst MAGIC_FIRST_VIS_CHILD_SEL = /\\/\\*\\[@firstVisible ?= ?('|\")true\\1\\]/;\n\nconst MAGIC_SCROLLABLE_SEL = /\\/\\/\\*\\[@scrollable ?= ?('|\")true\\1\\]/;\nconst MAGIC_SCROLLABLE_BY = 'new UiSelector().scrollable(true)';\n\n/**\n * Overriding helpers.doFindElementOrEls functionality of appium-android-driver,\n * this.element initialized in find.js of appium-android-drive.\n */\nhelpers.doFindElementOrEls = async function (params) {\n if (params.strategy === 'xpath' && MAGIC_FIRST_VIS_CHILD_SEL.test(params.selector)) {\n let elementId = params.context;\n return await this.uiautomator2.jwproxy.command(`/appium/element/${elementId}/first_visible`, 'GET', {});\n }\n if (params.strategy === 'xpath' && MAGIC_SCROLLABLE_SEL.test(params.selector)) {\n params.strategy = '-android uiautomator';\n params.selector = MAGIC_SCROLLABLE_BY;\n }\n if (params.strategy === 'css selector') {\n params.strategy = '-android uiautomator';\n params.selector = new CssConverter(params.selector, this.opts.appPackage)\n .toUiAutomatorSelector();\n }\n return await this.uiautomator2.jwproxy.command(`/element${params.multiple ? 's' : ''}`, 'POST', params);\n};\n\nexport { helpers };\nexport default helpers;\n"],"mappings":";;;;;;;;AAAA,IAAAA,aAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,MAAMC,OAAO,GAAG,CAAC,CAAC;AAACC,OAAA,CAAAD,OAAA,GAAAA,OAAA;AAInB,MAAME,yBAAyB,GAAG,uCAAuC;AAEzE,MAAMC,oBAAoB,GAAG,uCAAuC;AACpE,MAAMC,mBAAmB,GAAG,mCAAmC;AAM/DJ,OAAO,CAACK,kBAAkB,GAAG,gBAAgBC,MAAM,EAAE;EACnD,IAAIA,MAAM,CAACC,QAAQ,KAAK,OAAO,IAAIL,yBAAyB,CAACM,IAAI,CAACF,MAAM,CAACG,QAAQ,CAAC,EAAE;IAClF,IAAIC,SAAS,GAAGJ,MAAM,CAACK,OAAO;IAC9B,OAAO,MAAM,IAAI,CAACC,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,mBAAkBJ,SAAU,gBAAe,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;EACzG;EACA,IAAIJ,MAAM,CAACC,QAAQ,KAAK,OAAO,IAAIJ,oBAAoB,CAACK,IAAI,CAACF,MAAM,CAACG,QAAQ,CAAC,EAAE;IAC7EH,MAAM,CAACC,QAAQ,GAAG,sBAAsB;IACxCD,MAAM,CAACG,QAAQ,GAAGL,mBAAmB;EACvC;EACA,IAAIE,MAAM,CAACC,QAAQ,KAAK,cAAc,EAAE;IACtCD,MAAM,CAACC,QAAQ,GAAG,sBAAsB;IACxCD,MAAM,CAACG,QAAQ,GAAG,IAAIM,qBAAY,CAACT,MAAM,CAACG,QAAQ,EAAE,IAAI,CAACO,IAAI,CAACC,UAAU,CAAC,CACtEC,qBAAqB,CAAC,CAAC;EAC5B;EACA,OAAO,MAAM,IAAI,CAACN,YAAY,CAACC,OAAO,CAACC,OAAO,CAAE,WAAUR,MAAM,CAACa,QAAQ,GAAG,GAAG,GAAG,EAAG,EAAC,EAAE,MAAM,EAAEb,MAAM,CAAC;AACzG,CAAC;AAAC,IAAAc,QAAA,GAGapB,OAAO;AAAAC,OAAA,CAAAoB,OAAA,GAAAD,QAAA"}