@appium/fake-driver 4.2.2 → 5.1.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 (69) hide show
  1. package/build/lib/commands/alert.d.ts +330 -13
  2. package/build/lib/commands/alert.d.ts.map +1 -1
  3. package/build/lib/commands/alert.js +80 -53
  4. package/build/lib/commands/alert.js.map +1 -1
  5. package/build/lib/commands/contexts.d.ts +330 -14
  6. package/build/lib/commands/contexts.d.ts.map +1 -1
  7. package/build/lib/commands/contexts.js +101 -86
  8. package/build/lib/commands/contexts.js.map +1 -1
  9. package/build/lib/commands/element.d.ts +315 -22
  10. package/build/lib/commands/element.d.ts.map +1 -1
  11. package/build/lib/commands/element.js +112 -123
  12. package/build/lib/commands/element.js.map +1 -1
  13. package/build/lib/commands/find.d.ts +328 -18
  14. package/build/lib/commands/find.d.ts.map +1 -1
  15. package/build/lib/commands/find.js +118 -107
  16. package/build/lib/commands/find.js.map +1 -1
  17. package/build/lib/commands/general.d.ts +332 -28
  18. package/build/lib/commands/general.d.ts.map +1 -1
  19. package/build/lib/commands/general.js +101 -106
  20. package/build/lib/commands/general.js.map +1 -1
  21. package/build/lib/commands/index.d.ts +1523 -2
  22. package/build/lib/commands/index.d.ts.map +1 -1
  23. package/build/lib/commands/index.js +96 -18
  24. package/build/lib/commands/index.js.map +1 -1
  25. package/build/lib/driver.d.ts +145 -33
  26. package/build/lib/driver.d.ts.map +1 -1
  27. package/build/lib/driver.js +200 -145
  28. package/build/lib/driver.js.map +1 -1
  29. package/build/lib/fake-app.d.ts +15 -6
  30. package/build/lib/fake-app.d.ts.map +1 -1
  31. package/build/lib/fake-app.js +155 -194
  32. package/build/lib/fake-app.js.map +1 -1
  33. package/build/lib/fake-driver-schema.js +34 -26
  34. package/build/lib/fake-driver-schema.js.map +1 -1
  35. package/build/lib/fake-element.js +87 -121
  36. package/build/lib/fake-element.js.map +1 -1
  37. package/build/lib/index.d.ts +6 -5
  38. package/build/lib/index.d.ts.map +1 -1
  39. package/build/lib/index.js +19 -36
  40. package/build/lib/index.js.map +1 -1
  41. package/build/lib/logger.d.ts +1 -1
  42. package/build/lib/logger.d.ts.map +1 -1
  43. package/build/lib/logger.js +5 -15
  44. package/build/lib/logger.js.map +1 -1
  45. package/build/lib/scripts/fake-error.js +1 -5
  46. package/build/lib/scripts/fake-error.js.map +1 -1
  47. package/build/lib/scripts/fake-success.js +8 -11
  48. package/build/lib/scripts/fake-success.js.map +1 -1
  49. package/build/lib/server.d.ts +1 -1
  50. package/build/lib/server.d.ts.map +1 -1
  51. package/build/lib/server.js +18 -27
  52. package/build/lib/server.js.map +1 -1
  53. package/build/lib/types.d.ts +36 -0
  54. package/build/lib/types.d.ts.map +1 -0
  55. package/build/lib/types.js +3 -0
  56. package/build/lib/types.js.map +1 -0
  57. package/build/tsconfig.tsbuildinfo +1 -1
  58. package/lib/commands/alert.js +74 -34
  59. package/lib/commands/contexts.js +89 -52
  60. package/lib/commands/element.js +115 -98
  61. package/lib/commands/find.js +106 -77
  62. package/lib/commands/general.js +112 -75
  63. package/lib/commands/index.js +12 -17
  64. package/lib/driver.js +132 -39
  65. package/lib/fake-app.js +20 -6
  66. package/lib/index.js +9 -7
  67. package/lib/types.ts +42 -0
  68. package/package.json +13 -12
  69. package/tsconfig.json +20 -0
@@ -1,29 +1,333 @@
1
- export default extensions;
2
- export namespace commands {
3
- function title(): Promise<any>;
4
- function keys(value: any): Promise<void>;
5
- function setGeoLocation(location: any): Promise<void>;
6
- function getGeoLocation(): Promise<any>;
7
- function getPageSource(): Promise<any>;
8
- function getOrientation(): Promise<any>;
9
- function setOrientation(o: any): Promise<void>;
10
- function getScreenshot(): Promise<any>;
11
- function getWindowSize(): Promise<{
12
- width: any;
13
- height: any;
14
- }>;
15
- function getWindowRect(): Promise<{
16
- width: any;
17
- height: any;
18
- x: number;
19
- y: number;
20
- }>;
21
- function performActions(actions: any): Promise<void>;
22
- function releaseActions(): Promise<void>;
23
- function getLog(type: any): Promise<any>;
24
- function execute(script: any, args: any): Promise<any>;
25
- function fakeAddition(num1: any, num2: any, num3: any): Promise<any>;
26
- }
27
- export let helpers: {};
28
- declare let extensions: {};
1
+ /// <reference types="node" />
2
+ /**
3
+ * @template {Class<import('../types').IContextsCommands & import('../types').IElementCommands>} T
4
+ * @param {T} Base
5
+ */
6
+ export function GeneralMixin<T extends Class<import("../types").IContextsCommands & import("../types").IElementCommands, {}, any[]>>(Base: T): {
7
+ new (...arguments_: any[]): {
8
+ title(): Promise<any>;
9
+ keys(value: any): Promise<void>;
10
+ setGeoLocation(location: any): Promise<void>;
11
+ getGeoLocation(): Promise<import("@appium/types").Location>;
12
+ getPageSource(): Promise<string>;
13
+ getOrientation(): Promise<string>;
14
+ /**
15
+ *
16
+ * @param {import('../types').FakeDriverCaps['orientation']} o
17
+ */
18
+ setOrientation(o: import('../types').FakeDriverCaps['orientation']): Promise<void>;
19
+ getScreenshot(): Promise<string>;
20
+ getWindowSize(): Promise<{
21
+ width: number;
22
+ height: number;
23
+ }>;
24
+ getWindowRect(): Promise<{
25
+ width: number;
26
+ height: number;
27
+ x: number;
28
+ y: number;
29
+ }>;
30
+ performActions(actions: any): Promise<void>;
31
+ releaseActions(): Promise<void>;
32
+ getLog(type: any): Promise<any[]>;
33
+ mobileShake(): Promise<void>;
34
+ shook: boolean | undefined;
35
+ doubleClick(): Promise<void>;
36
+ execute(script: any, args: any): Promise<any>;
37
+ /**
38
+ * Add two or maybe even three numbers
39
+ *
40
+ * @param {number} num1
41
+ * @param {number} num2
42
+ * @param {number} [num3]
43
+ * @returns {Promise<number>}
44
+ */
45
+ fakeAddition(num1: number, num2: number, num3?: number | undefined): Promise<number>;
46
+ assertWebviewContext(): void;
47
+ elMap: Record<string, import("../fake-element").FakeElement>;
48
+ maxElId: number;
49
+ appModel: import("../fake-app").FakeApp;
50
+ focusedElId: string;
51
+ curContext: string;
52
+ server?: import("@appium/types").AppiumServer | undefined;
53
+ serverHost?: string | undefined;
54
+ serverPort?: number | undefined;
55
+ serverPath?: string | undefined;
56
+ setUrl?(url: string): Promise<void>;
57
+ getUrl?(): Promise<string>;
58
+ back?(): Promise<void>;
59
+ forward?(): Promise<void>;
60
+ refresh?(): Promise<void>;
61
+ getWindowHandle?(): Promise<string>;
62
+ closeWindow?(): Promise<string[]>;
63
+ setWindow?(handle: string): Promise<void>;
64
+ getWindowHandles?(): Promise<string[]>;
65
+ createNewWindow?(type?: import("@appium/types").NewWindowType | undefined): Promise<import("@appium/types").NewWindow>;
66
+ setFrame?(id: string | number | null): Promise<void>;
67
+ switchToParentFrame?(): Promise<void>;
68
+ setWindowRect?(x: number, y: number, width: number, height: number): Promise<import("@appium/types").Rect>;
69
+ maximizeWindow?(): Promise<import("@appium/types").Rect>;
70
+ minimizeWindow?(): Promise<import("@appium/types").Rect>;
71
+ fullScreenWindow?(): Promise<import("@appium/types").Rect>;
72
+ active?(): Promise<import("@appium/types").Element>;
73
+ elementShadowRoot?(elementId: string): Promise<import("@appium/types").Element>;
74
+ elementSelected?(elementId: string): Promise<boolean>;
75
+ getAttribute?(name: string, elementId: string): Promise<string | null>;
76
+ getProperty?(name: string, elementId: string): Promise<string | null>;
77
+ getCssProperty?(name: string, elementId: string): Promise<string>;
78
+ getText?(elementId: string): Promise<string>;
79
+ getName?(elementId: string): Promise<string>;
80
+ getElementRect?(elementId: string): Promise<import("@appium/types").Rect>;
81
+ elementEnabled?(elementId: string): Promise<boolean>;
82
+ getComputedRole?(elementId: string): Promise<string | null>;
83
+ getComputedLabel?(elementId: string): Promise<string | null>;
84
+ elementDisplayed?(elementId: string): Promise<boolean>;
85
+ click?(elementId: string): Promise<void>;
86
+ clear?(elementId: string): Promise<void>;
87
+ setValue: ((text: string, elementId: string) => Promise<void>) & ((text: string, id: string) => Promise<void>);
88
+ executeAsync?(script: string, args: unknown[]): Promise<unknown>;
89
+ getCookies?(): Promise<import("@appium/types").Cookie[]>;
90
+ getCookie?(name: string): Promise<import("@appium/types").Cookie>;
91
+ setCookie?(cookie: import("@appium/types").Cookie): Promise<void>;
92
+ deleteCookie?(name: string): Promise<void>;
93
+ deleteCookies?(): Promise<void>;
94
+ postDismissAlert?(): Promise<void>;
95
+ postAcceptAlert?(): Promise<void>;
96
+ getAlertText?(): Promise<string | null>;
97
+ setAlertText?(text: string): Promise<void>;
98
+ getElementScreenshot?(elementId: string): Promise<string>;
99
+ getDeviceTime?(format?: string | undefined): Promise<string>;
100
+ lock?(seconds?: number | undefined): Promise<void>;
101
+ unlock?(): Promise<void>;
102
+ isLocked?(): Promise<boolean>;
103
+ startRecordingScreen?(options?: import("@appium/types").StartScreenRecordOptions | undefined): Promise<void>;
104
+ stopRecordingScreen?(options?: import("@appium/types").StopScreenRecordOptions | undefined): Promise<string>;
105
+ getPerformanceDataTypes?(): Promise<string[]>;
106
+ getPerformanceData?(packageName: string, dataType: string, dataReadTimeout?: number | undefined): Promise<string[]>;
107
+ pressKeyCode?(keycode: number, metastate?: number | undefined, flags?: number | undefined): Promise<void>;
108
+ longPressKeyCode?(keycode: number, metastate?: number | undefined, flags?: number | undefined): Promise<void>;
109
+ fingerprint?(fingerprintId: number): Promise<void>;
110
+ sendSMS?(phoneNumber: string, message: string): Promise<void>;
111
+ gsmCall?(phoneNumber: string, action: string): Promise<void>;
112
+ gsmSignal?(signalStrength: string): Promise<void>;
113
+ gsmVoice?(state: string): Promise<void>;
114
+ powerCapacity?(percent: number): Promise<void>;
115
+ powerAC?(state: string): Promise<void>;
116
+ networkSpeed?(netspeed: string): Promise<void>;
117
+ keyevent?(keycode: string, metastate?: string | undefined): Promise<void>;
118
+ mobileRotation?(x: number, y: number, radius: number, rotation: number, touchCount: number, duration: string, elementId?: string | undefined): Promise<void>;
119
+ getCurrentActivity?(): Promise<string>;
120
+ getCurrentPackage?(): Promise<string>;
121
+ installApp?(appPath: string, options?: unknown): Promise<void>;
122
+ activateApp?(appId: string, options?: unknown): Promise<void>;
123
+ removeApp?(appId: string, options?: unknown): Promise<void>;
124
+ terminateApp?(appId: string, options?: unknown): Promise<void>;
125
+ isAppInstalled?(appId: string): Promise<boolean>;
126
+ queryAppState?(appId: string): Promise<0 | 1 | 3 | 4>;
127
+ hideKeyboard?(strategy?: string | undefined, key?: string | undefined, keyCode?: string | undefined, keyName?: string | undefined): Promise<void>;
128
+ isKeyboardShown?(): Promise<boolean>;
129
+ pushFile?(path: string, data: string): Promise<void>;
130
+ pullFile?(path: string): Promise<string>;
131
+ pullFolder?(path: string): Promise<string>;
132
+ toggleFlightMode?(): Promise<void>;
133
+ toggleData?(): Promise<void>;
134
+ toggleWiFi?(): Promise<void>;
135
+ toggleLocationServices?(): Promise<void>;
136
+ openNotifications?(): Promise<void>;
137
+ startActivity?(appPackage: string, appActivity: string, appWaitPackage?: string | undefined, appWaitActivity?: string | undefined, intentAction?: string | undefined, intentCategory?: string | undefined, intentFlags?: string | undefined, optionalIntentArguments?: string | undefined, dontStopAppOnReset?: boolean | undefined): Promise<void>;
138
+ getSystemBars?(): Promise<unknown[]>;
139
+ getDisplayDensity?(): Promise<number>;
140
+ touchId?(match: boolean): Promise<void>;
141
+ toggleEnrollTouchId?(enabled: boolean): Promise<void>;
142
+ launchApp?(): Promise<void>;
143
+ closeApp?(): Promise<void>;
144
+ background?(seconds: number | null): Promise<void>;
145
+ endCoverage?(intent: string, path: string): Promise<void>;
146
+ getStrings?(language?: string | undefined, stringFile?: string | undefined): Promise<Record<string, unknown>>;
147
+ setValueImmediate?(value: string, elementId: string): Promise<void>;
148
+ replaceValue?(value: string, elementId: string): Promise<void>;
149
+ receiveAsyncResponse?(response: unknown): Promise<void>;
150
+ setClipboard?(content: string, contentType?: string | undefined, label?: string | undefined): Promise<void>;
151
+ getClipboard?(contentType?: string | undefined): Promise<string>;
152
+ asyncScriptTimeout?(ms: number): Promise<void>;
153
+ getLocation?(elementId: string): Promise<import("@appium/types").Position>;
154
+ getLocationInView?(elementId: string): Promise<import("@appium/types").Position>;
155
+ getSize?(elementId: string): Promise<import("@appium/types").Size>;
156
+ equalsElement?(elementId: string, otherElementId: string): Promise<boolean>;
157
+ submit?(elementId: string): Promise<void>;
158
+ availableIMEEngines?(): Promise<string[]>;
159
+ getActiveIMEEngine?(): Promise<string>;
160
+ isIMEActivated?(): Promise<boolean>;
161
+ deactivateIMEEngine?(): Promise<void>;
162
+ activateIMEEngine?(engine: string): Promise<void>;
163
+ moveTo?(element?: string | null | undefined, xOffset?: number | undefined, yOffset?: number | undefined): Promise<void>;
164
+ buttonDown?(button?: number | undefined): Promise<void>;
165
+ buttonUp?(button?: number | undefined): Promise<void>;
166
+ clickCurrent?(button?: number | undefined): Promise<void>;
167
+ touchDown?(x: number, y: number): Promise<void>;
168
+ touchUp?(x: number, y: number): Promise<void>;
169
+ touchMove?(x: number, y: number): Promise<void>;
170
+ touchLongClick?(elementId: string): Promise<void>;
171
+ flick?(element?: string | undefined, xSpeed?: number | undefined, ySpeed?: number | undefined, xOffset?: number | undefined, yOffset?: number | undefined, speed?: number | undefined): Promise<void>;
172
+ getCurrentContext?(): Promise<string | null>;
173
+ setContext?(name: string): Promise<void>;
174
+ getContexts?(): Promise<string[]>;
175
+ getPageIndex?(elementId: string): Promise<string>;
176
+ getNetworkConnection?(): Promise<number>;
177
+ setNetworkConnection?(type: number): Promise<void>;
178
+ performTouch?(actions: unknown): Promise<void>;
179
+ performMultiAction?(actions: unknown, elementId: string): Promise<void>;
180
+ getRotation?(): Promise<import("@appium/types").Rotation>;
181
+ setRotation?(x: number, y: number, z: number): Promise<void>;
182
+ executeCdp?(cmd: string, params: unknown): Promise<unknown>;
183
+ addVirtualAuthenticator?(protocol: "ctap/u2f" | "ctap2" | "ctap2_1", transport: string, hasResidentKey?: boolean | undefined, hasUserVerification?: boolean | undefined, isUserConsenting?: boolean | undefined, isUserVerified?: boolean | undefined): Promise<string>;
184
+ removeVirtualAuthenticator?(authenticatorId: string): Promise<void>;
185
+ addAuthCredential?(credentialId: string, isResidentCredential: boolean, rpId: string, privateKey: string, userHandle: string, signCount: number, authenticatorId: string): Promise<void>;
186
+ getAuthCredential?(): Promise<import("@appium/types").Credential[]>;
187
+ removeAllAuthCredentials?(): Promise<void>;
188
+ removeAuthCredential?(credentialId: string, authenticatorId: string): Promise<void>;
189
+ setUserAuthVerified?(isUserVerified: boolean, authenticatorId: string): Promise<void>;
190
+ proxyCommand?<T_1 = any>(url: string, method: import("@appium/types").HTTPMethod, body?: string | undefined): Promise<T_1>;
191
+ cliArgs: import("@appium/types").StringRecord;
192
+ executeCommand(cmd: string, ...args: any[]): Promise<any>;
193
+ startUnexpectedShutdown(err?: Error | undefined): Promise<void>;
194
+ startNewCommandTimeout(): Promise<void>;
195
+ reset(): Promise<void>;
196
+ caps?: Partial<import("@appium/types").ConstraintsToCaps<{
197
+ readonly app: {
198
+ readonly presence: true;
199
+ readonly isString: true;
200
+ };
201
+ readonly uniqueApp: {
202
+ readonly isBoolean: true;
203
+ };
204
+ }> & void> | undefined;
205
+ originalCaps?: import("@appium/types").W3CCapabilities<{
206
+ readonly app: {
207
+ readonly presence: true;
208
+ readonly isString: true;
209
+ };
210
+ readonly uniqueApp: {
211
+ readonly isBoolean: true;
212
+ };
213
+ }, void> | undefined;
214
+ desiredCapConstraints: {
215
+ readonly app: {
216
+ readonly presence: true;
217
+ readonly isString: true;
218
+ };
219
+ readonly uniqueApp: {
220
+ readonly isBoolean: true;
221
+ };
222
+ };
223
+ assignServer?(server: import("@appium/types").AppiumServer, host: string, port: number, path: string): void;
224
+ getSessions(): Promise<import("@appium/types").MultiSessionData<typeof import("@appium/types").BASE_DESIRED_CAP_CONSTRAINTS, void>[]>;
225
+ getSession(): Promise<import("@appium/types").SingularSessionData<typeof import("@appium/types").BASE_DESIRED_CAP_CONSTRAINTS, void>>;
226
+ supportedLogTypes: Readonly<import("@appium/types").LogDefRecord<{
227
+ readonly app: {
228
+ readonly presence: true;
229
+ readonly isString: true;
230
+ };
231
+ readonly uniqueApp: {
232
+ readonly isBoolean: true;
233
+ };
234
+ }>>;
235
+ getLogTypes(): Promise<string[]>;
236
+ findElement(strategy: string, selector: string): Promise<import("@appium/types").Element>;
237
+ findElements(strategy: string, selector: string): Promise<import("@appium/types").Element[]>;
238
+ findElementFromElement(strategy: string, selector: string, elementId: string): Promise<import("@appium/types").Element>;
239
+ findElementsFromElement(strategy: string, selector: string, elementId: string): Promise<import("@appium/types").Element[]>;
240
+ findElementFromShadowRoot?(strategy: string, selector: string, shadowId: string): Promise<import("@appium/types").Element>;
241
+ findElementsFromShadowRoot?(strategy: string, selector: string, shadowId: string): Promise<import("@appium/types").Element[]>;
242
+ findElOrEls<Mult extends boolean>(strategy: string, selector: string, mult: Mult, context?: any): Promise<Mult extends true ? import("@appium/types").Element[] : import("@appium/types").Element>;
243
+ findElOrElsWithProcessing<Mult_1 extends boolean>(strategy: string, selector: string, mult: Mult_1, context?: any): Promise<Mult_1 extends true ? import("@appium/types").Element[] : import("@appium/types").Element>;
244
+ updateSettings: (settings: import("@appium/types").StringRecord) => Promise<void>;
245
+ getSettings(): Promise<import("@appium/types").StringRecord>;
246
+ timeouts(type: string, ms: string | number, script?: number | undefined, pageLoad?: number | undefined, implicit?: string | number | undefined): Promise<void>;
247
+ setNewCommandTimeout(ms: number): void;
248
+ implicitWait(ms: string | number): Promise<void>;
249
+ setImplicitWait(ms: number): void;
250
+ implicitWaitForCondition(condition: () => Promise<any>): Promise<unknown>;
251
+ getTimeouts(): Promise<Record<string, number>>;
252
+ implicitWaitW3C(ms: number): Promise<void>;
253
+ implicitWaitMJSONWP(ms: number): Promise<void>;
254
+ pageLoadTimeoutW3C(ms: number): Promise<void>;
255
+ pageLoadTimeoutMJSONWP(ms: number): Promise<void>;
256
+ scriptTimeoutW3C(ms: number): Promise<void>;
257
+ scriptTimeoutMJSONWP(ms: number): Promise<void>;
258
+ newCommandTimeout(ms: number): Promise<void>;
259
+ parseTimeoutArgument(ms: string | number): number;
260
+ logCustomEvent(vendor: string, event: string): Promise<void>;
261
+ getLogEvents(type?: string | string[] | undefined): Promise<import("@appium/types").EventHistory | Record<string, number>>;
262
+ executeMethod(script: string, args: [] | [import("@appium/types").StringRecord]): Promise<any>;
263
+ createSession(w3cCaps1: import("@appium/types").W3CCapabilities<{
264
+ readonly app: {
265
+ readonly presence: true;
266
+ readonly isString: true;
267
+ };
268
+ readonly uniqueApp: {
269
+ readonly isBoolean: true;
270
+ };
271
+ }, void>, w3cCaps2?: import("@appium/types").W3CCapabilities<{
272
+ readonly app: {
273
+ readonly presence: true;
274
+ readonly isString: true;
275
+ };
276
+ readonly uniqueApp: {
277
+ readonly isBoolean: true;
278
+ };
279
+ }, void> | undefined, w3cCaps3?: import("@appium/types").W3CCapabilities<{
280
+ readonly app: {
281
+ readonly presence: true;
282
+ readonly isString: true;
283
+ };
284
+ readonly uniqueApp: {
285
+ readonly isBoolean: true;
286
+ };
287
+ }, void> | undefined, driverData?: import("@appium/types").DriverData[] | undefined): Promise<[string, any]>;
288
+ deleteSession(sessionId?: string | undefined, driverData?: import("@appium/types").DriverData[] | undefined): Promise<void>;
289
+ shouldValidateCaps: boolean;
290
+ sessionId: string | null;
291
+ opts: import("@appium/types").DriverOpts<typeof import("@appium/types").BASE_DESIRED_CAP_CONSTRAINTS>;
292
+ initialOpts: import("@appium/types").ServerArgs;
293
+ protocol?: string | undefined;
294
+ helpers: import("@appium/types").DriverHelpers<typeof import("@appium/types").BASE_DESIRED_CAP_CONSTRAINTS>;
295
+ basePath: string;
296
+ relaxedSecurityEnabled: boolean;
297
+ allowInsecure: string[];
298
+ denyInsecure: string[];
299
+ newCommandTimeoutMs: number;
300
+ implicitWaitMs: number;
301
+ locatorStrategies: string[];
302
+ webLocatorStrategies: string[];
303
+ eventEmitter: import("events");
304
+ settings: import("@appium/types").DeviceSettings<any>;
305
+ log: import("@appium/types").AppiumLogger;
306
+ driverData?: import("@appium/types").DriverData | undefined;
307
+ isCommandsQueueEnabled: boolean;
308
+ eventHistory: import("@appium/types").EventHistory;
309
+ onUnexpectedShutdown(handler: () => any): void;
310
+ getStatus(): Promise<any>;
311
+ sessionExists(sessionId: string): boolean;
312
+ isW3CProtocol(): boolean;
313
+ isMjsonwpProtocol(): boolean;
314
+ isFeatureEnabled(name: string): boolean;
315
+ assertFeatureEnabled(name: string): void;
316
+ validateLocatorStrategy(strategy: string, webContext?: boolean | undefined): void;
317
+ proxyActive(sessionId?: string | undefined): boolean;
318
+ getProxyAvoidList(sessionId?: string | undefined): import("@appium/types").RouteMatcher[];
319
+ canProxy(sessionId?: string | undefined): boolean;
320
+ proxyRouteIsAvoided(sessionId: string, method: string, url: string): boolean;
321
+ addManagedDriver(driver: import("@appium/types").Driver<typeof import("@appium/types").BASE_DESIRED_CAP_CONSTRAINTS, import("@appium/types").StringRecord, any>): void;
322
+ getManagedDrivers(): import("@appium/types").Driver<typeof import("@appium/types").BASE_DESIRED_CAP_CONSTRAINTS, import("@appium/types").StringRecord, any>[];
323
+ clearNewCommandTimeout(): Promise<void>;
324
+ logEvent(eventName: string): void;
325
+ driverForSession(sessionId: string): import("@appium/types").Core<typeof import("@appium/types").BASE_DESIRED_CAP_CONSTRAINTS> | null;
326
+ getElement(id: string): import("../fake-element").FakeElement;
327
+ getElements(ids: string[]): import("../fake-element").FakeElement[];
328
+ };
329
+ } & T;
330
+ export type FakeDriverCore = import('../driver').FakeDriverCore;
331
+ export type Class<T, U = {}, V = any[]> = import('@appium/types').Class<T, U, V>;
332
+ export type IGeneralCommands = import('../types').IGeneralCommands;
29
333
  //# sourceMappingURL=general.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../lib/commands/general.js"],"names":[],"mappings":";;IAOA,+BAGC;IAED,yCAKC;IAED,sDAIC;IAED,wCAEC;IAED,uCAEC;IAED,wCAEC;IAED,+CAKC;IAED,uCAEC;IAED;;;OAEC;IAED;;;;;OAEC;IAED,qDAEC;IAED,yCAA4D;IAE5D,yCAOC;IAED,uDAEC;IAED,qEAEC;;AAzEC,uBAAY;AACZ,2BAAe"}
1
+ {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../lib/commands/general.js"],"names":[],"mappings":";AAIA;;;GAGG;AACH;;;;;;;;QAmCI;;;WAGG;0BADQ,OAAO,UAAU,EAAE,cAAc,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;QA8C3D;;;;;;;WAOG;2BAJQ,MAAM,QACN,MAAM,8BAEJ,QAAQ,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAQ/B;6BAGY,OAAO,WAAW,EAAE,cAAc;0CAKlC,OAAO,eAAe,EAAE,KAAK,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC;+BAIpC,OAAO,UAAU,EAAE,gBAAgB"}
@@ -1,107 +1,102 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.helpers = exports.default = exports.commands = void 0;
7
-
8
- require("source-map-support/register");
9
-
10
- var _lodash = _interopRequireDefault(require("lodash"));
11
-
12
- var _driver = require("appium/driver");
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- let commands = {},
17
- helpers = {},
18
- extensions = {};
19
- exports.helpers = helpers;
20
- exports.commands = commands;
21
-
22
- commands.title = async function title() {
23
- this.assertWebviewContext();
24
- return this.appModel.title;
25
- };
26
-
27
- commands.keys = async function keys(value) {
28
- if (!this.focusedElId) {
29
- throw new _driver.errors.InvalidElementStateError();
30
- }
31
-
32
- await this.setValue(value, this.focusedElId);
33
- };
34
-
35
- commands.setGeoLocation = async function setGeoLocation(location) {
36
- this.appModel.lat = location.latitude;
37
- this.appModel.long = location.longitude;
38
- };
39
-
40
- commands.getGeoLocation = async function getGeoLocation() {
41
- return this.appModel.currentGeoLocation;
42
- };
43
-
44
- commands.getPageSource = async function getPageSource() {
45
- return this.appModel.rawXml;
46
- };
47
-
48
- commands.getOrientation = async function getOrientation() {
49
- return this.appModel.orientation;
50
- };
51
-
52
- commands.setOrientation = async function setOrientation(o) {
53
- if (!_lodash.default.includes(['LANDSCAPE', 'PORTRAIT'], o)) {
54
- throw new _driver.errors.UnknownError('Orientation must be LANDSCAPE or PORTRAIT');
55
- }
56
-
57
- this.appModel.orientation = o;
58
- };
59
-
60
- commands.getScreenshot = async function getScreenshot() {
61
- return this.appModel.getScreenshot();
62
- };
63
-
64
- commands.getWindowSize = async function getWindowSize() {
65
- return {
66
- width: this.appModel.width,
67
- height: this.appModel.height
68
- };
69
- };
70
-
71
- commands.getWindowRect = async function getWindowRect() {
72
- return {
73
- width: this.appModel.width,
74
- height: this.appModel.height,
75
- x: 0,
76
- y: 0
77
- };
78
- };
79
-
80
- commands.performActions = async function performActions(actions) {
81
- this.appModel.actionLog.push(actions);
82
- };
83
-
84
- commands.releaseActions = async function releaseActions() {};
85
-
86
- commands.getLog = async function getLog(type) {
87
- switch (type) {
88
- case 'actions':
89
- return this.appModel.actionLog;
90
-
91
- default:
92
- throw new Error(`Don't understand log type '${type}'`);
93
- }
94
- };
95
-
96
- commands.execute = async function execute(script, args) {
97
- return await this.executeMethod(script, args);
98
- };
99
-
100
- commands.fakeAddition = async function fakeAddition(num1, num2, num3) {
101
- return num1 + num2 + (num3 ?? 0);
102
- };
103
-
104
- Object.assign(extensions, commands, helpers);
105
- var _default = extensions;
106
- exports.default = _default;
107
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kcyIsImhlbHBlcnMiLCJleHRlbnNpb25zIiwidGl0bGUiLCJhc3NlcnRXZWJ2aWV3Q29udGV4dCIsImFwcE1vZGVsIiwia2V5cyIsInZhbHVlIiwiZm9jdXNlZEVsSWQiLCJlcnJvcnMiLCJJbnZhbGlkRWxlbWVudFN0YXRlRXJyb3IiLCJzZXRWYWx1ZSIsInNldEdlb0xvY2F0aW9uIiwibG9jYXRpb24iLCJsYXQiLCJsYXRpdHVkZSIsImxvbmciLCJsb25naXR1ZGUiLCJnZXRHZW9Mb2NhdGlvbiIsImN1cnJlbnRHZW9Mb2NhdGlvbiIsImdldFBhZ2VTb3VyY2UiLCJyYXdYbWwiLCJnZXRPcmllbnRhdGlvbiIsIm9yaWVudGF0aW9uIiwic2V0T3JpZW50YXRpb24iLCJvIiwiXyIsImluY2x1ZGVzIiwiVW5rbm93bkVycm9yIiwiZ2V0U2NyZWVuc2hvdCIsImdldFdpbmRvd1NpemUiLCJ3aWR0aCIsImhlaWdodCIsImdldFdpbmRvd1JlY3QiLCJ4IiwieSIsInBlcmZvcm1BY3Rpb25zIiwiYWN0aW9ucyIsImFjdGlvbkxvZyIsInB1c2giLCJyZWxlYXNlQWN0aW9ucyIsImdldExvZyIsInR5cGUiLCJFcnJvciIsImV4ZWN1dGUiLCJzY3JpcHQiLCJhcmdzIiwiZXhlY3V0ZU1ldGhvZCIsImZha2VBZGRpdGlvbiIsIm51bTEiLCJudW0yIiwibnVtMyIsIk9iamVjdCIsImFzc2lnbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jb21tYW5kcy9nZW5lcmFsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge2Vycm9yc30gZnJvbSAnYXBwaXVtL2RyaXZlcic7XG5cbmxldCBjb21tYW5kcyA9IHt9LFxuICBoZWxwZXJzID0ge30sXG4gIGV4dGVuc2lvbnMgPSB7fTtcblxuY29tbWFuZHMudGl0bGUgPSBhc3luYyBmdW5jdGlvbiB0aXRsZSgpIHtcbiAgdGhpcy5hc3NlcnRXZWJ2aWV3Q29udGV4dCgpO1xuICByZXR1cm4gdGhpcy5hcHBNb2RlbC50aXRsZTtcbn07XG5cbmNvbW1hbmRzLmtleXMgPSBhc3luYyBmdW5jdGlvbiBrZXlzKHZhbHVlKSB7XG4gIGlmICghdGhpcy5mb2N1c2VkRWxJZCkge1xuICAgIHRocm93IG5ldyBlcnJvcnMuSW52YWxpZEVsZW1lbnRTdGF0ZUVycm9yKCk7XG4gIH1cbiAgYXdhaXQgdGhpcy5zZXRWYWx1ZSh2YWx1ZSwgdGhpcy5mb2N1c2VkRWxJZCk7XG59O1xuXG5jb21tYW5kcy5zZXRHZW9Mb2NhdGlvbiA9IGFzeW5jIGZ1bmN0aW9uIHNldEdlb0xvY2F0aW9uKGxvY2F0aW9uKSB7XG4gIC8vIFRPRE8gdGVzdCB0aGlzIGFkZXF1YXRlbHkgb25jZSBXRCBidWcgaXMgZml4ZWRcbiAgdGhpcy5hcHBNb2RlbC5sYXQgPSBsb2NhdGlvbi5sYXRpdHVkZTtcbiAgdGhpcy5hcHBNb2RlbC5sb25nID0gbG9jYXRpb24ubG9uZ2l0dWRlO1xufTtcblxuY29tbWFuZHMuZ2V0R2VvTG9jYXRpb24gPSBhc3luYyBmdW5jdGlvbiBnZXRHZW9Mb2NhdGlvbigpIHtcbiAgcmV0dXJuIHRoaXMuYXBwTW9kZWwuY3VycmVudEdlb0xvY2F0aW9uO1xufTtcblxuY29tbWFuZHMuZ2V0UGFnZVNvdXJjZSA9IGFzeW5jIGZ1bmN0aW9uIGdldFBhZ2VTb3VyY2UoKSB7XG4gIHJldHVybiB0aGlzLmFwcE1vZGVsLnJhd1htbDtcbn07XG5cbmNvbW1hbmRzLmdldE9yaWVudGF0aW9uID0gYXN5bmMgZnVuY3Rpb24gZ2V0T3JpZW50YXRpb24oKSB7XG4gIHJldHVybiB0aGlzLmFwcE1vZGVsLm9yaWVudGF0aW9uO1xufTtcblxuY29tbWFuZHMuc2V0T3JpZW50YXRpb24gPSBhc3luYyBmdW5jdGlvbiBzZXRPcmllbnRhdGlvbihvKSB7XG4gIGlmICghXy5pbmNsdWRlcyhbJ0xBTkRTQ0FQRScsICdQT1JUUkFJVCddLCBvKSkge1xuICAgIHRocm93IG5ldyBlcnJvcnMuVW5rbm93bkVycm9yKCdPcmllbnRhdGlvbiBtdXN0IGJlIExBTkRTQ0FQRSBvciBQT1JUUkFJVCcpO1xuICB9XG4gIHRoaXMuYXBwTW9kZWwub3JpZW50YXRpb24gPSBvO1xufTtcblxuY29tbWFuZHMuZ2V0U2NyZWVuc2hvdCA9IGFzeW5jIGZ1bmN0aW9uIGdldFNjcmVlbnNob3QoKSB7XG4gIHJldHVybiB0aGlzLmFwcE1vZGVsLmdldFNjcmVlbnNob3QoKTtcbn07XG5cbmNvbW1hbmRzLmdldFdpbmRvd1NpemUgPSBhc3luYyBmdW5jdGlvbiBnZXRXaW5kb3dTaXplKCkge1xuICByZXR1cm4ge3dpZHRoOiB0aGlzLmFwcE1vZGVsLndpZHRoLCBoZWlnaHQ6IHRoaXMuYXBwTW9kZWwuaGVpZ2h0fTtcbn07XG5cbmNvbW1hbmRzLmdldFdpbmRvd1JlY3QgPSBhc3luYyBmdW5jdGlvbiBnZXRXaW5kb3dSZWN0KCkge1xuICByZXR1cm4ge3dpZHRoOiB0aGlzLmFwcE1vZGVsLndpZHRoLCBoZWlnaHQ6IHRoaXMuYXBwTW9kZWwuaGVpZ2h0LCB4OiAwLCB5OiAwfTtcbn07XG5cbmNvbW1hbmRzLnBlcmZvcm1BY3Rpb25zID0gYXN5bmMgZnVuY3Rpb24gcGVyZm9ybUFjdGlvbnMoYWN0aW9ucykge1xuICB0aGlzLmFwcE1vZGVsLmFjdGlvbkxvZy5wdXNoKGFjdGlvbnMpO1xufTtcblxuY29tbWFuZHMucmVsZWFzZUFjdGlvbnMgPSBhc3luYyBmdW5jdGlvbiByZWxlYXNlQWN0aW9ucygpIHt9O1xuXG5jb21tYW5kcy5nZXRMb2cgPSBhc3luYyBmdW5jdGlvbiBnZXRMb2codHlwZSkge1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlICdhY3Rpb25zJzpcbiAgICAgIHJldHVybiB0aGlzLmFwcE1vZGVsLmFjdGlvbkxvZztcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBEb24ndCB1bmRlcnN0YW5kIGxvZyB0eXBlICcke3R5cGV9J2ApO1xuICB9XG59O1xuXG5jb21tYW5kcy5leGVjdXRlID0gYXN5bmMgZnVuY3Rpb24gZXhlY3V0ZShzY3JpcHQsIGFyZ3MpIHtcbiAgcmV0dXJuIGF3YWl0IHRoaXMuZXhlY3V0ZU1ldGhvZChzY3JpcHQsIGFyZ3MpO1xufTtcblxuY29tbWFuZHMuZmFrZUFkZGl0aW9uID0gYXN5bmMgZnVuY3Rpb24gZmFrZUFkZGl0aW9uKG51bTEsIG51bTIsIG51bTMpIHtcbiAgcmV0dXJuIG51bTEgKyBudW0yICsgKG51bTMgPz8gMCk7XG59O1xuXG5PYmplY3QuYXNzaWduKGV4dGVuc2lvbnMsIGNvbW1hbmRzLCBoZWxwZXJzKTtcbmV4cG9ydCB7Y29tbWFuZHMsIGhlbHBlcnN9O1xuZXhwb3J0IGRlZmF1bHQgZXh0ZW5zaW9ucztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7Ozs7QUFFQSxJQUFJQSxRQUFRLEdBQUcsRUFBZjtBQUFBLElBQ0VDLE9BQU8sR0FBRyxFQURaO0FBQUEsSUFFRUMsVUFBVSxHQUFHLEVBRmY7Ozs7QUFJQUYsUUFBUSxDQUFDRyxLQUFULEdBQWlCLGVBQWVBLEtBQWYsR0FBdUI7RUFDdEMsS0FBS0Msb0JBQUw7RUFDQSxPQUFPLEtBQUtDLFFBQUwsQ0FBY0YsS0FBckI7QUFDRCxDQUhEOztBQUtBSCxRQUFRLENBQUNNLElBQVQsR0FBZ0IsZUFBZUEsSUFBZixDQUFvQkMsS0FBcEIsRUFBMkI7RUFDekMsSUFBSSxDQUFDLEtBQUtDLFdBQVYsRUFBdUI7SUFDckIsTUFBTSxJQUFJQyxjQUFBLENBQU9DLHdCQUFYLEVBQU47RUFDRDs7RUFDRCxNQUFNLEtBQUtDLFFBQUwsQ0FBY0osS0FBZCxFQUFxQixLQUFLQyxXQUExQixDQUFOO0FBQ0QsQ0FMRDs7QUFPQVIsUUFBUSxDQUFDWSxjQUFULEdBQTBCLGVBQWVBLGNBQWYsQ0FBOEJDLFFBQTlCLEVBQXdDO0VBRWhFLEtBQUtSLFFBQUwsQ0FBY1MsR0FBZCxHQUFvQkQsUUFBUSxDQUFDRSxRQUE3QjtFQUNBLEtBQUtWLFFBQUwsQ0FBY1csSUFBZCxHQUFxQkgsUUFBUSxDQUFDSSxTQUE5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
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GeneralMixin = void 0;
4
+ const driver_1 = require("appium/driver");
5
+ const ORIENTATIONS = new Set(['LANDSCAPE', 'PORTRAIT']);
6
+ /**
7
+ * @template {Class<import('../types').IContextsCommands & import('../types').IElementCommands>} T
8
+ * @param {T} Base
9
+ */
10
+ function GeneralMixin(Base) {
11
+ /**
12
+ * @implements {IGeneralCommands}
13
+ */
14
+ class GeneralCommands extends Base {
15
+ async title() {
16
+ this.assertWebviewContext();
17
+ return this.appModel.title;
18
+ }
19
+ async keys(value) {
20
+ if (!this.focusedElId) {
21
+ throw new driver_1.errors.InvalidElementStateError();
22
+ }
23
+ await this.setValue(value, this.focusedElId);
24
+ }
25
+ async setGeoLocation(location) {
26
+ // TODO test this adequately once WD bug is fixed
27
+ this.appModel.lat = location.latitude;
28
+ this.appModel.long = location.longitude;
29
+ }
30
+ async getGeoLocation() {
31
+ return this.appModel.currentGeoLocation;
32
+ }
33
+ async getPageSource() {
34
+ return this.appModel.rawXml;
35
+ }
36
+ async getOrientation() {
37
+ return this.appModel.orientation;
38
+ }
39
+ /**
40
+ *
41
+ * @param {import('../types').FakeDriverCaps['orientation']} o
42
+ */
43
+ async setOrientation(o) {
44
+ if (!ORIENTATIONS.has(o)) {
45
+ throw new driver_1.errors.UnknownError('Orientation must be LANDSCAPE or PORTRAIT');
46
+ }
47
+ this.appModel.orientation = o;
48
+ }
49
+ async getScreenshot() {
50
+ return this.appModel.getScreenshot();
51
+ }
52
+ async getWindowSize() {
53
+ return { width: this.appModel.width, height: this.appModel.height };
54
+ }
55
+ async getWindowRect() {
56
+ return { width: this.appModel.width, height: this.appModel.height, x: 0, y: 0 };
57
+ }
58
+ async performActions(actions) {
59
+ this.appModel.actionLog.push(actions);
60
+ }
61
+ async releaseActions() { }
62
+ async getLog(type) {
63
+ switch (type) {
64
+ case 'actions':
65
+ return this.appModel.actionLog;
66
+ default:
67
+ throw new Error(`Don't understand log type '${type}'`);
68
+ }
69
+ }
70
+ async mobileShake() {
71
+ this.shook = true;
72
+ }
73
+ async doubleClick() { }
74
+ async execute(script, args) {
75
+ return await this.executeMethod(script, args);
76
+ }
77
+ /**
78
+ * Add two or maybe even three numbers
79
+ *
80
+ * @param {number} num1
81
+ * @param {number} num2
82
+ * @param {number} [num3]
83
+ * @returns {Promise<number>}
84
+ */
85
+ async fakeAddition(num1, num2, num3 = 0) {
86
+ return num1 + num2 + (num3 ?? 0);
87
+ }
88
+ }
89
+ return GeneralCommands;
90
+ }
91
+ exports.GeneralMixin = GeneralMixin;
92
+ /**
93
+ * @typedef {import('../driver').FakeDriverCore} FakeDriverCore
94
+ */
95
+ /**
96
+ * @template T,[U={}],[V=Array<any>]
97
+ * @typedef {import('@appium/types').Class<T,U,V>} Class
98
+ */
99
+ /**
100
+ * @typedef {import('../types').IGeneralCommands} IGeneralCommands
101
+ */
102
+ //# sourceMappingURL=general.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"general.js","names":["commands","helpers","extensions","title","assertWebviewContext","appModel","keys","value","focusedElId","errors","InvalidElementStateError","setValue","setGeoLocation","location","lat","latitude","long","longitude","getGeoLocation","currentGeoLocation","getPageSource","rawXml","getOrientation","orientation","setOrientation","o","_","includes","UnknownError","getScreenshot","getWindowSize","width","height","getWindowRect","x","y","performActions","actions","actionLog","push","releaseActions","getLog","type","Error","execute","script","args","executeMethod","fakeAddition","num1","num2","num3","Object","assign"],"sources":["../../../lib/commands/general.js"],"sourcesContent":["import _ from 'lodash';\nimport {errors} from 'appium/driver';\n\nlet commands = {},\n helpers = {},\n extensions = {};\n\ncommands.title = async function title() {\n this.assertWebviewContext();\n return this.appModel.title;\n};\n\ncommands.keys = async function keys(value) {\n if (!this.focusedElId) {\n throw new errors.InvalidElementStateError();\n }\n await this.setValue(value, this.focusedElId);\n};\n\ncommands.setGeoLocation = async function setGeoLocation(location) {\n // TODO test this adequately once WD bug is fixed\n this.appModel.lat = location.latitude;\n this.appModel.long = location.longitude;\n};\n\ncommands.getGeoLocation = async function getGeoLocation() {\n return this.appModel.currentGeoLocation;\n};\n\ncommands.getPageSource = async function getPageSource() {\n return this.appModel.rawXml;\n};\n\ncommands.getOrientation = async function getOrientation() {\n return this.appModel.orientation;\n};\n\ncommands.setOrientation = async function setOrientation(o) {\n if (!_.includes(['LANDSCAPE', 'PORTRAIT'], o)) {\n throw new errors.UnknownError('Orientation must be LANDSCAPE or PORTRAIT');\n }\n this.appModel.orientation = o;\n};\n\ncommands.getScreenshot = async function getScreenshot() {\n return this.appModel.getScreenshot();\n};\n\ncommands.getWindowSize = async function getWindowSize() {\n return {width: this.appModel.width, height: this.appModel.height};\n};\n\ncommands.getWindowRect = async function getWindowRect() {\n return {width: this.appModel.width, height: this.appModel.height, x: 0, y: 0};\n};\n\ncommands.performActions = async function performActions(actions) {\n this.appModel.actionLog.push(actions);\n};\n\ncommands.releaseActions = async function releaseActions() {};\n\ncommands.getLog = async function getLog(type) {\n switch (type) {\n case 'actions':\n return this.appModel.actionLog;\n default:\n throw new Error(`Don't understand log type '${type}'`);\n }\n};\n\ncommands.execute = async function execute(script, args) {\n return await this.executeMethod(script, args);\n};\n\ncommands.fakeAddition = async function fakeAddition(num1, num2, num3) {\n return num1 + num2 + (num3 ?? 0);\n};\n\nObject.assign(extensions, commands, helpers);\nexport {commands, helpers};\nexport default extensions;\n"],"mappings":"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"}
1
+ {"version":3,"file":"general.js","sourceRoot":"","sources":["../../../lib/commands/general.js"],"names":[],"mappings":"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"}