appium-mac2-driver 1.4.2 → 1.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/README.md +6 -4
  2. package/WebDriverAgentMac/WebDriverAgentLib/Commands/FBElementCommands.m +1 -1
  3. package/WebDriverAgentMac/WebDriverAgentLib/Commands/FBScreenshotCommands.m +2 -3
  4. package/WebDriverAgentMac/WebDriverAgentLib/Utilities/AMSnapshotUtils.m +1 -1
  5. package/build/index.js +1 -5
  6. package/build/lib/commands/app-management.js +1 -4
  7. package/build/lib/commands/app-management.js.map +1 -0
  8. package/build/lib/commands/applescript.js +2 -19
  9. package/build/lib/commands/applescript.js.map +1 -0
  10. package/build/lib/commands/execute.js +1 -13
  11. package/build/lib/commands/execute.js.map +1 -0
  12. package/build/lib/commands/find.js +2 -8
  13. package/build/lib/commands/find.js.map +1 -0
  14. package/build/lib/commands/gestures.js +1 -20
  15. package/build/lib/commands/gestures.js.map +1 -0
  16. package/build/lib/commands/index.js +3 -13
  17. package/build/lib/commands/index.js.map +1 -0
  18. package/build/lib/commands/record-screen.js +1 -63
  19. package/build/lib/commands/record-screen.js.map +1 -0
  20. package/build/lib/commands/screenshots.js +2 -4
  21. package/build/lib/commands/screenshots.js.map +1 -0
  22. package/build/lib/commands/source.js +1 -4
  23. package/build/lib/commands/source.js.map +1 -0
  24. package/build/lib/desired-caps.js +1 -3
  25. package/build/lib/desired-caps.js.map +1 -0
  26. package/build/lib/driver.js +1 -33
  27. package/build/lib/driver.js.map +1 -0
  28. package/build/lib/logger.js +1 -5
  29. package/build/lib/logger.js.map +1 -0
  30. package/build/lib/utils.js +7 -27
  31. package/build/lib/utils.js.map +1 -0
  32. package/build/lib/wda-mac.js +2 -109
  33. package/build/lib/wda-mac.js.map +1 -0
  34. package/lib/utils.js +7 -15
  35. package/npm-shrinkwrap.json +1493 -1346
  36. package/package.json +3 -3
package/README.md CHANGED
@@ -11,6 +11,11 @@ This is Appium driver for automating macOS applications using Apple's [XCTest](h
11
11
  The driver operates in scope of [W3C WebDriver protocol](https://www.w3.org/TR/webdriver/) with several custom extensions to cover operating-system specific scenarios.
12
12
  The original idea and parts of the source code are borrowed from the Facebook's [WebDriverAgent](https://github.com/facebookarchive/WebDriverAgent) project.
13
13
 
14
+ > **Note**
15
+ >
16
+ > Since version 1.0.0 Mac2 driver has dropped the support of Appium 1, and is only compatible to Appium 2. Use the `appium driver install mac2`
17
+ > command to add it to your Appium 2 dist.
18
+
14
19
 
15
20
  ## Requirements
16
21
 
@@ -19,10 +24,8 @@ On top of standard Appium requirements Mac2 driver also expects the following pr
19
24
  - macOS 10.15 or later
20
25
  - Xcode 12 or later should be installed
21
26
  - Xcode Helper app should be enabled for Accessibility access. The app itself could be usually found at `/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Xcode/Agents/Xcode Helper.app`. In order to enable Accessibility access for it simply open the parent folder in Finder: `open /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Xcode/Agents/` and drag & drop the `Xcode Helper` app to `Security & Privacy -> Privacy -> Accessibility` list of your `System Preferences`. This action must only be done once.
22
- - Since the version `1.0.0` this driver is only compatible with Appium 2. Use the `appium driver install mac2` CLI command to add it to your server dist.
23
-
27
+ - `testmanagerd` proccess requires UIAutomation authentication since macOS 12. `automationmodetool enable-automationmode-without-authentication` command may help to disable it. This may be particularly useful in CI environments. [Apple forum thread](https://developer.apple.com/forums/thread/693850).
24
28
 
25
- `testmanagerd` procccess requires UIAutomation authentication since macOS 12. `automationmodetool enable-automationmode-without-authentication` command may help to disable it. It may help especially CI environment. [apple forum](https://developer.apple.com/forums/thread/693850).
26
29
 
27
30
  ## Capabilities
28
31
 
@@ -690,7 +693,6 @@ Check out the source. Then run:
690
693
 
691
694
  ```bash
692
695
  npm install
693
- gulp watch
694
696
  ```
695
697
 
696
698
  Execute `npm run test` to run unit tests and `npm run e2e-test` to run integration tests.
@@ -732,7 +732,7 @@
732
732
  return FBResponseWithStatus([FBCommandStatus unableToCaptureScreenErrorWithMessage:message
733
733
  traceback:nil]);
734
734
  }
735
- NSString *screenshot = [screenshotData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
735
+ NSString *screenshot = [screenshotData base64EncodedStringWithOptions:0];
736
736
  return FBResponseWithObject(screenshot);
737
737
  }
738
738
 
@@ -39,7 +39,7 @@
39
39
  return FBResponseWithStatus([FBCommandStatus unableToCaptureScreenErrorWithMessage:message
40
40
  traceback:nil]);
41
41
  }
42
- NSString *screenshot = [screenshotData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
42
+ NSString *screenshot = [screenshotData base64EncodedStringWithOptions:0];
43
43
  return FBResponseWithObject(screenshot);
44
44
  }
45
45
 
@@ -58,8 +58,7 @@
58
58
  result[displayId.stringValue] = @{
59
59
  @"id": displayId,
60
60
  @"isMain": [screen valueForKey:@"_isMainScreen"] ?: NSNull.null,
61
- @"payload": [screen.screenshot.PNGRepresentation
62
- base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength] ?: NSNull.null
61
+ @"payload": [screen.screenshot.PNGRepresentation base64EncodedStringWithOptions:0] ?: NSNull.null
63
62
  };
64
63
  }
65
64
  if (nil != desiredId && 0 == [result count]) {
@@ -21,7 +21,7 @@
21
21
  + (NSString *)hashWithSnapshot:(id)snapshot
22
22
  {
23
23
  NSData *token = [[snapshot valueForKey:@"_accessibilityElement"] valueForKey:@"_token"];
24
- return [token base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
24
+ return [token base64EncodedStringWithOptions:0];
25
25
  }
26
26
 
27
27
  @end
package/build/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -12,11 +11,8 @@ Object.defineProperty(exports, "Mac2Driver", {
12
11
  }
13
12
  });
14
13
  exports.default = void 0;
15
-
16
14
  require("source-map-support/register");
17
-
18
15
  var _driver = _interopRequireDefault(require("./lib/driver"));
19
-
20
16
  var _default = _driver.default;
21
17
  exports.default = _default;
22
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNYWMyRHJpdmVyIl0sInNvdXJjZXMiOlsiLi4vaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1hYzJEcml2ZXIgZnJvbSAnLi9saWIvZHJpdmVyJztcblxuZXhwb3J0IGRlZmF1bHQgTWFjMkRyaXZlcjtcbmV4cG9ydCB7IE1hYzJEcml2ZXIgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7ZUFFZUEsZSJ9
18
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNYWMyRHJpdmVyIl0sInNvdXJjZXMiOlsiLi4vaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1hYzJEcml2ZXIgZnJvbSAnLi9saWIvZHJpdmVyJztcblxuZXhwb3J0IGRlZmF1bHQgTWFjMkRyaXZlcjtcbmV4cG9ydCB7IE1hYzJEcml2ZXIgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFzQyxlQUV2QkEsZUFBVTtBQUFBIn0=
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  require("source-map-support/register");
9
-
10
8
  const commands = {};
11
9
 
12
10
  commands.macosLaunchApp = async function macosLaunchApp(opts = {}) {
@@ -47,7 +45,6 @@ commands.macosQueryAppState = async function macosQueryAppState(opts = {}) {
47
45
  bundleId
48
46
  });
49
47
  };
50
-
51
48
  var _default = commands;
52
49
  exports.default = _default;
53
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsIm1hY29zTGF1bmNoQXBwIiwib3B0cyIsImJ1bmRsZUlkIiwiZW52aXJvbm1lbnQiLCJ3ZGEiLCJwcm94eSIsImNvbW1hbmQiLCJhcmd1bWVudHMiLCJtYWNvc0FjdGl2YXRlQXBwIiwibWFjb3NUZXJtaW5hdGVBcHAiLCJtYWNvc1F1ZXJ5QXBwU3RhdGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvYXBwLW1hbmFnZW1lbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBMYXVuY2hBcHBPcHRpb25zXG4gKiBAcHJvcGVydHkgeyFzdHJpbmd9IGJ1bmRsZUlkIGJ1bmRsZSBpZGVudGlmaWVyIG9mIHRoZSBhcHAgdG8gYmUgbGF1bmNoZWRcbiAqIG9yIGFjdGl2YXRlZFxuICogQHByb3BlcnR5IHs/QXJyYXk8c3RyaW5nPn0gYXJndW1lbnRzIHRoZSBsaXN0IG9mIGNvbW1hbmQgbGluZSBhcmd1bWVudHNcbiAqIGZvciB0aGUgYXBwIHRvIGJlIGJlIGxhdW5jaGVkIHdpdGguIFRoaXMgcGFyYW1ldGVyIGlzIGlnbm9yZWQgaWYgdGhlIGFwcFxuICogaXMgYWxyZWFkeSBydW5uaW5nLlxuICogQHByb3BlcnR5IHtPYmplY3R9IGVudmlyb25tZW50IGVudmlyb25tZW50IHZhcmlhYmxlcyBtYXBwaW5nLiBDdXN0b21cbiAqIHZhcmlhYmxlcyBhcmUgYWRkZWQgdG8gdGhlIGRlZmF1bHQgcHJvY2VzcyBlbnZpcm9ubWVudC5cbiAqL1xuXG4vKipcbiAqIFN0YXJ0IGFuIGFwcCB3aXRoIGdpdmVuIGJ1bmRsZSBpZGVudGlmaWVyIG9yIGFjdGl2YXRlcyBpdFxuICogaWYgdGhlIGFwcCBpcyBhbHJlYWR5IHJ1bm5pbmcuIEFuIGV4Y2VwdGlvbiBpcyB0aHJvd24gaWYgdGhlXG4gKiBhcHAgd2l0aCB0aGUgZ2l2ZW4gaWRlbnRpZmllciBjYW5ub3QgYmUgZm91bmQuXG4gKlxuICogQHBhcmFtIHtMYXVuY2hBcHBPcHRpb25zfSBvcHRzXG4gKi9cbmNvbW1hbmRzLm1hY29zTGF1bmNoQXBwID0gYXN5bmMgZnVuY3Rpb24gbWFjb3NMYXVuY2hBcHAgKG9wdHMgPSB7fSkge1xuICBjb25zdCB7IGJ1bmRsZUlkLCBlbnZpcm9ubWVudCB9ID0gb3B0cztcbiAgcmV0dXJuIGF3YWl0IHRoaXMud2RhLnByb3h5LmNvbW1hbmQoJy93ZGEvYXBwcy9sYXVuY2gnLCAnUE9TVCcsIHtcbiAgICBhcmd1bWVudHM6IG9wdHMuYXJndW1lbnRzLFxuICAgIGVudmlyb25tZW50LFxuICAgIGJ1bmRsZUlkLFxuICB9KTtcbn07XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gQWN0aXZhdGVBcHBPcHRpb25zXG4gKiBAcHJvcGVydHkgeyFzdHJpbmd9IGJ1bmRsZUlkIGJ1bmRsZSBpZGVudGlmaWVyIG9mIHRoZSBhcHAgdG8gYmUgYWN0aXZhdGVkXG4gKi9cblxuLyoqXG4gKiBBY3RpdmF0ZSBhbiBhcHAgd2l0aCBnaXZlbiBidW5kbGUgaWRlbnRpZmllci4gQW4gZXhjZXB0aW9uIGlzIHRocm93biBpZiB0aGVcbiAqIGFwcCBjYW5ub3QgYmUgZm91bmQgb3IgaXMgbm90IHJ1bm5pbmcuXG4gKlxuICogQHBhcmFtIHtBY3RpdmF0ZUFwcE9wdGlvbnN9IG9wdHNcbiAqL1xuY29tbWFuZHMubWFjb3NBY3RpdmF0ZUFwcCA9IGFzeW5jIGZ1bmN0aW9uIG1hY29zQWN0aXZhdGVBcHAgKG9wdHMgPSB7fSkge1xuICBjb25zdCB7IGJ1bmRsZUlkIH0gPSBvcHRzO1xuICByZXR1cm4gYXdhaXQgdGhpcy53ZGEucHJveHkuY29tbWFuZCgnL3dkYS9hcHBzL2FjdGl2YXRlJywgJ1BPU1QnLCB7IGJ1bmRsZUlkIH0pO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBUZXJtaW5hdGVBcHBPcHRpb25zXG4gKiBAcHJvcGVydHkgeyFzdHJpbmd9IGJ1bmRsZUlkIGJ1bmRsZSBpZGVudGlmaWVyIG9mIHRoZSBhcHAgdG8gYmUgdGVybWluYXRlZFxuICovXG5cbi8qKlxuICogVGVybWluYXRlIGFuIGFwcCB3aXRoIGdpdmVuIGJ1bmRsZSBpZGVudGlmaWVyLiBBbiBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZVxuICogYXBwIGNhbm5vdCBiZSBmb3VuZC5cbiAqXG4gKiBAcGFyYW0ge1Rlcm1pbmF0ZUFwcE9wdGlvbnN9IG9wdHNcbiAqIEByZXR1cm5zIHtib29sZWFufSBgdHJ1ZWAgaWYgdGhlIGFwcCB3YXMgcnVubmluZyBhbmQgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IHRlcm1pbmF0ZWQuXG4gKiBgZmFsc2VgIGlmIHRoZSBhcHAgd2FzIG5vdCBydW5uaW5nIGJlZm9yZS5cbiAqL1xuY29tbWFuZHMubWFjb3NUZXJtaW5hdGVBcHAgPSBhc3luYyBmdW5jdGlvbiBtYWNvc1Rlcm1pbmF0ZUFwcCAob3B0cyA9IHt9KSB7XG4gIGNvbnN0IHsgYnVuZGxlSWQgfSA9IG9wdHM7XG4gIHJldHVybiBhd2FpdCB0aGlzLndkYS5wcm94eS5jb21tYW5kKCcvd2RhL2FwcHMvdGVybWluYXRlJywgJ1BPU1QnLCB7IGJ1bmRsZUlkIH0pO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBRdWVyeUFwcFN0YXRlT3B0aW9uc1xuICogQHByb3BlcnR5IHshc3RyaW5nfSBidW5kbGVJZCBidW5kbGUgaWRlbnRpZmllciBvZiB0aGUgYXBwIHdob3NlIHN0YXRlIHNob3VsZCBiZSBxdWVyaWVkXG4gKi9cblxuLyoqXG4gKiBRdWVyeSBhbiBhcHAgc3RhdGUgd2l0aCBnaXZlbiBidW5kbGUgaWRlbnRpZmllci4gQW4gZXhjZXB0aW9uIGlzIHRocm93biBpZiB0aGVcbiAqIGFwcCBjYW5ub3QgYmUgZm91bmQuXG4gKlxuICogQHBhcmFtIHtRdWVyeUFwcFN0YXRlT3B0aW9uc30gb3B0c1xuICogQHJldHVybnMge251bWJlcn0gVGhlIGFwcGxpY2F0aW9uIHN0YXRlIGNvZGUuIFNlZVxuICogaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2RvY3VtZW50YXRpb24veGN0ZXN0L3hjdWlhcHBsaWNhdGlvbnN0YXRlP2xhbmd1YWdlPW9iamNcbiAqIGZvciBtb3JlIGRldGFpbHNcbiAqL1xuY29tbWFuZHMubWFjb3NRdWVyeUFwcFN0YXRlID0gYXN5bmMgZnVuY3Rpb24gbWFjb3NRdWVyeUFwcFN0YXRlIChvcHRzID0ge30pIHtcbiAgY29uc3QgeyBidW5kbGVJZCB9ID0gb3B0cztcbiAgcmV0dXJuIGF3YWl0IHRoaXMud2RhLnByb3h5LmNvbW1hbmQoJy93ZGEvYXBwcy9zdGF0ZScsICdQT1NUJywgeyBidW5kbGVJZCB9KTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxNQUFNQSxRQUFRLEdBQUcsRUFBakI7O0FBb0JBQSxRQUFRLENBQUNDLGNBQVQsR0FBMEIsZUFBZUEsY0FBZixDQUErQkMsSUFBSSxHQUFHLEVBQXRDLEVBQTBDO0VBQ2xFLE1BQU07SUFBRUMsUUFBRjtJQUFZQztFQUFaLElBQTRCRixJQUFsQztFQUNBLE9BQU8sTUFBTSxLQUFLRyxHQUFMLENBQVNDLEtBQVQsQ0FBZUMsT0FBZixDQUF1QixrQkFBdkIsRUFBMkMsTUFBM0MsRUFBbUQ7SUFDOURDLFNBQVMsRUFBRU4sSUFBSSxDQUFDTSxTQUQ4QztJQUU5REosV0FGOEQ7SUFHOUREO0VBSDhELENBQW5ELENBQWI7QUFLRCxDQVBEOztBQW9CQUgsUUFBUSxDQUFDUyxnQkFBVCxHQUE0QixlQUFlQSxnQkFBZixDQUFpQ1AsSUFBSSxHQUFHLEVBQXhDLEVBQTRDO0VBQ3RFLE1BQU07SUFBRUM7RUFBRixJQUFlRCxJQUFyQjtFQUNBLE9BQU8sTUFBTSxLQUFLRyxHQUFMLENBQVNDLEtBQVQsQ0FBZUMsT0FBZixDQUF1QixvQkFBdkIsRUFBNkMsTUFBN0MsRUFBcUQ7SUFBRUo7RUFBRixDQUFyRCxDQUFiO0FBQ0QsQ0FIRDs7QUFrQkFILFFBQVEsQ0FBQ1UsaUJBQVQsR0FBNkIsZUFBZUEsaUJBQWYsQ0FBa0NSLElBQUksR0FBRyxFQUF6QyxFQUE2QztFQUN4RSxNQUFNO0lBQUVDO0VBQUYsSUFBZUQsSUFBckI7RUFDQSxPQUFPLE1BQU0sS0FBS0csR0FBTCxDQUFTQyxLQUFULENBQWVDLE9BQWYsQ0FBdUIscUJBQXZCLEVBQThDLE1BQTlDLEVBQXNEO0lBQUVKO0VBQUYsQ0FBdEQsQ0FBYjtBQUNELENBSEQ7O0FBbUJBSCxRQUFRLENBQUNXLGtCQUFULEdBQThCLGVBQWVBLGtCQUFmLENBQW1DVCxJQUFJLEdBQUcsRUFBMUMsRUFBOEM7RUFDMUUsTUFBTTtJQUFFQztFQUFGLElBQWVELElBQXJCO0VBQ0EsT0FBTyxNQUFNLEtBQUtHLEdBQUwsQ0FBU0MsS0FBVCxDQUFlQyxPQUFmLENBQXVCLGlCQUF2QixFQUEwQyxNQUExQyxFQUFrRDtJQUFFSjtFQUFGLENBQWxELENBQWI7QUFDRCxDQUhEOztlQUtlSCxRIn0=
50
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsIm1hY29zTGF1bmNoQXBwIiwib3B0cyIsImJ1bmRsZUlkIiwiZW52aXJvbm1lbnQiLCJ3ZGEiLCJwcm94eSIsImNvbW1hbmQiLCJhcmd1bWVudHMiLCJtYWNvc0FjdGl2YXRlQXBwIiwibWFjb3NUZXJtaW5hdGVBcHAiLCJtYWNvc1F1ZXJ5QXBwU3RhdGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvYXBwLW1hbmFnZW1lbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBMYXVuY2hBcHBPcHRpb25zXG4gKiBAcHJvcGVydHkgeyFzdHJpbmd9IGJ1bmRsZUlkIGJ1bmRsZSBpZGVudGlmaWVyIG9mIHRoZSBhcHAgdG8gYmUgbGF1bmNoZWRcbiAqIG9yIGFjdGl2YXRlZFxuICogQHByb3BlcnR5IHs/QXJyYXk8c3RyaW5nPn0gYXJndW1lbnRzIHRoZSBsaXN0IG9mIGNvbW1hbmQgbGluZSBhcmd1bWVudHNcbiAqIGZvciB0aGUgYXBwIHRvIGJlIGJlIGxhdW5jaGVkIHdpdGguIFRoaXMgcGFyYW1ldGVyIGlzIGlnbm9yZWQgaWYgdGhlIGFwcFxuICogaXMgYWxyZWFkeSBydW5uaW5nLlxuICogQHByb3BlcnR5IHtPYmplY3R9IGVudmlyb25tZW50IGVudmlyb25tZW50IHZhcmlhYmxlcyBtYXBwaW5nLiBDdXN0b21cbiAqIHZhcmlhYmxlcyBhcmUgYWRkZWQgdG8gdGhlIGRlZmF1bHQgcHJvY2VzcyBlbnZpcm9ubWVudC5cbiAqL1xuXG4vKipcbiAqIFN0YXJ0IGFuIGFwcCB3aXRoIGdpdmVuIGJ1bmRsZSBpZGVudGlmaWVyIG9yIGFjdGl2YXRlcyBpdFxuICogaWYgdGhlIGFwcCBpcyBhbHJlYWR5IHJ1bm5pbmcuIEFuIGV4Y2VwdGlvbiBpcyB0aHJvd24gaWYgdGhlXG4gKiBhcHAgd2l0aCB0aGUgZ2l2ZW4gaWRlbnRpZmllciBjYW5ub3QgYmUgZm91bmQuXG4gKlxuICogQHBhcmFtIHtMYXVuY2hBcHBPcHRpb25zfSBvcHRzXG4gKi9cbmNvbW1hbmRzLm1hY29zTGF1bmNoQXBwID0gYXN5bmMgZnVuY3Rpb24gbWFjb3NMYXVuY2hBcHAgKG9wdHMgPSB7fSkge1xuICBjb25zdCB7IGJ1bmRsZUlkLCBlbnZpcm9ubWVudCB9ID0gb3B0cztcbiAgcmV0dXJuIGF3YWl0IHRoaXMud2RhLnByb3h5LmNvbW1hbmQoJy93ZGEvYXBwcy9sYXVuY2gnLCAnUE9TVCcsIHtcbiAgICBhcmd1bWVudHM6IG9wdHMuYXJndW1lbnRzLFxuICAgIGVudmlyb25tZW50LFxuICAgIGJ1bmRsZUlkLFxuICB9KTtcbn07XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gQWN0aXZhdGVBcHBPcHRpb25zXG4gKiBAcHJvcGVydHkgeyFzdHJpbmd9IGJ1bmRsZUlkIGJ1bmRsZSBpZGVudGlmaWVyIG9mIHRoZSBhcHAgdG8gYmUgYWN0aXZhdGVkXG4gKi9cblxuLyoqXG4gKiBBY3RpdmF0ZSBhbiBhcHAgd2l0aCBnaXZlbiBidW5kbGUgaWRlbnRpZmllci4gQW4gZXhjZXB0aW9uIGlzIHRocm93biBpZiB0aGVcbiAqIGFwcCBjYW5ub3QgYmUgZm91bmQgb3IgaXMgbm90IHJ1bm5pbmcuXG4gKlxuICogQHBhcmFtIHtBY3RpdmF0ZUFwcE9wdGlvbnN9IG9wdHNcbiAqL1xuY29tbWFuZHMubWFjb3NBY3RpdmF0ZUFwcCA9IGFzeW5jIGZ1bmN0aW9uIG1hY29zQWN0aXZhdGVBcHAgKG9wdHMgPSB7fSkge1xuICBjb25zdCB7IGJ1bmRsZUlkIH0gPSBvcHRzO1xuICByZXR1cm4gYXdhaXQgdGhpcy53ZGEucHJveHkuY29tbWFuZCgnL3dkYS9hcHBzL2FjdGl2YXRlJywgJ1BPU1QnLCB7IGJ1bmRsZUlkIH0pO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBUZXJtaW5hdGVBcHBPcHRpb25zXG4gKiBAcHJvcGVydHkgeyFzdHJpbmd9IGJ1bmRsZUlkIGJ1bmRsZSBpZGVudGlmaWVyIG9mIHRoZSBhcHAgdG8gYmUgdGVybWluYXRlZFxuICovXG5cbi8qKlxuICogVGVybWluYXRlIGFuIGFwcCB3aXRoIGdpdmVuIGJ1bmRsZSBpZGVudGlmaWVyLiBBbiBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZVxuICogYXBwIGNhbm5vdCBiZSBmb3VuZC5cbiAqXG4gKiBAcGFyYW0ge1Rlcm1pbmF0ZUFwcE9wdGlvbnN9IG9wdHNcbiAqIEByZXR1cm5zIHtib29sZWFufSBgdHJ1ZWAgaWYgdGhlIGFwcCB3YXMgcnVubmluZyBhbmQgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IHRlcm1pbmF0ZWQuXG4gKiBgZmFsc2VgIGlmIHRoZSBhcHAgd2FzIG5vdCBydW5uaW5nIGJlZm9yZS5cbiAqL1xuY29tbWFuZHMubWFjb3NUZXJtaW5hdGVBcHAgPSBhc3luYyBmdW5jdGlvbiBtYWNvc1Rlcm1pbmF0ZUFwcCAob3B0cyA9IHt9KSB7XG4gIGNvbnN0IHsgYnVuZGxlSWQgfSA9IG9wdHM7XG4gIHJldHVybiBhd2FpdCB0aGlzLndkYS5wcm94eS5jb21tYW5kKCcvd2RhL2FwcHMvdGVybWluYXRlJywgJ1BPU1QnLCB7IGJ1bmRsZUlkIH0pO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBRdWVyeUFwcFN0YXRlT3B0aW9uc1xuICogQHByb3BlcnR5IHshc3RyaW5nfSBidW5kbGVJZCBidW5kbGUgaWRlbnRpZmllciBvZiB0aGUgYXBwIHdob3NlIHN0YXRlIHNob3VsZCBiZSBxdWVyaWVkXG4gKi9cblxuLyoqXG4gKiBRdWVyeSBhbiBhcHAgc3RhdGUgd2l0aCBnaXZlbiBidW5kbGUgaWRlbnRpZmllci4gQW4gZXhjZXB0aW9uIGlzIHRocm93biBpZiB0aGVcbiAqIGFwcCBjYW5ub3QgYmUgZm91bmQuXG4gKlxuICogQHBhcmFtIHtRdWVyeUFwcFN0YXRlT3B0aW9uc30gb3B0c1xuICogQHJldHVybnMge251bWJlcn0gVGhlIGFwcGxpY2F0aW9uIHN0YXRlIGNvZGUuIFNlZVxuICogaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2RvY3VtZW50YXRpb24veGN0ZXN0L3hjdWlhcHBsaWNhdGlvbnN0YXRlP2xhbmd1YWdlPW9iamNcbiAqIGZvciBtb3JlIGRldGFpbHNcbiAqL1xuY29tbWFuZHMubWFjb3NRdWVyeUFwcFN0YXRlID0gYXN5bmMgZnVuY3Rpb24gbWFjb3NRdWVyeUFwcFN0YXRlIChvcHRzID0ge30pIHtcbiAgY29uc3QgeyBidW5kbGVJZCB9ID0gb3B0cztcbiAgcmV0dXJuIGF3YWl0IHRoaXMud2RhLnByb3h5LmNvbW1hbmQoJy93ZGEvYXBwcy9zdGF0ZScsICdQT1NUJywgeyBidW5kbGVJZCB9KTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsTUFBTUEsUUFBUSxHQUFHLENBQUMsQ0FBQzs7QUFvQm5CQSxRQUFRLENBQUNDLGNBQWMsR0FBRyxlQUFlQSxjQUFjLENBQUVDLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRTtFQUNsRSxNQUFNO0lBQUVDLFFBQVE7SUFBRUM7RUFBWSxDQUFDLEdBQUdGLElBQUk7RUFDdEMsT0FBTyxNQUFNLElBQUksQ0FBQ0csR0FBRyxDQUFDQyxLQUFLLENBQUNDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLEVBQUU7SUFDOURDLFNBQVMsRUFBRU4sSUFBSSxDQUFDTSxTQUFTO0lBQ3pCSixXQUFXO0lBQ1hEO0VBQ0YsQ0FBQyxDQUFDO0FBQ0osQ0FBQzs7QUFhREgsUUFBUSxDQUFDUyxnQkFBZ0IsR0FBRyxlQUFlQSxnQkFBZ0IsQ0FBRVAsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFO0VBQ3RFLE1BQU07SUFBRUM7RUFBUyxDQUFDLEdBQUdELElBQUk7RUFDekIsT0FBTyxNQUFNLElBQUksQ0FBQ0csR0FBRyxDQUFDQyxLQUFLLENBQUNDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxNQUFNLEVBQUU7SUFBRUo7RUFBUyxDQUFDLENBQUM7QUFDakYsQ0FBQzs7QUFlREgsUUFBUSxDQUFDVSxpQkFBaUIsR0FBRyxlQUFlQSxpQkFBaUIsQ0FBRVIsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFO0VBQ3hFLE1BQU07SUFBRUM7RUFBUyxDQUFDLEdBQUdELElBQUk7RUFDekIsT0FBTyxNQUFNLElBQUksQ0FBQ0csR0FBRyxDQUFDQyxLQUFLLENBQUNDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLEVBQUU7SUFBRUo7RUFBUyxDQUFDLENBQUM7QUFDbEYsQ0FBQzs7QUFnQkRILFFBQVEsQ0FBQ1csa0JBQWtCLEdBQUcsZUFBZUEsa0JBQWtCLENBQUVULElBQUksR0FBRyxDQUFDLENBQUMsRUFBRTtFQUMxRSxNQUFNO0lBQUVDO0VBQVMsQ0FBQyxHQUFHRCxJQUFJO0VBQ3pCLE9BQU8sTUFBTSxJQUFJLENBQUNHLEdBQUcsQ0FBQ0MsS0FBSyxDQUFDQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxFQUFFO0lBQUVKO0VBQVMsQ0FBQyxDQUFDO0FBQzlFLENBQUM7QUFBQyxlQUVhSCxRQUFRO0FBQUEifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-management.js","names":["commands","macosLaunchApp","opts","bundleId","environment","wda","proxy","command","arguments","macosActivateApp","macosTerminateApp","macosQueryAppState"],"sources":["../../../lib/commands/app-management.js"],"sourcesContent":["const commands = {};\n\n/**\n * @typedef {Object} LaunchAppOptions\n * @property {!string} bundleId bundle identifier of the app to be launched\n * or activated\n * @property {?Array<string>} arguments the list of command line arguments\n * for the app to be be launched with. This parameter is ignored if the app\n * is already running.\n * @property {Object} environment environment variables mapping. Custom\n * variables are added to the default process environment.\n */\n\n/**\n * Start an app with given bundle identifier or activates it\n * if the app is already running. An exception is thrown if the\n * app with the given identifier cannot be found.\n *\n * @param {LaunchAppOptions} opts\n */\ncommands.macosLaunchApp = async function macosLaunchApp (opts = {}) {\n const { bundleId, environment } = opts;\n return await this.wda.proxy.command('/wda/apps/launch', 'POST', {\n arguments: opts.arguments,\n environment,\n bundleId,\n });\n};\n\n/**\n * @typedef {Object} ActivateAppOptions\n * @property {!string} bundleId bundle identifier of the app to be activated\n */\n\n/**\n * Activate an app with given bundle identifier. An exception is thrown if the\n * app cannot be found or is not running.\n *\n * @param {ActivateAppOptions} opts\n */\ncommands.macosActivateApp = async function macosActivateApp (opts = {}) {\n const { bundleId } = opts;\n return await this.wda.proxy.command('/wda/apps/activate', 'POST', { bundleId });\n};\n\n/**\n * @typedef {Object} TerminateAppOptions\n * @property {!string} bundleId bundle identifier of the app to be terminated\n */\n\n/**\n * Terminate an app with given bundle identifier. An exception is thrown if the\n * app cannot be found.\n *\n * @param {TerminateAppOptions} opts\n * @returns {boolean} `true` if the app was running and has been successfully terminated.\n * `false` if the app was not running before.\n */\ncommands.macosTerminateApp = async function macosTerminateApp (opts = {}) {\n const { bundleId } = opts;\n return await this.wda.proxy.command('/wda/apps/terminate', 'POST', { bundleId });\n};\n\n/**\n * @typedef {Object} QueryAppStateOptions\n * @property {!string} bundleId bundle identifier of the app whose state should be queried\n */\n\n/**\n * Query an app state with given bundle identifier. An exception is thrown if the\n * app cannot be found.\n *\n * @param {QueryAppStateOptions} opts\n * @returns {number} The application state code. See\n * https://developer.apple.com/documentation/xctest/xcuiapplicationstate?language=objc\n * for more details\n */\ncommands.macosQueryAppState = async function macosQueryAppState (opts = {}) {\n const { bundleId } = opts;\n return await this.wda.proxy.command('/wda/apps/state', 'POST', { bundleId });\n};\n\nexport default commands;\n"],"mappings":";;;;;;;AAAA,MAAMA,QAAQ,GAAG,CAAC,CAAC;;AAoBnBA,QAAQ,CAACC,cAAc,GAAG,eAAeA,cAAc,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAE;EAClE,MAAM;IAAEC,QAAQ;IAAEC;EAAY,CAAC,GAAGF,IAAI;EACtC,OAAO,MAAM,IAAI,CAACG,GAAG,CAACC,KAAK,CAACC,OAAO,CAAC,kBAAkB,EAAE,MAAM,EAAE;IAC9DC,SAAS,EAAEN,IAAI,CAACM,SAAS;IACzBJ,WAAW;IACXD;EACF,CAAC,CAAC;AACJ,CAAC;;AAaDH,QAAQ,CAACS,gBAAgB,GAAG,eAAeA,gBAAgB,CAAEP,IAAI,GAAG,CAAC,CAAC,EAAE;EACtE,MAAM;IAAEC;EAAS,CAAC,GAAGD,IAAI;EACzB,OAAO,MAAM,IAAI,CAACG,GAAG,CAACC,KAAK,CAACC,OAAO,CAAC,oBAAoB,EAAE,MAAM,EAAE;IAAEJ;EAAS,CAAC,CAAC;AACjF,CAAC;;AAeDH,QAAQ,CAACU,iBAAiB,GAAG,eAAeA,iBAAiB,CAAER,IAAI,GAAG,CAAC,CAAC,EAAE;EACxE,MAAM;IAAEC;EAAS,CAAC,GAAGD,IAAI;EACzB,OAAO,MAAM,IAAI,CAACG,GAAG,CAACC,KAAK,CAACC,OAAO,CAAC,qBAAqB,EAAE,MAAM,EAAE;IAAEJ;EAAS,CAAC,CAAC;AAClF,CAAC;;AAgBDH,QAAQ,CAACW,kBAAkB,GAAG,eAAeA,kBAAkB,CAAET,IAAI,GAAG,CAAC,CAAC,EAAE;EAC1E,MAAM;IAAEC;EAAS,CAAC,GAAGD,IAAI;EACzB,OAAO,MAAM,IAAI,CAACG,GAAG,CAACC,KAAK,CAACC,OAAO,CAAC,iBAAiB,EAAE,MAAM,EAAE;IAAEJ;EAAS,CAAC,CAAC;AAC9E,CAAC;AAAC,eAEaH,QAAQ;AAAA"}
@@ -1,25 +1,19 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = exports.commands = void 0;
9
-
10
8
  require("source-map-support/register");
11
-
12
9
  var _support = require("appium/support");
13
-
14
10
  var _teen_process = require("teen_process");
15
-
16
11
  var _logger = _interopRequireDefault(require("../logger"));
17
-
18
12
  var _path = _interopRequireDefault(require("path"));
19
-
20
13
  const OSASCRIPT = 'osascript';
21
14
  const APPLE_SCRIPT_FEATURE = 'apple_script';
22
15
  const commands = {};
16
+
23
17
  exports.commands = commands;
24
18
 
25
19
  commands.macosExecAppleScript = async function macosExecAppleScript(opts = {}) {
@@ -31,38 +25,28 @@ commands.macosExecAppleScript = async function macosExecAppleScript(opts = {}) {
31
25
  cwd,
32
26
  timeout
33
27
  } = opts;
34
-
35
28
  if (!script && !command) {
36
29
  _logger.default.errorAndThrow('AppleScript script/command must not be empty');
37
30
  }
38
-
39
31
  if (/\n/.test(command)) {
40
32
  _logger.default.errorAndThrow('AppleScript commands cannot contain line breaks');
41
33
  }
42
-
43
34
  const shouldRunScript = !command;
44
35
  const args = [];
45
-
46
36
  if (language) {
47
37
  args.push('-l', language);
48
38
  }
49
-
50
39
  let tmpRoot;
51
-
52
40
  try {
53
41
  if (shouldRunScript) {
54
42
  tmpRoot = await _support.tempDir.openDir();
55
-
56
43
  const tmpScriptPath = _path.default.resolve(tmpRoot, 'appium_script.scpt');
57
-
58
44
  await _support.fs.writeFile(tmpScriptPath, script, 'utf8');
59
45
  args.push(tmpScriptPath);
60
46
  } else {
61
47
  args.push('-e', command);
62
48
  }
63
-
64
49
  _logger.default.info(`Running ${OSASCRIPT} with arguments: ${_support.util.quote(args)}`);
65
-
66
50
  try {
67
51
  const {
68
52
  stdout
@@ -80,7 +64,6 @@ commands.macosExecAppleScript = async function macosExecAppleScript(opts = {}) {
80
64
  }
81
65
  }
82
66
  };
83
-
84
67
  var _default = commands;
85
68
  exports.default = _default;
86
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPU0FTQ1JJUFQiLCJBUFBMRV9TQ1JJUFRfRkVBVFVSRSIsImNvbW1hbmRzIiwibWFjb3NFeGVjQXBwbGVTY3JpcHQiLCJvcHRzIiwiZW5zdXJlRmVhdHVyZUVuYWJsZWQiLCJzY3JpcHQiLCJsYW5ndWFnZSIsImNvbW1hbmQiLCJjd2QiLCJ0aW1lb3V0IiwibG9nIiwiZXJyb3JBbmRUaHJvdyIsInRlc3QiLCJzaG91bGRSdW5TY3JpcHQiLCJhcmdzIiwicHVzaCIsInRtcFJvb3QiLCJ0ZW1wRGlyIiwib3BlbkRpciIsInRtcFNjcmlwdFBhdGgiLCJwYXRoIiwicmVzb2x2ZSIsImZzIiwid3JpdGVGaWxlIiwiaW5mbyIsInV0aWwiLCJxdW90ZSIsInN0ZG91dCIsImV4ZWMiLCJlIiwiRXJyb3IiLCJzdGRlcnIiLCJtZXNzYWdlIiwicmltcmFmIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2NvbW1hbmRzL2FwcGxlc2NyaXB0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZzLCB0ZW1wRGlyLCB1dGlsIH0gZnJvbSAnYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IHsgZXhlYyB9IGZyb20gJ3RlZW5fcHJvY2Vzcyc7XG5pbXBvcnQgbG9nIGZyb20gJy4uL2xvZ2dlcic7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcblxuY29uc3QgT1NBU0NSSVBUID0gJ29zYXNjcmlwdCc7XG5jb25zdCBBUFBMRV9TQ1JJUFRfRkVBVFVSRSA9ICdhcHBsZV9zY3JpcHQnO1xuXG5jb25zdCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEV4ZWNBcHBsZVNjcmlwdE9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gc2NyaXB0IEEgdmFsaWQgQXBwbGVTY3JpcHQgdG8gZXhlY3V0ZVxuICogQHByb3BlcnR5IHs/c3RyaW5nfSBsYW5ndWFnZSBPdmVycmlkZXMgdGhlIHNjcmlwdGluZyBsYW5ndWFnZS4gQmFzaWNhbGx5LCBzZXRzIHRoZSB2YWx1ZSBvZiBgLWxgIGNvbW1hbmRcbiAqIGxpbmUgYXJndW1lbnQgb2YgYG9zYXNjcmlwdGAgdG9vbC4gSWYgdW5zZXQgdGhlIEFwcGxlU2NyaXB0IGxhbmd1YWdlIGlzIGFzc3VtZWQuXG4gKiBAcHJvcGVydHkgez9zdHJpbmd9IGNvbW1hbmQgQSB2YWxpZCBBcHBsZVNjcmlwdCBhcyBhIHNpbmdsZSBjb21tYW5kIChubyBsaW5lIGJyZWFrcykgdG8gZXhlY3V0ZVxuICogQHByb3BlcnR5IHs/bnVtYmVyfSB0aW1lb3V0IFsyMDAwMF0gVGhlIG51bWJlciBvZiBzZWNvbmRzIHRvIHdhaXQgdW50aWwgYSBsb25nLXJ1bm5pbmcgY29tbWFuZCBpc1xuICogZmluaXNoZWQuIEFuIGVycm9yIGlzIHRocm93biBpZiB0aGUgY29tbWFuZCBpcyBzdGlsbCBydW5uaW5nIGFmdGVyIHRoaXMgdGltZW91dCBleHBpcmVzLlxuICogQHByb3BlcnR5IHs/c3RyaW5nfSBjd2QgVGhlIHBhdGggdG8gYW4gZXhpc3RpbmcgZm9sZGVyLCB3aGljaCBpcyBnb2luZyB0byBiZSBzZXQgYXMgdGhlXG4gKiB3b3JraW5nIGRpcmVjdG9yeSBmb3IgdGhlIGNvbW1hbmQvc2NyaXB0IGJlaW5nIGV4ZWN1dGVkLlxuICovXG5cbi8qKlxuICogRXhlY3V0ZXMgdGhlIGdpdmVuIEFwcGxlU2NyaXB0IGNvbW1hbmQgb3IgYSB3aG9sZSBzY3JpcHQgYmFzZWQgb24gdGhlXG4gKiBnaXZlbiBvcHRpb25zLiBFaXRoZXIgb2YgdGhlc2Ugb3B0aW9ucyBtdXN0IGJlIHByb3ZpZGVkLiBJZiBib3RoIGFyZSBwcm92aWRlZFxuICogdGhlbiB0aGUgYGNvbW1hbmRgIG9uZSBnZXRzIHRoZSBwcmlvcml0eS5cbiAqIE5vdGUgdGhhdCBBcHBsZVNjcmlwdCBjb21tYW5kIGNhbm5vdCBjb250YWluIGxpbmUgYnJlYWtzLiBDb25zaWRlciBtYWtpbmcgaXRcbiAqIHRvIGEgc2NyaXB0IGluIHN1Y2ggY2FzZS5cbiAqIE5vdGUgdGhhdCBieSBkZWZhdWx0IEFwcGxlU2NyaXB0IGVuZ2luZSBibG9ja3MgY29tbWFuZHMvc2NyaXB0cyBleGVjdXRpb24gaWYgeW91ciBzY3JpcHRcbiAqIGlzIHRyeWluZyB0byBhY2Nlc3Mgc29tZSBwcml2YXRlIGVudGl0aWVzLCBsaWtlIGNhbWVyYXMgb3IgdGhlIGRlc2t0b3Agc2NyZWVuXG4gKiBhbmQgbm8gcGVybWlzc2lvbnMgdG8gZG8gaXQgYXJlIGdpdmVuIHRvIHRoZSBwYXJlbnQgKGZvciBleGFtcGxlLCBBcHBpdW0gb3IgVGVybWluYWwpXG4gKiBwcm9jZXNzIGluIFN5c3RlbSBQcmVmZXJlbmNlcyAtPiBQcml2YWN5IGxpc3QuXG4gKlxuICogQHBhcmFtIHshRXhlY0FwcGxlU2NyaXB0T3B0aW9uc30gb3B0c1xuICogQHJldHVybnMge3N0cmluZ30gVGhlIGFjdHVhbCBzdGRvdXQgb2YgdGhlIGdpdmVuIGNvbW1hbmQvc2NyaXB0XG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGV4aXQgY29kZSBvZiB0aGUgZ2l2ZW4gY29tbWFuZC9zY3JpcHQgaXMgbm90IHplcm8uXG4gKiBUaGUgYWN0dWFsIHN0ZGVyciBvdXRwdXQgaXMgc2V0IHRvIHRoZSBlcnJvciBtZXNzYWdlIHZhbHVlLlxuICovXG5jb21tYW5kcy5tYWNvc0V4ZWNBcHBsZVNjcmlwdCA9IGFzeW5jIGZ1bmN0aW9uIG1hY29zRXhlY0FwcGxlU2NyaXB0IChvcHRzID0ge30pIHtcbiAgdGhpcy5lbnN1cmVGZWF0dXJlRW5hYmxlZChBUFBMRV9TQ1JJUFRfRkVBVFVSRSk7XG5cbiAgY29uc3Qge1xuICAgIHNjcmlwdCxcbiAgICBsYW5ndWFnZSxcbiAgICBjb21tYW5kLFxuICAgIGN3ZCxcbiAgICB0aW1lb3V0LFxuICB9ID0gb3B0cztcbiAgaWYgKCFzY3JpcHQgJiYgIWNvbW1hbmQpIHtcbiAgICBsb2cuZXJyb3JBbmRUaHJvdygnQXBwbGVTY3JpcHQgc2NyaXB0L2NvbW1hbmQgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxuICBpZiAoL1xcbi8udGVzdChjb21tYW5kKSkge1xuICAgIGxvZy5lcnJvckFuZFRocm93KCdBcHBsZVNjcmlwdCBjb21tYW5kcyBjYW5ub3QgY29udGFpbiBsaW5lIGJyZWFrcycpO1xuICB9XG4gIC8vICdjb21tYW5kJyBoYXMgcHJpb3JpdHkgb3ZlciAnc2NyaXB0J1xuICBjb25zdCBzaG91bGRSdW5TY3JpcHQgPSAhY29tbWFuZDtcblxuICBjb25zdCBhcmdzID0gW107XG4gIGlmIChsYW5ndWFnZSkge1xuICAgIGFyZ3MucHVzaCgnLWwnLCBsYW5ndWFnZSk7XG4gIH1cbiAgbGV0IHRtcFJvb3Q7XG4gIHRyeSB7XG4gICAgaWYgKHNob3VsZFJ1blNjcmlwdCkge1xuICAgICAgdG1wUm9vdCA9IGF3YWl0IHRlbXBEaXIub3BlbkRpcigpO1xuICAgICAgY29uc3QgdG1wU2NyaXB0UGF0aCA9IHBhdGgucmVzb2x2ZSh0bXBSb290LCAnYXBwaXVtX3NjcmlwdC5zY3B0Jyk7XG4gICAgICBhd2FpdCBmcy53cml0ZUZpbGUodG1wU2NyaXB0UGF0aCwgc2NyaXB0LCAndXRmOCcpO1xuICAgICAgYXJncy5wdXNoKHRtcFNjcmlwdFBhdGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcmdzLnB1c2goJy1lJywgY29tbWFuZCk7XG4gICAgfVxuICAgIGxvZy5pbmZvKGBSdW5uaW5nICR7T1NBU0NSSVBUfSB3aXRoIGFyZ3VtZW50czogJHt1dGlsLnF1b3RlKGFyZ3MpfWApO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IGV4ZWMoT1NBU0NSSVBULCBhcmdzLCB7Y3dkLCB0aW1lb3V0fSk7XG4gICAgICByZXR1cm4gc3Rkb3V0O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihlLnN0ZGVyciB8fCBlLm1lc3NhZ2UpO1xuICAgIH1cbiAgfSBmaW5hbGx5IHtcbiAgICBpZiAodG1wUm9vdCkge1xuICAgICAgYXdhaXQgZnMucmltcmFmKHRtcFJvb3QpO1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IHsgY29tbWFuZHMgfTtcbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLE1BQU1BLFNBQVMsR0FBRyxXQUFsQjtBQUNBLE1BQU1DLG9CQUFvQixHQUFHLGNBQTdCO0FBRUEsTUFBTUMsUUFBUSxHQUFHLEVBQWpCOzs7QUE4QkFBLFFBQVEsQ0FBQ0Msb0JBQVQsR0FBZ0MsZUFBZUEsb0JBQWYsQ0FBcUNDLElBQUksR0FBRyxFQUE1QyxFQUFnRDtFQUM5RSxLQUFLQyxvQkFBTCxDQUEwQkosb0JBQTFCO0VBRUEsTUFBTTtJQUNKSyxNQURJO0lBRUpDLFFBRkk7SUFHSkMsT0FISTtJQUlKQyxHQUpJO0lBS0pDO0VBTEksSUFNRk4sSUFOSjs7RUFPQSxJQUFJLENBQUNFLE1BQUQsSUFBVyxDQUFDRSxPQUFoQixFQUF5QjtJQUN2QkcsZUFBQSxDQUFJQyxhQUFKLENBQWtCLDhDQUFsQjtFQUNEOztFQUNELElBQUksS0FBS0MsSUFBTCxDQUFVTCxPQUFWLENBQUosRUFBd0I7SUFDdEJHLGVBQUEsQ0FBSUMsYUFBSixDQUFrQixpREFBbEI7RUFDRDs7RUFFRCxNQUFNRSxlQUFlLEdBQUcsQ0FBQ04sT0FBekI7RUFFQSxNQUFNTyxJQUFJLEdBQUcsRUFBYjs7RUFDQSxJQUFJUixRQUFKLEVBQWM7SUFDWlEsSUFBSSxDQUFDQyxJQUFMLENBQVUsSUFBVixFQUFnQlQsUUFBaEI7RUFDRDs7RUFDRCxJQUFJVSxPQUFKOztFQUNBLElBQUk7SUFDRixJQUFJSCxlQUFKLEVBQXFCO01BQ25CRyxPQUFPLEdBQUcsTUFBTUMsZ0JBQUEsQ0FBUUMsT0FBUixFQUFoQjs7TUFDQSxNQUFNQyxhQUFhLEdBQUdDLGFBQUEsQ0FBS0MsT0FBTCxDQUFhTCxPQUFiLEVBQXNCLG9CQUF0QixDQUF0Qjs7TUFDQSxNQUFNTSxXQUFBLENBQUdDLFNBQUgsQ0FBYUosYUFBYixFQUE0QmQsTUFBNUIsRUFBb0MsTUFBcEMsQ0FBTjtNQUNBUyxJQUFJLENBQUNDLElBQUwsQ0FBVUksYUFBVjtJQUNELENBTEQsTUFLTztNQUNMTCxJQUFJLENBQUNDLElBQUwsQ0FBVSxJQUFWLEVBQWdCUixPQUFoQjtJQUNEOztJQUNERyxlQUFBLENBQUljLElBQUosQ0FBVSxXQUFVekIsU0FBVSxvQkFBbUIwQixhQUFBLENBQUtDLEtBQUwsQ0FBV1osSUFBWCxDQUFpQixFQUFsRTs7SUFDQSxJQUFJO01BQ0YsTUFBTTtRQUFDYTtNQUFELElBQVcsTUFBTSxJQUFBQyxrQkFBQSxFQUFLN0IsU0FBTCxFQUFnQmUsSUFBaEIsRUFBc0I7UUFBQ04sR0FBRDtRQUFNQztNQUFOLENBQXRCLENBQXZCO01BQ0EsT0FBT2tCLE1BQVA7SUFDRCxDQUhELENBR0UsT0FBT0UsQ0FBUCxFQUFVO01BQ1YsTUFBTSxJQUFJQyxLQUFKLENBQVVELENBQUMsQ0FBQ0UsTUFBRixJQUFZRixDQUFDLENBQUNHLE9BQXhCLENBQU47SUFDRDtFQUNGLENBaEJELFNBZ0JVO0lBQ1IsSUFBSWhCLE9BQUosRUFBYTtNQUNYLE1BQU1NLFdBQUEsQ0FBR1csTUFBSCxDQUFVakIsT0FBVixDQUFOO0lBQ0Q7RUFDRjtBQUNGLENBN0NEOztlQWdEZWYsUSJ9
69
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPU0FTQ1JJUFQiLCJBUFBMRV9TQ1JJUFRfRkVBVFVSRSIsImNvbW1hbmRzIiwibWFjb3NFeGVjQXBwbGVTY3JpcHQiLCJvcHRzIiwiZW5zdXJlRmVhdHVyZUVuYWJsZWQiLCJzY3JpcHQiLCJsYW5ndWFnZSIsImNvbW1hbmQiLCJjd2QiLCJ0aW1lb3V0IiwibG9nIiwiZXJyb3JBbmRUaHJvdyIsInRlc3QiLCJzaG91bGRSdW5TY3JpcHQiLCJhcmdzIiwicHVzaCIsInRtcFJvb3QiLCJ0ZW1wRGlyIiwib3BlbkRpciIsInRtcFNjcmlwdFBhdGgiLCJwYXRoIiwicmVzb2x2ZSIsImZzIiwid3JpdGVGaWxlIiwiaW5mbyIsInV0aWwiLCJxdW90ZSIsInN0ZG91dCIsImV4ZWMiLCJlIiwiRXJyb3IiLCJzdGRlcnIiLCJtZXNzYWdlIiwicmltcmFmIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2NvbW1hbmRzL2FwcGxlc2NyaXB0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZzLCB0ZW1wRGlyLCB1dGlsIH0gZnJvbSAnYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IHsgZXhlYyB9IGZyb20gJ3RlZW5fcHJvY2Vzcyc7XG5pbXBvcnQgbG9nIGZyb20gJy4uL2xvZ2dlcic7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcblxuY29uc3QgT1NBU0NSSVBUID0gJ29zYXNjcmlwdCc7XG5jb25zdCBBUFBMRV9TQ1JJUFRfRkVBVFVSRSA9ICdhcHBsZV9zY3JpcHQnO1xuXG5jb25zdCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEV4ZWNBcHBsZVNjcmlwdE9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gc2NyaXB0IEEgdmFsaWQgQXBwbGVTY3JpcHQgdG8gZXhlY3V0ZVxuICogQHByb3BlcnR5IHs/c3RyaW5nfSBsYW5ndWFnZSBPdmVycmlkZXMgdGhlIHNjcmlwdGluZyBsYW5ndWFnZS4gQmFzaWNhbGx5LCBzZXRzIHRoZSB2YWx1ZSBvZiBgLWxgIGNvbW1hbmRcbiAqIGxpbmUgYXJndW1lbnQgb2YgYG9zYXNjcmlwdGAgdG9vbC4gSWYgdW5zZXQgdGhlIEFwcGxlU2NyaXB0IGxhbmd1YWdlIGlzIGFzc3VtZWQuXG4gKiBAcHJvcGVydHkgez9zdHJpbmd9IGNvbW1hbmQgQSB2YWxpZCBBcHBsZVNjcmlwdCBhcyBhIHNpbmdsZSBjb21tYW5kIChubyBsaW5lIGJyZWFrcykgdG8gZXhlY3V0ZVxuICogQHByb3BlcnR5IHs/bnVtYmVyfSB0aW1lb3V0IFsyMDAwMF0gVGhlIG51bWJlciBvZiBzZWNvbmRzIHRvIHdhaXQgdW50aWwgYSBsb25nLXJ1bm5pbmcgY29tbWFuZCBpc1xuICogZmluaXNoZWQuIEFuIGVycm9yIGlzIHRocm93biBpZiB0aGUgY29tbWFuZCBpcyBzdGlsbCBydW5uaW5nIGFmdGVyIHRoaXMgdGltZW91dCBleHBpcmVzLlxuICogQHByb3BlcnR5IHs/c3RyaW5nfSBjd2QgVGhlIHBhdGggdG8gYW4gZXhpc3RpbmcgZm9sZGVyLCB3aGljaCBpcyBnb2luZyB0byBiZSBzZXQgYXMgdGhlXG4gKiB3b3JraW5nIGRpcmVjdG9yeSBmb3IgdGhlIGNvbW1hbmQvc2NyaXB0IGJlaW5nIGV4ZWN1dGVkLlxuICovXG5cbi8qKlxuICogRXhlY3V0ZXMgdGhlIGdpdmVuIEFwcGxlU2NyaXB0IGNvbW1hbmQgb3IgYSB3aG9sZSBzY3JpcHQgYmFzZWQgb24gdGhlXG4gKiBnaXZlbiBvcHRpb25zLiBFaXRoZXIgb2YgdGhlc2Ugb3B0aW9ucyBtdXN0IGJlIHByb3ZpZGVkLiBJZiBib3RoIGFyZSBwcm92aWRlZFxuICogdGhlbiB0aGUgYGNvbW1hbmRgIG9uZSBnZXRzIHRoZSBwcmlvcml0eS5cbiAqIE5vdGUgdGhhdCBBcHBsZVNjcmlwdCBjb21tYW5kIGNhbm5vdCBjb250YWluIGxpbmUgYnJlYWtzLiBDb25zaWRlciBtYWtpbmcgaXRcbiAqIHRvIGEgc2NyaXB0IGluIHN1Y2ggY2FzZS5cbiAqIE5vdGUgdGhhdCBieSBkZWZhdWx0IEFwcGxlU2NyaXB0IGVuZ2luZSBibG9ja3MgY29tbWFuZHMvc2NyaXB0cyBleGVjdXRpb24gaWYgeW91ciBzY3JpcHRcbiAqIGlzIHRyeWluZyB0byBhY2Nlc3Mgc29tZSBwcml2YXRlIGVudGl0aWVzLCBsaWtlIGNhbWVyYXMgb3IgdGhlIGRlc2t0b3Agc2NyZWVuXG4gKiBhbmQgbm8gcGVybWlzc2lvbnMgdG8gZG8gaXQgYXJlIGdpdmVuIHRvIHRoZSBwYXJlbnQgKGZvciBleGFtcGxlLCBBcHBpdW0gb3IgVGVybWluYWwpXG4gKiBwcm9jZXNzIGluIFN5c3RlbSBQcmVmZXJlbmNlcyAtPiBQcml2YWN5IGxpc3QuXG4gKlxuICogQHBhcmFtIHshRXhlY0FwcGxlU2NyaXB0T3B0aW9uc30gb3B0c1xuICogQHJldHVybnMge3N0cmluZ30gVGhlIGFjdHVhbCBzdGRvdXQgb2YgdGhlIGdpdmVuIGNvbW1hbmQvc2NyaXB0XG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGV4aXQgY29kZSBvZiB0aGUgZ2l2ZW4gY29tbWFuZC9zY3JpcHQgaXMgbm90IHplcm8uXG4gKiBUaGUgYWN0dWFsIHN0ZGVyciBvdXRwdXQgaXMgc2V0IHRvIHRoZSBlcnJvciBtZXNzYWdlIHZhbHVlLlxuICovXG5jb21tYW5kcy5tYWNvc0V4ZWNBcHBsZVNjcmlwdCA9IGFzeW5jIGZ1bmN0aW9uIG1hY29zRXhlY0FwcGxlU2NyaXB0IChvcHRzID0ge30pIHtcbiAgdGhpcy5lbnN1cmVGZWF0dXJlRW5hYmxlZChBUFBMRV9TQ1JJUFRfRkVBVFVSRSk7XG5cbiAgY29uc3Qge1xuICAgIHNjcmlwdCxcbiAgICBsYW5ndWFnZSxcbiAgICBjb21tYW5kLFxuICAgIGN3ZCxcbiAgICB0aW1lb3V0LFxuICB9ID0gb3B0cztcbiAgaWYgKCFzY3JpcHQgJiYgIWNvbW1hbmQpIHtcbiAgICBsb2cuZXJyb3JBbmRUaHJvdygnQXBwbGVTY3JpcHQgc2NyaXB0L2NvbW1hbmQgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxuICBpZiAoL1xcbi8udGVzdChjb21tYW5kKSkge1xuICAgIGxvZy5lcnJvckFuZFRocm93KCdBcHBsZVNjcmlwdCBjb21tYW5kcyBjYW5ub3QgY29udGFpbiBsaW5lIGJyZWFrcycpO1xuICB9XG4gIC8vICdjb21tYW5kJyBoYXMgcHJpb3JpdHkgb3ZlciAnc2NyaXB0J1xuICBjb25zdCBzaG91bGRSdW5TY3JpcHQgPSAhY29tbWFuZDtcblxuICBjb25zdCBhcmdzID0gW107XG4gIGlmIChsYW5ndWFnZSkge1xuICAgIGFyZ3MucHVzaCgnLWwnLCBsYW5ndWFnZSk7XG4gIH1cbiAgbGV0IHRtcFJvb3Q7XG4gIHRyeSB7XG4gICAgaWYgKHNob3VsZFJ1blNjcmlwdCkge1xuICAgICAgdG1wUm9vdCA9IGF3YWl0IHRlbXBEaXIub3BlbkRpcigpO1xuICAgICAgY29uc3QgdG1wU2NyaXB0UGF0aCA9IHBhdGgucmVzb2x2ZSh0bXBSb290LCAnYXBwaXVtX3NjcmlwdC5zY3B0Jyk7XG4gICAgICBhd2FpdCBmcy53cml0ZUZpbGUodG1wU2NyaXB0UGF0aCwgc2NyaXB0LCAndXRmOCcpO1xuICAgICAgYXJncy5wdXNoKHRtcFNjcmlwdFBhdGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcmdzLnB1c2goJy1lJywgY29tbWFuZCk7XG4gICAgfVxuICAgIGxvZy5pbmZvKGBSdW5uaW5nICR7T1NBU0NSSVBUfSB3aXRoIGFyZ3VtZW50czogJHt1dGlsLnF1b3RlKGFyZ3MpfWApO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IGV4ZWMoT1NBU0NSSVBULCBhcmdzLCB7Y3dkLCB0aW1lb3V0fSk7XG4gICAgICByZXR1cm4gc3Rkb3V0O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihlLnN0ZGVyciB8fCBlLm1lc3NhZ2UpO1xuICAgIH1cbiAgfSBmaW5hbGx5IHtcbiAgICBpZiAodG1wUm9vdCkge1xuICAgICAgYXdhaXQgZnMucmltcmFmKHRtcFJvb3QpO1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IHsgY29tbWFuZHMgfTtcbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUEsTUFBTUEsU0FBUyxHQUFHLFdBQVc7QUFDN0IsTUFBTUMsb0JBQW9CLEdBQUcsY0FBYztBQUUzQyxNQUFNQyxRQUFRLEdBQUcsQ0FBQyxDQUFDOztBQUFDOztBQThCcEJBLFFBQVEsQ0FBQ0Msb0JBQW9CLEdBQUcsZUFBZUEsb0JBQW9CLENBQUVDLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRTtFQUM5RSxJQUFJLENBQUNDLG9CQUFvQixDQUFDSixvQkFBb0IsQ0FBQztFQUUvQyxNQUFNO0lBQ0pLLE1BQU07SUFDTkMsUUFBUTtJQUNSQyxPQUFPO0lBQ1BDLEdBQUc7SUFDSEM7RUFDRixDQUFDLEdBQUdOLElBQUk7RUFDUixJQUFJLENBQUNFLE1BQU0sSUFBSSxDQUFDRSxPQUFPLEVBQUU7SUFDdkJHLGVBQUcsQ0FBQ0MsYUFBYSxDQUFDLDhDQUE4QyxDQUFDO0VBQ25FO0VBQ0EsSUFBSSxJQUFJLENBQUNDLElBQUksQ0FBQ0wsT0FBTyxDQUFDLEVBQUU7SUFDdEJHLGVBQUcsQ0FBQ0MsYUFBYSxDQUFDLGlEQUFpRCxDQUFDO0VBQ3RFO0VBRUEsTUFBTUUsZUFBZSxHQUFHLENBQUNOLE9BQU87RUFFaEMsTUFBTU8sSUFBSSxHQUFHLEVBQUU7RUFDZixJQUFJUixRQUFRLEVBQUU7SUFDWlEsSUFBSSxDQUFDQyxJQUFJLENBQUMsSUFBSSxFQUFFVCxRQUFRLENBQUM7RUFDM0I7RUFDQSxJQUFJVSxPQUFPO0VBQ1gsSUFBSTtJQUNGLElBQUlILGVBQWUsRUFBRTtNQUNuQkcsT0FBTyxHQUFHLE1BQU1DLGdCQUFPLENBQUNDLE9BQU8sRUFBRTtNQUNqQyxNQUFNQyxhQUFhLEdBQUdDLGFBQUksQ0FBQ0MsT0FBTyxDQUFDTCxPQUFPLEVBQUUsb0JBQW9CLENBQUM7TUFDakUsTUFBTU0sV0FBRSxDQUFDQyxTQUFTLENBQUNKLGFBQWEsRUFBRWQsTUFBTSxFQUFFLE1BQU0sQ0FBQztNQUNqRFMsSUFBSSxDQUFDQyxJQUFJLENBQUNJLGFBQWEsQ0FBQztJQUMxQixDQUFDLE1BQU07TUFDTEwsSUFBSSxDQUFDQyxJQUFJLENBQUMsSUFBSSxFQUFFUixPQUFPLENBQUM7SUFDMUI7SUFDQUcsZUFBRyxDQUFDYyxJQUFJLENBQUUsV0FBVXpCLFNBQVUsb0JBQW1CMEIsYUFBSSxDQUFDQyxLQUFLLENBQUNaLElBQUksQ0FBRSxFQUFDLENBQUM7SUFDcEUsSUFBSTtNQUNGLE1BQU07UUFBQ2E7TUFBTSxDQUFDLEdBQUcsTUFBTSxJQUFBQyxrQkFBSSxFQUFDN0IsU0FBUyxFQUFFZSxJQUFJLEVBQUU7UUFBQ04sR0FBRztRQUFFQztNQUFPLENBQUMsQ0FBQztNQUM1RCxPQUFPa0IsTUFBTTtJQUNmLENBQUMsQ0FBQyxPQUFPRSxDQUFDLEVBQUU7TUFDVixNQUFNLElBQUlDLEtBQUssQ0FBQ0QsQ0FBQyxDQUFDRSxNQUFNLElBQUlGLENBQUMsQ0FBQ0csT0FBTyxDQUFDO0lBQ3hDO0VBQ0YsQ0FBQyxTQUFTO0lBQ1IsSUFBSWhCLE9BQU8sRUFBRTtNQUNYLE1BQU1NLFdBQUUsQ0FBQ1csTUFBTSxDQUFDakIsT0FBTyxDQUFDO0lBQzFCO0VBQ0Y7QUFDRixDQUFDO0FBQUMsZUFHYWYsUUFBUTtBQUFBIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applescript.js","names":["OSASCRIPT","APPLE_SCRIPT_FEATURE","commands","macosExecAppleScript","opts","ensureFeatureEnabled","script","language","command","cwd","timeout","log","errorAndThrow","test","shouldRunScript","args","push","tmpRoot","tempDir","openDir","tmpScriptPath","path","resolve","fs","writeFile","info","util","quote","stdout","exec","e","Error","stderr","message","rimraf"],"sources":["../../../lib/commands/applescript.js"],"sourcesContent":["import { fs, tempDir, util } from 'appium/support';\nimport { exec } from 'teen_process';\nimport log from '../logger';\nimport path from 'path';\n\nconst OSASCRIPT = 'osascript';\nconst APPLE_SCRIPT_FEATURE = 'apple_script';\n\nconst commands = {};\n\n/**\n * @typedef {Object} ExecAppleScriptOptions\n * @property {?string} script A valid AppleScript to execute\n * @property {?string} language Overrides the scripting language. Basically, sets the value of `-l` command\n * line argument of `osascript` tool. If unset the AppleScript language is assumed.\n * @property {?string} command A valid AppleScript as a single command (no line breaks) to execute\n * @property {?number} timeout [20000] The number of seconds to wait until a long-running command is\n * finished. An error is thrown if the command is still running after this timeout expires.\n * @property {?string} cwd The path to an existing folder, which is going to be set as the\n * working directory for the command/script being executed.\n */\n\n/**\n * Executes the given AppleScript command or a whole script based on the\n * given options. Either of these options must be provided. If both are provided\n * then the `command` one gets the priority.\n * Note that AppleScript command cannot contain line breaks. Consider making it\n * to a script in such case.\n * Note that by default AppleScript engine blocks commands/scripts execution if your script\n * is trying to access some private entities, like cameras or the desktop screen\n * and no permissions to do it are given to the parent (for example, Appium or Terminal)\n * process in System Preferences -> Privacy list.\n *\n * @param {!ExecAppleScriptOptions} opts\n * @returns {string} The actual stdout of the given command/script\n * @throws {Error} If the exit code of the given command/script is not zero.\n * The actual stderr output is set to the error message value.\n */\ncommands.macosExecAppleScript = async function macosExecAppleScript (opts = {}) {\n this.ensureFeatureEnabled(APPLE_SCRIPT_FEATURE);\n\n const {\n script,\n language,\n command,\n cwd,\n timeout,\n } = opts;\n if (!script && !command) {\n log.errorAndThrow('AppleScript script/command must not be empty');\n }\n if (/\\n/.test(command)) {\n log.errorAndThrow('AppleScript commands cannot contain line breaks');\n }\n // 'command' has priority over 'script'\n const shouldRunScript = !command;\n\n const args = [];\n if (language) {\n args.push('-l', language);\n }\n let tmpRoot;\n try {\n if (shouldRunScript) {\n tmpRoot = await tempDir.openDir();\n const tmpScriptPath = path.resolve(tmpRoot, 'appium_script.scpt');\n await fs.writeFile(tmpScriptPath, script, 'utf8');\n args.push(tmpScriptPath);\n } else {\n args.push('-e', command);\n }\n log.info(`Running ${OSASCRIPT} with arguments: ${util.quote(args)}`);\n try {\n const {stdout} = await exec(OSASCRIPT, args, {cwd, timeout});\n return stdout;\n } catch (e) {\n throw new Error(e.stderr || e.message);\n }\n } finally {\n if (tmpRoot) {\n await fs.rimraf(tmpRoot);\n }\n }\n};\n\nexport { commands };\nexport default commands;\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AAEA,MAAMA,SAAS,GAAG,WAAW;AAC7B,MAAMC,oBAAoB,GAAG,cAAc;AAE3C,MAAMC,QAAQ,GAAG,CAAC,CAAC;;AAAC;;AA8BpBA,QAAQ,CAACC,oBAAoB,GAAG,eAAeA,oBAAoB,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAE;EAC9E,IAAI,CAACC,oBAAoB,CAACJ,oBAAoB,CAAC;EAE/C,MAAM;IACJK,MAAM;IACNC,QAAQ;IACRC,OAAO;IACPC,GAAG;IACHC;EACF,CAAC,GAAGN,IAAI;EACR,IAAI,CAACE,MAAM,IAAI,CAACE,OAAO,EAAE;IACvBG,eAAG,CAACC,aAAa,CAAC,8CAA8C,CAAC;EACnE;EACA,IAAI,IAAI,CAACC,IAAI,CAACL,OAAO,CAAC,EAAE;IACtBG,eAAG,CAACC,aAAa,CAAC,iDAAiD,CAAC;EACtE;EAEA,MAAME,eAAe,GAAG,CAACN,OAAO;EAEhC,MAAMO,IAAI,GAAG,EAAE;EACf,IAAIR,QAAQ,EAAE;IACZQ,IAAI,CAACC,IAAI,CAAC,IAAI,EAAET,QAAQ,CAAC;EAC3B;EACA,IAAIU,OAAO;EACX,IAAI;IACF,IAAIH,eAAe,EAAE;MACnBG,OAAO,GAAG,MAAMC,gBAAO,CAACC,OAAO,EAAE;MACjC,MAAMC,aAAa,GAAGC,aAAI,CAACC,OAAO,CAACL,OAAO,EAAE,oBAAoB,CAAC;MACjE,MAAMM,WAAE,CAACC,SAAS,CAACJ,aAAa,EAAEd,MAAM,EAAE,MAAM,CAAC;MACjDS,IAAI,CAACC,IAAI,CAACI,aAAa,CAAC;IAC1B,CAAC,MAAM;MACLL,IAAI,CAACC,IAAI,CAAC,IAAI,EAAER,OAAO,CAAC;IAC1B;IACAG,eAAG,CAACc,IAAI,CAAE,WAAUzB,SAAU,oBAAmB0B,aAAI,CAACC,KAAK,CAACZ,IAAI,CAAE,EAAC,CAAC;IACpE,IAAI;MACF,MAAM;QAACa;MAAM,CAAC,GAAG,MAAM,IAAAC,kBAAI,EAAC7B,SAAS,EAAEe,IAAI,EAAE;QAACN,GAAG;QAAEC;MAAO,CAAC,CAAC;MAC5D,OAAOkB,MAAM;IACf,CAAC,CAAC,OAAOE,CAAC,EAAE;MACV,MAAM,IAAIC,KAAK,CAACD,CAAC,CAACE,MAAM,IAAIF,CAAC,CAACG,OAAO,CAAC;IACxC;EACF,CAAC,SAAS;IACR,IAAIhB,OAAO,EAAE;MACX,MAAMM,WAAE,CAACW,MAAM,CAACjB,OAAO,CAAC;IAC1B;EACF;AACF,CAAC;AAAC,eAGaf,QAAQ;AAAA"}
@@ -1,20 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  require("source-map-support/register");
11
-
12
9
  var _lodash = _interopRequireDefault(require("lodash"));
13
-
14
10
  var _driver = require("appium/driver");
15
-
16
11
  var _logger = _interopRequireDefault(require("../logger"));
17
-
18
12
  const commands = {};
19
13
  const EXTENSION_COMMANDS_MAPPING = {
20
14
  setValue: 'macosSetValue',
@@ -42,26 +36,20 @@ const EXTENSION_COMMANDS_MAPPING = {
42
36
  stopRecordingScreen: 'stopRecordingScreen',
43
37
  screenshots: 'macosScreenshots'
44
38
  };
45
-
46
39
  commands.execute = async function execute(script, args) {
47
40
  if (script.match(/^macos:/)) {
48
41
  _logger.default.info(`Executing extension command '${script}'`);
49
-
50
42
  script = script.replace(/^macos:/, '').trim();
51
43
  return await this.executeMacosCommand(script, _lodash.default.isArray(args) ? args[0] : args);
52
44
  }
53
-
54
45
  throw new _driver.errors.NotImplementedError();
55
46
  };
56
-
57
47
  commands.executeMacosCommand = async function executeMacosCommand(command, opts = {}) {
58
48
  if (!_lodash.default.has(EXTENSION_COMMANDS_MAPPING, command)) {
59
49
  throw new _driver.errors.UnknownCommandError(`Unknown extension command "${command}". ` + `Only ${_lodash.default.keys(EXTENSION_COMMANDS_MAPPING)} commands are supported.`);
60
50
  }
61
-
62
51
  return await this[EXTENSION_COMMANDS_MAPPING[command]](opts);
63
52
  };
64
-
65
53
  var _default = commands;
66
54
  exports.default = _default;
67
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsIkVYVEVOU0lPTl9DT01NQU5EU19NQVBQSU5HIiwic2V0VmFsdWUiLCJjbGljayIsInNjcm9sbCIsInN3aXBlIiwicmlnaHRDbGljayIsImhvdmVyIiwiZG91YmxlQ2xpY2siLCJjbGlja0FuZERyYWciLCJjbGlja0FuZERyYWdBbmRIb2xkIiwia2V5cyIsInRhcCIsImRvdWJsZVRhcCIsInByZXNzIiwicHJlc3NBbmREcmFnIiwicHJlc3NBbmREcmFnQW5kSG9sZCIsInNvdXJjZSIsImxhdW5jaEFwcCIsImFjdGl2YXRlQXBwIiwidGVybWluYXRlQXBwIiwicXVlcnlBcHBTdGF0ZSIsImFwcGxlU2NyaXB0Iiwic3RhcnRSZWNvcmRpbmdTY3JlZW4iLCJzdG9wUmVjb3JkaW5nU2NyZWVuIiwic2NyZWVuc2hvdHMiLCJleGVjdXRlIiwic2NyaXB0IiwiYXJncyIsIm1hdGNoIiwibG9nIiwiaW5mbyIsInJlcGxhY2UiLCJ0cmltIiwiZXhlY3V0ZU1hY29zQ29tbWFuZCIsIl8iLCJpc0FycmF5IiwiZXJyb3JzIiwiTm90SW1wbGVtZW50ZWRFcnJvciIsImNvbW1hbmQiLCJvcHRzIiwiaGFzIiwiVW5rbm93bkNvbW1hbmRFcnJvciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jb21tYW5kcy9leGVjdXRlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBlcnJvcnMgfSBmcm9tICdhcHBpdW0vZHJpdmVyJztcbmltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcblxuY29uc3QgY29tbWFuZHMgPSB7fTtcblxuY29uc3QgRVhURU5TSU9OX0NPTU1BTkRTX01BUFBJTkcgPSB7XG4gIHNldFZhbHVlOiAnbWFjb3NTZXRWYWx1ZScsXG4gIGNsaWNrOiAnbWFjb3NDbGljaycsXG4gIHNjcm9sbDogJ21hY29zU2Nyb2xsJyxcbiAgc3dpcGU6ICdtYWNvc1N3aXBlJyxcbiAgcmlnaHRDbGljazogJ21hY29zUmlnaHRDbGljaycsXG4gIGhvdmVyOiAnbWFjb3NIb3ZlcicsXG4gIGRvdWJsZUNsaWNrOiAnbWFjb3NEb3VibGVDbGljaycsXG4gIGNsaWNrQW5kRHJhZzogJ21hY29zQ2xpY2tBbmREcmFnJyxcbiAgY2xpY2tBbmREcmFnQW5kSG9sZDogJ21hY29zQ2xpY2tBbmREcmFnQW5kSG9sZCcsXG4gIGtleXM6ICdtYWNvc0tleXMnLFxuXG4gIHRhcDogJ21hY29zVGFwJyxcbiAgZG91YmxlVGFwOiAnbWFjb3NEb3VibGVUYXAnLFxuICBwcmVzczogJ21hY29zUHJlc3MnLFxuICBwcmVzc0FuZERyYWc6ICdtYWNvc1ByZXNzQW5kRHJhZycsXG4gIHByZXNzQW5kRHJhZ0FuZEhvbGQ6ICdtYWNvc1ByZXNzQW5kRHJhZ0FuZEhvbGQnLFxuXG4gIHNvdXJjZTogJ21hY29zU291cmNlJyxcblxuICBsYXVuY2hBcHA6ICdtYWNvc0xhdW5jaEFwcCcsXG4gIGFjdGl2YXRlQXBwOiAnbWFjb3NBY3RpdmF0ZUFwcCcsXG4gIHRlcm1pbmF0ZUFwcDogJ21hY29zVGVybWluYXRlQXBwJyxcbiAgcXVlcnlBcHBTdGF0ZTogJ21hY29zUXVlcnlBcHBTdGF0ZScsXG5cbiAgYXBwbGVTY3JpcHQ6ICdtYWNvc0V4ZWNBcHBsZVNjcmlwdCcsXG5cbiAgc3RhcnRSZWNvcmRpbmdTY3JlZW46ICdzdGFydFJlY29yZGluZ1NjcmVlbicsXG4gIHN0b3BSZWNvcmRpbmdTY3JlZW46ICdzdG9wUmVjb3JkaW5nU2NyZWVuJyxcblxuICBzY3JlZW5zaG90czogJ21hY29zU2NyZWVuc2hvdHMnLFxufTtcblxuY29tbWFuZHMuZXhlY3V0ZSA9IGFzeW5jIGZ1bmN0aW9uIGV4ZWN1dGUgKHNjcmlwdCwgYXJncykge1xuICBpZiAoc2NyaXB0Lm1hdGNoKC9ebWFjb3M6LykpIHtcbiAgICBsb2cuaW5mbyhgRXhlY3V0aW5nIGV4dGVuc2lvbiBjb21tYW5kICcke3NjcmlwdH0nYCk7XG4gICAgc2NyaXB0ID0gc2NyaXB0LnJlcGxhY2UoL15tYWNvczovLCAnJykudHJpbSgpO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmV4ZWN1dGVNYWNvc0NvbW1hbmQoc2NyaXB0LCBfLmlzQXJyYXkoYXJncykgPyBhcmdzWzBdIDogYXJncyk7XG4gIH1cbiAgdGhyb3cgbmV3IGVycm9ycy5Ob3RJbXBsZW1lbnRlZEVycm9yKCk7XG59O1xuXG5jb21tYW5kcy5leGVjdXRlTWFjb3NDb21tYW5kID0gYXN5bmMgZnVuY3Rpb24gZXhlY3V0ZU1hY29zQ29tbWFuZCAoY29tbWFuZCwgb3B0cyA9IHt9KSB7XG4gIGlmICghXy5oYXMoRVhURU5TSU9OX0NPTU1BTkRTX01BUFBJTkcsIGNvbW1hbmQpKSB7XG4gICAgdGhyb3cgbmV3IGVycm9ycy5Vbmtub3duQ29tbWFuZEVycm9yKGBVbmtub3duIGV4dGVuc2lvbiBjb21tYW5kIFwiJHtjb21tYW5kfVwiLiBgICtcbiAgICAgIGBPbmx5ICR7Xy5rZXlzKEVYVEVOU0lPTl9DT01NQU5EU19NQVBQSU5HKX0gY29tbWFuZHMgYXJlIHN1cHBvcnRlZC5gKTtcbiAgfVxuICByZXR1cm4gYXdhaXQgdGhpc1tFWFRFTlNJT05fQ09NTUFORFNfTUFQUElOR1tjb21tYW5kXV0ob3B0cyk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQSxNQUFNQSxRQUFRLEdBQUcsRUFBakI7QUFFQSxNQUFNQywwQkFBMEIsR0FBRztFQUNqQ0MsUUFBUSxFQUFFLGVBRHVCO0VBRWpDQyxLQUFLLEVBQUUsWUFGMEI7RUFHakNDLE1BQU0sRUFBRSxhQUh5QjtFQUlqQ0MsS0FBSyxFQUFFLFlBSjBCO0VBS2pDQyxVQUFVLEVBQUUsaUJBTHFCO0VBTWpDQyxLQUFLLEVBQUUsWUFOMEI7RUFPakNDLFdBQVcsRUFBRSxrQkFQb0I7RUFRakNDLFlBQVksRUFBRSxtQkFSbUI7RUFTakNDLG1CQUFtQixFQUFFLDBCQVRZO0VBVWpDQyxJQUFJLEVBQUUsV0FWMkI7RUFZakNDLEdBQUcsRUFBRSxVQVo0QjtFQWFqQ0MsU0FBUyxFQUFFLGdCQWJzQjtFQWNqQ0MsS0FBSyxFQUFFLFlBZDBCO0VBZWpDQyxZQUFZLEVBQUUsbUJBZm1CO0VBZ0JqQ0MsbUJBQW1CLEVBQUUsMEJBaEJZO0VBa0JqQ0MsTUFBTSxFQUFFLGFBbEJ5QjtFQW9CakNDLFNBQVMsRUFBRSxnQkFwQnNCO0VBcUJqQ0MsV0FBVyxFQUFFLGtCQXJCb0I7RUFzQmpDQyxZQUFZLEVBQUUsbUJBdEJtQjtFQXVCakNDLGFBQWEsRUFBRSxvQkF2QmtCO0VBeUJqQ0MsV0FBVyxFQUFFLHNCQXpCb0I7RUEyQmpDQyxvQkFBb0IsRUFBRSxzQkEzQlc7RUE0QmpDQyxtQkFBbUIsRUFBRSxxQkE1Qlk7RUE4QmpDQyxXQUFXLEVBQUU7QUE5Qm9CLENBQW5DOztBQWlDQXpCLFFBQVEsQ0FBQzBCLE9BQVQsR0FBbUIsZUFBZUEsT0FBZixDQUF3QkMsTUFBeEIsRUFBZ0NDLElBQWhDLEVBQXNDO0VBQ3ZELElBQUlELE1BQU0sQ0FBQ0UsS0FBUCxDQUFhLFNBQWIsQ0FBSixFQUE2QjtJQUMzQkMsZUFBQSxDQUFJQyxJQUFKLENBQVUsZ0NBQStCSixNQUFPLEdBQWhEOztJQUNBQSxNQUFNLEdBQUdBLE1BQU0sQ0FBQ0ssT0FBUCxDQUFlLFNBQWYsRUFBMEIsRUFBMUIsRUFBOEJDLElBQTlCLEVBQVQ7SUFDQSxPQUFPLE1BQU0sS0FBS0MsbUJBQUwsQ0FBeUJQLE1BQXpCLEVBQWlDUSxlQUFBLENBQUVDLE9BQUYsQ0FBVVIsSUFBVixJQUFrQkEsSUFBSSxDQUFDLENBQUQsQ0FBdEIsR0FBNEJBLElBQTdELENBQWI7RUFDRDs7RUFDRCxNQUFNLElBQUlTLGNBQUEsQ0FBT0MsbUJBQVgsRUFBTjtBQUNELENBUEQ7O0FBU0F0QyxRQUFRLENBQUNrQyxtQkFBVCxHQUErQixlQUFlQSxtQkFBZixDQUFvQ0ssT0FBcEMsRUFBNkNDLElBQUksR0FBRyxFQUFwRCxFQUF3RDtFQUNyRixJQUFJLENBQUNMLGVBQUEsQ0FBRU0sR0FBRixDQUFNeEMsMEJBQU4sRUFBa0NzQyxPQUFsQyxDQUFMLEVBQWlEO0lBQy9DLE1BQU0sSUFBSUYsY0FBQSxDQUFPSyxtQkFBWCxDQUFnQyw4QkFBNkJILE9BQVEsS0FBdEMsR0FDbEMsUUFBT0osZUFBQSxDQUFFeEIsSUFBRixDQUFPViwwQkFBUCxDQUFtQywwQkFEdkMsQ0FBTjtFQUVEOztFQUNELE9BQU8sTUFBTSxLQUFLQSwwQkFBMEIsQ0FBQ3NDLE9BQUQsQ0FBL0IsRUFBMENDLElBQTFDLENBQWI7QUFDRCxDQU5EOztlQVFleEMsUSJ9
55
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsIkVYVEVOU0lPTl9DT01NQU5EU19NQVBQSU5HIiwic2V0VmFsdWUiLCJjbGljayIsInNjcm9sbCIsInN3aXBlIiwicmlnaHRDbGljayIsImhvdmVyIiwiZG91YmxlQ2xpY2siLCJjbGlja0FuZERyYWciLCJjbGlja0FuZERyYWdBbmRIb2xkIiwia2V5cyIsInRhcCIsImRvdWJsZVRhcCIsInByZXNzIiwicHJlc3NBbmREcmFnIiwicHJlc3NBbmREcmFnQW5kSG9sZCIsInNvdXJjZSIsImxhdW5jaEFwcCIsImFjdGl2YXRlQXBwIiwidGVybWluYXRlQXBwIiwicXVlcnlBcHBTdGF0ZSIsImFwcGxlU2NyaXB0Iiwic3RhcnRSZWNvcmRpbmdTY3JlZW4iLCJzdG9wUmVjb3JkaW5nU2NyZWVuIiwic2NyZWVuc2hvdHMiLCJleGVjdXRlIiwic2NyaXB0IiwiYXJncyIsIm1hdGNoIiwibG9nIiwiaW5mbyIsInJlcGxhY2UiLCJ0cmltIiwiZXhlY3V0ZU1hY29zQ29tbWFuZCIsIl8iLCJpc0FycmF5IiwiZXJyb3JzIiwiTm90SW1wbGVtZW50ZWRFcnJvciIsImNvbW1hbmQiLCJvcHRzIiwiaGFzIiwiVW5rbm93bkNvbW1hbmRFcnJvciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jb21tYW5kcy9leGVjdXRlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBlcnJvcnMgfSBmcm9tICdhcHBpdW0vZHJpdmVyJztcbmltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcblxuY29uc3QgY29tbWFuZHMgPSB7fTtcblxuY29uc3QgRVhURU5TSU9OX0NPTU1BTkRTX01BUFBJTkcgPSB7XG4gIHNldFZhbHVlOiAnbWFjb3NTZXRWYWx1ZScsXG4gIGNsaWNrOiAnbWFjb3NDbGljaycsXG4gIHNjcm9sbDogJ21hY29zU2Nyb2xsJyxcbiAgc3dpcGU6ICdtYWNvc1N3aXBlJyxcbiAgcmlnaHRDbGljazogJ21hY29zUmlnaHRDbGljaycsXG4gIGhvdmVyOiAnbWFjb3NIb3ZlcicsXG4gIGRvdWJsZUNsaWNrOiAnbWFjb3NEb3VibGVDbGljaycsXG4gIGNsaWNrQW5kRHJhZzogJ21hY29zQ2xpY2tBbmREcmFnJyxcbiAgY2xpY2tBbmREcmFnQW5kSG9sZDogJ21hY29zQ2xpY2tBbmREcmFnQW5kSG9sZCcsXG4gIGtleXM6ICdtYWNvc0tleXMnLFxuXG4gIHRhcDogJ21hY29zVGFwJyxcbiAgZG91YmxlVGFwOiAnbWFjb3NEb3VibGVUYXAnLFxuICBwcmVzczogJ21hY29zUHJlc3MnLFxuICBwcmVzc0FuZERyYWc6ICdtYWNvc1ByZXNzQW5kRHJhZycsXG4gIHByZXNzQW5kRHJhZ0FuZEhvbGQ6ICdtYWNvc1ByZXNzQW5kRHJhZ0FuZEhvbGQnLFxuXG4gIHNvdXJjZTogJ21hY29zU291cmNlJyxcblxuICBsYXVuY2hBcHA6ICdtYWNvc0xhdW5jaEFwcCcsXG4gIGFjdGl2YXRlQXBwOiAnbWFjb3NBY3RpdmF0ZUFwcCcsXG4gIHRlcm1pbmF0ZUFwcDogJ21hY29zVGVybWluYXRlQXBwJyxcbiAgcXVlcnlBcHBTdGF0ZTogJ21hY29zUXVlcnlBcHBTdGF0ZScsXG5cbiAgYXBwbGVTY3JpcHQ6ICdtYWNvc0V4ZWNBcHBsZVNjcmlwdCcsXG5cbiAgc3RhcnRSZWNvcmRpbmdTY3JlZW46ICdzdGFydFJlY29yZGluZ1NjcmVlbicsXG4gIHN0b3BSZWNvcmRpbmdTY3JlZW46ICdzdG9wUmVjb3JkaW5nU2NyZWVuJyxcblxuICBzY3JlZW5zaG90czogJ21hY29zU2NyZWVuc2hvdHMnLFxufTtcblxuY29tbWFuZHMuZXhlY3V0ZSA9IGFzeW5jIGZ1bmN0aW9uIGV4ZWN1dGUgKHNjcmlwdCwgYXJncykge1xuICBpZiAoc2NyaXB0Lm1hdGNoKC9ebWFjb3M6LykpIHtcbiAgICBsb2cuaW5mbyhgRXhlY3V0aW5nIGV4dGVuc2lvbiBjb21tYW5kICcke3NjcmlwdH0nYCk7XG4gICAgc2NyaXB0ID0gc2NyaXB0LnJlcGxhY2UoL15tYWNvczovLCAnJykudHJpbSgpO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmV4ZWN1dGVNYWNvc0NvbW1hbmQoc2NyaXB0LCBfLmlzQXJyYXkoYXJncykgPyBhcmdzWzBdIDogYXJncyk7XG4gIH1cbiAgdGhyb3cgbmV3IGVycm9ycy5Ob3RJbXBsZW1lbnRlZEVycm9yKCk7XG59O1xuXG5jb21tYW5kcy5leGVjdXRlTWFjb3NDb21tYW5kID0gYXN5bmMgZnVuY3Rpb24gZXhlY3V0ZU1hY29zQ29tbWFuZCAoY29tbWFuZCwgb3B0cyA9IHt9KSB7XG4gIGlmICghXy5oYXMoRVhURU5TSU9OX0NPTU1BTkRTX01BUFBJTkcsIGNvbW1hbmQpKSB7XG4gICAgdGhyb3cgbmV3IGVycm9ycy5Vbmtub3duQ29tbWFuZEVycm9yKGBVbmtub3duIGV4dGVuc2lvbiBjb21tYW5kIFwiJHtjb21tYW5kfVwiLiBgICtcbiAgICAgIGBPbmx5ICR7Xy5rZXlzKEVYVEVOU0lPTl9DT01NQU5EU19NQVBQSU5HKX0gY29tbWFuZHMgYXJlIHN1cHBvcnRlZC5gKTtcbiAgfVxuICByZXR1cm4gYXdhaXQgdGhpc1tFWFRFTlNJT05fQ09NTUFORFNfTUFQUElOR1tjb21tYW5kXV0ob3B0cyk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFFQSxNQUFNQSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBRW5CLE1BQU1DLDBCQUEwQixHQUFHO0VBQ2pDQyxRQUFRLEVBQUUsZUFBZTtFQUN6QkMsS0FBSyxFQUFFLFlBQVk7RUFDbkJDLE1BQU0sRUFBRSxhQUFhO0VBQ3JCQyxLQUFLLEVBQUUsWUFBWTtFQUNuQkMsVUFBVSxFQUFFLGlCQUFpQjtFQUM3QkMsS0FBSyxFQUFFLFlBQVk7RUFDbkJDLFdBQVcsRUFBRSxrQkFBa0I7RUFDL0JDLFlBQVksRUFBRSxtQkFBbUI7RUFDakNDLG1CQUFtQixFQUFFLDBCQUEwQjtFQUMvQ0MsSUFBSSxFQUFFLFdBQVc7RUFFakJDLEdBQUcsRUFBRSxVQUFVO0VBQ2ZDLFNBQVMsRUFBRSxnQkFBZ0I7RUFDM0JDLEtBQUssRUFBRSxZQUFZO0VBQ25CQyxZQUFZLEVBQUUsbUJBQW1CO0VBQ2pDQyxtQkFBbUIsRUFBRSwwQkFBMEI7RUFFL0NDLE1BQU0sRUFBRSxhQUFhO0VBRXJCQyxTQUFTLEVBQUUsZ0JBQWdCO0VBQzNCQyxXQUFXLEVBQUUsa0JBQWtCO0VBQy9CQyxZQUFZLEVBQUUsbUJBQW1CO0VBQ2pDQyxhQUFhLEVBQUUsb0JBQW9CO0VBRW5DQyxXQUFXLEVBQUUsc0JBQXNCO0VBRW5DQyxvQkFBb0IsRUFBRSxzQkFBc0I7RUFDNUNDLG1CQUFtQixFQUFFLHFCQUFxQjtFQUUxQ0MsV0FBVyxFQUFFO0FBQ2YsQ0FBQztBQUVEekIsUUFBUSxDQUFDMEIsT0FBTyxHQUFHLGVBQWVBLE9BQU8sQ0FBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUU7RUFDdkQsSUFBSUQsTUFBTSxDQUFDRSxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUU7SUFDM0JDLGVBQUcsQ0FBQ0MsSUFBSSxDQUFFLGdDQUErQkosTUFBTyxHQUFFLENBQUM7SUFDbkRBLE1BQU0sR0FBR0EsTUFBTSxDQUFDSyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDQyxJQUFJLEVBQUU7SUFDN0MsT0FBTyxNQUFNLElBQUksQ0FBQ0MsbUJBQW1CLENBQUNQLE1BQU0sRUFBRVEsZUFBQyxDQUFDQyxPQUFPLENBQUNSLElBQUksQ0FBQyxHQUFHQSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUdBLElBQUksQ0FBQztFQUNqRjtFQUNBLE1BQU0sSUFBSVMsY0FBTSxDQUFDQyxtQkFBbUIsRUFBRTtBQUN4QyxDQUFDO0FBRUR0QyxRQUFRLENBQUNrQyxtQkFBbUIsR0FBRyxlQUFlQSxtQkFBbUIsQ0FBRUssT0FBTyxFQUFFQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUU7RUFDckYsSUFBSSxDQUFDTCxlQUFDLENBQUNNLEdBQUcsQ0FBQ3hDLDBCQUEwQixFQUFFc0MsT0FBTyxDQUFDLEVBQUU7SUFDL0MsTUFBTSxJQUFJRixjQUFNLENBQUNLLG1CQUFtQixDQUFFLDhCQUE2QkgsT0FBUSxLQUFJLEdBQzVFLFFBQU9KLGVBQUMsQ0FBQ3hCLElBQUksQ0FBQ1YsMEJBQTBCLENBQUUsMEJBQXlCLENBQUM7RUFDekU7RUFDQSxPQUFPLE1BQU0sSUFBSSxDQUFDQSwwQkFBMEIsQ0FBQ3NDLE9BQU8sQ0FBQyxDQUFDLENBQUNDLElBQUksQ0FBQztBQUM5RCxDQUFDO0FBQUMsZUFFYXhDLFFBQVE7QUFBQSJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.js","names":["commands","EXTENSION_COMMANDS_MAPPING","setValue","click","scroll","swipe","rightClick","hover","doubleClick","clickAndDrag","clickAndDragAndHold","keys","tap","doubleTap","press","pressAndDrag","pressAndDragAndHold","source","launchApp","activateApp","terminateApp","queryAppState","appleScript","startRecordingScreen","stopRecordingScreen","screenshots","execute","script","args","match","log","info","replace","trim","executeMacosCommand","_","isArray","errors","NotImplementedError","command","opts","has","UnknownCommandError"],"sources":["../../../lib/commands/execute.js"],"sourcesContent":["import _ from 'lodash';\nimport { errors } from 'appium/driver';\nimport log from '../logger';\n\nconst commands = {};\n\nconst EXTENSION_COMMANDS_MAPPING = {\n setValue: 'macosSetValue',\n click: 'macosClick',\n scroll: 'macosScroll',\n swipe: 'macosSwipe',\n rightClick: 'macosRightClick',\n hover: 'macosHover',\n doubleClick: 'macosDoubleClick',\n clickAndDrag: 'macosClickAndDrag',\n clickAndDragAndHold: 'macosClickAndDragAndHold',\n keys: 'macosKeys',\n\n tap: 'macosTap',\n doubleTap: 'macosDoubleTap',\n press: 'macosPress',\n pressAndDrag: 'macosPressAndDrag',\n pressAndDragAndHold: 'macosPressAndDragAndHold',\n\n source: 'macosSource',\n\n launchApp: 'macosLaunchApp',\n activateApp: 'macosActivateApp',\n terminateApp: 'macosTerminateApp',\n queryAppState: 'macosQueryAppState',\n\n appleScript: 'macosExecAppleScript',\n\n startRecordingScreen: 'startRecordingScreen',\n stopRecordingScreen: 'stopRecordingScreen',\n\n screenshots: 'macosScreenshots',\n};\n\ncommands.execute = async function execute (script, args) {\n if (script.match(/^macos:/)) {\n log.info(`Executing extension command '${script}'`);\n script = script.replace(/^macos:/, '').trim();\n return await this.executeMacosCommand(script, _.isArray(args) ? args[0] : args);\n }\n throw new errors.NotImplementedError();\n};\n\ncommands.executeMacosCommand = async function executeMacosCommand (command, opts = {}) {\n if (!_.has(EXTENSION_COMMANDS_MAPPING, command)) {\n throw new errors.UnknownCommandError(`Unknown extension command \"${command}\". ` +\n `Only ${_.keys(EXTENSION_COMMANDS_MAPPING)} commands are supported.`);\n }\n return await this[EXTENSION_COMMANDS_MAPPING[command]](opts);\n};\n\nexport default commands;\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AAEA,MAAMA,QAAQ,GAAG,CAAC,CAAC;AAEnB,MAAMC,0BAA0B,GAAG;EACjCC,QAAQ,EAAE,eAAe;EACzBC,KAAK,EAAE,YAAY;EACnBC,MAAM,EAAE,aAAa;EACrBC,KAAK,EAAE,YAAY;EACnBC,UAAU,EAAE,iBAAiB;EAC7BC,KAAK,EAAE,YAAY;EACnBC,WAAW,EAAE,kBAAkB;EAC/BC,YAAY,EAAE,mBAAmB;EACjCC,mBAAmB,EAAE,0BAA0B;EAC/CC,IAAI,EAAE,WAAW;EAEjBC,GAAG,EAAE,UAAU;EACfC,SAAS,EAAE,gBAAgB;EAC3BC,KAAK,EAAE,YAAY;EACnBC,YAAY,EAAE,mBAAmB;EACjCC,mBAAmB,EAAE,0BAA0B;EAE/CC,MAAM,EAAE,aAAa;EAErBC,SAAS,EAAE,gBAAgB;EAC3BC,WAAW,EAAE,kBAAkB;EAC/BC,YAAY,EAAE,mBAAmB;EACjCC,aAAa,EAAE,oBAAoB;EAEnCC,WAAW,EAAE,sBAAsB;EAEnCC,oBAAoB,EAAE,sBAAsB;EAC5CC,mBAAmB,EAAE,qBAAqB;EAE1CC,WAAW,EAAE;AACf,CAAC;AAEDzB,QAAQ,CAAC0B,OAAO,GAAG,eAAeA,OAAO,CAAEC,MAAM,EAAEC,IAAI,EAAE;EACvD,IAAID,MAAM,CAACE,KAAK,CAAC,SAAS,CAAC,EAAE;IAC3BC,eAAG,CAACC,IAAI,CAAE,gCAA+BJ,MAAO,GAAE,CAAC;IACnDA,MAAM,GAAGA,MAAM,CAACK,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAACC,IAAI,EAAE;IAC7C,OAAO,MAAM,IAAI,CAACC,mBAAmB,CAACP,MAAM,EAAEQ,eAAC,CAACC,OAAO,CAACR,IAAI,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI,CAAC;EACjF;EACA,MAAM,IAAIS,cAAM,CAACC,mBAAmB,EAAE;AACxC,CAAC;AAEDtC,QAAQ,CAACkC,mBAAmB,GAAG,eAAeA,mBAAmB,CAAEK,OAAO,EAAEC,IAAI,GAAG,CAAC,CAAC,EAAE;EACrF,IAAI,CAACL,eAAC,CAACM,GAAG,CAACxC,0BAA0B,EAAEsC,OAAO,CAAC,EAAE;IAC/C,MAAM,IAAIF,cAAM,CAACK,mBAAmB,CAAE,8BAA6BH,OAAQ,KAAI,GAC5E,QAAOJ,eAAC,CAACxB,IAAI,CAACV,0BAA0B,CAAE,0BAAyB,CAAC;EACzE;EACA,OAAO,MAAM,IAAI,CAACA,0BAA0B,CAACsC,OAAO,CAAC,CAAC,CAACC,IAAI,CAAC;AAC9D,CAAC;AAAC,eAEaxC,QAAQ;AAAA"}
@@ -4,30 +4,24 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.commands = void 0;
7
-
8
7
  require("source-map-support/register");
9
-
10
8
  var _support = require("appium/support");
11
-
12
9
  const commands = {};
13
- exports.commands = commands;
14
10
 
11
+ exports.commands = commands;
15
12
  commands.findElOrEls = async function findElOrEls(strategy, selector, mult, context) {
16
13
  context = _support.util.unwrapElement(context);
17
14
  const endpoint = `/element${context ? `/${context}/element` : ''}${mult ? 's' : ''}`;
18
-
19
15
  if (strategy === '-ios predicate string') {
20
16
  strategy = 'predicate string';
21
17
  } else if (strategy === '-ios class chain') {
22
18
  strategy = 'class chain';
23
19
  }
24
-
25
20
  return await this.wda.proxy.command(endpoint, 'POST', {
26
21
  using: strategy,
27
22
  value: selector
28
23
  });
29
24
  };
30
-
31
25
  var _default = commands;
32
26
  exports.default = _default;
33
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImZpbmRFbE9yRWxzIiwic3RyYXRlZ3kiLCJzZWxlY3RvciIsIm11bHQiLCJjb250ZXh0IiwidXRpbCIsInVud3JhcEVsZW1lbnQiLCJlbmRwb2ludCIsIndkYSIsInByb3h5IiwiY29tbWFuZCIsInVzaW5nIiwidmFsdWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvZmluZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1dGlsIH0gZnJvbSAnYXBwaXVtL3N1cHBvcnQnO1xuXG5cbmNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8vIFRoaXMgaXMgbmVlZGVkIHRvIG1ha2UgbG9va3VwIGJ5IGltYWdlIHdvcmtpbmdcbmNvbW1hbmRzLmZpbmRFbE9yRWxzID0gYXN5bmMgZnVuY3Rpb24gZmluZEVsT3JFbHMgKHN0cmF0ZWd5LCBzZWxlY3RvciwgbXVsdCwgY29udGV4dCkge1xuICBjb250ZXh0ID0gdXRpbC51bndyYXBFbGVtZW50KGNvbnRleHQpO1xuICBjb25zdCBlbmRwb2ludCA9IGAvZWxlbWVudCR7Y29udGV4dCA/IGAvJHtjb250ZXh0fS9lbGVtZW50YCA6ICcnfSR7bXVsdCA/ICdzJyA6ICcnfWA7XG5cbiAgaWYgKHN0cmF0ZWd5ID09PSAnLWlvcyBwcmVkaWNhdGUgc3RyaW5nJykge1xuICAgIHN0cmF0ZWd5ID0gJ3ByZWRpY2F0ZSBzdHJpbmcnO1xuICB9IGVsc2UgaWYgKHN0cmF0ZWd5ID09PSAnLWlvcyBjbGFzcyBjaGFpbicpIHtcbiAgICBzdHJhdGVneSA9ICdjbGFzcyBjaGFpbic7XG4gIH1cblxuICByZXR1cm4gYXdhaXQgdGhpcy53ZGEucHJveHkuY29tbWFuZChlbmRwb2ludCwgJ1BPU1QnLCB7XG4gICAgdXNpbmc6IHN0cmF0ZWd5LFxuICAgIHZhbHVlOiBzZWxlY3RvcixcbiAgfSk7XG59O1xuXG5cbmV4cG9ydCB7IGNvbW1hbmRzIH07XG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBR0EsTUFBTUEsUUFBUSxHQUFHLEVBQWpCOzs7QUFHQUEsUUFBUSxDQUFDQyxXQUFULEdBQXVCLGVBQWVBLFdBQWYsQ0FBNEJDLFFBQTVCLEVBQXNDQyxRQUF0QyxFQUFnREMsSUFBaEQsRUFBc0RDLE9BQXRELEVBQStEO0VBQ3BGQSxPQUFPLEdBQUdDLGFBQUEsQ0FBS0MsYUFBTCxDQUFtQkYsT0FBbkIsQ0FBVjtFQUNBLE1BQU1HLFFBQVEsR0FBSSxXQUFVSCxPQUFPLEdBQUksSUFBR0EsT0FBUSxVQUFmLEdBQTJCLEVBQUcsR0FBRUQsSUFBSSxHQUFHLEdBQUgsR0FBUyxFQUFHLEVBQW5GOztFQUVBLElBQUlGLFFBQVEsS0FBSyx1QkFBakIsRUFBMEM7SUFDeENBLFFBQVEsR0FBRyxrQkFBWDtFQUNELENBRkQsTUFFTyxJQUFJQSxRQUFRLEtBQUssa0JBQWpCLEVBQXFDO0lBQzFDQSxRQUFRLEdBQUcsYUFBWDtFQUNEOztFQUVELE9BQU8sTUFBTSxLQUFLTyxHQUFMLENBQVNDLEtBQVQsQ0FBZUMsT0FBZixDQUF1QkgsUUFBdkIsRUFBaUMsTUFBakMsRUFBeUM7SUFDcERJLEtBQUssRUFBRVYsUUFENkM7SUFFcERXLEtBQUssRUFBRVY7RUFGNkMsQ0FBekMsQ0FBYjtBQUlELENBZEQ7O2VBa0JlSCxRIn0=
27
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImZpbmRFbE9yRWxzIiwic3RyYXRlZ3kiLCJzZWxlY3RvciIsIm11bHQiLCJjb250ZXh0IiwidXRpbCIsInVud3JhcEVsZW1lbnQiLCJlbmRwb2ludCIsIndkYSIsInByb3h5IiwiY29tbWFuZCIsInVzaW5nIiwidmFsdWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvZmluZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1dGlsIH0gZnJvbSAnYXBwaXVtL3N1cHBvcnQnO1xuXG5cbmNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8vIFRoaXMgaXMgbmVlZGVkIHRvIG1ha2UgbG9va3VwIGJ5IGltYWdlIHdvcmtpbmdcbmNvbW1hbmRzLmZpbmRFbE9yRWxzID0gYXN5bmMgZnVuY3Rpb24gZmluZEVsT3JFbHMgKHN0cmF0ZWd5LCBzZWxlY3RvciwgbXVsdCwgY29udGV4dCkge1xuICBjb250ZXh0ID0gdXRpbC51bndyYXBFbGVtZW50KGNvbnRleHQpO1xuICBjb25zdCBlbmRwb2ludCA9IGAvZWxlbWVudCR7Y29udGV4dCA/IGAvJHtjb250ZXh0fS9lbGVtZW50YCA6ICcnfSR7bXVsdCA/ICdzJyA6ICcnfWA7XG5cbiAgaWYgKHN0cmF0ZWd5ID09PSAnLWlvcyBwcmVkaWNhdGUgc3RyaW5nJykge1xuICAgIHN0cmF0ZWd5ID0gJ3ByZWRpY2F0ZSBzdHJpbmcnO1xuICB9IGVsc2UgaWYgKHN0cmF0ZWd5ID09PSAnLWlvcyBjbGFzcyBjaGFpbicpIHtcbiAgICBzdHJhdGVneSA9ICdjbGFzcyBjaGFpbic7XG4gIH1cblxuICByZXR1cm4gYXdhaXQgdGhpcy53ZGEucHJveHkuY29tbWFuZChlbmRwb2ludCwgJ1BPU1QnLCB7XG4gICAgdXNpbmc6IHN0cmF0ZWd5LFxuICAgIHZhbHVlOiBzZWxlY3RvcixcbiAgfSk7XG59O1xuXG5cbmV4cG9ydCB7IGNvbW1hbmRzIH07XG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBR0EsTUFBTUEsUUFBUSxHQUFHLENBQUMsQ0FBQzs7QUFBQztBQUdwQkEsUUFBUSxDQUFDQyxXQUFXLEdBQUcsZUFBZUEsV0FBVyxDQUFFQyxRQUFRLEVBQUVDLFFBQVEsRUFBRUMsSUFBSSxFQUFFQyxPQUFPLEVBQUU7RUFDcEZBLE9BQU8sR0FBR0MsYUFBSSxDQUFDQyxhQUFhLENBQUNGLE9BQU8sQ0FBQztFQUNyQyxNQUFNRyxRQUFRLEdBQUksV0FBVUgsT0FBTyxHQUFJLElBQUdBLE9BQVEsVUFBUyxHQUFHLEVBQUcsR0FBRUQsSUFBSSxHQUFHLEdBQUcsR0FBRyxFQUFHLEVBQUM7RUFFcEYsSUFBSUYsUUFBUSxLQUFLLHVCQUF1QixFQUFFO0lBQ3hDQSxRQUFRLEdBQUcsa0JBQWtCO0VBQy9CLENBQUMsTUFBTSxJQUFJQSxRQUFRLEtBQUssa0JBQWtCLEVBQUU7SUFDMUNBLFFBQVEsR0FBRyxhQUFhO0VBQzFCO0VBRUEsT0FBTyxNQUFNLElBQUksQ0FBQ08sR0FBRyxDQUFDQyxLQUFLLENBQUNDLE9BQU8sQ0FBQ0gsUUFBUSxFQUFFLE1BQU0sRUFBRTtJQUNwREksS0FBSyxFQUFFVixRQUFRO0lBQ2ZXLEtBQUssRUFBRVY7RUFDVCxDQUFDLENBQUM7QUFDSixDQUFDO0FBQUMsZUFJYUgsUUFBUTtBQUFBIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find.js","names":["commands","findElOrEls","strategy","selector","mult","context","util","unwrapElement","endpoint","wda","proxy","command","using","value"],"sources":["../../../lib/commands/find.js"],"sourcesContent":["import { util } from 'appium/support';\n\n\nconst commands = {};\n\n// This is needed to make lookup by image working\ncommands.findElOrEls = async function findElOrEls (strategy, selector, mult, context) {\n context = util.unwrapElement(context);\n const endpoint = `/element${context ? `/${context}/element` : ''}${mult ? 's' : ''}`;\n\n if (strategy === '-ios predicate string') {\n strategy = 'predicate string';\n } else if (strategy === '-ios class chain') {\n strategy = 'class chain';\n }\n\n return await this.wda.proxy.command(endpoint, 'POST', {\n using: strategy,\n value: selector,\n });\n};\n\n\nexport { commands };\nexport default commands;\n"],"mappings":";;;;;;;AAAA;AAGA,MAAMA,QAAQ,GAAG,CAAC,CAAC;;AAAC;AAGpBA,QAAQ,CAACC,WAAW,GAAG,eAAeA,WAAW,CAAEC,QAAQ,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,OAAO,EAAE;EACpFA,OAAO,GAAGC,aAAI,CAACC,aAAa,CAACF,OAAO,CAAC;EACrC,MAAMG,QAAQ,GAAI,WAAUH,OAAO,GAAI,IAAGA,OAAQ,UAAS,GAAG,EAAG,GAAED,IAAI,GAAG,GAAG,GAAG,EAAG,EAAC;EAEpF,IAAIF,QAAQ,KAAK,uBAAuB,EAAE;IACxCA,QAAQ,GAAG,kBAAkB;EAC/B,CAAC,MAAM,IAAIA,QAAQ,KAAK,kBAAkB,EAAE;IAC1CA,QAAQ,GAAG,aAAa;EAC1B;EAEA,OAAO,MAAM,IAAI,CAACO,GAAG,CAACC,KAAK,CAACC,OAAO,CAACH,QAAQ,EAAE,MAAM,EAAE;IACpDI,KAAK,EAAEV,QAAQ;IACfW,KAAK,EAAEV;EACT,CAAC,CAAC;AACJ,CAAC;AAAC,eAIaH,QAAQ;AAAA"}