appium-mac2-driver 1.15.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +2 -1
  3. package/WebDriverAgentMac/WebDriverAgentLib/Commands/FBSessionCommands.m +15 -1
  4. package/WebDriverAgentMac/WebDriverAgentLib/Utilities/AMSessionCapabilities.h +2 -0
  5. package/WebDriverAgentMac/WebDriverAgentLib/Utilities/AMSessionCapabilities.m +1 -0
  6. package/WebDriverAgentMac/WebDriverAgentLib/Utilities/AMXCUIDeviceWrapper.m +6 -6
  7. package/build/lib/commands/app-management.d.ts +39 -129
  8. package/build/lib/commands/app-management.d.ts.map +1 -1
  9. package/build/lib/commands/app-management.js +32 -51
  10. package/build/lib/commands/app-management.js.map +1 -1
  11. package/build/lib/commands/applescript.d.ts +19 -56
  12. package/build/lib/commands/applescript.d.ts.map +1 -1
  13. package/build/lib/commands/applescript.js +16 -25
  14. package/build/lib/commands/applescript.js.map +1 -1
  15. package/build/lib/commands/execute.d.ts +17 -5
  16. package/build/lib/commands/execute.d.ts.map +1 -1
  17. package/build/lib/commands/execute.js +27 -8
  18. package/build/lib/commands/execute.js.map +1 -1
  19. package/build/lib/commands/find.d.ts +12 -4
  20. package/build/lib/commands/find.d.ts.map +1 -1
  21. package/build/lib/commands/find.js +20 -9
  22. package/build/lib/commands/find.js.map +1 -1
  23. package/build/lib/commands/gestures.d.ts +106 -808
  24. package/build/lib/commands/gestures.d.ts.map +1 -1
  25. package/build/lib/commands/gestures.js +112 -291
  26. package/build/lib/commands/gestures.js.map +1 -1
  27. package/build/lib/commands/navigation.d.ts +10 -28
  28. package/build/lib/commands/navigation.d.ts.map +1 -1
  29. package/build/lib/commands/navigation.js +11 -14
  30. package/build/lib/commands/navigation.js.map +1 -1
  31. package/build/lib/commands/record-screen.d.ts +50 -163
  32. package/build/lib/commands/record-screen.d.ts.map +1 -1
  33. package/build/lib/commands/record-screen.js +17 -63
  34. package/build/lib/commands/record-screen.js.map +1 -1
  35. package/build/lib/commands/screenshots.d.ts +7 -39
  36. package/build/lib/commands/screenshots.d.ts.map +1 -1
  37. package/build/lib/commands/screenshots.js +12 -24
  38. package/build/lib/commands/screenshots.js.map +1 -1
  39. package/build/lib/commands/source.d.ts +9 -30
  40. package/build/lib/commands/source.d.ts.map +1 -1
  41. package/build/lib/commands/source.js +12 -16
  42. package/build/lib/commands/source.js.map +1 -1
  43. package/build/lib/desired-caps.d.ts +4 -0
  44. package/build/lib/desired-caps.js +3 -0
  45. package/build/lib/desired-caps.js.map +1 -1
  46. package/build/lib/driver.d.ts +42 -82
  47. package/build/lib/driver.d.ts.map +1 -1
  48. package/build/lib/driver.js +67 -10
  49. package/build/lib/driver.js.map +1 -1
  50. package/build/lib/types.d.ts +661 -0
  51. package/build/lib/types.d.ts.map +1 -0
  52. package/build/lib/types.js +3 -0
  53. package/build/lib/types.js.map +1 -0
  54. package/build/lib/wda-mac.d.ts +11 -10
  55. package/build/lib/wda-mac.d.ts.map +1 -1
  56. package/build/lib/wda-mac.js +4 -0
  57. package/build/lib/wda-mac.js.map +1 -1
  58. package/lib/commands/app-management.js +23 -52
  59. package/lib/commands/applescript.js +12 -25
  60. package/lib/commands/execute.js +20 -7
  61. package/lib/commands/find.js +16 -10
  62. package/lib/commands/gestures.js +66 -294
  63. package/lib/commands/navigation.js +7 -14
  64. package/lib/commands/record-screen.js +10 -65
  65. package/lib/commands/screenshots.js +11 -26
  66. package/lib/commands/source.js +10 -17
  67. package/lib/desired-caps.js +3 -0
  68. package/lib/driver.js +55 -13
  69. package/lib/types.ts +688 -0
  70. package/lib/wda-mac.js +6 -2
  71. package/npm-shrinkwrap.json +2 -2
  72. package/package.json +1 -1
  73. package/build/lib/commands/index.d.ts +0 -3
  74. package/build/lib/commands/index.d.ts.map +0 -1
  75. package/build/lib/commands/index.js +0 -20
  76. package/build/lib/commands/index.js.map +0 -1
  77. package/lib/commands/index.js +0 -27
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [1.17.0](https://github.com/appium/appium-mac2-driver/compare/v1.16.0...v1.17.0) (2024-04-21)
2
+
3
+
4
+ ### Features
5
+
6
+ * Improve the typing system ([#298](https://github.com/appium/appium-mac2-driver/issues/298)) ([20bdd85](https://github.com/appium/appium-mac2-driver/commit/20bdd85de5b801098a23b1f95dd46f72d97a9506))
7
+
8
+ ## [1.16.0](https://github.com/appium/appium-mac2-driver/compare/v1.15.0...v1.16.0) (2024-04-20)
9
+
10
+
11
+ ### Features
12
+
13
+ * Add initialDeeplinkUrl capability ([#297](https://github.com/appium/appium-mac2-driver/issues/297)) ([6dee2e8](https://github.com/appium/appium-mac2-driver/commit/6dee2e87c310d23b1a2819b6633d63ee249477d3))
14
+
1
15
  ## [1.15.0](https://github.com/appium/appium-mac2-driver/compare/v1.14.0...v1.15.0) (2024-04-19)
2
16
 
3
17
 
package/README.md CHANGED
@@ -54,7 +54,8 @@ appium:postrun | An object containing either `script` or `command` key. The valu
54
54
  appium:noReset | Whether to restart the app whose bundle identifier was passed to capabilities as `bundleId` value if it was already running on the session startup (`false`, the default value) or just pick it up without changing the app state (`true`). Note that neither of `arguments` or `environment` capabilities will take effect if the app did not restart.
55
55
  appium:appPath | The path to the application to automate, for example `/Applications/MyAppName.app`. This is an optional capability, but it requires `bundleId` to be present until mac2 driver v1.13.0. In earlier versions if `bundleId` is empty, `appPath` would be ignored. If the path is invalid or application is damaged/incomplete then an error will be thrown on session startup. This capability could be useful when you have multiple builds of the same application with the same bundleId on your machine (for example one production build in /Applications/ and several dev builds). If you provide bundleId only, the operating system could open any of these builds. By providing `appPath` you have a guarantee that the specified .app will be launched, rather than a random one.
56
56
  appium:appLocale | A dictionary with the following possible entries: `locale` (application locale name, for example `uk_UA`), `language` (application language name, for example `de`), `useMetricUnits` (whether to use metric units for the app, if `false` then imperial units are used), `measurementUnits` (the name of measurement units to use in the app, for example `Inches`). This capability only changes the locale for the app under test, it does not modify the system locale. You can achieve the same effect by providing custom values to reserved app command line arguments like `-AppleLanguages` or `-AppleLocale` using the `appium:arguments` capability. Example: use `appLocale = {locale: "de", language: "de_DE"}` to start the app in German language (if no German resources are defined in the destination app bundle then the app is started with the default locale, usually en_US).
57
- | `appium:appTimeZone` | Defines the custom time zone override for the application under test. You can use UTC, PST, EST, as well as place-based timezone names such as America/Los_Angeles. The application must be (re)launched for the capability to take effect. See the [List of tz database time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) for more details. The same behavior could be achieved by providing a custom value to the [TZ](https://developer.apple.com/forums/thread/86951#263395) environment variable via the `appium:environment` capability | UTC |
57
+ appium:appTimeZone | Defines the custom time zone override for the application under test. You can use UTC, PST, EST, as well as place-based timezone names such as America/Los_Angeles. The application must be (re)launched for the capability to take effect. See the [List of tz database time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) for more details. The same behavior could be achieved by providing a custom value to the [TZ](https://developer.apple.com/forums/thread/86951#263395) environment variable via the `appium:environment` capability
58
+ appium:initialDeeplinkUrl | A deeplink URL used to run either the application assigned to `appium:bundleId`, or the default application assigned to handle the particular deeplink protocol if `appium:bundleId` is not set. An error is thrown on session init if either the value of the capability is not a valid URL, or XCTest was not able to associate it with any existing app, or the actual Xcode version is below *14.3*
58
59
 
59
60
  ## Element Attributes
60
61
 
@@ -97,10 +97,24 @@ const static NSString *CAPABILITIES_KEY = @"capabilities";
97
97
 
98
98
  NSString *bundleID = requirements[AM_BUNDLE_ID_CAPABILITY];
99
99
  NSString *appPath = requirements[AM_APP_PATH_CAPABILITY];
100
+ NSString *deepLink = requirements[AM_INITIAL_DEEPLINK_URL_CAPABILITY];
100
101
  BOOL noReset = [requirements[AM_NO_RESET_CAPABILITY] boolValue];
101
102
  FBSession *session;
102
- if (nil == bundleID && nil == appPath) {
103
+ if (nil == bundleID && nil == appPath && nil == deepLink) {
103
104
  session = [FBSession initWithApplication:nil];
105
+ } else if (nil != deepLink) {
106
+ NSURL *url = [NSURL URLWithString:deepLink];
107
+ NSError *error;
108
+ BOOL success = nil == bundleID
109
+ ? [AMXCUIDeviceWrapper.sharedDevice openUrl:url error:&error]
110
+ : [AMXCUIDeviceWrapper.sharedDevice openUrl:url withApplication:bundleID error:&error];
111
+ if (!success) {
112
+ return FBResponseWithStatus([FBCommandStatus sessionNotCreatedError:error.localizedDescription
113
+ traceback:nil]);
114
+ }
115
+ if (nil != bundleID) {
116
+ session = [FBSession initWithApplication:[[XCUIApplication alloc] initWithBundleIdentifier:bundleID]];
117
+ }
104
118
  } else {
105
119
  XCUIApplication *app = nil != appPath
106
120
  ? [[XCUIApplication alloc] initWithURL:[NSURL fileURLWithPath:appPath]]
@@ -34,5 +34,7 @@ extern NSString* const AM_APP_PATH_CAPABILITY;
34
34
  extern NSString* const AM_APP_TIME_ZONE_CAPABILITY;
35
35
  /** Custom locale properties for the application under test */
36
36
  extern NSString* const AM_APP_LOCALE_CAPABILITY;
37
+ /** Deeplink URL to start the session with */
38
+ extern NSString* const AM_INITIAL_DEEPLINK_URL_CAPABILITY;
37
39
 
38
40
  NS_ASSUME_NONNULL_END
@@ -24,3 +24,4 @@ NSString* const AM_NO_RESET_CAPABILITY = @"noReset";
24
24
  NSString* const AM_APP_PATH_CAPABILITY = @"appPath";
25
25
  NSString* const AM_APP_TIME_ZONE_CAPABILITY = @"appTimeZone";
26
26
  NSString* const AM_APP_LOCALE_CAPABILITY = @"appLocale";
27
+ NSString* const AM_INITIAL_DEEPLINK_URL_CAPABILITY = @"initialDeeplinkUrl";
@@ -42,24 +42,24 @@
42
42
 
43
43
  - (BOOL)supportsOpenUrl
44
44
  {
45
- id<XCUIApplicationProcessManaging> platformApplicationManager = [self am_platformApplicationManager];
45
+ id<XCUIApplicationProcessManaging> platformApplicationManager = [self platformApplicationManager];
46
46
  return nil != platformApplicationManager
47
47
  && [(NSObject *)platformApplicationManager respondsToSelector:@selector(openDefaultApplicationForURL:completion:)];
48
48
  }
49
49
 
50
- - (id<XCUIApplicationProcessManaging>)am_platformApplicationManager
50
+ - (id<XCUIApplicationProcessManaging>)platformApplicationManager
51
51
  {
52
52
  return [self.xcuiDeviceInstance valueForKey:@"platformApplicationManager"];
53
53
  }
54
54
 
55
- - (id<XCUIEventSynthesizing>)am_eventSynthesizer
55
+ - (id<XCUIEventSynthesizing>)eventSynthesizer
56
56
  {
57
57
  return [self.xcuiDeviceInstance valueForKey:@"eventSynthesizer"];
58
58
  }
59
59
 
60
60
  - (BOOL)openUrl:(NSURL *)url error:(NSError **)error
61
61
  {
62
- id<XCUIApplicationProcessManaging> platformApplicationManager = [self am_platformApplicationManager];
62
+ id<XCUIApplicationProcessManaging> platformApplicationManager = [self platformApplicationManager];
63
63
  if (nil == platformApplicationManager
64
64
  || ![(NSObject *)platformApplicationManager respondsToSelector:@selector(openDefaultApplicationForURL:completion:)]) {
65
65
  NSString *description = [NSString stringWithFormat:@"Cannot open '%@' with the default application assigned for it. Consider upgrading to Xcode 14.3+", url];
@@ -91,7 +91,7 @@
91
91
  withApplication:(NSString *)bundleId
92
92
  error:(NSError **)error
93
93
  {
94
- id<XCUIApplicationProcessManaging> platformApplicationManager = [self am_platformApplicationManager];
94
+ id<XCUIApplicationProcessManaging> platformApplicationManager = [self platformApplicationManager];
95
95
  if (nil == platformApplicationManager
96
96
  || ![(NSObject *)platformApplicationManager respondsToSelector:@selector(openURL:usingApplication:completion:)]) {
97
97
  NSString *description = [NSString stringWithFormat:@"Cannot open '%@' with the default application assigned for it. Consider upgrading to Xcode 14.3+", url];
@@ -125,7 +125,7 @@ withApplication:(NSString *)bundleId
125
125
  {
126
126
  __block NSError *internalError = nil;
127
127
  dispatch_semaphore_t sem = dispatch_semaphore_create(0);
128
- id<XCUIEventSynthesizing> eventSynthesizer = [self am_eventSynthesizer];
128
+ id<XCUIEventSynthesizing> eventSynthesizer = [self eventSynthesizer];
129
129
  [eventSynthesizer synthesizeEvent:event
130
130
  completion:(id)^(BOOL result, NSError *invokeError) {
131
131
  if (!result) {
@@ -1,130 +1,40 @@
1
- export default commands;
2
- export type LaunchAppOptions = {
3
- /**
4
- * Bundle identifier of the app to be launched
5
- * or activated. Either this property or `path` must be provided
6
- */
7
- bundleId?: string | undefined;
8
- /**
9
- * Full path to the app bundle. Either this property
10
- * or `bundleId` must be provided
11
- */
12
- path?: string | undefined;
13
- /**
14
- * the list of command line arguments
15
- * for the app to be be launched with. This parameter is ignored if the app
16
- * is already running.
17
- */
18
- arguments: string[];
19
- /**
20
- * environment variables mapping. Custom
21
- * variables are added to the default process environment.
22
- */
23
- environment: any;
24
- };
25
- export type ActivateAppOptions = {
26
- /**
27
- * Bundle identifier of the app to be activated.
28
- * Either this property or `path` must be provided
29
- */
30
- bundleId?: string | undefined;
31
- /**
32
- * Full path to the app bundle. Either this property
33
- * or `bundleId` must be provided
34
- */
35
- path?: string | undefined;
36
- };
37
- export type TerminateAppOptions = {
38
- /**
39
- * Bundle identifier of the app to be terminated.
40
- * Either this property or `path` must be provided
41
- */
42
- bundleId?: string | undefined;
43
- /**
44
- * Full path to the app bundle. Either this property
45
- * or `bundleId` must be provided
46
- */
47
- path?: string | undefined;
48
- };
49
- export type QueryAppStateOptions = {
50
- /**
51
- * Bundle identifier of the app whose state should be queried.
52
- * Either this property or `path` must be provided
53
- */
54
- bundleId?: string | undefined;
55
- /**
56
- * Full path to the app bundle. Either this property
57
- * or `bundleId` must be provided
58
- */
59
- path?: string | undefined;
60
- };
61
- declare namespace commands {
62
- /**
63
- * @typedef {Object} LaunchAppOptions
64
- * @property {string} [bundleId] Bundle identifier of the app to be launched
65
- * or activated. Either this property or `path` must be provided
66
- * @property {string} [path] Full path to the app bundle. Either this property
67
- * or `bundleId` must be provided
68
- * @property {string[]} arguments the list of command line arguments
69
- * for the app to be be launched with. This parameter is ignored if the app
70
- * is already running.
71
- * @property {Object} environment environment variables mapping. Custom
72
- * variables are added to the default process environment.
73
- */
74
- /**
75
- * Start an app with given bundle identifier or activates it
76
- * if the app is already running. An exception is thrown if the
77
- * app with the given identifier cannot be found.
78
- *
79
- * @param {LaunchAppOptions} opts
80
- */
81
- function macosLaunchApp(opts: LaunchAppOptions): Promise<any>;
82
- /**
83
- * @typedef {Object} ActivateAppOptions
84
- * @property {string} [bundleId] Bundle identifier of the app to be activated.
85
- * Either this property or `path` must be provided
86
- * @property {string} [path] Full path to the app bundle. Either this property
87
- * or `bundleId` must be provided
88
- */
89
- /**
90
- * Activate an app with given bundle identifier. An exception is thrown if the
91
- * app cannot be found or is not running.
92
- *
93
- * @param {ActivateAppOptions} opts
94
- */
95
- function macosActivateApp(opts: ActivateAppOptions): Promise<any>;
96
- /**
97
- * @typedef {Object} TerminateAppOptions
98
- * @property {string} [bundleId] Bundle identifier of the app to be terminated.
99
- * Either this property or `path` must be provided
100
- * @property {string} [path] Full path to the app bundle. Either this property
101
- * or `bundleId` must be provided
102
- */
103
- /**
104
- * Terminate an app with given bundle identifier. An exception is thrown if the
105
- * app cannot be found.
106
- *
107
- * @param {TerminateAppOptions} opts
108
- * @returns {Promise<boolean>} `true` if the app was running and has been successfully terminated.
109
- * `false` if the app was not running before.
110
- */
111
- function macosTerminateApp(opts: TerminateAppOptions): Promise<boolean>;
112
- /**
113
- * @typedef {Object} QueryAppStateOptions
114
- * @property {string} [bundleId] Bundle identifier of the app whose state should be queried.
115
- * Either this property or `path` must be provided
116
- * @property {string} [path] Full path to the app bundle. Either this property
117
- * or `bundleId` must be provided
118
- */
119
- /**
120
- * Query an app state with given bundle identifier. An exception is thrown if the
121
- * app cannot be found.
122
- *
123
- * @param {QueryAppStateOptions} opts
124
- * @returns {Promise<number>} The application state code. See
125
- * https://developer.apple.com/documentation/xctest/xcuiapplicationstate?language=objc
126
- * for more details
127
- */
128
- function macosQueryAppState(opts: QueryAppStateOptions): Promise<number>;
129
- }
1
+ /**
2
+ * Start an app with given bundle identifier or activates it
3
+ * if the app is already running. An exception is thrown if the
4
+ * app with the given identifier cannot be found.
5
+ *
6
+ * @this {Mac2Driver}
7
+ * @param {import('../types').LaunchAppOptions} [opts={}]
8
+ */
9
+ export function macosLaunchApp(this: import("../driver").Mac2Driver, opts?: import("../types").LaunchAppOptions | undefined): Promise<unknown>;
10
+ /**
11
+ * Activate an app with given bundle identifier. An exception is thrown if the
12
+ * app cannot be found or is not running.
13
+ *
14
+ * @this {Mac2Driver}
15
+ * @param {import('../types').ActivateAppOptions} [opts={}]
16
+ */
17
+ export function macosActivateApp(this: import("../driver").Mac2Driver, opts?: import("../types").ActivateAppOptions | undefined): Promise<unknown>;
18
+ /**
19
+ * Terminate an app with given bundle identifier. An exception is thrown if the
20
+ * app cannot be found.
21
+ *
22
+ * @this {Mac2Driver}
23
+ * @param {import('../types').TerminateAppOptions} opts
24
+ * @returns {Promise<boolean>} `true` if the app was running and has been successfully terminated.
25
+ * `false` if the app was not running before.
26
+ */
27
+ export function macosTerminateApp(this: import("../driver").Mac2Driver, opts: import('../types').TerminateAppOptions): Promise<boolean>;
28
+ /**
29
+ * Query an app state with given bundle identifier. An exception is thrown if the
30
+ * app cannot be found.
31
+ *
32
+ * @this {Mac2Driver}
33
+ * @param {import('../types').QueryAppStateOptions} opts
34
+ * @returns {Promise<number>} The application state code. See
35
+ * https://developer.apple.com/documentation/xctest/xcuiapplicationstate?language=objc
36
+ * for more details
37
+ */
38
+ export function macosQueryAppState(this: import("../driver").Mac2Driver, opts: import('../types').QueryAppStateOptions): Promise<number>;
39
+ export type Mac2Driver = import('../driver').Mac2Driver;
130
40
  //# sourceMappingURL=app-management.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-management.d.ts","sourceRoot":"","sources":["../../../lib/commands/app-management.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;eAQc,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IANtB;;;;;;;;;;;OAWG;IAEH;;;;;;OAMG;IACH,8DAQC;IAED;;;;;;OAMG;IAEH;;;;;OAKG;IACH,kEAGC;IAED;;;;;;OAMG;IAEH;;;;;;;OAOG;IACH,wEAGC;IAED;;;;;;OAMG;IAEH;;;;;;;;OAQG;IACH,yEAGC"}
1
+ {"version":3,"file":"app-management.d.ts","sourceRoot":"","sources":["../../../lib/commands/app-management.js"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,+IAQC;AAED;;;;;;GAMG;AACH,mJAGC;AAED;;;;;;;;GAQG;AACH,8EAJW,OAAO,UAAU,EAAE,mBAAmB,GACpC,QAAQ,OAAO,CAAC,CAQ5B;AAED;;;;;;;;;GASG;AACH,+EALW,OAAO,UAAU,EAAE,oBAAoB,GACrC,QAAQ,MAAM,CAAC,CAS3B;yBAGY,OAAO,WAAW,EAAE,UAAU"}
@@ -1,89 +1,70 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const commands = {};
4
- /**
5
- * @typedef {Object} LaunchAppOptions
6
- * @property {string} [bundleId] Bundle identifier of the app to be launched
7
- * or activated. Either this property or `path` must be provided
8
- * @property {string} [path] Full path to the app bundle. Either this property
9
- * or `bundleId` must be provided
10
- * @property {string[]} arguments the list of command line arguments
11
- * for the app to be be launched with. This parameter is ignored if the app
12
- * is already running.
13
- * @property {Object} environment environment variables mapping. Custom
14
- * variables are added to the default process environment.
15
- */
3
+ exports.macosQueryAppState = exports.macosTerminateApp = exports.macosActivateApp = exports.macosLaunchApp = void 0;
16
4
  /**
17
5
  * Start an app with given bundle identifier or activates it
18
6
  * if the app is already running. An exception is thrown if the
19
7
  * app with the given identifier cannot be found.
20
8
  *
21
- * @param {LaunchAppOptions} opts
9
+ * @this {Mac2Driver}
10
+ * @param {import('../types').LaunchAppOptions} [opts={}]
22
11
  */
23
- commands.macosLaunchApp = async function macosLaunchApp(opts) {
24
- const { bundleId, environment, path } = opts ?? {};
12
+ async function macosLaunchApp(opts = {}) {
13
+ const { bundleId, environment, path } = opts;
25
14
  return await this.wda.proxy.command('/wda/apps/launch', 'POST', {
26
15
  arguments: opts.arguments,
27
16
  environment,
28
17
  bundleId,
29
18
  path,
30
19
  });
31
- };
32
- /**
33
- * @typedef {Object} ActivateAppOptions
34
- * @property {string} [bundleId] Bundle identifier of the app to be activated.
35
- * Either this property or `path` must be provided
36
- * @property {string} [path] Full path to the app bundle. Either this property
37
- * or `bundleId` must be provided
38
- */
20
+ }
21
+ exports.macosLaunchApp = macosLaunchApp;
22
+ ;
39
23
  /**
40
24
  * Activate an app with given bundle identifier. An exception is thrown if the
41
25
  * app cannot be found or is not running.
42
26
  *
43
- * @param {ActivateAppOptions} opts
27
+ * @this {Mac2Driver}
28
+ * @param {import('../types').ActivateAppOptions} [opts={}]
44
29
  */
45
- commands.macosActivateApp = async function macosActivateApp(opts) {
46
- const { bundleId, path } = opts ?? {};
30
+ async function macosActivateApp(opts = {}) {
31
+ const { bundleId, path } = opts;
47
32
  return await this.wda.proxy.command('/wda/apps/activate', 'POST', { bundleId, path });
48
- };
49
- /**
50
- * @typedef {Object} TerminateAppOptions
51
- * @property {string} [bundleId] Bundle identifier of the app to be terminated.
52
- * Either this property or `path` must be provided
53
- * @property {string} [path] Full path to the app bundle. Either this property
54
- * or `bundleId` must be provided
55
- */
33
+ }
34
+ exports.macosActivateApp = macosActivateApp;
35
+ ;
56
36
  /**
57
37
  * Terminate an app with given bundle identifier. An exception is thrown if the
58
38
  * app cannot be found.
59
39
  *
60
- * @param {TerminateAppOptions} opts
40
+ * @this {Mac2Driver}
41
+ * @param {import('../types').TerminateAppOptions} opts
61
42
  * @returns {Promise<boolean>} `true` if the app was running and has been successfully terminated.
62
43
  * `false` if the app was not running before.
63
44
  */
64
- commands.macosTerminateApp = async function macosTerminateApp(opts) {
45
+ async function macosTerminateApp(opts) {
65
46
  const { bundleId, path } = opts ?? {};
66
- return await this.wda.proxy.command('/wda/apps/terminate', 'POST', { bundleId, path });
67
- };
68
- /**
69
- * @typedef {Object} QueryAppStateOptions
70
- * @property {string} [bundleId] Bundle identifier of the app whose state should be queried.
71
- * Either this property or `path` must be provided
72
- * @property {string} [path] Full path to the app bundle. Either this property
73
- * or `bundleId` must be provided
74
- */
47
+ return /** @type {boolean} */ (await this.wda.proxy.command('/wda/apps/terminate', 'POST', { bundleId, path }));
48
+ }
49
+ exports.macosTerminateApp = macosTerminateApp;
50
+ ;
75
51
  /**
76
52
  * Query an app state with given bundle identifier. An exception is thrown if the
77
53
  * app cannot be found.
78
54
  *
79
- * @param {QueryAppStateOptions} opts
55
+ * @this {Mac2Driver}
56
+ * @param {import('../types').QueryAppStateOptions} opts
80
57
  * @returns {Promise<number>} The application state code. See
81
58
  * https://developer.apple.com/documentation/xctest/xcuiapplicationstate?language=objc
82
59
  * for more details
83
60
  */
84
- commands.macosQueryAppState = async function macosQueryAppState(opts) {
61
+ async function macosQueryAppState(opts) {
85
62
  const { bundleId, path } = opts ?? {};
86
- return await this.wda.proxy.command('/wda/apps/state', 'POST', { bundleId, path });
87
- };
88
- exports.default = commands;
63
+ return /** @type {number} */ (await this.wda.proxy.command('/wda/apps/state', 'POST', { bundleId, path }));
64
+ }
65
+ exports.macosQueryAppState = macosQueryAppState;
66
+ ;
67
+ /**
68
+ * @typedef {import('../driver').Mac2Driver} Mac2Driver
69
+ */
89
70
  //# sourceMappingURL=app-management.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-management.js","sourceRoot":"","sources":["../../../lib/commands/app-management.js"],"names":[],"mappings":";;AAAA,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB;;;;;;;;;;;GAWG;AAEH;;;;;;GAMG;AACH,QAAQ,CAAC,cAAc,GAAG,KAAK,UAAU,cAAc,CAAE,IAAI;IAC3D,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;IACnD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,MAAM,EAAE;QAC9D,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,WAAW;QACX,QAAQ;QACR,IAAI;KACL,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;GAMG;AAEH;;;;;GAKG;AACH,QAAQ,CAAC,gBAAgB,GAAG,KAAK,UAAU,gBAAgB,CAAE,IAAI;IAC/D,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;IACtC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACxF,CAAC,CAAC;AAEF;;;;;;GAMG;AAEH;;;;;;;GAOG;AACH,QAAQ,CAAC,iBAAiB,GAAG,KAAK,UAAU,iBAAiB,CAAE,IAAI;IACjE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;IACtC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACzF,CAAC,CAAC;AAEF;;;;;;GAMG;AAEH;;;;;;;;GAQG;AACH,QAAQ,CAAC,kBAAkB,GAAG,KAAK,UAAU,kBAAkB,CAAE,IAAI;IACnE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;IACtC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACrF,CAAC,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"app-management.js","sourceRoot":"","sources":["../../../lib/commands/app-management.js"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACI,KAAK,UAAU,cAAc,CAAE,IAAI,GAAG,EAAE;IAC7C,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAC7C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,MAAM,EAAE;QAC9D,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,WAAW;QACX,QAAQ;QACR,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AARD,wCAQC;AAAA,CAAC;AAEF;;;;;;GAMG;AACI,KAAK,UAAU,gBAAgB,CAAE,IAAI,GAAG,EAAE;IAC/C,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAChC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACxF,CAAC;AAHD,4CAGC;AAAA,CAAC;AAEF;;;;;;;;GAQG;AACI,KAAK,UAAU,iBAAiB,CAAE,IAAI;IAC3C,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;IACtC,OAAO,sBAAsB,CAAC,CAC5B,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAChF,CAAC;AACJ,CAAC;AALD,8CAKC;AAAA,CAAC;AAEF;;;;;;;;;GASG;AACI,KAAK,UAAU,kBAAkB,CAAE,IAAI;IAC5C,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;IACtC,OAAO,qBAAqB,CAAC,CAC3B,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAC5E,CAAC;AACJ,CAAC;AALD,gDAKC;AAAA,CAAC;AAEF;;GAEG"}
@@ -1,57 +1,20 @@
1
- export default commands;
2
- export type ExecAppleScriptOptions = {
3
- /**
4
- * A valid AppleScript to execute
5
- */
6
- script: string;
7
- /**
8
- * Overrides the scripting language. Basically, sets the value of `-l` command
9
- * line argument of `osascript` tool. If unset the AppleScript language is assumed.
10
- */
11
- language: string;
12
- /**
13
- * A valid AppleScript as a single command (no line breaks) to execute
14
- */
15
- command: string;
16
- /**
17
- * [20000] The number of seconds to wait until a long-running command is
18
- * finished. An error is thrown if the command is still running after this timeout expires.
19
- */
20
- timeout: number;
21
- /**
22
- * The path to an existing folder, which is going to be set as the
23
- * working directory for the command/script being executed.
24
- */
25
- cwd: string;
26
- };
27
- export namespace commands {
28
- /**
29
- * @typedef {Object} ExecAppleScriptOptions
30
- * @property {string} script A valid AppleScript to execute
31
- * @property {string} language Overrides the scripting language. Basically, sets the value of `-l` command
32
- * line argument of `osascript` tool. If unset the AppleScript language is assumed.
33
- * @property {string} command A valid AppleScript as a single command (no line breaks) to execute
34
- * @property {number} timeout [20000] The number of seconds to wait until a long-running command is
35
- * finished. An error is thrown if the command is still running after this timeout expires.
36
- * @property {string} cwd The path to an existing folder, which is going to be set as the
37
- * working directory for the command/script being executed.
38
- */
39
- /**
40
- * Executes the given AppleScript command or a whole script based on the
41
- * given options. Either of these options must be provided. If both are provided
42
- * then the `command` one gets the priority.
43
- * Note that AppleScript command cannot contain line breaks. Consider making it
44
- * to a script in such case.
45
- * Note that by default AppleScript engine blocks commands/scripts execution if your script
46
- * is trying to access some private entities, like cameras or the desktop screen
47
- * and no permissions to do it are given to the parent (for example, Appium or Terminal)
48
- * process in System Preferences -> Privacy list.
49
- *
50
- * @param {ExecAppleScriptOptions} opts
51
- * @returns {Promise<string>} The actual stdout of the given command/script
52
- * @throws {Error} If the exit code of the given command/script is not zero.
53
- * The actual stderr output is set to the error message value.
54
- */
55
- function macosExecAppleScript(opts: ExecAppleScriptOptions): Promise<string>;
56
- }
1
+ /**
2
+ * Executes the given AppleScript command or a whole script based on the
3
+ * given options. Either of these options must be provided. If both are provided
4
+ * then the `command` one gets the priority.
5
+ * Note that AppleScript command cannot contain line breaks. Consider making it
6
+ * to a script in such case.
7
+ * Note that by default AppleScript engine blocks commands/scripts execution if your script
8
+ * is trying to access some private entities, like cameras or the desktop screen
9
+ * and no permissions to do it are given to the parent (for example, Appium or Terminal)
10
+ * process in System Preferences -> Privacy list.
11
+ *
12
+ * @this {Mac2Driver}
13
+ * @param {import('../types').ExecAppleScriptOptions} opts
14
+ * @returns {Promise<string>} The actual stdout of the given command/script
15
+ * @throws {Error} If the exit code of the given command/script is not zero.
16
+ * The actual stderr output is set to the error message value.
17
+ */
18
+ export function macosExecAppleScript(this: import("../driver").Mac2Driver, opts?: import('../types').ExecAppleScriptOptions): Promise<string>;
19
+ export type Mac2Driver = import('../driver').Mac2Driver;
57
20
  //# sourceMappingURL=applescript.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"applescript.d.ts","sourceRoot":"","sources":["../../../lib/commands/applescript.js"],"names":[],"mappings":";;;;;YAYc,MAAM;;;;;cACN,MAAM;;;;aAEN,MAAM;;;;;aACN,MAAM;;;;;SAEN,MAAM;;;IARpB;;;;;;;;;;OAUG;IAEH;;;;;;;;;;;;;;;OAeG;IACH,6EA6CC"}
1
+ {"version":3,"file":"applescript.d.ts","sourceRoot":"","sources":["../../../lib/commands/applescript.js"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;GAgBG;AACH,kFALW,OAAO,UAAU,EAAE,sBAAsB,GACvC,QAAQ,MAAM,CAAC,CAiD3B;yBAGY,OAAO,WAAW,EAAE,UAAU"}
@@ -3,26 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.commands = void 0;
6
+ exports.macosExecAppleScript = void 0;
7
7
  const support_1 = require("appium/support");
8
8
  const teen_process_1 = require("teen_process");
9
- const logger_1 = __importDefault(require("../logger"));
10
9
  const path_1 = __importDefault(require("path"));
11
10
  const OSASCRIPT = 'osascript';
12
11
  const APPLE_SCRIPT_FEATURE = 'apple_script';
13
- const commands = {};
14
- exports.commands = commands;
15
- /**
16
- * @typedef {Object} ExecAppleScriptOptions
17
- * @property {string} script A valid AppleScript to execute
18
- * @property {string} language Overrides the scripting language. Basically, sets the value of `-l` command
19
- * line argument of `osascript` tool. If unset the AppleScript language is assumed.
20
- * @property {string} command A valid AppleScript as a single command (no line breaks) to execute
21
- * @property {number} timeout [20000] The number of seconds to wait until a long-running command is
22
- * finished. An error is thrown if the command is still running after this timeout expires.
23
- * @property {string} cwd The path to an existing folder, which is going to be set as the
24
- * working directory for the command/script being executed.
25
- */
26
12
  /**
27
13
  * Executes the given AppleScript command or a whole script based on the
28
14
  * given options. Either of these options must be provided. If both are provided
@@ -34,19 +20,20 @@ exports.commands = commands;
34
20
  * and no permissions to do it are given to the parent (for example, Appium or Terminal)
35
21
  * process in System Preferences -> Privacy list.
36
22
  *
37
- * @param {ExecAppleScriptOptions} opts
23
+ * @this {Mac2Driver}
24
+ * @param {import('../types').ExecAppleScriptOptions} opts
38
25
  * @returns {Promise<string>} The actual stdout of the given command/script
39
26
  * @throws {Error} If the exit code of the given command/script is not zero.
40
27
  * The actual stderr output is set to the error message value.
41
28
  */
42
- commands.macosExecAppleScript = async function macosExecAppleScript(opts) {
29
+ async function macosExecAppleScript(opts = {}) {
43
30
  this.ensureFeatureEnabled(APPLE_SCRIPT_FEATURE);
44
- const { script, language, command, cwd, timeout, } = opts ?? {};
31
+ const { script, language, command, cwd, timeout, } = opts;
45
32
  if (!script && !command) {
46
- logger_1.default.errorAndThrow('AppleScript script/command must not be empty');
33
+ this.log.errorAndThrow('AppleScript script/command must not be empty');
47
34
  }
48
- if (/\n/.test(command)) {
49
- logger_1.default.errorAndThrow('AppleScript commands cannot contain line breaks');
35
+ if (/\n/.test(/** @type {string} */ (command))) {
36
+ this.log.errorAndThrow('AppleScript commands cannot contain line breaks');
50
37
  }
51
38
  // 'command' has priority over 'script'
52
39
  const shouldRunScript = !command;
@@ -59,13 +46,13 @@ commands.macosExecAppleScript = async function macosExecAppleScript(opts) {
59
46
  if (shouldRunScript) {
60
47
  tmpRoot = await support_1.tempDir.openDir();
61
48
  const tmpScriptPath = path_1.default.resolve(tmpRoot, 'appium_script.scpt');
62
- await support_1.fs.writeFile(tmpScriptPath, script, 'utf8');
49
+ await support_1.fs.writeFile(tmpScriptPath, /** @type {string} */ (script), 'utf8');
63
50
  args.push(tmpScriptPath);
64
51
  }
65
52
  else {
66
53
  args.push('-e', command);
67
54
  }
68
- logger_1.default.info(`Running ${OSASCRIPT} with arguments: ${support_1.util.quote(args)}`);
55
+ this.log.info(`Running ${OSASCRIPT} with arguments: ${support_1.util.quote(args)}`);
69
56
  try {
70
57
  const { stdout } = await (0, teen_process_1.exec)(OSASCRIPT, args, { cwd, timeout });
71
58
  return stdout;
@@ -79,6 +66,10 @@ commands.macosExecAppleScript = async function macosExecAppleScript(opts) {
79
66
  await support_1.fs.rimraf(tmpRoot);
80
67
  }
81
68
  }
82
- };
83
- exports.default = commands;
69
+ }
70
+ exports.macosExecAppleScript = macosExecAppleScript;
71
+ ;
72
+ /**
73
+ * @typedef {import('../driver').Mac2Driver} Mac2Driver
74
+ */
84
75
  //# sourceMappingURL=applescript.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"applescript.js","sourceRoot":"","sources":["../../../lib/commands/applescript.js"],"names":[],"mappings":";;;;;;AAAA,4CAAmD;AACnD,+CAAoC;AACpC,uDAA4B;AAC5B,gDAAwB;AAExB,MAAM,SAAS,GAAG,WAAW,CAAC;AAC9B,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAE5C,MAAM,QAAQ,GAAG,EAAE,CAAC;AA6EX,4BAAQ;AA3EjB;;;;;;;;;;GAUG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,QAAQ,CAAC,oBAAoB,GAAG,KAAK,UAAU,oBAAoB,CAAE,IAAI;IACvE,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;IAEhD,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,OAAO,EACP,GAAG,EACH,OAAO,GACR,GAAG,IAAI,IAAI,EAAE,CAAC;IACf,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACxB,gBAAG,CAAC,aAAa,CAAC,8CAA8C,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvB,gBAAG,CAAC,aAAa,CAAC,iDAAiD,CAAC,CAAC;IACvE,CAAC;IACD,uCAAuC;IACvC,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC;IAEjC,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,GAAG,MAAM,iBAAO,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,aAAa,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAClE,MAAM,YAAE,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAClD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3B,CAAC;QACD,gBAAG,CAAC,IAAI,CAAC,WAAW,SAAS,oBAAoB,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC;YACH,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,SAAS,EAAE,IAAI,EAAE,EAAC,GAAG,EAAE,OAAO,EAAC,CAAC,CAAC;YAC7D,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,YAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAGF,kBAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"applescript.js","sourceRoot":"","sources":["../../../lib/commands/applescript.js"],"names":[],"mappings":";;;;;;AAAA,4CAAmD;AACnD,+CAAoC;AACpC,gDAAwB;AAExB,MAAM,SAAS,GAAG,WAAW,CAAC;AAC9B,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAE5C;;;;;;;;;;;;;;;;GAgBG;AACI,KAAK,UAAU,oBAAoB,CAAE,IAAI,GAAG,EAAE;IACnD,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;IAEhD,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,OAAO,EACP,GAAG,EACH,OAAO,GACR,GAAG,IAAI,CAAC;IACT,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,8CAA8C,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAA,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,iDAAiD,CAAC,CAAC;IAC5E,CAAC;IACD,uCAAuC;IACvC,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC;IAEjC,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,GAAG,MAAM,iBAAO,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,aAAa,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAClE,MAAM,YAAE,CAAC,SAAS,CAAC,aAAa,EAAE,qBAAqB,CAAA,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;YACzE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,SAAS,oBAAoB,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC;YACH,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,SAAS,EAAE,IAAI,EAAE,EAAC,GAAG,EAAE,OAAO,EAAC,CAAC,CAAC;YAC7D,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,YAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;AACH,CAAC;AA7CD,oDA6CC;AAAA,CAAC;AAEF;;GAEG"}
@@ -1,6 +1,18 @@
1
- export default commands;
2
- declare namespace commands {
3
- function execute(script: any, args: any): Promise<any>;
4
- function executeMacosCommand(command: any, opts?: {}): Promise<any>;
5
- }
1
+ /**
2
+ *
3
+ * @this {Mac2Driver}
4
+ * @param {string} script
5
+ * @param {any[]|import('@appium/types').StringRecord} [args]
6
+ * @returns {Promise<any>}
7
+ */
8
+ export function execute(this: import("../driver").Mac2Driver, script: string, args?: any[] | import("@appium/types").StringRecord<any> | undefined): Promise<any>;
9
+ /**
10
+ *
11
+ * @this {Mac2Driver}
12
+ * @param {string} command
13
+ * @param {import('@appium/types').StringRecord} [opts={}]
14
+ * @returns {Promise<any>}
15
+ */
16
+ export function executeMacosCommand(this: import("../driver").Mac2Driver, command: string, opts?: import("@appium/types").StringRecord<any> | undefined): Promise<any>;
17
+ export type Mac2Driver = import('../driver').Mac2Driver;
6
18
  //# sourceMappingURL=execute.d.ts.map