appium-mac2-driver 1.4.5 → 1.4.7

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 +1,10 @@
1
+ ## [1.4.7](https://github.com/appium/appium-mac2-driver/compare/v1.4.6...v1.4.7) (2022-12-01)
2
+
3
+
4
+ ### Miscellaneous Chores
5
+
6
+ * update releaserc ([#175](https://github.com/appium/appium-mac2-driver/issues/175)) ([4ca7259](https://github.com/appium/appium-mac2-driver/commit/4ca72598913be1bb0c5852521530a99838d37f97))
7
+
8
+ ## [1.4.6](https://github.com/appium/appium-mac2-driver/compare/v1.4.5...v1.4.6) (2022-11-29)
9
+
1
10
  ## [1.4.5](https://github.com/appium/appium-mac2-driver/compare/v1.4.4...v1.4.5) (2022-11-06)
package/README.md CHANGED
@@ -13,7 +13,7 @@ The original idea and parts of the source code are borrowed from the Facebook's
13
13
 
14
14
  > **Note**
15
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`
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
17
  > command to add it to your Appium 2 dist.
18
18
 
19
19
 
@@ -22,6 +22,7 @@ The original idea and parts of the source code are borrowed from the Facebook's
22
22
  On top of standard Appium requirements Mac2 driver also expects the following prerequisites:
23
23
 
24
24
  - macOS 10.15 or later
25
+ - macOS 11.3 or later and less than macOS 12, and Xcode 12 combination does not work as the build failure
25
26
  - Xcode 12 or later should be installed
26
27
  - 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.
27
28
  - `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).
@@ -701,4 +702,3 @@ Execute `npm run test` to run unit tests and `npm run e2e-test` to run integrati
701
702
  ## Notes
702
703
 
703
704
  - W3C actions support is limited (only mouse actions are supported). You could also use `macos:` extension APIs to cover your test scenarios
704
-
@@ -16,7 +16,7 @@
16
16
 
17
17
  #import "XCUIElementQuery+AMHelpers.h"
18
18
 
19
- #import "FBConfiguration.h"
19
+ #import "FBSession.h"
20
20
 
21
21
  @implementation XCUIElementQuery (AMHelpers)
22
22
 
@@ -27,7 +27,7 @@
27
27
 
28
28
  - (NSArray<XCUIElement *> *)am_allMatches
29
29
  {
30
- return FBConfiguration.sharedConfiguration.boundElementsByIndex
30
+ return FBSession.activeSession.boundElementsByIndex
31
31
  ? self.allElementsBoundByIndex
32
32
  : self.allElementsBoundByAccessibilityElement;
33
33
  }
@@ -110,6 +110,7 @@ const static NSString *CAPABILITIES_KEY = @"capabilities";
110
110
  } else {
111
111
  session.skipAppTermination = noReset;
112
112
  }
113
+ session.boundElementsByIndex = NO;
113
114
 
114
115
  return FBResponseWithObject(FBSessionCommands.sessionInformation);
115
116
  }
@@ -176,7 +177,7 @@ const static NSString *CAPABILITIES_KEY = @"capabilities";
176
177
  XCUIApplication *application = FBSession.activeSession.currentApplication;
177
178
  return FBResponseWithObject(
178
179
  @{
179
- AM_BOUND_ELEMENTS_BY_INDEX_SETTING: @([FBConfiguration.sharedConfiguration boundElementsByIndex]),
180
+ AM_BOUND_ELEMENTS_BY_INDEX_SETTING: @(FBSession.activeSession.boundElementsByIndex),
180
181
  AM_USE_DEFAULT_UI_INTERRUPTIONS_HANDLING_SETTING: @(!application.am_doesNotHandleUIInterruptions),
181
182
  }
182
183
  );
@@ -187,7 +188,7 @@ const static NSString *CAPABILITIES_KEY = @"capabilities";
187
188
  NSDictionary* settings = [request requireDictionaryArgumentWithName:@"settings"];
188
189
 
189
190
  if (nil != [settings objectForKey:AM_BOUND_ELEMENTS_BY_INDEX_SETTING]) {
190
- FBConfiguration.sharedConfiguration.boundElementsByIndex = [[settings objectForKey:AM_BOUND_ELEMENTS_BY_INDEX_SETTING] boolValue];
191
+ FBSession.activeSession.boundElementsByIndex = [[settings objectForKey:AM_BOUND_ELEMENTS_BY_INDEX_SETTING] boolValue];
191
192
  }
192
193
  if (nil != [settings objectForKey:AM_USE_DEFAULT_UI_INTERRUPTIONS_HANDLING_SETTING]) {
193
194
  XCUIApplication *application = FBSession.activeSession.currentApplication;
@@ -33,6 +33,14 @@ extern NSString *const FINDER_BUNDLE_ID;
33
33
  /*! Whether to avoid app under test killing on session termination */
34
34
  @property (nonatomic) BOOL skipAppTermination;
35
35
 
36
+ /**
37
+ * Whether to bound the lookup results by index.
38
+ * By default this is disabled and bounding by accessibility is used.
39
+ * Read https://stackoverflow.com/questions/49307513/meaning-of-allelementsboundbyaccessibilityelement
40
+ * for more details on these two bounding methods.
41
+ */
42
+ @property (nonatomic) BOOL boundElementsByIndex;
43
+
36
44
  + (nullable instancetype)activeSession;
37
45
 
38
46
  /**
@@ -47,14 +47,6 @@ NS_ASSUME_NONNULL_BEGIN
47
47
  */
48
48
  @property (readonly) BOOL verboseLoggingEnabled;
49
49
 
50
- /**
51
- * Whether to bound the lookup results by index.
52
- * By default this is disabled and bounding by accessibility is used.
53
- * Read https://stackoverflow.com/questions/49307513/meaning-of-allelementsboundbyaccessibilityelement
54
- * for more details on these two bounding methods.
55
- */
56
- @property BOOL boundElementsByIndex;
57
-
58
50
  /**
59
51
  * Extract switch value from arguments
60
52
  *
@@ -12,8 +12,6 @@
12
12
  static NSUInteger const DefaultStartingPort = 10100;
13
13
  static NSUInteger const DefaultPortRange = 100;
14
14
 
15
- static BOOL FBShouldBoundElementsByIndex = NO;
16
-
17
15
  @implementation FBConfiguration
18
16
 
19
17
  static FBConfiguration *instance;
@@ -97,16 +95,6 @@ static FBConfiguration *instance;
97
95
  return [NSProcessInfo.processInfo.environment[@"VERBOSE_LOGGING"] boolValue];
98
96
  }
99
97
 
100
- - (void)setBoundElementsByIndex:(BOOL)enabled
101
- {
102
- FBShouldBoundElementsByIndex = enabled;
103
- }
104
-
105
- - (BOOL)boundElementsByIndex
106
- {
107
- return FBShouldBoundElementsByIndex;
108
- }
109
-
110
98
  #pragma mark Private
111
99
 
112
100
  + (NSString*)valueFromArguments: (NSArray<NSString *> *)arguments forKey: (NSString*)key
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  require("source-map-support/register");
8
8
  const commands = {};
9
-
10
9
  commands.macosLaunchApp = async function macosLaunchApp(opts = {}) {
11
10
  const {
12
11
  bundleId,
@@ -18,7 +17,6 @@ commands.macosLaunchApp = async function macosLaunchApp(opts = {}) {
18
17
  bundleId
19
18
  });
20
19
  };
21
-
22
20
  commands.macosActivateApp = async function macosActivateApp(opts = {}) {
23
21
  const {
24
22
  bundleId
@@ -27,7 +25,6 @@ commands.macosActivateApp = async function macosActivateApp(opts = {}) {
27
25
  bundleId
28
26
  });
29
27
  };
30
-
31
28
  commands.macosTerminateApp = async function macosTerminateApp(opts = {}) {
32
29
  const {
33
30
  bundleId
@@ -36,7 +33,6 @@ commands.macosTerminateApp = async function macosTerminateApp(opts = {}) {
36
33
  bundleId
37
34
  });
38
35
  };
39
-
40
36
  commands.macosQueryAppState = async function macosQueryAppState(opts = {}) {
41
37
  const {
42
38
  bundleId
@@ -47,4 +43,4 @@ commands.macosQueryAppState = async function macosQueryAppState(opts = {}) {
47
43
  };
48
44
  var _default = commands;
49
45
  exports.default = _default;
50
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsIm1hY29zTGF1bmNoQXBwIiwib3B0cyIsImJ1bmRsZUlkIiwiZW52aXJvbm1lbnQiLCJ3ZGEiLCJwcm94eSIsImNvbW1hbmQiLCJhcmd1bWVudHMiLCJtYWNvc0FjdGl2YXRlQXBwIiwibWFjb3NUZXJtaW5hdGVBcHAiLCJtYWNvc1F1ZXJ5QXBwU3RhdGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvYXBwLW1hbmFnZW1lbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBMYXVuY2hBcHBPcHRpb25zXG4gKiBAcHJvcGVydHkgeyFzdHJpbmd9IGJ1bmRsZUlkIGJ1bmRsZSBpZGVudGlmaWVyIG9mIHRoZSBhcHAgdG8gYmUgbGF1bmNoZWRcbiAqIG9yIGFjdGl2YXRlZFxuICogQHByb3BlcnR5IHs/QXJyYXk8c3RyaW5nPn0gYXJndW1lbnRzIHRoZSBsaXN0IG9mIGNvbW1hbmQgbGluZSBhcmd1bWVudHNcbiAqIGZvciB0aGUgYXBwIHRvIGJlIGJlIGxhdW5jaGVkIHdpdGguIFRoaXMgcGFyYW1ldGVyIGlzIGlnbm9yZWQgaWYgdGhlIGFwcFxuICogaXMgYWxyZWFkeSBydW5uaW5nLlxuICogQHByb3BlcnR5IHtPYmplY3R9IGVudmlyb25tZW50IGVudmlyb25tZW50IHZhcmlhYmxlcyBtYXBwaW5nLiBDdXN0b21cbiAqIHZhcmlhYmxlcyBhcmUgYWRkZWQgdG8gdGhlIGRlZmF1bHQgcHJvY2VzcyBlbnZpcm9ubWVudC5cbiAqL1xuXG4vKipcbiAqIFN0YXJ0IGFuIGFwcCB3aXRoIGdpdmVuIGJ1bmRsZSBpZGVudGlmaWVyIG9yIGFjdGl2YXRlcyBpdFxuICogaWYgdGhlIGFwcCBpcyBhbHJlYWR5IHJ1bm5pbmcuIEFuIGV4Y2VwdGlvbiBpcyB0aHJvd24gaWYgdGhlXG4gKiBhcHAgd2l0aCB0aGUgZ2l2ZW4gaWRlbnRpZmllciBjYW5ub3QgYmUgZm91bmQuXG4gKlxuICogQHBhcmFtIHtMYXVuY2hBcHBPcHRpb25zfSBvcHRzXG4gKi9cbmNvbW1hbmRzLm1hY29zTGF1bmNoQXBwID0gYXN5bmMgZnVuY3Rpb24gbWFjb3NMYXVuY2hBcHAgKG9wdHMgPSB7fSkge1xuICBjb25zdCB7IGJ1bmRsZUlkLCBlbnZpcm9ubWVudCB9ID0gb3B0cztcbiAgcmV0dXJuIGF3YWl0IHRoaXMud2RhLnByb3h5LmNvbW1hbmQoJy93ZGEvYXBwcy9sYXVuY2gnLCAnUE9TVCcsIHtcbiAgICBhcmd1bWVudHM6IG9wdHMuYXJndW1lbnRzLFxuICAgIGVudmlyb25tZW50LFxuICAgIGJ1bmRsZUlkLFxuICB9KTtcbn07XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gQWN0aXZhdGVBcHBPcHRpb25zXG4gKiBAcHJvcGVydHkgeyFzdHJpbmd9IGJ1bmRsZUlkIGJ1bmRsZSBpZGVudGlmaWVyIG9mIHRoZSBhcHAgdG8gYmUgYWN0aXZhdGVkXG4gKi9cblxuLyoqXG4gKiBBY3RpdmF0ZSBhbiBhcHAgd2l0aCBnaXZlbiBidW5kbGUgaWRlbnRpZmllci4gQW4gZXhjZXB0aW9uIGlzIHRocm93biBpZiB0aGVcbiAqIGFwcCBjYW5ub3QgYmUgZm91bmQgb3IgaXMgbm90IHJ1bm5pbmcuXG4gKlxuICogQHBhcmFtIHtBY3RpdmF0ZUFwcE9wdGlvbnN9IG9wdHNcbiAqL1xuY29tbWFuZHMubWFjb3NBY3RpdmF0ZUFwcCA9IGFzeW5jIGZ1bmN0aW9uIG1hY29zQWN0aXZhdGVBcHAgKG9wdHMgPSB7fSkge1xuICBjb25zdCB7IGJ1bmRsZUlkIH0gPSBvcHRzO1xuICByZXR1cm4gYXdhaXQgdGhpcy53ZGEucHJveHkuY29tbWFuZCgnL3dkYS9hcHBzL2FjdGl2YXRlJywgJ1BPU1QnLCB7IGJ1bmRsZUlkIH0pO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBUZXJtaW5hdGVBcHBPcHRpb25zXG4gKiBAcHJvcGVydHkgeyFzdHJpbmd9IGJ1bmRsZUlkIGJ1bmRsZSBpZGVudGlmaWVyIG9mIHRoZSBhcHAgdG8gYmUgdGVybWluYXRlZFxuICovXG5cbi8qKlxuICogVGVybWluYXRlIGFuIGFwcCB3aXRoIGdpdmVuIGJ1bmRsZSBpZGVudGlmaWVyLiBBbiBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZVxuICogYXBwIGNhbm5vdCBiZSBmb3VuZC5cbiAqXG4gKiBAcGFyYW0ge1Rlcm1pbmF0ZUFwcE9wdGlvbnN9IG9wdHNcbiAqIEByZXR1cm5zIHtib29sZWFufSBgdHJ1ZWAgaWYgdGhlIGFwcCB3YXMgcnVubmluZyBhbmQgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IHRlcm1pbmF0ZWQuXG4gKiBgZmFsc2VgIGlmIHRoZSBhcHAgd2FzIG5vdCBydW5uaW5nIGJlZm9yZS5cbiAqL1xuY29tbWFuZHMubWFjb3NUZXJtaW5hdGVBcHAgPSBhc3luYyBmdW5jdGlvbiBtYWNvc1Rlcm1pbmF0ZUFwcCAob3B0cyA9IHt9KSB7XG4gIGNvbnN0IHsgYnVuZGxlSWQgfSA9IG9wdHM7XG4gIHJldHVybiBhd2FpdCB0aGlzLndkYS5wcm94eS5jb21tYW5kKCcvd2RhL2FwcHMvdGVybWluYXRlJywgJ1BPU1QnLCB7IGJ1bmRsZUlkIH0pO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBRdWVyeUFwcFN0YXRlT3B0aW9uc1xuICogQHByb3BlcnR5IHshc3RyaW5nfSBidW5kbGVJZCBidW5kbGUgaWRlbnRpZmllciBvZiB0aGUgYXBwIHdob3NlIHN0YXRlIHNob3VsZCBiZSBxdWVyaWVkXG4gKi9cblxuLyoqXG4gKiBRdWVyeSBhbiBhcHAgc3RhdGUgd2l0aCBnaXZlbiBidW5kbGUgaWRlbnRpZmllci4gQW4gZXhjZXB0aW9uIGlzIHRocm93biBpZiB0aGVcbiAqIGFwcCBjYW5ub3QgYmUgZm91bmQuXG4gKlxuICogQHBhcmFtIHtRdWVyeUFwcFN0YXRlT3B0aW9uc30gb3B0c1xuICogQHJldHVybnMge251bWJlcn0gVGhlIGFwcGxpY2F0aW9uIHN0YXRlIGNvZGUuIFNlZVxuICogaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2RvY3VtZW50YXRpb24veGN0ZXN0L3hjdWlhcHBsaWNhdGlvbnN0YXRlP2xhbmd1YWdlPW9iamNcbiAqIGZvciBtb3JlIGRldGFpbHNcbiAqL1xuY29tbWFuZHMubWFjb3NRdWVyeUFwcFN0YXRlID0gYXN5bmMgZnVuY3Rpb24gbWFjb3NRdWVyeUFwcFN0YXRlIChvcHRzID0ge30pIHtcbiAgY29uc3QgeyBidW5kbGVJZCB9ID0gb3B0cztcbiAgcmV0dXJuIGF3YWl0IHRoaXMud2RhLnByb3h5LmNvbW1hbmQoJy93ZGEvYXBwcy9zdGF0ZScsICdQT1NUJywgeyBidW5kbGVJZCB9KTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsTUFBTUEsUUFBUSxHQUFHLENBQUMsQ0FBQzs7QUFvQm5CQSxRQUFRLENBQUNDLGNBQWMsR0FBRyxlQUFlQSxjQUFjLENBQUVDLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRTtFQUNsRSxNQUFNO0lBQUVDLFFBQVE7SUFBRUM7RUFBWSxDQUFDLEdBQUdGLElBQUk7RUFDdEMsT0FBTyxNQUFNLElBQUksQ0FBQ0csR0FBRyxDQUFDQyxLQUFLLENBQUNDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLEVBQUU7SUFDOURDLFNBQVMsRUFBRU4sSUFBSSxDQUFDTSxTQUFTO0lBQ3pCSixXQUFXO0lBQ1hEO0VBQ0YsQ0FBQyxDQUFDO0FBQ0osQ0FBQzs7QUFhREgsUUFBUSxDQUFDUyxnQkFBZ0IsR0FBRyxlQUFlQSxnQkFBZ0IsQ0FBRVAsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFO0VBQ3RFLE1BQU07SUFBRUM7RUFBUyxDQUFDLEdBQUdELElBQUk7RUFDekIsT0FBTyxNQUFNLElBQUksQ0FBQ0csR0FBRyxDQUFDQyxLQUFLLENBQUNDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxNQUFNLEVBQUU7SUFBRUo7RUFBUyxDQUFDLENBQUM7QUFDakYsQ0FBQzs7QUFlREgsUUFBUSxDQUFDVSxpQkFBaUIsR0FBRyxlQUFlQSxpQkFBaUIsQ0FBRVIsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFO0VBQ3hFLE1BQU07SUFBRUM7RUFBUyxDQUFDLEdBQUdELElBQUk7RUFDekIsT0FBTyxNQUFNLElBQUksQ0FBQ0csR0FBRyxDQUFDQyxLQUFLLENBQUNDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLEVBQUU7SUFBRUo7RUFBUyxDQUFDLENBQUM7QUFDbEYsQ0FBQzs7QUFnQkRILFFBQVEsQ0FBQ1csa0JBQWtCLEdBQUcsZUFBZUEsa0JBQWtCLENBQUVULElBQUksR0FBRyxDQUFDLENBQUMsRUFBRTtFQUMxRSxNQUFNO0lBQUVDO0VBQVMsQ0FBQyxHQUFHRCxJQUFJO0VBQ3pCLE9BQU8sTUFBTSxJQUFJLENBQUNHLEdBQUcsQ0FBQ0MsS0FBSyxDQUFDQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxFQUFFO0lBQUVKO0VBQVMsQ0FBQyxDQUFDO0FBQzlFLENBQUM7QUFBQyxlQUVhSCxRQUFRO0FBQUEifQ==
46
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsIm1hY29zTGF1bmNoQXBwIiwib3B0cyIsImJ1bmRsZUlkIiwiZW52aXJvbm1lbnQiLCJ3ZGEiLCJwcm94eSIsImNvbW1hbmQiLCJhcmd1bWVudHMiLCJtYWNvc0FjdGl2YXRlQXBwIiwibWFjb3NUZXJtaW5hdGVBcHAiLCJtYWNvc1F1ZXJ5QXBwU3RhdGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvYXBwLW1hbmFnZW1lbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBMYXVuY2hBcHBPcHRpb25zXG4gKiBAcHJvcGVydHkgeyFzdHJpbmd9IGJ1bmRsZUlkIGJ1bmRsZSBpZGVudGlmaWVyIG9mIHRoZSBhcHAgdG8gYmUgbGF1bmNoZWRcbiAqIG9yIGFjdGl2YXRlZFxuICogQHByb3BlcnR5IHs/QXJyYXk8c3RyaW5nPn0gYXJndW1lbnRzIHRoZSBsaXN0IG9mIGNvbW1hbmQgbGluZSBhcmd1bWVudHNcbiAqIGZvciB0aGUgYXBwIHRvIGJlIGJlIGxhdW5jaGVkIHdpdGguIFRoaXMgcGFyYW1ldGVyIGlzIGlnbm9yZWQgaWYgdGhlIGFwcFxuICogaXMgYWxyZWFkeSBydW5uaW5nLlxuICogQHByb3BlcnR5IHtPYmplY3R9IGVudmlyb25tZW50IGVudmlyb25tZW50IHZhcmlhYmxlcyBtYXBwaW5nLiBDdXN0b21cbiAqIHZhcmlhYmxlcyBhcmUgYWRkZWQgdG8gdGhlIGRlZmF1bHQgcHJvY2VzcyBlbnZpcm9ubWVudC5cbiAqL1xuXG4vKipcbiAqIFN0YXJ0IGFuIGFwcCB3aXRoIGdpdmVuIGJ1bmRsZSBpZGVudGlmaWVyIG9yIGFjdGl2YXRlcyBpdFxuICogaWYgdGhlIGFwcCBpcyBhbHJlYWR5IHJ1bm5pbmcuIEFuIGV4Y2VwdGlvbiBpcyB0aHJvd24gaWYgdGhlXG4gKiBhcHAgd2l0aCB0aGUgZ2l2ZW4gaWRlbnRpZmllciBjYW5ub3QgYmUgZm91bmQuXG4gKlxuICogQHBhcmFtIHtMYXVuY2hBcHBPcHRpb25zfSBvcHRzXG4gKi9cbmNvbW1hbmRzLm1hY29zTGF1bmNoQXBwID0gYXN5bmMgZnVuY3Rpb24gbWFjb3NMYXVuY2hBcHAgKG9wdHMgPSB7fSkge1xuICBjb25zdCB7IGJ1bmRsZUlkLCBlbnZpcm9ubWVudCB9ID0gb3B0cztcbiAgcmV0dXJuIGF3YWl0IHRoaXMud2RhLnByb3h5LmNvbW1hbmQoJy93ZGEvYXBwcy9sYXVuY2gnLCAnUE9TVCcsIHtcbiAgICBhcmd1bWVudHM6IG9wdHMuYXJndW1lbnRzLFxuICAgIGVudmlyb25tZW50LFxuICAgIGJ1bmRsZUlkLFxuICB9KTtcbn07XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gQWN0aXZhdGVBcHBPcHRpb25zXG4gKiBAcHJvcGVydHkgeyFzdHJpbmd9IGJ1bmRsZUlkIGJ1bmRsZSBpZGVudGlmaWVyIG9mIHRoZSBhcHAgdG8gYmUgYWN0aXZhdGVkXG4gKi9cblxuLyoqXG4gKiBBY3RpdmF0ZSBhbiBhcHAgd2l0aCBnaXZlbiBidW5kbGUgaWRlbnRpZmllci4gQW4gZXhjZXB0aW9uIGlzIHRocm93biBpZiB0aGVcbiAqIGFwcCBjYW5ub3QgYmUgZm91bmQgb3IgaXMgbm90IHJ1bm5pbmcuXG4gKlxuICogQHBhcmFtIHtBY3RpdmF0ZUFwcE9wdGlvbnN9IG9wdHNcbiAqL1xuY29tbWFuZHMubWFjb3NBY3RpdmF0ZUFwcCA9IGFzeW5jIGZ1bmN0aW9uIG1hY29zQWN0aXZhdGVBcHAgKG9wdHMgPSB7fSkge1xuICBjb25zdCB7IGJ1bmRsZUlkIH0gPSBvcHRzO1xuICByZXR1cm4gYXdhaXQgdGhpcy53ZGEucHJveHkuY29tbWFuZCgnL3dkYS9hcHBzL2FjdGl2YXRlJywgJ1BPU1QnLCB7IGJ1bmRsZUlkIH0pO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBUZXJtaW5hdGVBcHBPcHRpb25zXG4gKiBAcHJvcGVydHkgeyFzdHJpbmd9IGJ1bmRsZUlkIGJ1bmRsZSBpZGVudGlmaWVyIG9mIHRoZSBhcHAgdG8gYmUgdGVybWluYXRlZFxuICovXG5cbi8qKlxuICogVGVybWluYXRlIGFuIGFwcCB3aXRoIGdpdmVuIGJ1bmRsZSBpZGVudGlmaWVyLiBBbiBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZVxuICogYXBwIGNhbm5vdCBiZSBmb3VuZC5cbiAqXG4gKiBAcGFyYW0ge1Rlcm1pbmF0ZUFwcE9wdGlvbnN9IG9wdHNcbiAqIEByZXR1cm5zIHtib29sZWFufSBgdHJ1ZWAgaWYgdGhlIGFwcCB3YXMgcnVubmluZyBhbmQgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IHRlcm1pbmF0ZWQuXG4gKiBgZmFsc2VgIGlmIHRoZSBhcHAgd2FzIG5vdCBydW5uaW5nIGJlZm9yZS5cbiAqL1xuY29tbWFuZHMubWFjb3NUZXJtaW5hdGVBcHAgPSBhc3luYyBmdW5jdGlvbiBtYWNvc1Rlcm1pbmF0ZUFwcCAob3B0cyA9IHt9KSB7XG4gIGNvbnN0IHsgYnVuZGxlSWQgfSA9IG9wdHM7XG4gIHJldHVybiBhd2FpdCB0aGlzLndkYS5wcm94eS5jb21tYW5kKCcvd2RhL2FwcHMvdGVybWluYXRlJywgJ1BPU1QnLCB7IGJ1bmRsZUlkIH0pO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBRdWVyeUFwcFN0YXRlT3B0aW9uc1xuICogQHByb3BlcnR5IHshc3RyaW5nfSBidW5kbGVJZCBidW5kbGUgaWRlbnRpZmllciBvZiB0aGUgYXBwIHdob3NlIHN0YXRlIHNob3VsZCBiZSBxdWVyaWVkXG4gKi9cblxuLyoqXG4gKiBRdWVyeSBhbiBhcHAgc3RhdGUgd2l0aCBnaXZlbiBidW5kbGUgaWRlbnRpZmllci4gQW4gZXhjZXB0aW9uIGlzIHRocm93biBpZiB0aGVcbiAqIGFwcCBjYW5ub3QgYmUgZm91bmQuXG4gKlxuICogQHBhcmFtIHtRdWVyeUFwcFN0YXRlT3B0aW9uc30gb3B0c1xuICogQHJldHVybnMge251bWJlcn0gVGhlIGFwcGxpY2F0aW9uIHN0YXRlIGNvZGUuIFNlZVxuICogaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2RvY3VtZW50YXRpb24veGN0ZXN0L3hjdWlhcHBsaWNhdGlvbnN0YXRlP2xhbmd1YWdlPW9iamNcbiAqIGZvciBtb3JlIGRldGFpbHNcbiAqL1xuY29tbWFuZHMubWFjb3NRdWVyeUFwcFN0YXRlID0gYXN5bmMgZnVuY3Rpb24gbWFjb3NRdWVyeUFwcFN0YXRlIChvcHRzID0ge30pIHtcbiAgY29uc3QgeyBidW5kbGVJZCB9ID0gb3B0cztcbiAgcmV0dXJuIGF3YWl0IHRoaXMud2RhLnByb3h5LmNvbW1hbmQoJy93ZGEvYXBwcy9zdGF0ZScsICdQT1NUJywgeyBidW5kbGVJZCB9KTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsTUFBTUEsUUFBUSxHQUFHLENBQUMsQ0FBQztBQW9CbkJBLFFBQVEsQ0FBQ0MsY0FBYyxHQUFHLGVBQWVBLGNBQWMsQ0FBRUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFO0VBQ2xFLE1BQU07SUFBRUMsUUFBUTtJQUFFQztFQUFZLENBQUMsR0FBR0YsSUFBSTtFQUN0QyxPQUFPLE1BQU0sSUFBSSxDQUFDRyxHQUFHLENBQUNDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDLGtCQUFrQixFQUFFLE1BQU0sRUFBRTtJQUM5REMsU0FBUyxFQUFFTixJQUFJLENBQUNNLFNBQVM7SUFDekJKLFdBQVc7SUFDWEQ7RUFDRixDQUFDLENBQUM7QUFDSixDQUFDO0FBYURILFFBQVEsQ0FBQ1MsZ0JBQWdCLEdBQUcsZUFBZUEsZ0JBQWdCLENBQUVQLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRTtFQUN0RSxNQUFNO0lBQUVDO0VBQVMsQ0FBQyxHQUFHRCxJQUFJO0VBQ3pCLE9BQU8sTUFBTSxJQUFJLENBQUNHLEdBQUcsQ0FBQ0MsS0FBSyxDQUFDQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxFQUFFO0lBQUVKO0VBQVMsQ0FBQyxDQUFDO0FBQ2pGLENBQUM7QUFlREgsUUFBUSxDQUFDVSxpQkFBaUIsR0FBRyxlQUFlQSxpQkFBaUIsQ0FBRVIsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFO0VBQ3hFLE1BQU07SUFBRUM7RUFBUyxDQUFDLEdBQUdELElBQUk7RUFDekIsT0FBTyxNQUFNLElBQUksQ0FBQ0csR0FBRyxDQUFDQyxLQUFLLENBQUNDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLEVBQUU7SUFBRUo7RUFBUyxDQUFDLENBQUM7QUFDbEYsQ0FBQztBQWdCREgsUUFBUSxDQUFDVyxrQkFBa0IsR0FBRyxlQUFlQSxrQkFBa0IsQ0FBRVQsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFO0VBQzFFLE1BQU07SUFBRUM7RUFBUyxDQUFDLEdBQUdELElBQUk7RUFDekIsT0FBTyxNQUFNLElBQUksQ0FBQ0csR0FBRyxDQUFDQyxLQUFLLENBQUNDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLEVBQUU7SUFBRUo7RUFBUyxDQUFDLENBQUM7QUFDOUUsQ0FBQztBQUFDLGVBRWFILFFBQVE7QUFBQSJ9
@@ -1 +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
+ {"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"}
@@ -13,9 +13,7 @@ var _path = _interopRequireDefault(require("path"));
13
13
  const OSASCRIPT = 'osascript';
14
14
  const APPLE_SCRIPT_FEATURE = 'apple_script';
15
15
  const commands = {};
16
-
17
16
  exports.commands = commands;
18
-
19
17
  commands.macosExecAppleScript = async function macosExecAppleScript(opts = {}) {
20
18
  this.ensureFeatureEnabled(APPLE_SCRIPT_FEATURE);
21
19
  const {
@@ -66,4 +64,4 @@ commands.macosExecAppleScript = async function macosExecAppleScript(opts = {}) {
66
64
  };
67
65
  var _default = commands;
68
66
  exports.default = _default;
69
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPU0FTQ1JJUFQiLCJBUFBMRV9TQ1JJUFRfRkVBVFVSRSIsImNvbW1hbmRzIiwibWFjb3NFeGVjQXBwbGVTY3JpcHQiLCJvcHRzIiwiZW5zdXJlRmVhdHVyZUVuYWJsZWQiLCJzY3JpcHQiLCJsYW5ndWFnZSIsImNvbW1hbmQiLCJjd2QiLCJ0aW1lb3V0IiwibG9nIiwiZXJyb3JBbmRUaHJvdyIsInRlc3QiLCJzaG91bGRSdW5TY3JpcHQiLCJhcmdzIiwicHVzaCIsInRtcFJvb3QiLCJ0ZW1wRGlyIiwib3BlbkRpciIsInRtcFNjcmlwdFBhdGgiLCJwYXRoIiwicmVzb2x2ZSIsImZzIiwid3JpdGVGaWxlIiwiaW5mbyIsInV0aWwiLCJxdW90ZSIsInN0ZG91dCIsImV4ZWMiLCJlIiwiRXJyb3IiLCJzdGRlcnIiLCJtZXNzYWdlIiwicmltcmFmIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2NvbW1hbmRzL2FwcGxlc2NyaXB0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZzLCB0ZW1wRGlyLCB1dGlsIH0gZnJvbSAnYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IHsgZXhlYyB9IGZyb20gJ3RlZW5fcHJvY2Vzcyc7XG5pbXBvcnQgbG9nIGZyb20gJy4uL2xvZ2dlcic7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcblxuY29uc3QgT1NBU0NSSVBUID0gJ29zYXNjcmlwdCc7XG5jb25zdCBBUFBMRV9TQ1JJUFRfRkVBVFVSRSA9ICdhcHBsZV9zY3JpcHQnO1xuXG5jb25zdCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEV4ZWNBcHBsZVNjcmlwdE9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gc2NyaXB0IEEgdmFsaWQgQXBwbGVTY3JpcHQgdG8gZXhlY3V0ZVxuICogQHByb3BlcnR5IHs/c3RyaW5nfSBsYW5ndWFnZSBPdmVycmlkZXMgdGhlIHNjcmlwdGluZyBsYW5ndWFnZS4gQmFzaWNhbGx5LCBzZXRzIHRoZSB2YWx1ZSBvZiBgLWxgIGNvbW1hbmRcbiAqIGxpbmUgYXJndW1lbnQgb2YgYG9zYXNjcmlwdGAgdG9vbC4gSWYgdW5zZXQgdGhlIEFwcGxlU2NyaXB0IGxhbmd1YWdlIGlzIGFzc3VtZWQuXG4gKiBAcHJvcGVydHkgez9zdHJpbmd9IGNvbW1hbmQgQSB2YWxpZCBBcHBsZVNjcmlwdCBhcyBhIHNpbmdsZSBjb21tYW5kIChubyBsaW5lIGJyZWFrcykgdG8gZXhlY3V0ZVxuICogQHByb3BlcnR5IHs/bnVtYmVyfSB0aW1lb3V0IFsyMDAwMF0gVGhlIG51bWJlciBvZiBzZWNvbmRzIHRvIHdhaXQgdW50aWwgYSBsb25nLXJ1bm5pbmcgY29tbWFuZCBpc1xuICogZmluaXNoZWQuIEFuIGVycm9yIGlzIHRocm93biBpZiB0aGUgY29tbWFuZCBpcyBzdGlsbCBydW5uaW5nIGFmdGVyIHRoaXMgdGltZW91dCBleHBpcmVzLlxuICogQHByb3BlcnR5IHs/c3RyaW5nfSBjd2QgVGhlIHBhdGggdG8gYW4gZXhpc3RpbmcgZm9sZGVyLCB3aGljaCBpcyBnb2luZyB0byBiZSBzZXQgYXMgdGhlXG4gKiB3b3JraW5nIGRpcmVjdG9yeSBmb3IgdGhlIGNvbW1hbmQvc2NyaXB0IGJlaW5nIGV4ZWN1dGVkLlxuICovXG5cbi8qKlxuICogRXhlY3V0ZXMgdGhlIGdpdmVuIEFwcGxlU2NyaXB0IGNvbW1hbmQgb3IgYSB3aG9sZSBzY3JpcHQgYmFzZWQgb24gdGhlXG4gKiBnaXZlbiBvcHRpb25zLiBFaXRoZXIgb2YgdGhlc2Ugb3B0aW9ucyBtdXN0IGJlIHByb3ZpZGVkLiBJZiBib3RoIGFyZSBwcm92aWRlZFxuICogdGhlbiB0aGUgYGNvbW1hbmRgIG9uZSBnZXRzIHRoZSBwcmlvcml0eS5cbiAqIE5vdGUgdGhhdCBBcHBsZVNjcmlwdCBjb21tYW5kIGNhbm5vdCBjb250YWluIGxpbmUgYnJlYWtzLiBDb25zaWRlciBtYWtpbmcgaXRcbiAqIHRvIGEgc2NyaXB0IGluIHN1Y2ggY2FzZS5cbiAqIE5vdGUgdGhhdCBieSBkZWZhdWx0IEFwcGxlU2NyaXB0IGVuZ2luZSBibG9ja3MgY29tbWFuZHMvc2NyaXB0cyBleGVjdXRpb24gaWYgeW91ciBzY3JpcHRcbiAqIGlzIHRyeWluZyB0byBhY2Nlc3Mgc29tZSBwcml2YXRlIGVudGl0aWVzLCBsaWtlIGNhbWVyYXMgb3IgdGhlIGRlc2t0b3Agc2NyZWVuXG4gKiBhbmQgbm8gcGVybWlzc2lvbnMgdG8gZG8gaXQgYXJlIGdpdmVuIHRvIHRoZSBwYXJlbnQgKGZvciBleGFtcGxlLCBBcHBpdW0gb3IgVGVybWluYWwpXG4gKiBwcm9jZXNzIGluIFN5c3RlbSBQcmVmZXJlbmNlcyAtPiBQcml2YWN5IGxpc3QuXG4gKlxuICogQHBhcmFtIHshRXhlY0FwcGxlU2NyaXB0T3B0aW9uc30gb3B0c1xuICogQHJldHVybnMge3N0cmluZ30gVGhlIGFjdHVhbCBzdGRvdXQgb2YgdGhlIGdpdmVuIGNvbW1hbmQvc2NyaXB0XG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGV4aXQgY29kZSBvZiB0aGUgZ2l2ZW4gY29tbWFuZC9zY3JpcHQgaXMgbm90IHplcm8uXG4gKiBUaGUgYWN0dWFsIHN0ZGVyciBvdXRwdXQgaXMgc2V0IHRvIHRoZSBlcnJvciBtZXNzYWdlIHZhbHVlLlxuICovXG5jb21tYW5kcy5tYWNvc0V4ZWNBcHBsZVNjcmlwdCA9IGFzeW5jIGZ1bmN0aW9uIG1hY29zRXhlY0FwcGxlU2NyaXB0IChvcHRzID0ge30pIHtcbiAgdGhpcy5lbnN1cmVGZWF0dXJlRW5hYmxlZChBUFBMRV9TQ1JJUFRfRkVBVFVSRSk7XG5cbiAgY29uc3Qge1xuICAgIHNjcmlwdCxcbiAgICBsYW5ndWFnZSxcbiAgICBjb21tYW5kLFxuICAgIGN3ZCxcbiAgICB0aW1lb3V0LFxuICB9ID0gb3B0cztcbiAgaWYgKCFzY3JpcHQgJiYgIWNvbW1hbmQpIHtcbiAgICBsb2cuZXJyb3JBbmRUaHJvdygnQXBwbGVTY3JpcHQgc2NyaXB0L2NvbW1hbmQgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxuICBpZiAoL1xcbi8udGVzdChjb21tYW5kKSkge1xuICAgIGxvZy5lcnJvckFuZFRocm93KCdBcHBsZVNjcmlwdCBjb21tYW5kcyBjYW5ub3QgY29udGFpbiBsaW5lIGJyZWFrcycpO1xuICB9XG4gIC8vICdjb21tYW5kJyBoYXMgcHJpb3JpdHkgb3ZlciAnc2NyaXB0J1xuICBjb25zdCBzaG91bGRSdW5TY3JpcHQgPSAhY29tbWFuZDtcblxuICBjb25zdCBhcmdzID0gW107XG4gIGlmIChsYW5ndWFnZSkge1xuICAgIGFyZ3MucHVzaCgnLWwnLCBsYW5ndWFnZSk7XG4gIH1cbiAgbGV0IHRtcFJvb3Q7XG4gIHRyeSB7XG4gICAgaWYgKHNob3VsZFJ1blNjcmlwdCkge1xuICAgICAgdG1wUm9vdCA9IGF3YWl0IHRlbXBEaXIub3BlbkRpcigpO1xuICAgICAgY29uc3QgdG1wU2NyaXB0UGF0aCA9IHBhdGgucmVzb2x2ZSh0bXBSb290LCAnYXBwaXVtX3NjcmlwdC5zY3B0Jyk7XG4gICAgICBhd2FpdCBmcy53cml0ZUZpbGUodG1wU2NyaXB0UGF0aCwgc2NyaXB0LCAndXRmOCcpO1xuICAgICAgYXJncy5wdXNoKHRtcFNjcmlwdFBhdGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcmdzLnB1c2goJy1lJywgY29tbWFuZCk7XG4gICAgfVxuICAgIGxvZy5pbmZvKGBSdW5uaW5nICR7T1NBU0NSSVBUfSB3aXRoIGFyZ3VtZW50czogJHt1dGlsLnF1b3RlKGFyZ3MpfWApO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IGV4ZWMoT1NBU0NSSVBULCBhcmdzLCB7Y3dkLCB0aW1lb3V0fSk7XG4gICAgICByZXR1cm4gc3Rkb3V0O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihlLnN0ZGVyciB8fCBlLm1lc3NhZ2UpO1xuICAgIH1cbiAgfSBmaW5hbGx5IHtcbiAgICBpZiAodG1wUm9vdCkge1xuICAgICAgYXdhaXQgZnMucmltcmFmKHRtcFJvb3QpO1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IHsgY29tbWFuZHMgfTtcbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUEsTUFBTUEsU0FBUyxHQUFHLFdBQVc7QUFDN0IsTUFBTUMsb0JBQW9CLEdBQUcsY0FBYztBQUUzQyxNQUFNQyxRQUFRLEdBQUcsQ0FBQyxDQUFDOztBQUFDOztBQThCcEJBLFFBQVEsQ0FBQ0Msb0JBQW9CLEdBQUcsZUFBZUEsb0JBQW9CLENBQUVDLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRTtFQUM5RSxJQUFJLENBQUNDLG9CQUFvQixDQUFDSixvQkFBb0IsQ0FBQztFQUUvQyxNQUFNO0lBQ0pLLE1BQU07SUFDTkMsUUFBUTtJQUNSQyxPQUFPO0lBQ1BDLEdBQUc7SUFDSEM7RUFDRixDQUFDLEdBQUdOLElBQUk7RUFDUixJQUFJLENBQUNFLE1BQU0sSUFBSSxDQUFDRSxPQUFPLEVBQUU7SUFDdkJHLGVBQUcsQ0FBQ0MsYUFBYSxDQUFDLDhDQUE4QyxDQUFDO0VBQ25FO0VBQ0EsSUFBSSxJQUFJLENBQUNDLElBQUksQ0FBQ0wsT0FBTyxDQUFDLEVBQUU7SUFDdEJHLGVBQUcsQ0FBQ0MsYUFBYSxDQUFDLGlEQUFpRCxDQUFDO0VBQ3RFO0VBRUEsTUFBTUUsZUFBZSxHQUFHLENBQUNOLE9BQU87RUFFaEMsTUFBTU8sSUFBSSxHQUFHLEVBQUU7RUFDZixJQUFJUixRQUFRLEVBQUU7SUFDWlEsSUFBSSxDQUFDQyxJQUFJLENBQUMsSUFBSSxFQUFFVCxRQUFRLENBQUM7RUFDM0I7RUFDQSxJQUFJVSxPQUFPO0VBQ1gsSUFBSTtJQUNGLElBQUlILGVBQWUsRUFBRTtNQUNuQkcsT0FBTyxHQUFHLE1BQU1DLGdCQUFPLENBQUNDLE9BQU8sRUFBRTtNQUNqQyxNQUFNQyxhQUFhLEdBQUdDLGFBQUksQ0FBQ0MsT0FBTyxDQUFDTCxPQUFPLEVBQUUsb0JBQW9CLENBQUM7TUFDakUsTUFBTU0sV0FBRSxDQUFDQyxTQUFTLENBQUNKLGFBQWEsRUFBRWQsTUFBTSxFQUFFLE1BQU0sQ0FBQztNQUNqRFMsSUFBSSxDQUFDQyxJQUFJLENBQUNJLGFBQWEsQ0FBQztJQUMxQixDQUFDLE1BQU07TUFDTEwsSUFBSSxDQUFDQyxJQUFJLENBQUMsSUFBSSxFQUFFUixPQUFPLENBQUM7SUFDMUI7SUFDQUcsZUFBRyxDQUFDYyxJQUFJLENBQUUsV0FBVXpCLFNBQVUsb0JBQW1CMEIsYUFBSSxDQUFDQyxLQUFLLENBQUNaLElBQUksQ0FBRSxFQUFDLENBQUM7SUFDcEUsSUFBSTtNQUNGLE1BQU07UUFBQ2E7TUFBTSxDQUFDLEdBQUcsTUFBTSxJQUFBQyxrQkFBSSxFQUFDN0IsU0FBUyxFQUFFZSxJQUFJLEVBQUU7UUFBQ04sR0FBRztRQUFFQztNQUFPLENBQUMsQ0FBQztNQUM1RCxPQUFPa0IsTUFBTTtJQUNmLENBQUMsQ0FBQyxPQUFPRSxDQUFDLEVBQUU7TUFDVixNQUFNLElBQUlDLEtBQUssQ0FBQ0QsQ0FBQyxDQUFDRSxNQUFNLElBQUlGLENBQUMsQ0FBQ0csT0FBTyxDQUFDO0lBQ3hDO0VBQ0YsQ0FBQyxTQUFTO0lBQ1IsSUFBSWhCLE9BQU8sRUFBRTtNQUNYLE1BQU1NLFdBQUUsQ0FBQ1csTUFBTSxDQUFDakIsT0FBTyxDQUFDO0lBQzFCO0VBQ0Y7QUFDRixDQUFDO0FBQUMsZUFHYWYsUUFBUTtBQUFBIn0=
67
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPU0FTQ1JJUFQiLCJBUFBMRV9TQ1JJUFRfRkVBVFVSRSIsImNvbW1hbmRzIiwibWFjb3NFeGVjQXBwbGVTY3JpcHQiLCJvcHRzIiwiZW5zdXJlRmVhdHVyZUVuYWJsZWQiLCJzY3JpcHQiLCJsYW5ndWFnZSIsImNvbW1hbmQiLCJjd2QiLCJ0aW1lb3V0IiwibG9nIiwiZXJyb3JBbmRUaHJvdyIsInRlc3QiLCJzaG91bGRSdW5TY3JpcHQiLCJhcmdzIiwicHVzaCIsInRtcFJvb3QiLCJ0ZW1wRGlyIiwib3BlbkRpciIsInRtcFNjcmlwdFBhdGgiLCJwYXRoIiwicmVzb2x2ZSIsImZzIiwid3JpdGVGaWxlIiwiaW5mbyIsInV0aWwiLCJxdW90ZSIsInN0ZG91dCIsImV4ZWMiLCJlIiwiRXJyb3IiLCJzdGRlcnIiLCJtZXNzYWdlIiwicmltcmFmIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2NvbW1hbmRzL2FwcGxlc2NyaXB0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZzLCB0ZW1wRGlyLCB1dGlsIH0gZnJvbSAnYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IHsgZXhlYyB9IGZyb20gJ3RlZW5fcHJvY2Vzcyc7XG5pbXBvcnQgbG9nIGZyb20gJy4uL2xvZ2dlcic7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcblxuY29uc3QgT1NBU0NSSVBUID0gJ29zYXNjcmlwdCc7XG5jb25zdCBBUFBMRV9TQ1JJUFRfRkVBVFVSRSA9ICdhcHBsZV9zY3JpcHQnO1xuXG5jb25zdCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEV4ZWNBcHBsZVNjcmlwdE9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gc2NyaXB0IEEgdmFsaWQgQXBwbGVTY3JpcHQgdG8gZXhlY3V0ZVxuICogQHByb3BlcnR5IHs/c3RyaW5nfSBsYW5ndWFnZSBPdmVycmlkZXMgdGhlIHNjcmlwdGluZyBsYW5ndWFnZS4gQmFzaWNhbGx5LCBzZXRzIHRoZSB2YWx1ZSBvZiBgLWxgIGNvbW1hbmRcbiAqIGxpbmUgYXJndW1lbnQgb2YgYG9zYXNjcmlwdGAgdG9vbC4gSWYgdW5zZXQgdGhlIEFwcGxlU2NyaXB0IGxhbmd1YWdlIGlzIGFzc3VtZWQuXG4gKiBAcHJvcGVydHkgez9zdHJpbmd9IGNvbW1hbmQgQSB2YWxpZCBBcHBsZVNjcmlwdCBhcyBhIHNpbmdsZSBjb21tYW5kIChubyBsaW5lIGJyZWFrcykgdG8gZXhlY3V0ZVxuICogQHByb3BlcnR5IHs/bnVtYmVyfSB0aW1lb3V0IFsyMDAwMF0gVGhlIG51bWJlciBvZiBzZWNvbmRzIHRvIHdhaXQgdW50aWwgYSBsb25nLXJ1bm5pbmcgY29tbWFuZCBpc1xuICogZmluaXNoZWQuIEFuIGVycm9yIGlzIHRocm93biBpZiB0aGUgY29tbWFuZCBpcyBzdGlsbCBydW5uaW5nIGFmdGVyIHRoaXMgdGltZW91dCBleHBpcmVzLlxuICogQHByb3BlcnR5IHs/c3RyaW5nfSBjd2QgVGhlIHBhdGggdG8gYW4gZXhpc3RpbmcgZm9sZGVyLCB3aGljaCBpcyBnb2luZyB0byBiZSBzZXQgYXMgdGhlXG4gKiB3b3JraW5nIGRpcmVjdG9yeSBmb3IgdGhlIGNvbW1hbmQvc2NyaXB0IGJlaW5nIGV4ZWN1dGVkLlxuICovXG5cbi8qKlxuICogRXhlY3V0ZXMgdGhlIGdpdmVuIEFwcGxlU2NyaXB0IGNvbW1hbmQgb3IgYSB3aG9sZSBzY3JpcHQgYmFzZWQgb24gdGhlXG4gKiBnaXZlbiBvcHRpb25zLiBFaXRoZXIgb2YgdGhlc2Ugb3B0aW9ucyBtdXN0IGJlIHByb3ZpZGVkLiBJZiBib3RoIGFyZSBwcm92aWRlZFxuICogdGhlbiB0aGUgYGNvbW1hbmRgIG9uZSBnZXRzIHRoZSBwcmlvcml0eS5cbiAqIE5vdGUgdGhhdCBBcHBsZVNjcmlwdCBjb21tYW5kIGNhbm5vdCBjb250YWluIGxpbmUgYnJlYWtzLiBDb25zaWRlciBtYWtpbmcgaXRcbiAqIHRvIGEgc2NyaXB0IGluIHN1Y2ggY2FzZS5cbiAqIE5vdGUgdGhhdCBieSBkZWZhdWx0IEFwcGxlU2NyaXB0IGVuZ2luZSBibG9ja3MgY29tbWFuZHMvc2NyaXB0cyBleGVjdXRpb24gaWYgeW91ciBzY3JpcHRcbiAqIGlzIHRyeWluZyB0byBhY2Nlc3Mgc29tZSBwcml2YXRlIGVudGl0aWVzLCBsaWtlIGNhbWVyYXMgb3IgdGhlIGRlc2t0b3Agc2NyZWVuXG4gKiBhbmQgbm8gcGVybWlzc2lvbnMgdG8gZG8gaXQgYXJlIGdpdmVuIHRvIHRoZSBwYXJlbnQgKGZvciBleGFtcGxlLCBBcHBpdW0gb3IgVGVybWluYWwpXG4gKiBwcm9jZXNzIGluIFN5c3RlbSBQcmVmZXJlbmNlcyAtPiBQcml2YWN5IGxpc3QuXG4gKlxuICogQHBhcmFtIHshRXhlY0FwcGxlU2NyaXB0T3B0aW9uc30gb3B0c1xuICogQHJldHVybnMge3N0cmluZ30gVGhlIGFjdHVhbCBzdGRvdXQgb2YgdGhlIGdpdmVuIGNvbW1hbmQvc2NyaXB0XG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGV4aXQgY29kZSBvZiB0aGUgZ2l2ZW4gY29tbWFuZC9zY3JpcHQgaXMgbm90IHplcm8uXG4gKiBUaGUgYWN0dWFsIHN0ZGVyciBvdXRwdXQgaXMgc2V0IHRvIHRoZSBlcnJvciBtZXNzYWdlIHZhbHVlLlxuICovXG5jb21tYW5kcy5tYWNvc0V4ZWNBcHBsZVNjcmlwdCA9IGFzeW5jIGZ1bmN0aW9uIG1hY29zRXhlY0FwcGxlU2NyaXB0IChvcHRzID0ge30pIHtcbiAgdGhpcy5lbnN1cmVGZWF0dXJlRW5hYmxlZChBUFBMRV9TQ1JJUFRfRkVBVFVSRSk7XG5cbiAgY29uc3Qge1xuICAgIHNjcmlwdCxcbiAgICBsYW5ndWFnZSxcbiAgICBjb21tYW5kLFxuICAgIGN3ZCxcbiAgICB0aW1lb3V0LFxuICB9ID0gb3B0cztcbiAgaWYgKCFzY3JpcHQgJiYgIWNvbW1hbmQpIHtcbiAgICBsb2cuZXJyb3JBbmRUaHJvdygnQXBwbGVTY3JpcHQgc2NyaXB0L2NvbW1hbmQgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxuICBpZiAoL1xcbi8udGVzdChjb21tYW5kKSkge1xuICAgIGxvZy5lcnJvckFuZFRocm93KCdBcHBsZVNjcmlwdCBjb21tYW5kcyBjYW5ub3QgY29udGFpbiBsaW5lIGJyZWFrcycpO1xuICB9XG4gIC8vICdjb21tYW5kJyBoYXMgcHJpb3JpdHkgb3ZlciAnc2NyaXB0J1xuICBjb25zdCBzaG91bGRSdW5TY3JpcHQgPSAhY29tbWFuZDtcblxuICBjb25zdCBhcmdzID0gW107XG4gIGlmIChsYW5ndWFnZSkge1xuICAgIGFyZ3MucHVzaCgnLWwnLCBsYW5ndWFnZSk7XG4gIH1cbiAgbGV0IHRtcFJvb3Q7XG4gIHRyeSB7XG4gICAgaWYgKHNob3VsZFJ1blNjcmlwdCkge1xuICAgICAgdG1wUm9vdCA9IGF3YWl0IHRlbXBEaXIub3BlbkRpcigpO1xuICAgICAgY29uc3QgdG1wU2NyaXB0UGF0aCA9IHBhdGgucmVzb2x2ZSh0bXBSb290LCAnYXBwaXVtX3NjcmlwdC5zY3B0Jyk7XG4gICAgICBhd2FpdCBmcy53cml0ZUZpbGUodG1wU2NyaXB0UGF0aCwgc2NyaXB0LCAndXRmOCcpO1xuICAgICAgYXJncy5wdXNoKHRtcFNjcmlwdFBhdGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcmdzLnB1c2goJy1lJywgY29tbWFuZCk7XG4gICAgfVxuICAgIGxvZy5pbmZvKGBSdW5uaW5nICR7T1NBU0NSSVBUfSB3aXRoIGFyZ3VtZW50czogJHt1dGlsLnF1b3RlKGFyZ3MpfWApO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IGV4ZWMoT1NBU0NSSVBULCBhcmdzLCB7Y3dkLCB0aW1lb3V0fSk7XG4gICAgICByZXR1cm4gc3Rkb3V0O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihlLnN0ZGVyciB8fCBlLm1lc3NhZ2UpO1xuICAgIH1cbiAgfSBmaW5hbGx5IHtcbiAgICBpZiAodG1wUm9vdCkge1xuICAgICAgYXdhaXQgZnMucmltcmFmKHRtcFJvb3QpO1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IHsgY29tbWFuZHMgfTtcbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUEsTUFBTUEsU0FBUyxHQUFHLFdBQVc7QUFDN0IsTUFBTUMsb0JBQW9CLEdBQUcsY0FBYztBQUUzQyxNQUFNQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBQUM7QUE4QnBCQSxRQUFRLENBQUNDLG9CQUFvQixHQUFHLGVBQWVBLG9CQUFvQixDQUFFQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUU7RUFDOUUsSUFBSSxDQUFDQyxvQkFBb0IsQ0FBQ0osb0JBQW9CLENBQUM7RUFFL0MsTUFBTTtJQUNKSyxNQUFNO0lBQ05DLFFBQVE7SUFDUkMsT0FBTztJQUNQQyxHQUFHO0lBQ0hDO0VBQ0YsQ0FBQyxHQUFHTixJQUFJO0VBQ1IsSUFBSSxDQUFDRSxNQUFNLElBQUksQ0FBQ0UsT0FBTyxFQUFFO0lBQ3ZCRyxlQUFHLENBQUNDLGFBQWEsQ0FBQyw4Q0FBOEMsQ0FBQztFQUNuRTtFQUNBLElBQUksSUFBSSxDQUFDQyxJQUFJLENBQUNMLE9BQU8sQ0FBQyxFQUFFO0lBQ3RCRyxlQUFHLENBQUNDLGFBQWEsQ0FBQyxpREFBaUQsQ0FBQztFQUN0RTtFQUVBLE1BQU1FLGVBQWUsR0FBRyxDQUFDTixPQUFPO0VBRWhDLE1BQU1PLElBQUksR0FBRyxFQUFFO0VBQ2YsSUFBSVIsUUFBUSxFQUFFO0lBQ1pRLElBQUksQ0FBQ0MsSUFBSSxDQUFDLElBQUksRUFBRVQsUUFBUSxDQUFDO0VBQzNCO0VBQ0EsSUFBSVUsT0FBTztFQUNYLElBQUk7SUFDRixJQUFJSCxlQUFlLEVBQUU7TUFDbkJHLE9BQU8sR0FBRyxNQUFNQyxnQkFBTyxDQUFDQyxPQUFPLEVBQUU7TUFDakMsTUFBTUMsYUFBYSxHQUFHQyxhQUFJLENBQUNDLE9BQU8sQ0FBQ0wsT0FBTyxFQUFFLG9CQUFvQixDQUFDO01BQ2pFLE1BQU1NLFdBQUUsQ0FBQ0MsU0FBUyxDQUFDSixhQUFhLEVBQUVkLE1BQU0sRUFBRSxNQUFNLENBQUM7TUFDakRTLElBQUksQ0FBQ0MsSUFBSSxDQUFDSSxhQUFhLENBQUM7SUFDMUIsQ0FBQyxNQUFNO01BQ0xMLElBQUksQ0FBQ0MsSUFBSSxDQUFDLElBQUksRUFBRVIsT0FBTyxDQUFDO0lBQzFCO0lBQ0FHLGVBQUcsQ0FBQ2MsSUFBSSxDQUFFLFdBQVV6QixTQUFVLG9CQUFtQjBCLGFBQUksQ0FBQ0MsS0FBSyxDQUFDWixJQUFJLENBQUUsRUFBQyxDQUFDO0lBQ3BFLElBQUk7TUFDRixNQUFNO1FBQUNhO01BQU0sQ0FBQyxHQUFHLE1BQU0sSUFBQUMsa0JBQUksRUFBQzdCLFNBQVMsRUFBRWUsSUFBSSxFQUFFO1FBQUNOLEdBQUc7UUFBRUM7TUFBTyxDQUFDLENBQUM7TUFDNUQsT0FBT2tCLE1BQU07SUFDZixDQUFDLENBQUMsT0FBT0UsQ0FBQyxFQUFFO01BQ1YsTUFBTSxJQUFJQyxLQUFLLENBQUNELENBQUMsQ0FBQ0UsTUFBTSxJQUFJRixDQUFDLENBQUNHLE9BQU8sQ0FBQztJQUN4QztFQUNGLENBQUMsU0FBUztJQUNSLElBQUloQixPQUFPLEVBQUU7TUFDWCxNQUFNTSxXQUFFLENBQUNXLE1BQU0sQ0FBQ2pCLE9BQU8sQ0FBQztJQUMxQjtFQUNGO0FBQ0YsQ0FBQztBQUFDLGVBR2FmLFFBQVE7QUFBQSJ9
@@ -1 +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
+ {"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"}
@@ -7,7 +7,6 @@ exports.default = exports.commands = void 0;
7
7
  require("source-map-support/register");
8
8
  var _support = require("appium/support");
9
9
  const commands = {};
10
-
11
10
  exports.commands = commands;
12
11
  commands.findElOrEls = async function findElOrEls(strategy, selector, mult, context) {
13
12
  context = _support.util.unwrapElement(context);
@@ -24,4 +23,4 @@ commands.findElOrEls = async function findElOrEls(strategy, selector, mult, cont
24
23
  };
25
24
  var _default = commands;
26
25
  exports.default = _default;
27
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImZpbmRFbE9yRWxzIiwic3RyYXRlZ3kiLCJzZWxlY3RvciIsIm11bHQiLCJjb250ZXh0IiwidXRpbCIsInVud3JhcEVsZW1lbnQiLCJlbmRwb2ludCIsIndkYSIsInByb3h5IiwiY29tbWFuZCIsInVzaW5nIiwidmFsdWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvZmluZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1dGlsIH0gZnJvbSAnYXBwaXVtL3N1cHBvcnQnO1xuXG5cbmNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8vIFRoaXMgaXMgbmVlZGVkIHRvIG1ha2UgbG9va3VwIGJ5IGltYWdlIHdvcmtpbmdcbmNvbW1hbmRzLmZpbmRFbE9yRWxzID0gYXN5bmMgZnVuY3Rpb24gZmluZEVsT3JFbHMgKHN0cmF0ZWd5LCBzZWxlY3RvciwgbXVsdCwgY29udGV4dCkge1xuICBjb250ZXh0ID0gdXRpbC51bndyYXBFbGVtZW50KGNvbnRleHQpO1xuICBjb25zdCBlbmRwb2ludCA9IGAvZWxlbWVudCR7Y29udGV4dCA/IGAvJHtjb250ZXh0fS9lbGVtZW50YCA6ICcnfSR7bXVsdCA/ICdzJyA6ICcnfWA7XG5cbiAgaWYgKHN0cmF0ZWd5ID09PSAnLWlvcyBwcmVkaWNhdGUgc3RyaW5nJykge1xuICAgIHN0cmF0ZWd5ID0gJ3ByZWRpY2F0ZSBzdHJpbmcnO1xuICB9IGVsc2UgaWYgKHN0cmF0ZWd5ID09PSAnLWlvcyBjbGFzcyBjaGFpbicpIHtcbiAgICBzdHJhdGVneSA9ICdjbGFzcyBjaGFpbic7XG4gIH1cblxuICByZXR1cm4gYXdhaXQgdGhpcy53ZGEucHJveHkuY29tbWFuZChlbmRwb2ludCwgJ1BPU1QnLCB7XG4gICAgdXNpbmc6IHN0cmF0ZWd5LFxuICAgIHZhbHVlOiBzZWxlY3RvcixcbiAgfSk7XG59O1xuXG5cbmV4cG9ydCB7IGNvbW1hbmRzIH07XG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBR0EsTUFBTUEsUUFBUSxHQUFHLENBQUMsQ0FBQzs7QUFBQztBQUdwQkEsUUFBUSxDQUFDQyxXQUFXLEdBQUcsZUFBZUEsV0FBVyxDQUFFQyxRQUFRLEVBQUVDLFFBQVEsRUFBRUMsSUFBSSxFQUFFQyxPQUFPLEVBQUU7RUFDcEZBLE9BQU8sR0FBR0MsYUFBSSxDQUFDQyxhQUFhLENBQUNGLE9BQU8sQ0FBQztFQUNyQyxNQUFNRyxRQUFRLEdBQUksV0FBVUgsT0FBTyxHQUFJLElBQUdBLE9BQVEsVUFBUyxHQUFHLEVBQUcsR0FBRUQsSUFBSSxHQUFHLEdBQUcsR0FBRyxFQUFHLEVBQUM7RUFFcEYsSUFBSUYsUUFBUSxLQUFLLHVCQUF1QixFQUFFO0lBQ3hDQSxRQUFRLEdBQUcsa0JBQWtCO0VBQy9CLENBQUMsTUFBTSxJQUFJQSxRQUFRLEtBQUssa0JBQWtCLEVBQUU7SUFDMUNBLFFBQVEsR0FBRyxhQUFhO0VBQzFCO0VBRUEsT0FBTyxNQUFNLElBQUksQ0FBQ08sR0FBRyxDQUFDQyxLQUFLLENBQUNDLE9BQU8sQ0FBQ0gsUUFBUSxFQUFFLE1BQU0sRUFBRTtJQUNwREksS0FBSyxFQUFFVixRQUFRO0lBQ2ZXLEtBQUssRUFBRVY7RUFDVCxDQUFDLENBQUM7QUFDSixDQUFDO0FBQUMsZUFJYUgsUUFBUTtBQUFBIn0=
26
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImZpbmRFbE9yRWxzIiwic3RyYXRlZ3kiLCJzZWxlY3RvciIsIm11bHQiLCJjb250ZXh0IiwidXRpbCIsInVud3JhcEVsZW1lbnQiLCJlbmRwb2ludCIsIndkYSIsInByb3h5IiwiY29tbWFuZCIsInVzaW5nIiwidmFsdWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvZmluZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1dGlsIH0gZnJvbSAnYXBwaXVtL3N1cHBvcnQnO1xuXG5cbmNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8vIFRoaXMgaXMgbmVlZGVkIHRvIG1ha2UgbG9va3VwIGJ5IGltYWdlIHdvcmtpbmdcbmNvbW1hbmRzLmZpbmRFbE9yRWxzID0gYXN5bmMgZnVuY3Rpb24gZmluZEVsT3JFbHMgKHN0cmF0ZWd5LCBzZWxlY3RvciwgbXVsdCwgY29udGV4dCkge1xuICBjb250ZXh0ID0gdXRpbC51bndyYXBFbGVtZW50KGNvbnRleHQpO1xuICBjb25zdCBlbmRwb2ludCA9IGAvZWxlbWVudCR7Y29udGV4dCA/IGAvJHtjb250ZXh0fS9lbGVtZW50YCA6ICcnfSR7bXVsdCA/ICdzJyA6ICcnfWA7XG5cbiAgaWYgKHN0cmF0ZWd5ID09PSAnLWlvcyBwcmVkaWNhdGUgc3RyaW5nJykge1xuICAgIHN0cmF0ZWd5ID0gJ3ByZWRpY2F0ZSBzdHJpbmcnO1xuICB9IGVsc2UgaWYgKHN0cmF0ZWd5ID09PSAnLWlvcyBjbGFzcyBjaGFpbicpIHtcbiAgICBzdHJhdGVneSA9ICdjbGFzcyBjaGFpbic7XG4gIH1cblxuICByZXR1cm4gYXdhaXQgdGhpcy53ZGEucHJveHkuY29tbWFuZChlbmRwb2ludCwgJ1BPU1QnLCB7XG4gICAgdXNpbmc6IHN0cmF0ZWd5LFxuICAgIHZhbHVlOiBzZWxlY3RvcixcbiAgfSk7XG59O1xuXG5cbmV4cG9ydCB7IGNvbW1hbmRzIH07XG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBR0EsTUFBTUEsUUFBUSxHQUFHLENBQUMsQ0FBQztBQUFDO0FBR3BCQSxRQUFRLENBQUNDLFdBQVcsR0FBRyxlQUFlQSxXQUFXLENBQUVDLFFBQVEsRUFBRUMsUUFBUSxFQUFFQyxJQUFJLEVBQUVDLE9BQU8sRUFBRTtFQUNwRkEsT0FBTyxHQUFHQyxhQUFJLENBQUNDLGFBQWEsQ0FBQ0YsT0FBTyxDQUFDO0VBQ3JDLE1BQU1HLFFBQVEsR0FBSSxXQUFVSCxPQUFPLEdBQUksSUFBR0EsT0FBUSxVQUFTLEdBQUcsRUFBRyxHQUFFRCxJQUFJLEdBQUcsR0FBRyxHQUFHLEVBQUcsRUFBQztFQUVwRixJQUFJRixRQUFRLEtBQUssdUJBQXVCLEVBQUU7SUFDeENBLFFBQVEsR0FBRyxrQkFBa0I7RUFDL0IsQ0FBQyxNQUFNLElBQUlBLFFBQVEsS0FBSyxrQkFBa0IsRUFBRTtJQUMxQ0EsUUFBUSxHQUFHLGFBQWE7RUFDMUI7RUFFQSxPQUFPLE1BQU0sSUFBSSxDQUFDTyxHQUFHLENBQUNDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDSCxRQUFRLEVBQUUsTUFBTSxFQUFFO0lBQ3BESSxLQUFLLEVBQUVWLFFBQVE7SUFDZlcsS0FBSyxFQUFFVjtFQUNULENBQUMsQ0FBQztBQUNKLENBQUM7QUFBQyxlQUlhSCxRQUFRO0FBQUEifQ==
@@ -1 +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"}
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"}