@appium/base-driver 10.0.0-beta.1 → 10.0.0-beta.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/execute.ts"],"names":[],"mappings":";;;;;AAAA,oDAAuB;AACvB,6CAAmE;AASnE,mCAA8B;AAE9B,6DAA6C;AAO7C,MAAM,eAAe,GAAqB;IACxC,KAAK,CAAC,aAAa,CAEjB,MAAc,EACd,SAAgE;QAEhE,MAAM,MAAM,GAAG,IAAI,CAAC,WAAqC,CAAC;QAC1D,MAAM,eAAe,GAAG,EAAC,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,EAAC,CAAC;QAC/D,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,gBAAgB,GAAG,gBAAC,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YACzD,IAAI,gBAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,iBAAM,CAAC,yBAAyB,CACxC,+BAA+B,MAAM,KAAK;oBAC1C,2BAA2B,MAAM,CAAC,IAAI,kBAAkB;oBACxD,iEAAiE,CAClE,CAAC;YACJ,CAAC;YACD,MAAM,UAAU,GAA2B,gBAAgB;iBACxD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAA,8BAAQ,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;iBAC7C,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC5B,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;oBACf,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,MAAM,aAAa,GAAG,gBAAC,CAAC,OAAO,CAC7B,gBAAC,CAAC,IAAI,CAAC,UAAU,CAAC;iBACf,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;iBACjD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAC7B,CAAC;YACF,MAAM,IAAI,iBAAM,CAAC,yBAAyB,CACxC,+BAA+B,MAAM,oBAAoB,aAAa,CAAC,CAAC,CAAC,KAAK;gBAC9E,2BAA2B,MAAM,CAAC,IAAI,kBAAkB;gBACxD,+DAA+D;gBAC/D,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CACzB,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,IAAA,sCAA2B,EAAC,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAkB,CAAC;QAC/D,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF,CAAC;AAEF,IAAA,aAAK,EAAC,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/execute.ts"],"names":[],"mappings":";;;;;AAAA,oDAAuB;AACvB,6CAAmE;AASnE,mCAA8B;AAE9B,6DAA6C;AAO7C,MAAM,eAAe,GAAqB;IACxC,KAAK,CAAC,aAAa,CAEjB,MAAc,EACd,SAAgE;QAEhE,MAAM,MAAM,GAAG,IAAI,CAAC,WAAqC,CAAC;QAC1D,MAAM,eAAe,GAAG,EAAC,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,EAAC,CAAC;QAC/D,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,gBAAgB,GAAG,gBAAC,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YACzD,IAAI,gBAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,iBAAM,CAAC,yBAAyB,CACxC,+BAA+B,MAAM,KAAK;oBAC1C,2BAA2B,MAAM,CAAC,IAAI,kBAAkB;oBACxD,iEAAiE,CAClE,CAAC;YACJ,CAAC;YACD,MAAM,UAAU,GAA2B,gBAAgB;iBACxD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAA,8BAAQ,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;iBAC7C,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC5B,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;oBACf,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,MAAM,aAAa,GAAG,gBAAC,CAAC,OAAO,CAC7B,gBAAC,CAAC,IAAI,CAAC,UAAU,CAAC;iBACf,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;iBACjD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAC7B,CAAC;YACF,MAAM,IAAI,iBAAM,CAAC,yBAAyB,CACxC,+BAA+B,MAAM,oBAAoB,aAAa,CAAC,CAAC,CAAC,KAAK;gBAC9E,2BAA2B,MAAM,CAAC,IAAI,kBAAkB;gBACxD,+DAA+D;gBAC/D,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CACzB,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,IAAA,sCAA2B,EAAC,SAAkB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;QACrF,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAkB,CAAC;QAC/D,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF,CAAC;AAEF,IAAA,aAAK,EAAC,eAAe,CAAC,CAAC"}
@@ -11,7 +11,8 @@ const mixin_1 = require("./mixin");
11
11
  const MIN_TIMEOUT = 0;
12
12
  const TimeoutCommands = {
13
13
  async timeouts(type, ms, script, pageLoad, implicit) {
14
- if (type && support_1.util.hasValue(ms)) {
14
+ if (type && lodash_1.default.isString(type) && support_1.util.hasValue(ms)) {
15
+ // legacy stuff with some Appium-specific additions
15
16
  this.log.debug(`Timeout arguments: ${JSON.stringify({ type, ms })}}`);
16
17
  switch (type) {
17
18
  case 'command':
@@ -26,12 +27,10 @@ const TimeoutCommands = {
26
27
  throw new Error(`'${type}' type is not supported for the timeout API`);
27
28
  }
28
29
  }
29
- // Otherwise assume it is W3C protocol
30
- this.log.debug(`W3C timeout argument: ${JSON.stringify({
31
- script,
32
- pageLoad,
33
- implicit,
34
- })}}`);
30
+ this.log.debug(`W3C timeout argument: ${JSON.stringify({ script, pageLoad, implicit })}}`);
31
+ if ([script, pageLoad, implicit].every(lodash_1.default.isNil)) {
32
+ throw new protocol_1.errors.InvalidArgumentError('W3C protocol expects any of script, pageLoad or implicit to be set');
33
+ }
35
34
  if (support_1.util.hasValue(script)) {
36
35
  await this.scriptTimeoutW3C(script);
37
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/timeout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/timeout.ts"],"names":[],"mappings":";;;;;AAAA,uCAA0C;AAC1C,oDAAuB;AACvB,6CAAqC;AACrC,6CAAsC;AAGtC,mCAA8B;AAO9B,MAAM,WAAW,GAAG,CAAC,CAAC;AAEtB,MAAM,eAAe,GAAqB;IACxC,KAAK,CAAC,QAAQ,CAA6C,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;QAC7F,IAAI,IAAI,IAAI,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,cAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YAClD,mDAAmD;YACnD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,EAAC,IAAI,EAAE,EAAE,EAAC,CAAC,GAAG,CAAC,CAAC;YACpE,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,SAAS;oBACZ,OAAO,KAAK,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjD,KAAK,UAAU;oBACb,OAAO,KAAK,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/C,KAAK,WAAW;oBACd,OAAO,KAAK,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClD,KAAK,QAAQ;oBACX,OAAO,KAAK,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChD;oBACE,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,6CAA6C,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,EAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAAC,GAAG,CAAC,CAAC;QACzF,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,gBAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,iBAAM,CAAC,oBAAoB,CAAC,oEAAoE,CAAC,CAAC;QAC9G,CAAC;QACD,IAAI,cAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,cAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,cAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,mBAAmB;YACjC,QAAQ,EAAE,IAAI,CAAC,cAAc;SAC9B,CAAC;IACJ,CAAC;IAED,WAAW;IACX,KAAK,CAAC,eAAe,CAA6C,EAAU;QAC1E,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,WAAW;IACX,6DAA6D;IAC7D,KAAK,CAAC,kBAAkB,CAA6C,EAAU;QAC7E,MAAM,IAAI,iBAAM,CAAC,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;IAC5E,CAAC;IAED,SAAS;IACT,6DAA6D;IAC7D,KAAK,CAAC,gBAAgB,CAA6C,EAAU;QAC3E,MAAM,IAAI,iBAAM,CAAC,mBAAmB,CAAC,iCAAiC,CAAC,CAAC;IAC1E,CAAC;IAED,UAAU;IACV,KAAK,CAAC,iBAAiB,CAA6C,EAAU;QAC5E,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,eAAe,CAA6C,EAAU;QACpE,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YACtD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC3D,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzC,IAAI,gBAAC,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;oBACzC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,oBAAoB,CAA6C,EAAU;QACzE,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YACtD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACjE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzC,IAAI,gBAAC,CAAC,UAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC;oBAC9C,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,wBAAwB,CAE5B,MAAwC;QAExC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,cAAc,mBAAmB,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;YAC7C,wBAAwB;YACxB,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAEpC,OAAO,MAAM,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,OAAO,MAAM,IAAA,2BAAgB,EAAC,aAAa,EAAE;YAC3C,MAAM,EAAE,IAAI,CAAC,cAAc;YAC3B,UAAU,EAAE,GAAG;YACf,MAAM,EAAE,IAAI,CAAC,GAAG;SACjB,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB,CAA6C,EAAmB;QAClF,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1C,IAAI,gBAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,WAAW,EAAE,CAAC;YAChD,MAAM,IAAI,iBAAM,CAAC,YAAY,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF,CAAC;AAEF,IAAA,aAAK,EAAC,eAAe,CAAC,CAAC"}
@@ -1,25 +1,17 @@
1
- export function checkParams(paramSets: any, jsonObj: any, protocol: any): void;
2
- export function makeArgs(requestParams: any, jsonObj: any, payloadParams: any, protocol: any): any;
3
- export const CREATE_SESSION_COMMAND: "createSession";
4
- export const DELETE_SESSION_COMMAND: "deleteSession";
5
- export const GET_STATUS_COMMAND: "getStatus";
6
- export const LIST_DRIVER_COMMANDS_COMMAND: "listCommands";
7
- export const LIST_DRIVER_EXTENSIONS_COMMAND: "listExtensions";
8
- /**
9
- *
10
- * @param {import('@appium/types').Core} driver
11
- * @returns {import('../express/server').RouteConfiguringFunction}
12
- */
13
- export function routeConfiguringFunction(driver: import("@appium/types").Core<any, import("@appium/types").StringRecord>): import("../express/server").RouteConfiguringFunction;
14
- /**
15
- *
16
- * @param {any} command
17
- * @returns {boolean}
18
- */
19
- export function isSessionCommand(command: any): boolean;
20
- export function driverShouldDoJwpProxy(driver: any, req: any, command: any): boolean;
21
- export function determineProtocol(createSessionArgs: any): "MJSONWP" | "W3C";
22
- /** @type {Set<string>} */
23
- export const deprecatedCommandsLogged: Set<string>;
24
- export function validateExecuteMethodParams(params: any, paramSpec: any): any;
1
+ import { PROTOCOLS } from '../constants';
2
+ import type { Core, PayloadParams } from '@appium/types';
3
+ import type { RouteConfiguringFunction } from '../express/server';
4
+ export declare const CREATE_SESSION_COMMAND = "createSession";
5
+ export declare const DELETE_SESSION_COMMAND = "deleteSession";
6
+ export declare const GET_STATUS_COMMAND = "getStatus";
7
+ export declare const LIST_DRIVER_COMMANDS_COMMAND = "listCommands";
8
+ export declare const LIST_DRIVER_EXTENSIONS_COMMAND = "listExtensions";
9
+ export declare const deprecatedCommandsLogged: Set<string>;
10
+ export declare function determineProtocol(createSessionArgs: any[]): keyof typeof PROTOCOLS;
11
+ export declare function isSessionCommand(command: string): boolean;
12
+ export declare function checkParams(paramSpec: PayloadParams, args: Record<string, any>, protocol?: keyof typeof PROTOCOLS): Record<string, any>;
13
+ export declare function makeArgs(requestParams: PayloadParams, jsonObj: any, payloadParams: PayloadParams): any[];
14
+ export declare function validateExecuteMethodParams(params: any[], paramSpec?: PayloadParams): any[];
15
+ export declare function routeConfiguringFunction(driver: Core<any>): RouteConfiguringFunction;
16
+ export declare function driverShouldDoJwpProxy(driver: Core<any>, req: import('express').Request, command: string): boolean;
25
17
  //# sourceMappingURL=protocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../lib/protocol/protocol.js"],"names":[],"mappings":"AA8GA,+EA2DC;AASD,mGAgDC;AA/MD,qCAAsC,eAAe,CAAC;AACtD,qCAAsC,eAAe,CAAC;AACtD,iCAAkC,WAAW,CAAC;AAC9C,2CAA4C,cAAc,CAAC;AAC3D,6CAA8C,gBAAgB,CAAC;AA8O/D;;;;GAIG;AACH,2HAFa,OAAO,mBAAmB,EAAE,wBAAwB,CAkChE;AArPD;;;;GAIG;AACH,0CAHW,GAAG,GACD,OAAO,CAInB;AA2cD,qFAmBC;AA9fD,6EAEC;AALD,0BAA0B;AAC1B,uCADW,GAAG,CAAC,MAAM,CAAC,CACqB;AA0M3C,8EA+BC"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../lib/protocol/protocol.ts"],"names":[],"mappings":"AAcA,OAAO,EAAsB,SAAS,EAAoB,MAAM,cAAc,CAAC;AAI/E,OAAO,KAAK,EAAE,IAAI,EAAgB,aAAa,EAAsC,MAAM,eAAe,CAAC;AAI3G,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAElE,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AACtD,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AACtD,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAC9C,eAAO,MAAM,4BAA4B,iBAAiB,CAAC;AAC3D,eAAO,MAAM,8BAA8B,mBAAmB,CAAC;AAE/D,eAAO,MAAM,wBAAwB,EAAE,GAAG,CAAC,MAAM,CAAa,CAAC;AAE/D,wBAAgB,iBAAiB,CAAC,iBAAiB,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,SAAS,CAElF;AAkBD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEzD;AAmDD,wBAAgB,WAAW,CACzB,SAAS,EAAE,aAAa,EACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,QAAQ,CAAC,EAAE,MAAM,OAAO,SAAS,GAChC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAsErB;AASD,wBAAgB,QAAQ,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,GAAG,GAAG,EAAE,CAgDxG;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC,EAAE,aAAa,GAAG,GAAG,EAAE,CAwB3F;AAGD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,wBAAwB,CAgCpF;AAsOD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAmBlH"}
@@ -4,13 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.deprecatedCommandsLogged = exports.LIST_DRIVER_EXTENSIONS_COMMAND = exports.LIST_DRIVER_COMMANDS_COMMAND = exports.GET_STATUS_COMMAND = exports.DELETE_SESSION_COMMAND = exports.CREATE_SESSION_COMMAND = void 0;
7
+ exports.determineProtocol = determineProtocol;
8
+ exports.isSessionCommand = isSessionCommand;
7
9
  exports.checkParams = checkParams;
8
10
  exports.makeArgs = makeArgs;
11
+ exports.validateExecuteMethodParams = validateExecuteMethodParams;
9
12
  exports.routeConfiguringFunction = routeConfiguringFunction;
10
- exports.isSessionCommand = isSessionCommand;
11
13
  exports.driverShouldDoJwpProxy = driverShouldDoJwpProxy;
12
- exports.determineProtocol = determineProtocol;
13
- exports.validateExecuteMethodParams = validateExecuteMethodParams;
14
14
  const lodash_1 = __importDefault(require("lodash"));
15
15
  const support_1 = require("@appium/support");
16
16
  const validators_1 = require("./validators");
@@ -27,18 +27,10 @@ exports.DELETE_SESSION_COMMAND = 'deleteSession';
27
27
  exports.GET_STATUS_COMMAND = 'getStatus';
28
28
  exports.LIST_DRIVER_COMMANDS_COMMAND = 'listCommands';
29
29
  exports.LIST_DRIVER_EXTENSIONS_COMMAND = 'listExtensions';
30
- /** @type {Set<string>} */
31
- const deprecatedCommandsLogged = new Set();
32
- exports.deprecatedCommandsLogged = deprecatedCommandsLogged;
30
+ exports.deprecatedCommandsLogged = new Set();
33
31
  function determineProtocol(createSessionArgs) {
34
32
  return lodash_1.default.some(createSessionArgs, capabilities_1.isW3cCaps) ? constants_1.PROTOCOLS.W3C : constants_1.PROTOCOLS.MJSONWP;
35
33
  }
36
- /**
37
- *
38
- * @param {import('../basedriver/driver').BaseDriver} driver
39
- * @param {string | null} [sessionId=null]
40
- * @returns {keyof PROTOCOLS}
41
- */
42
34
  function extractProtocol(driver, sessionId = null) {
43
35
  const dstDriver = lodash_1.default.isFunction(driver.driverForSession) && sessionId
44
36
  ? driver.driverForSession(sessionId)
@@ -52,20 +44,9 @@ function extractProtocol(driver, sessionId = null) {
52
44
  // Extract the protocol for the current session if the given driver is the umbrella one
53
45
  return dstDriver?.protocol ?? constants_1.PROTOCOLS.W3C;
54
46
  }
55
- /**
56
- *
57
- * @param {any} command
58
- * @returns {boolean}
59
- */
60
47
  function isSessionCommand(command) {
61
48
  return !lodash_1.default.includes(routes_1.NO_SESSION_ID_COMMANDS, command);
62
49
  }
63
- /**
64
- *
65
- * @param {import('@appium/types').ExternalDriver} driver
66
- * @param {string?} [sessionId]
67
- * @returns {import('@appium/types').AppiumLogger}
68
- */
69
50
  function getLogger(driver, sessionId = null) {
70
51
  const dstDriver = sessionId && lodash_1.default.isFunction(driver.driverForSession)
71
52
  ? driver.driverForSession(sessionId) ?? driver
@@ -83,78 +64,86 @@ function wrapParams(paramSets, jsonObj) {
83
64
  * The wrap option in the spec enforce wrapping before validation, so that all params are wrapped at
84
65
  * the time they are validated and later passed to the commands.
85
66
  */
86
- let res = jsonObj;
87
- if (lodash_1.default.isArray(jsonObj) || !lodash_1.default.isObject(jsonObj)) {
88
- res = {};
89
- res[paramSets.wrap] = jsonObj;
90
- }
91
- return res;
67
+ return (lodash_1.default.isArray(jsonObj) || !lodash_1.default.isObject(jsonObj)) && paramSets.wrap
68
+ ? { [paramSets.wrap]: jsonObj }
69
+ : jsonObj;
92
70
  }
93
71
  function unwrapParams(paramSets, jsonObj) {
94
72
  /* There are commands like setNetworkConnection which send parameters wrapped inside a key such as
95
73
  * "parameters". This function unwraps them (eg. {"parameters": {"type": 1}} becomes {"type": 1}).
96
74
  */
97
- let res = jsonObj;
98
- if (lodash_1.default.isObject(jsonObj)) {
99
- // some clients, like ruby, don't wrap
100
- if (jsonObj[paramSets.unwrap]) {
101
- res = jsonObj[paramSets.unwrap];
102
- }
75
+ return lodash_1.default.isObject(jsonObj) && paramSets.unwrap && jsonObj[paramSets.unwrap]
76
+ ? jsonObj[paramSets.unwrap]
77
+ : jsonObj;
78
+ }
79
+ function hasMultipleRequiredParamSets(required) {
80
+ //@ts-expect-error Needed to convince lodash typechecks
81
+ return Boolean(required && lodash_1.default.isArray(lodash_1.default.first(required)));
82
+ }
83
+ function pickKnownParams(args, unknownNames) {
84
+ if (lodash_1.default.isEmpty(unknownNames)) {
85
+ return args;
103
86
  }
104
- return res;
87
+ logger_1.default.info(`The following arguments are not known and will be ignored: ${unknownNames}`);
88
+ return lodash_1.default.pickBy(args, (v, k) => !unknownNames.includes(k));
105
89
  }
106
- function checkParams(paramSets, jsonObj, protocol) {
90
+ function checkParams(paramSpec, args, protocol) {
107
91
  let requiredParams = [];
108
92
  let optionalParams = [];
109
- let receivedParams = lodash_1.default.keys(jsonObj);
110
- if (paramSets) {
111
- if (paramSets.required) {
112
- // we might have an array of parameters,
113
- // or an array of arrays of parameters, so standardize
114
- if (!lodash_1.default.isArray(lodash_1.default.first(paramSets.required))) {
115
- requiredParams = [paramSets.required];
116
- }
117
- else {
118
- requiredParams = paramSets.required;
119
- }
120
- }
121
- // optional parameters are just an array
122
- if (paramSets.optional) {
123
- optionalParams = paramSets.optional;
124
- }
125
- // If a function was provided as the 'validate' key, it will here be called with
126
- // jsonObj as the param. If it returns something falsy, verification will be
127
- // considered to have passed. If it returns something else, that will be the
128
- // argument to an error which is thrown to the user
129
- if (paramSets.validate) {
130
- let message = paramSets.validate(jsonObj, protocol);
131
- if (message) {
132
- throw new errors_1.errors.InvalidArgumentError(message);
133
- }
134
- }
93
+ const actualParamNames = lodash_1.default.keys(args);
94
+ if (paramSpec.required) {
95
+ // we might have an array of parameters,
96
+ // or an array of arrays of parameters, so standardize
97
+ requiredParams = lodash_1.default.cloneDeep((hasMultipleRequiredParamSets(paramSpec.required)
98
+ ? paramSpec.required
99
+ : [paramSpec.required]));
135
100
  }
136
- // if we have no required parameters, all is well
137
- if (requiredParams.length === 0) {
138
- return;
101
+ // optional parameters are just an array
102
+ if (paramSpec.optional) {
103
+ optionalParams = lodash_1.default.cloneDeep(paramSpec.optional);
104
+ }
105
+ // If a function was provided as the 'validate' key, it will here be called with
106
+ // args as the param. If it returns something falsy, verification will be
107
+ // considered to have passed. If it returns something else, that will be the
108
+ // argument to an error which is thrown to the user
109
+ if (paramSpec.validate) {
110
+ const message = paramSpec.validate(args, protocol ?? constants_1.PROTOCOLS.W3C);
111
+ if (message) {
112
+ throw new errors_1.errors.InvalidArgumentError(lodash_1.default.isString(message) ? message : undefined);
113
+ }
139
114
  }
140
115
  // some clients pass in the session id in the params
141
- if (optionalParams.indexOf('sessionId') === -1) {
116
+ if (!lodash_1.default.includes(optionalParams, 'sessionId')) {
142
117
  optionalParams.push('sessionId');
143
118
  }
144
119
  // some clients pass in an element id in the params
145
- if (optionalParams.indexOf('id') === -1) {
120
+ if (!lodash_1.default.includes(optionalParams, 'id')) {
146
121
  optionalParams.push('id');
147
122
  }
123
+ if (lodash_1.default.isEmpty(requiredParams)) {
124
+ // if we don't have any required parameters, then just filter out unknown ones
125
+ return pickKnownParams(args, lodash_1.default.difference(actualParamNames, optionalParams));
126
+ }
148
127
  // go through the required parameters and check against our arguments
149
- for (let params of requiredParams) {
150
- if (lodash_1.default.difference(receivedParams, params, optionalParams).length === 0 &&
151
- lodash_1.default.difference(params, receivedParams).length === 0) {
152
- // we have a set of parameters that is correct
153
- // so short-circuit
154
- return;
128
+ let matchedReqParamSet = [];
129
+ for (const requiredParamsSet of requiredParams) {
130
+ if (!lodash_1.default.isArray(requiredParamsSet)) {
131
+ throw new Error(`The required parameter set item ${JSON.stringify(requiredParamsSet)} ` +
132
+ `in ${JSON.stringify(paramSpec)} is not an array. ` +
133
+ `This is a bug in the method map definition.`);
134
+ }
135
+ if (lodash_1.default.isEmpty(lodash_1.default.difference(requiredParamsSet, actualParamNames))) {
136
+ return pickKnownParams(args, lodash_1.default.difference(actualParamNames, requiredParamsSet, optionalParams));
137
+ }
138
+ if (!lodash_1.default.isEmpty(requiredParamsSet) && lodash_1.default.isEmpty(matchedReqParamSet)) {
139
+ matchedReqParamSet = requiredParamsSet;
155
140
  }
156
141
  }
157
- throw new errors_1.BadParametersError(paramSets, receivedParams);
142
+ throw new errors_1.BadParametersError({
143
+ ...paramSpec,
144
+ required: matchedReqParamSet,
145
+ optional: optionalParams,
146
+ }, actualParamNames);
158
147
  }
159
148
  /*
160
149
  * This method takes 3 pieces of data: request parameters ('requestParams'),
@@ -163,24 +152,24 @@ function checkParams(paramSets, jsonObj, protocol) {
163
152
  * on handling parameters. This method returns an array of arguments which will
164
153
  * be applied to a command.
165
154
  */
166
- function makeArgs(requestParams, jsonObj, payloadParams, protocol) {
155
+ function makeArgs(requestParams, jsonObj, payloadParams) {
167
156
  // We want to pass the "url" parameters to the commands in reverse order
168
157
  // since the command will sometimes want to ignore, say, the sessionId.
169
158
  // This has the effect of putting sessionId last, which means in JS we can
170
159
  // omit it from the function signature if we're not going to use it.
171
- let urlParams = lodash_1.default.keys(requestParams).reverse();
160
+ const urlParams = lodash_1.default.keys(requestParams).reverse();
172
161
  // In the simple case, the required parameters are a basic array in
173
162
  // payloadParams.required, so start there. It's possible that there are
174
163
  // multiple optional sets of required params, though, so handle that case
175
164
  // too.
176
165
  let requiredParams = payloadParams.required;
177
- if (lodash_1.default.isArray(lodash_1.default.first(payloadParams.required))) {
166
+ if (hasMultipleRequiredParamSets(payloadParams.required)) {
178
167
  // If there are optional sets of required params, then we will have an
179
168
  // array of arrays in payloadParams.required, so loop through each set and
180
169
  // pick the one that matches which JSON params were actually sent. We've
181
170
  // already been through validation so we're guaranteed to find a match.
182
- let keys = lodash_1.default.keys(jsonObj);
183
- for (let params of payloadParams.required) {
171
+ const keys = lodash_1.default.keys(jsonObj);
172
+ for (const params of payloadParams.required) {
184
173
  if (lodash_1.default.without(params, ...keys).length === 0) {
185
174
  requiredParams = params;
186
175
  break;
@@ -196,7 +185,7 @@ function makeArgs(requestParams, jsonObj, payloadParams, protocol) {
196
185
  // which will be applied to the handling command. For example if it returns
197
186
  // [1, 2, 3], we will call `command(1, 2, 3, ...)` (url params are separate
198
187
  // from JSON params and get concatenated below).
199
- args = payloadParams.makeArgs(jsonObj, protocol);
188
+ args = payloadParams.makeArgs(jsonObj);
200
189
  }
201
190
  else {
202
191
  // Otherwise, collect all the required and optional params and flatten them
@@ -219,37 +208,24 @@ function validateExecuteMethodParams(params, paramSpec) {
219
208
  throw new errors_1.errors.InvalidArgumentError(`Did not get correct format of arguments for execute method. Expected zero or one ` +
220
209
  `arguments to execute script and instead received: ${JSON.stringify(params)}`);
221
210
  }
222
- let args = params[0] ?? {};
211
+ const args = params[0] ?? {};
223
212
  if (!lodash_1.default.isPlainObject(args)) {
224
213
  throw new errors_1.errors.InvalidArgumentError(`Did not receive an appropriate execute method parameters object. It needs to be ` +
225
214
  `deserializable as a plain JS object`);
226
215
  }
227
- if (!paramSpec) {
228
- paramSpec = { required: [], optional: [] };
229
- }
230
- else {
231
- paramSpec.required ?? (paramSpec.required = []);
232
- paramSpec.optional ?? (paramSpec.optional = []);
233
- const unknownNames = lodash_1.default.difference(lodash_1.default.keys(args), paramSpec.required, paramSpec.optional);
234
- if (!lodash_1.default.isEmpty(unknownNames)) {
235
- logger_1.default.info(`The following script arguments are not known and will be ignored: ${unknownNames}`);
236
- args = lodash_1.default.pickBy(args, (v, k) => !unknownNames.includes(k));
237
- }
238
- checkParams(paramSpec, args, null);
239
- }
240
- const argsToApply = makeArgs({}, args, paramSpec, null);
241
- return argsToApply;
216
+ const specToUse = {
217
+ ...(paramSpec ?? {}),
218
+ required: paramSpec?.required ?? [],
219
+ optional: paramSpec?.optional ?? [],
220
+ };
221
+ const filteredArgs = checkParams(specToUse, args);
222
+ return makeArgs({}, filteredArgs, specToUse);
242
223
  }
243
- /**
244
- *
245
- * @param {import('@appium/types').Core} driver
246
- * @returns {import('../express/server').RouteConfiguringFunction}
247
- */
248
224
  function routeConfiguringFunction(driver) {
249
225
  if (!driver.sessionExists) {
250
226
  throw new Error('Drivers must implement `sessionExists` property');
251
227
  }
252
- if (!( /** @type {any} */(driver).executeCommand || /** @type {any} */ (driver).execute)) {
228
+ if (!(driver.executeCommand || driver.execute)) {
253
229
  throw new Error('Drivers must implement `executeCommand` or `execute` method');
254
230
  }
255
231
  // return a function which will add all the routes to the driver. Here extraMethods might be
@@ -261,23 +237,24 @@ function routeConfiguringFunction(driver) {
261
237
  const allMethods = { ...routes_1.METHOD_MAP, ...extraMethodMap };
262
238
  for (const [path, methods] of lodash_1.default.toPairs(allMethods)) {
263
239
  for (const [method, spec] of lodash_1.default.toPairs(methods)) {
240
+ const isSessCommand = spec.command ? isSessionCommand(spec.command) : false;
264
241
  // set up the express route handler
265
- buildHandler(app, method, `${basePath}${path}`, spec, driver, isSessionCommand(/** @type {import('@appium/types').DriverMethodDef} */ (spec).command));
242
+ buildHandler(app, method, `${basePath}${path}`, spec, driver, isSessCommand);
266
243
  }
267
244
  }
268
245
  };
269
246
  }
270
247
  function buildHandler(app, method, path, spec, driver, isSessCmd) {
271
- let asyncHandler = async (/** @type {import('express').Request} */ req, /** @type {import('express').Response} */ res) => {
248
+ const asyncHandler = async (req, res) => {
272
249
  let jsonObj = req.body;
273
- let httpResBody = /** @type {any} */ ({});
250
+ let httpResBody = {};
274
251
  let httpStatus = 200;
275
252
  let newSessionId;
276
253
  let currentProtocol = extractProtocol(driver, req.params.sessionId);
277
254
  try {
278
255
  // if the route accessed is deprecated, log a warning
279
- if (spec.deprecated && !deprecatedCommandsLogged.has(spec.command)) {
280
- deprecatedCommandsLogged.add(spec.command);
256
+ if (spec.deprecated && spec.command && !exports.deprecatedCommandsLogged.has(spec.command)) {
257
+ exports.deprecatedCommandsLogged.add(spec.command);
281
258
  getLogger(driver, req.params.sessionId).warn(`Command '${spec.command}' has been deprecated and will be removed in a future ` +
282
259
  `version of Appium or your driver/plugin. Please use a different method or contact the ` +
283
260
  `driver/plugin author to add explicit support for the command before it is removed`);
@@ -296,8 +273,8 @@ function buildHandler(app, method, path, spec, driver, isSessCmd) {
296
273
  // commands and generally would not want that command to be proxied instead of handled by the
297
274
  // plugin)
298
275
  let didPluginOverrideProxy = false;
299
- if (isSessCmd && !spec.neverProxy && driverShouldDoJwpProxy(driver, req, spec.command)) {
300
- if (!driver.pluginsToHandleCmd ||
276
+ if (isSessCmd && !spec.neverProxy && spec.command && driverShouldDoJwpProxy(driver, req, spec.command)) {
277
+ if (!('pluginsToHandleCmd' in driver) || !lodash_1.default.isFunction(driver.pluginsToHandleCmd) ||
301
278
  driver.pluginsToHandleCmd(spec.command, req.params.sessionId).length === 0) {
302
279
  await doJwpProxy(driver, req, res);
303
280
  return;
@@ -326,10 +303,12 @@ function buildHandler(app, method, path, spec, driver, isSessCmd) {
326
303
  currentProtocol = determineProtocol(makeArgs(req.params, jsonObj, spec.payloadParams || {}));
327
304
  }
328
305
  // ensure that the json payload conforms to the spec
329
- checkParams(spec.payloadParams, jsonObj, currentProtocol);
306
+ if (spec.payloadParams) {
307
+ checkParams(spec.payloadParams, jsonObj, currentProtocol);
308
+ }
330
309
  // turn the command and json payload into an argument list for
331
310
  // the driver methods
332
- let args = makeArgs(req.params, jsonObj, spec.payloadParams || {}, currentProtocol);
311
+ const args = makeArgs(req.params, jsonObj, spec.payloadParams || {});
333
312
  let driverRes;
334
313
  // validate command args according to MJSONWP
335
314
  if (validators_1.validators[spec.command]) {
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../lib/protocol/protocol.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../lib/protocol/protocol.ts"],"names":[],"mappings":"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"}
@@ -42,8 +42,7 @@ export const METHOD_MAP: {
42
42
  readonly POST: {
43
43
  readonly command: "timeouts";
44
44
  readonly payloadParams: {
45
- readonly validate: ({ script, pageLoad, implicit }: any) => "W3C protocol expects any of script, pageLoad or implicit to be set" | undefined;
46
- readonly optional: readonly ["script", "pageLoad", "implicit"];
45
+ readonly optional: readonly ["type", "ms", "script", "pageLoad", "implicit"];
47
46
  };
48
47
  };
49
48
  };
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../lib/protocol/routes.js"],"names":[],"mappings":"AA+dA;;;;;;GAMG;AACH,6CALW,MAAM,WACN,OAAO,eAAe,EAAE,UAAU,aAClC,MAAM,GACJ,MAAM,GAAC,SAAS,CA8C5B;AAxgBD;;;;;GAKG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwcG;AAGH,iCAEyB;AAkEzB,8CAA0F"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../lib/protocol/routes.js"],"names":[],"mappings":"AA0dA;;;;;;GAMG;AACH,6CALW,MAAM,WACN,OAAO,eAAe,EAAE,UAAU,aAClC,MAAM,GACJ,MAAM,GAAC,SAAS,CA8C5B;AAngBD;;;;;GAKG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmcG;AAGH,iCAEyB;AAkEzB,8CAA0F"}
@@ -46,12 +46,7 @@ exports.METHOD_MAP = ({
46
46
  POST: {
47
47
  command: 'timeouts',
48
48
  payloadParams: {
49
- validate: ({ script, pageLoad, implicit }) => {
50
- if ([script, pageLoad, implicit].every(lodash_1.default.isNil)) {
51
- return 'W3C protocol expects any of script, pageLoad or implicit to be set';
52
- }
53
- },
54
- optional: ['script', 'pageLoad', 'implicit'],
49
+ optional: ['type', 'ms', 'script', 'pageLoad', 'implicit'],
55
50
  },
56
51
  },
57
52
  },
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../lib/protocol/routes.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../lib/protocol/routes.js"],"names":[],"mappings":";;;;;;AAieA,gDA4CC;AA7gBD,oDAAuB;AACvB,4CAA+C;AAC/C,mDAAqC;AACrC,yCAAmC;AAEnC,uCAAuC;AACvC,MAAM,mBAAmB,GAAG,IAAI,oBAAQ,CAAC;IACvC,GAAG,EAAE,IAAI;CACV,CAAC,CAAC;AAEH;;;;;GAKG;AACU,QAAA,UAAU,GAAwB,CAAC;IAE9C,EAAE;IACF,gBAAgB;IAChB,oCAAoC;IACpC,oCAAoC;IACpC,EAAE;IACF,SAAS,EAAE;QACT,GAAG,EAAE,EAAC,OAAO,EAAE,WAAW,EAAC;KAC5B;IACD,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,OAAO,EAAE,eAAe;YACxB,aAAa,EAAE;gBACb,QAAQ,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC;aAC3D;SACF;KACF;IACD,qBAAqB,EAAE;QACrB,iDAAiD;QACjD,GAAG,EAAE,EAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAC;QAC9C,MAAM,EAAE,EAAC,OAAO,EAAE,eAAe,EAAC;KACnC;IACD,8BAA8B,EAAE;QAC9B,GAAG,EAAE,EAAC,OAAO,EAAE,aAAa,EAAC;QAC7B,IAAI,EAAE;YACJ,OAAO,EAAE,UAAU;YACnB,aAAa,EAAE;gBACb,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC;aAC3D;SACF;KACF;IACD,oCAAoC,EAAE;QACpC,GAAG,EAAE,EAAC,OAAO,EAAE,kBAAkB,EAAC;KACnC;IACD,yBAAyB,EAAE;QACzB,GAAG,EAAE,EAAC,OAAO,EAAE,QAAQ,EAAC;QACxB,IAAI,EAAE,EAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAC,EAAC;KAC9D;IACD,6BAA6B,EAAE;QAC7B,IAAI,EAAE,EAAC,OAAO,EAAE,SAAS,EAAC;KAC3B;IACD,0BAA0B,EAAE;QAC1B,IAAI,EAAE,EAAC,OAAO,EAAE,MAAM,EAAC;KACxB;IACD,6BAA6B,EAAE;QAC7B,IAAI,EAAE,EAAC,OAAO,EAAE,SAAS,EAAC;KAC3B;IAED,gCAAgC,EAAE;QAChC,GAAG,EAAE,EAAC,OAAO,EAAE,eAAe,EAAC;KAChC;IACD,2BAA2B,EAAE;QAC3B,IAAI,EAAE,EAAC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAC,EAAC;KAC/D;IACD,kCAAkC,EAAE;QAClC,IAAI,EAAE,EAAC,OAAO,EAAE,qBAAqB,EAAC;KACvC;IACD,4BAA4B,EAAE;QAC5B,GAAG,EAAE,EAAC,OAAO,EAAE,iBAAiB,EAAC;QACjC,IAAI,EAAE;YACJ,OAAO,EAAE,WAAW;YACpB,aAAa,EAAE;gBACb,QAAQ,EAAE,CAAC,QAAQ,CAAC;aACrB;SACF;QACD,MAAM,EAAE,EAAC,OAAO,EAAE,aAAa,EAAC;KACjC;IACD,qCAAqC,EAAE;QACrC,IAAI,EAAE,EAAC,OAAO,EAAE,gBAAgB,EAAC;KAClC;IACD,qCAAqC,EAAE;QACrC,IAAI,EAAE,EAAC,OAAO,EAAE,gBAAgB,EAAC;KAClC;IACD,uCAAuC,EAAE;QACvC,IAAI,EAAE,EAAC,OAAO,EAAE,kBAAkB,EAAC;KACpC;IACD,gCAAgC,EAAE;QAChC,IAAI,EAAE,EAAC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAC,EAAC;KACxE;IACD,4BAA4B,EAAE;QAC5B,GAAG,EAAE,EAAC,OAAO,EAAE,YAAY,EAAC;QAC5B,IAAI,EAAE,EAAC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAC,EAAC;QACnE,MAAM,EAAE,EAAC,OAAO,EAAE,eAAe,EAAC;KACnC;IACD,kCAAkC,EAAE;QAClC,GAAG,EAAE,EAAC,OAAO,EAAE,WAAW,EAAC;QAC3B,MAAM,EAAE,EAAC,OAAO,EAAE,cAAc,EAAC;KAClC;IACD,4BAA4B,EAAE;QAC5B,GAAG,EAAE,EAAC,OAAO,EAAE,eAAe,EAAC;KAChC;IACD,2BAA2B,EAAE;QAC3B,GAAG,EAAE,EAAC,OAAO,EAAE,OAAO,EAAC;KACxB;IACD,6BAA6B,EAAE;QAC7B,IAAI,EAAE;YACJ,OAAO,EAAE,aAAa;YACtB,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAC;SAC9C;KACF;IACD,8BAA8B,EAAE;QAC9B,IAAI,EAAE;YACJ,OAAO,EAAE,cAAc;YACvB,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAC;SAC9C;KACF;IACD,oCAAoC,EAAE;QACpC,GAAG,EAAE,EAAC,OAAO,EAAE,QAAQ,EAAC;KACzB;IACD,wCAAwC,EAAE;QACxC,GAAG,EAAE,EAAE;KACR;IACD,gDAAgD,EAAE;QAChD,IAAI,EAAE;YACJ,OAAO,EAAE,wBAAwB;YACjC,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAC;SAC9C;KACF;IACD,iDAAiD,EAAE;QACjD,IAAI,EAAE;YACJ,OAAO,EAAE,yBAAyB;YAClC,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAC;SAC9C;KACF;IACD,8CAA8C,EAAE;QAC9C,IAAI,EAAE,EAAC,OAAO,EAAE,OAAO,EAAC;KACzB;IACD,6CAA6C,EAAE;QAC7C,GAAG,EAAE,EAAC,OAAO,EAAE,SAAS,EAAC;KAC1B;IACD,8CAA8C,EAAE;QAC9C,IAAI,EAAE;YACJ,OAAO,EAAE,UAAU;YACnB,aAAa,EAAE;gBACb,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;SACF;KACF;IACD,6CAA6C,EAAE;QAC7C,GAAG,EAAE,EAAC,OAAO,EAAE,SAAS,EAAC;KAC1B;IACD,8CAA8C,EAAE;QAC9C,IAAI,EAAE,EAAC,OAAO,EAAE,OAAO,EAAC;KACzB;IACD,iDAAiD,EAAE;QACjD,GAAG,EAAE,EAAC,OAAO,EAAE,iBAAiB,EAAC;KAClC;IACD,gDAAgD,EAAE;QAChD,GAAG,EAAE,EAAC,OAAO,EAAE,gBAAgB,EAAC;KACjC;IACD,wDAAwD,EAAE;QACxD,GAAG,EAAE,EAAC,OAAO,EAAE,cAAc,EAAC;KAC/B;IACD,kDAAkD,EAAE;QAClD,GAAG,EAAE,EAAC,OAAO,EAAE,kBAAkB,EAAC;KACnC;IACD,+CAA+C,EAAE;QAC/C,GAAG,EAAE,EAAC,OAAO,EAAE,mBAAmB,EAAC;KACpC;IACD,8CAA8C,EAAE;QAC9C,IAAI,EAAE;YACJ,OAAO,EAAE,2BAA2B;YACpC,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAC;SAC9C;KACF;IACD,+CAA+C,EAAE;QAC/C,IAAI,EAAE;YACJ,OAAO,EAAE,4BAA4B;YACrC,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAC;SAC9C;KACF;IACD,0DAA0D,EAAE;QAC1D,GAAG,EAAE,EAAC,OAAO,EAAE,gBAAgB,EAAC;KACjC;IACD,uDAAuD,EAAE;QACvD,GAAG,EAAE,EAAC,OAAO,EAAE,aAAa,EAAC;KAC9B;IACD,6DAA6D;IAC7D,oDAAoD,EAAE;QACpD,GAAG,EAAE,EAAC,OAAO,EAAE,iBAAiB,EAAC;KAClC;IACD,+DAA+D;IAC/D,qDAAqD,EAAE;QACrD,GAAG,EAAE,EAAC,OAAO,EAAE,kBAAkB,EAAC;KACnC;IACD,6BAA6B,EAAE;QAC7B,IAAI,EAAE,EAAC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAC,EAAC;QACzE,MAAM,EAAE,EAAC,OAAO,EAAE,gBAAgB,EAAC;KACpC;IACD,gCAAgC,EAAE;QAChC,GAAG,EAAE,EAAC,OAAO,EAAE,cAAc,EAAC;QAC9B,IAAI,EAAE;YACJ,OAAO,EAAE,cAAc;YACvB,aAAa,EAAE;gBACb,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;SACF;KACF;IACD,kCAAkC,EAAE;QAClC,IAAI,EAAE,EAAC,OAAO,EAAE,iBAAiB,EAAC;KACnC;IACD,mCAAmC,EAAE;QACnC,IAAI,EAAE,EAAC,OAAO,EAAE,kBAAkB,EAAC;KACpC;IACD,6CAA6C,EAAE;QAC7C,GAAG,EAAE,EAAC,OAAO,EAAE,gBAAgB,EAAC;KACjC;IACD,kCAAkC,EAAE;QAClC,IAAI,EAAE,EAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAC,EAAC;KAC1E;IACD,mCAAmC,EAAE;QACnC,IAAI,EAAE;YACJ,OAAO,EAAE,cAAc;YACvB,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAC;SAC9C;KACF;IACD,mDAAmD,EAAE;QACnD,GAAG,EAAE,EAAC,OAAO,EAAE,sBAAsB,EAAC;KACvC;IACD,iCAAiC,EAAE;QACjC,GAAG,EAAE,EAAC,OAAO,EAAE,eAAe,EAAC;QAC/B,IAAI,EAAE;YACJ,OAAO,EAAE,eAAe;YACxB,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAC;SACzD;KACF;IAED,EAAE;IACF,kBAAkB;IAClB,EAAE;IACF,2CAA2C,EAAE;QAC3C,GAAG,EAAE,EAAC,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,IAAI,EAAC;KACxD;IACD,uCAAuC,EAAE;QACvC,GAAG,EAAE,EAAC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,IAAI,EAAC;KACvD;IACD,mCAAmC,EAAE;QACnC,GAAG,EAAE,EAAC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,IAAI,EAAC;KACnD;IACD,oCAAoC,EAAE;QACpC,IAAI,EAAE,EAAC,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,IAAI,EAAC;KACzD;IACD,kCAAkC,EAAE;QAClC,IAAI,EAAE;YACJ,OAAO,EAAE,mBAAmB;YAC5B,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAC;YACrC,UAAU,EAAE,IAAI;SACjB;KACF;IACD,8BAA8B,EAAE;QAC9B,GAAG,EAAE,EAAC,OAAO,EAAE,aAAa,EAAC;QAC7B,IAAI,EAAE,EAAC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAC,EAAC;KAC3E;IACD,8BAA8B,EAAE;QAC9B,GAAG,EAAE,EAAC,OAAO,EAAE,gBAAgB,EAAC;QAChC,IAAI,EAAE,EAAC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAC,EAAC;KAC3E;IACD,iCAAiC,EAAE;QACjC,GAAG,EAAE,EAAC,OAAO,EAAE,gBAAgB,EAAC;QAChC,IAAI,EAAE;YACJ,OAAO,EAAE,gBAAgB;YACzB,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAC;SAC3C;KACF;IACD,6BAA6B,EAAE;QAC7B,GAAG,EAAE,EAAC,OAAO,EAAE,mBAAmB,EAAC;QACnC,IAAI,EAAE,EAAC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAC,EAAC;KACnE;IACD,8BAA8B,EAAE;QAC9B,GAAG,EAAE,EAAC,OAAO,EAAE,aAAa,EAAC;KAC9B;IACD,wCAAwC,EAAE;QACxC,GAAG,EAAE,EAAC,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,IAAI,EAAC;QACxD,IAAI,EAAE;YACJ,OAAO,EAAE,sBAAsB;YAC/B,aAAa,EAAE,EAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAC;YACzD,UAAU,EAAE,IAAI;SACjB;KACF;IACD,4CAA4C,EAAE;QAC5C,IAAI,EAAE;YACJ,OAAO,EAAE,sBAAsB;YAC/B,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAC;YAC9C,UAAU,EAAE,IAAI;SACjB;KACF;IACD,kBAAkB,EAAE;QAClB,GAAG,EAAE,EAAC,OAAO,EAAE,mBAAmB,EAAC;KACpC;IACD,yCAAyC,EAAE;QACzC,GAAG,EAAE,EAAC,OAAO,EAAE,8BAA8B,EAAC;KAC/C;IACD,+CAA+C,EAAE;QAC/C,GAAG,EAAE,EAAC,OAAO,EAAE,eAAe,EAAC;QAC/B,IAAI,EAAE,EAAC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAC,EAAC;KACxE;IACD,kCAAkC;IAClC,+CAA+C,EAAE;QAC/C,IAAI,EAAE;YACJ,OAAO,EAAE,YAAY;YACrB,aAAa,EAAE;gBACb,QAAQ,EAAE,CAAC,SAAS,CAAC;gBACrB,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB;SACF;KACF;IACD,gDAAgD,EAAE;QAChD,IAAI,EAAE;YACJ,OAAO,EAAE,aAAa;YACtB,aAAa,EAAE;gBACb,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;gBACnC,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB;SACF;KACF;IACD,8CAA8C,EAAE;QAC9C,IAAI,EAAE;YACJ,OAAO,EAAE,WAAW;YACpB,aAAa,EAAE;gBACb,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;gBACnC,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB;SACF;KACF;IACD,iDAAiD,EAAE;QACjD,IAAI,EAAE;YACJ,OAAO,EAAE,cAAc;YACvB,aAAa,EAAE;gBACb,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;gBACnC,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB;SACF;KACF;IACD,iDAAiD,EAAE;QACjD,IAAI,EAAE;YACJ,OAAO,EAAE,gBAAgB;YACzB,aAAa,EAAE;gBACb,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;aACpC;SACF;KACF;IACD,6CAA6C,EAAE;QAC7C,IAAI,EAAE;YACJ,OAAO,EAAE,eAAe;YACxB,aAAa,EAAE;gBACb,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;aACpC;SACF;KACF;IACD,aAAa;IACb,iDAAiD,EAAE;QACjD,IAAI,EAAE;YACJ,OAAO,EAAE,cAAc;YACvB,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,EAAC;SACrE;KACF;IACD,qDAAqD,EAAE;QACrD,GAAG,EAAE,EAAC,OAAO,EAAE,iBAAiB,EAAC;KAClC;IACD,6CAA6C,EAAE;QAC7C,IAAI,EAAE,EAAC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAC,EAAC;KACzE;IACD,6CAA6C,EAAE;QAC7C,IAAI,EAAE,EAAC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAC,EAAC;KACjE;IACD,+CAA+C,EAAE;QAC/C,IAAI,EAAE,EAAC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAC,EAAC;KACnE;IACD,qCAAqC,EAAE;QACrC,IAAI,EAAE,EAAC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAC,EAAC;QAC1E,GAAG,EAAE,EAAC,OAAO,EAAE,aAAa,EAAC;KAC9B;IACD,mCAAmC,EAAE;QACnC,IAAI,EAAE,EAAC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAC,EAAC;KACrE;IACD,sCAAsC,EAAE;QACtC,IAAI,EAAE;YACJ,OAAO,EAAE,gBAAgB;YACzB,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAC;SAC/C;KACF;IACD,oBAAoB;IACpB,qCAAqC,EAAE;QACrC,GAAG,EAAE,EAAC,OAAO,EAAE,cAAc,EAAC;KAC/B;IACD,uCAAuC,EAAE;QACvC,GAAG,EAAE,EAAC,OAAO,EAAE,gBAAgB,EAAC;KACjC;IACD,aAAa;IAEb,EAAE;IACF,mCAAmC;IACnC,EAAE;IACF,qCAAqC;IACrC,4BAA4B,EAAE;QAC5B,IAAI,EAAE,EAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAC,EAAC;KAC/D;IACD,kCAAkC,EAAE;QAClC,GAAG,EAAE,EAAC,OAAO,EAAE,aAAa,EAAC;KAC9B;IACD,aAAa;IAEb,4BAA4B;IAC5B,0GAA0G;IAC1G,yCAAyC,EAAE;QACzC,IAAI,EAAE,EAAC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAC,EAAC;KAC5E;IACD,aAAa;IAEb,mBAAmB;IACnB,8EAA8E;IAC9E,4CAA4C,EAAE;QAC5C,IAAI,EAAE;YACJ,OAAO,EAAE,yBAAyB;YAClC,aAAa,EAAE;gBACb,QAAQ,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;gBACnC,QAAQ,EAAE,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,gBAAgB,CAAC;aAC1F;SACF;KACF;IACD,6DAA6D,EAAE;QAC7D,MAAM,EAAE;YACN,OAAO,EAAE,4BAA4B;SACtC;KACF;IACD,wEAAwE,EAAE;QACxE,IAAI,EAAE;YACJ,OAAO,EAAE,mBAAmB;YAC5B,aAAa,EAAE;gBACb,QAAQ,EAAE,CAAC,cAAc,EAAE,sBAAsB,EAAE,MAAM,EAAE,YAAY,CAAC;gBACxE,QAAQ,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;aACtC;SACF;KACF;IACD,yEAAyE,EAAE;QACzE,GAAG,EAAE,EAAC,OAAO,EAAE,mBAAmB,EAAC;QACnC,MAAM,EAAE,EAAC,OAAO,EAAE,0BAA0B,EAAC;KAC9C;IACD,uFAAuF,EAAE;QACvF,MAAM,EAAE,EAAC,OAAO,EAAE,sBAAsB,EAAC;KAC1C;IACD,gEAAgE,EAAE;QAChE,IAAI,EAAE;YACJ,OAAO,EAAE,qBAAqB;YAC9B,aAAa,EAAE;gBACb,QAAQ,EAAE,CAAC,gBAAgB,CAAC;aAC7B;SACF;KACF;IACD,aAAa;CACd,CAAC,CAAC;AAEH,uBAAuB;AACV,QAAA,YAAY,GAAG,gBAAC,CAAC,OAAO,CAAC,gBAAC,CAAC,MAAM,CAAC,kBAAU,CAAC,CAAC,GAAG,CAAC,gBAAC,CAAC,MAAM,CAAC,CAAC;KACtE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;KACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAEzB;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,6BAAiB;IAC/E,IAAI,kBAAkB,GAAG,QAAQ;QAC/B,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,gBAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAClE,CAAC,CAAC,QAAQ,CAAC;IACb,kBAAkB,GAAG,GAAG,gBAAC,CAAC,UAAU,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,kBAAkB,EAAE,CAAC;IAChG,qBAAqB;IACrB,IAAI,kBAAkB,CAAC;IACvB,IAAI,CAAC;QACH,+EAA+E;QAC/E,kBAAkB,GAAG,IAAI,GAAG,CAAC,oBAAoB,kBAAkB,EAAE,CAAC,CAAC,QAAQ,CAAC;IAClF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,IAAI,QAAQ,6CAA6C,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,gBAAgB,GAAG,gBAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IAC7E,IAAI,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,OAAO,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC;IACxD,CAAC;IAED,uBAAuB;IACvB,MAAM,iBAAiB,GAAG,EAAE,CAAC;IAC7B,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChD,iBAAiB,CAAC,IAAI,CAAC,0BAA0B,kBAAkB,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC3C,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,gBAAC,CAAC,OAAO,CAAC,kBAAU,CAAC,EAAE,CAAC;QAC3D,MAAM,YAAY,GAAG,IAAA,sBAAK,EAAC,SAAS,CAAC,CAAC;QACtC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACrD,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,gBAAC,CAAC,KAAK,CACvC,CAAC,gBAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAChE,CAAC;YACF,MAAM,WAAW,GAAG,gBAAgB;gBAClC,CAAC,CAAC,SAAS,EAAE,CAAC,gBAAgB,CAAC,EAAE,OAAO;gBACxC,CAAC,CAAC,mBAAmB,EAAE,CAAC;YAC1B,IAAI,WAAW,EAAE,CAAC;gBAChB,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBAC/C,OAAO,WAAW,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IACD,oFAAoF;IACpF,mCAAmC;IACnC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAAC,QAAQ,EAAE,MAAM;IAC7C,OAAO,GAAG,QAAQ,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;AACvC,CAAC;AAED,iEAAiE;AACpD,QAAA,sBAAsB,GAAG,CAAC,eAAe,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC"}
@@ -56,7 +56,7 @@ const ExecuteCommands: IExecuteCommands = {
56
56
  sortedMatches.join(', ')
57
57
  );
58
58
  }
59
- const args = validateExecuteMethodParams(protoArgs, commandMetadata.params);
59
+ const args = validateExecuteMethodParams(protoArgs as any[], commandMetadata.params);
60
60
  const command = this[commandMetadata.command] as DriverCommand;
61
61
  return await command.call(this, ...args);
62
62
  },
@@ -15,9 +15,9 @@ const MIN_TIMEOUT = 0;
15
15
 
16
16
  const TimeoutCommands: ITimeoutCommands = {
17
17
  async timeouts<C extends Constraints>(this: BaseDriver<C>, type, ms, script, pageLoad, implicit) {
18
- if (type && util.hasValue(ms)) {
18
+ if (type && _.isString(type) && util.hasValue(ms)) {
19
+ // legacy stuff with some Appium-specific additions
19
20
  this.log.debug(`Timeout arguments: ${JSON.stringify({type, ms})}}`);
20
-
21
21
  switch (type) {
22
22
  case 'command':
23
23
  return void (await this.newCommandTimeout(ms));
@@ -32,14 +32,10 @@ const TimeoutCommands: ITimeoutCommands = {
32
32
  }
33
33
  }
34
34
 
35
- // Otherwise assume it is W3C protocol
36
- this.log.debug(
37
- `W3C timeout argument: ${JSON.stringify({
38
- script,
39
- pageLoad,
40
- implicit,
41
- })}}`
42
- );
35
+ this.log.debug(`W3C timeout argument: ${JSON.stringify({script, pageLoad, implicit})}}`);
36
+ if ([script, pageLoad, implicit].every(_.isNil)) {
37
+ throw new errors.InvalidArgumentError('W3C protocol expects any of script, pageLoad or implicit to be set');
38
+ }
43
39
  if (util.hasValue(script)) {
44
40
  await this.scriptTimeoutW3C(script);
45
41
  }
@@ -16,6 +16,11 @@ import {MAX_LOG_BODY_LENGTH, PROTOCOLS, DEFAULT_BASE_PATH} from '../constants';
16
16
  import {isW3cCaps} from '../helpers/capabilities';
17
17
  import log from '../basedriver/logger';
18
18
  import { generateDriverLogPrefix } from '../basedriver/helpers';
19
+ import type { Core, AppiumLogger, PayloadParams, MethodMap, Driver, DriverMethodDef } from '@appium/types';
20
+ import type { BaseDriver } from '../basedriver/driver';
21
+ import type { Request, Response, Application } from 'express';
22
+ import type { MultidimensionalReadonlyArray } from 'type-fest';
23
+ import type { RouteConfiguringFunction } from '../express/server';
19
24
 
20
25
  export const CREATE_SESSION_COMMAND = 'createSession';
21
26
  export const DELETE_SESSION_COMMAND = 'deleteSession';
@@ -23,20 +28,14 @@ export const GET_STATUS_COMMAND = 'getStatus';
23
28
  export const LIST_DRIVER_COMMANDS_COMMAND = 'listCommands';
24
29
  export const LIST_DRIVER_EXTENSIONS_COMMAND = 'listExtensions';
25
30
 
26
- /** @type {Set<string>} */
27
- const deprecatedCommandsLogged = new Set();
31
+ export const deprecatedCommandsLogged: Set<string> = new Set();
28
32
 
29
- function determineProtocol(createSessionArgs) {
33
+ export function determineProtocol(createSessionArgs: any[]): keyof typeof PROTOCOLS {
30
34
  return _.some(createSessionArgs, isW3cCaps) ? PROTOCOLS.W3C : PROTOCOLS.MJSONWP;
31
35
  }
32
36
 
33
- /**
34
- *
35
- * @param {import('../basedriver/driver').BaseDriver} driver
36
- * @param {string | null} [sessionId=null]
37
- * @returns {keyof PROTOCOLS}
38
- */
39
- function extractProtocol(driver, sessionId = null) {
37
+
38
+ function extractProtocol(driver: Core<any>, sessionId: string | null = null): keyof typeof PROTOCOLS {
40
39
  const dstDriver = _.isFunction(driver.driverForSession) && sessionId
41
40
  ? driver.driverForSession(sessionId)
42
41
  : driver;
@@ -51,22 +50,11 @@ function extractProtocol(driver, sessionId = null) {
51
50
  return dstDriver?.protocol ?? PROTOCOLS.W3C;
52
51
  }
53
52
 
54
- /**
55
- *
56
- * @param {any} command
57
- * @returns {boolean}
58
- */
59
- function isSessionCommand(command) {
53
+ export function isSessionCommand(command: string): boolean {
60
54
  return !_.includes(NO_SESSION_ID_COMMANDS, command);
61
55
  }
62
56
 
63
- /**
64
- *
65
- * @param {import('@appium/types').ExternalDriver} driver
66
- * @param {string?} [sessionId]
67
- * @returns {import('@appium/types').AppiumLogger}
68
- */
69
- function getLogger(driver, sessionId = null) {
57
+ function getLogger(driver: Core<any>, sessionId: string | null = null): AppiumLogger {
70
58
  const dstDriver =
71
59
  sessionId && _.isFunction(driver.driverForSession)
72
60
  ? driver.driverForSession(sessionId) ?? driver
@@ -79,94 +67,116 @@ function getLogger(driver, sessionId = null) {
79
67
  return logger.getLogger(logPrefix);
80
68
  }
81
69
 
82
- function wrapParams(paramSets, jsonObj) {
70
+ function wrapParams<T>(paramSets, jsonObj: T): T | Record<string, T> {
83
71
  /* There are commands like performTouch which take a single parameter (primitive type or array).
84
72
  * Some drivers choose to pass this parameter as a value (eg. [action1, action2...]) while others to
85
73
  * wrap it within an object(eg' {gesture: [action1, action2...]}), which makes it hard to validate.
86
74
  * The wrap option in the spec enforce wrapping before validation, so that all params are wrapped at
87
75
  * the time they are validated and later passed to the commands.
88
76
  */
89
- let res = jsonObj;
90
- if (_.isArray(jsonObj) || !_.isObject(jsonObj)) {
91
- res = {};
92
- res[paramSets.wrap] = jsonObj;
93
- }
94
- return res;
77
+ return (_.isArray(jsonObj) || !_.isObject(jsonObj)) && paramSets.wrap
78
+ ? {[paramSets.wrap]: jsonObj}
79
+ : jsonObj;
95
80
  }
96
81
 
97
- function unwrapParams(paramSets, jsonObj) {
82
+ function unwrapParams<T>(paramSets: PayloadParams, jsonObj: T): T | Record<string, T> {
98
83
  /* There are commands like setNetworkConnection which send parameters wrapped inside a key such as
99
84
  * "parameters". This function unwraps them (eg. {"parameters": {"type": 1}} becomes {"type": 1}).
100
85
  */
101
- let res = jsonObj;
102
- if (_.isObject(jsonObj)) {
103
- // some clients, like ruby, don't wrap
104
- if (jsonObj[paramSets.unwrap]) {
105
- res = jsonObj[paramSets.unwrap];
106
- }
107
- }
108
- return res;
86
+ return _.isObject(jsonObj) && paramSets.unwrap && jsonObj[paramSets.unwrap]
87
+ ? jsonObj[paramSets.unwrap]
88
+ : jsonObj;
109
89
  }
110
90
 
111
- export function checkParams(paramSets, jsonObj, protocol) {
112
- let requiredParams = [];
113
- let optionalParams = [];
114
- let receivedParams = _.keys(jsonObj);
115
-
116
- if (paramSets) {
117
- if (paramSets.required) {
118
- // we might have an array of parameters,
119
- // or an array of arrays of parameters, so standardize
120
- if (!_.isArray(_.first(paramSets.required))) {
121
- requiredParams = [paramSets.required];
122
- } else {
123
- requiredParams = paramSets.required;
124
- }
125
- }
126
- // optional parameters are just an array
127
- if (paramSets.optional) {
128
- optionalParams = paramSets.optional;
129
- }
91
+ function hasMultipleRequiredParamSets(
92
+ required: ReadonlyArray<string> | MultidimensionalReadonlyArray<string, 2> | undefined
93
+ ): required is MultidimensionalReadonlyArray<string, 2> {
94
+ //@ts-expect-error Needed to convince lodash typechecks
95
+ return Boolean(required && _.isArray(_.first(required)));
96
+ }
130
97
 
131
- // If a function was provided as the 'validate' key, it will here be called with
132
- // jsonObj as the param. If it returns something falsy, verification will be
133
- // considered to have passed. If it returns something else, that will be the
134
- // argument to an error which is thrown to the user
135
- if (paramSets.validate) {
136
- let message = paramSets.validate(jsonObj, protocol);
137
- if (message) {
138
- throw new errors.InvalidArgumentError(message);
139
- }
140
- }
98
+ function pickKnownParams(args: Record<string, any>, unknownNames: string[]): Record<string, any> {
99
+ if (_.isEmpty(unknownNames)) {
100
+ return args;
101
+ }
102
+ log.info(`The following arguments are not known and will be ignored: ${unknownNames}`);
103
+ return _.pickBy(args, (v, k) => !unknownNames.includes(k));
104
+ }
105
+
106
+ export function checkParams(
107
+ paramSpec: PayloadParams,
108
+ args: Record<string, any>,
109
+ protocol?: keyof typeof PROTOCOLS
110
+ ): Record<string, any> {
111
+ let requiredParams: string[][] = [];
112
+ let optionalParams: string[] = [];
113
+ const actualParamNames: string[] = _.keys(args);
114
+
115
+ if (paramSpec.required) {
116
+ // we might have an array of parameters,
117
+ // or an array of arrays of parameters, so standardize
118
+ requiredParams = _.cloneDeep(
119
+ (hasMultipleRequiredParamSets(paramSpec.required)
120
+ ? paramSpec.required
121
+ : [paramSpec.required]
122
+ ) as string[][]
123
+ );
124
+ }
125
+ // optional parameters are just an array
126
+ if (paramSpec.optional) {
127
+ optionalParams = _.cloneDeep(paramSpec.optional as string[]);
141
128
  }
142
129
 
143
- // if we have no required parameters, all is well
144
- if (requiredParams.length === 0) {
145
- return;
130
+ // If a function was provided as the 'validate' key, it will here be called with
131
+ // args as the param. If it returns something falsy, verification will be
132
+ // considered to have passed. If it returns something else, that will be the
133
+ // argument to an error which is thrown to the user
134
+ if (paramSpec.validate) {
135
+ const message = paramSpec.validate(args, protocol ?? PROTOCOLS.W3C);
136
+ if (message) {
137
+ throw new errors.InvalidArgumentError(_.isString(message) ? message : undefined);
138
+ }
146
139
  }
147
140
 
148
141
  // some clients pass in the session id in the params
149
- if (optionalParams.indexOf('sessionId') === -1) {
142
+ if (!_.includes(optionalParams, 'sessionId')) {
150
143
  optionalParams.push('sessionId');
151
144
  }
152
-
153
145
  // some clients pass in an element id in the params
154
- if (optionalParams.indexOf('id') === -1) {
146
+ if (!_.includes(optionalParams, 'id')) {
155
147
  optionalParams.push('id');
156
148
  }
157
149
 
150
+ if (_.isEmpty(requiredParams)) {
151
+ // if we don't have any required parameters, then just filter out unknown ones
152
+ return pickKnownParams(args, _.difference(actualParamNames, optionalParams));
153
+ }
154
+
158
155
  // go through the required parameters and check against our arguments
159
- for (let params of requiredParams) {
160
- if (
161
- _.difference(receivedParams, params, optionalParams).length === 0 &&
162
- _.difference(params, receivedParams).length === 0
163
- ) {
164
- // we have a set of parameters that is correct
165
- // so short-circuit
166
- return;
156
+ let matchedReqParamSet: string[] = [];
157
+ for (const requiredParamsSet of requiredParams) {
158
+ if (!_.isArray(requiredParamsSet)) {
159
+ throw new Error(
160
+ `The required parameter set item ${JSON.stringify(requiredParamsSet)} ` +
161
+ `in ${JSON.stringify(paramSpec)} is not an array. ` +
162
+ `This is a bug in the method map definition.`
163
+ );
164
+ }
165
+ if (_.isEmpty(_.difference(requiredParamsSet, actualParamNames))) {
166
+ return pickKnownParams(
167
+ args,
168
+ _.difference(actualParamNames, requiredParamsSet, optionalParams)
169
+ );
170
+ }
171
+ if (!_.isEmpty(requiredParamsSet) && _.isEmpty(matchedReqParamSet)) {
172
+ matchedReqParamSet = requiredParamsSet;
167
173
  }
168
174
  }
169
- throw new BadParametersError(paramSets, receivedParams);
175
+ throw new BadParametersError({
176
+ ...paramSpec,
177
+ required: matchedReqParamSet,
178
+ optional: optionalParams,
179
+ }, actualParamNames);
170
180
  }
171
181
 
172
182
  /*
@@ -176,25 +186,25 @@ export function checkParams(paramSets, jsonObj, protocol) {
176
186
  * on handling parameters. This method returns an array of arguments which will
177
187
  * be applied to a command.
178
188
  */
179
- export function makeArgs(requestParams, jsonObj, payloadParams, protocol) {
189
+ export function makeArgs(requestParams: PayloadParams, jsonObj: any, payloadParams: PayloadParams): any[] {
180
190
  // We want to pass the "url" parameters to the commands in reverse order
181
191
  // since the command will sometimes want to ignore, say, the sessionId.
182
192
  // This has the effect of putting sessionId last, which means in JS we can
183
193
  // omit it from the function signature if we're not going to use it.
184
- let urlParams = _.keys(requestParams).reverse();
194
+ const urlParams = _.keys(requestParams).reverse();
185
195
 
186
196
  // In the simple case, the required parameters are a basic array in
187
197
  // payloadParams.required, so start there. It's possible that there are
188
198
  // multiple optional sets of required params, though, so handle that case
189
199
  // too.
190
200
  let requiredParams = payloadParams.required;
191
- if (_.isArray(_.first(payloadParams.required))) {
201
+ if (hasMultipleRequiredParamSets(payloadParams.required)) {
192
202
  // If there are optional sets of required params, then we will have an
193
203
  // array of arrays in payloadParams.required, so loop through each set and
194
204
  // pick the one that matches which JSON params were actually sent. We've
195
205
  // already been through validation so we're guaranteed to find a match.
196
- let keys = _.keys(jsonObj);
197
- for (let params of payloadParams.required) {
206
+ const keys = _.keys(jsonObj);
207
+ for (const params of payloadParams.required) {
198
208
  if (_.without(params, ...keys).length === 0) {
199
209
  requiredParams = params;
200
210
  break;
@@ -211,7 +221,7 @@ export function makeArgs(requestParams, jsonObj, payloadParams, protocol) {
211
221
  // which will be applied to the handling command. For example if it returns
212
222
  // [1, 2, 3], we will call `command(1, 2, 3, ...)` (url params are separate
213
223
  // from JSON params and get concatenated below).
214
- args = payloadParams.makeArgs(jsonObj, protocol);
224
+ args = payloadParams.makeArgs(jsonObj);
215
225
  } else {
216
226
  // Otherwise, collect all the required and optional params and flatten them
217
227
  // into an argument array
@@ -226,7 +236,7 @@ export function makeArgs(requestParams, jsonObj, payloadParams, protocol) {
226
236
  return args;
227
237
  }
228
238
 
229
- function validateExecuteMethodParams(params, paramSpec) {
239
+ export function validateExecuteMethodParams(params: any[], paramSpec?: PayloadParams): any[] {
230
240
  // the w3c protocol will give us an array of arguments to apply to a javascript function.
231
241
  // that's not what we're doing. we're going to look for a JS object as the first arg, so we
232
242
  // can perform validation on it. we'll ignore everything else.
@@ -236,40 +246,29 @@ function validateExecuteMethodParams(params, paramSpec) {
236
246
  `arguments to execute script and instead received: ${JSON.stringify(params)}`
237
247
  );
238
248
  }
239
- let args = params[0] ?? {};
249
+ const args: Record<string, any> = params[0] ?? {};
240
250
  if (!_.isPlainObject(args)) {
241
251
  throw new errors.InvalidArgumentError(
242
252
  `Did not receive an appropriate execute method parameters object. It needs to be ` +
243
253
  `deserializable as a plain JS object`
244
254
  );
245
255
  }
246
- if (!paramSpec) {
247
- paramSpec = {required: [], optional: []};
248
- } else {
249
- paramSpec.required ??= [];
250
- paramSpec.optional ??= [];
251
- const unknownNames = _.difference(_.keys(args), paramSpec.required, paramSpec.optional);
252
- if (!_.isEmpty(unknownNames)) {
253
- log.info(`The following script arguments are not known and will be ignored: ${unknownNames}`);
254
- args = _.pickBy(args, (v, k) => !unknownNames.includes(k));
255
- }
256
- checkParams(paramSpec, args, null);
257
- }
258
- const argsToApply = makeArgs({}, args, paramSpec, null);
259
- return argsToApply;
256
+ const specToUse = {
257
+ ...(paramSpec ?? {}),
258
+ required: paramSpec?.required ?? [],
259
+ optional: paramSpec?.optional ?? [],
260
+ };
261
+ const filteredArgs = checkParams(specToUse, args);
262
+ return makeArgs({}, filteredArgs, specToUse);
260
263
  }
261
264
 
262
- /**
263
- *
264
- * @param {import('@appium/types').Core} driver
265
- * @returns {import('../express/server').RouteConfiguringFunction}
266
- */
267
- function routeConfiguringFunction(driver) {
265
+
266
+ export function routeConfiguringFunction(driver: Core<any>): RouteConfiguringFunction {
268
267
  if (!driver.sessionExists) {
269
268
  throw new Error('Drivers must implement `sessionExists` property');
270
269
  }
271
270
 
272
- if (!(/** @type {any} */ (driver).executeCommand || /** @type {any} */ (driver).execute)) {
271
+ if (!((driver as any).executeCommand || (driver as any).execute)) {
273
272
  throw new Error('Drivers must implement `executeCommand` or `execute` method');
274
273
  }
275
274
 
@@ -280,10 +279,10 @@ function routeConfiguringFunction(driver) {
280
279
  // for example in determining proxy avoidance
281
280
  driver.basePath = basePath;
282
281
 
283
- const allMethods = {...METHOD_MAP, ...extraMethodMap};
284
-
282
+ const allMethods: MethodMap<Driver> = {...METHOD_MAP, ...extraMethodMap};
285
283
  for (const [path, methods] of _.toPairs(allMethods)) {
286
284
  for (const [method, spec] of _.toPairs(methods)) {
285
+ const isSessCommand = spec.command ? isSessionCommand(spec.command) : false;
287
286
  // set up the express route handler
288
287
  buildHandler(
289
288
  app,
@@ -291,24 +290,31 @@ function routeConfiguringFunction(driver) {
291
290
  `${basePath}${path}`,
292
291
  spec,
293
292
  driver,
294
- isSessionCommand(/** @type {import('@appium/types').DriverMethodDef} */ (spec).command)
293
+ isSessCommand
295
294
  );
296
295
  }
297
296
  }
298
297
  };
299
298
  }
300
299
 
301
- function buildHandler(app, method, path, spec, driver, isSessCmd) {
302
- let asyncHandler = async (/** @type {import('express').Request} */ req, /** @type {import('express').Response} */ res) => {
300
+ function buildHandler(
301
+ app: Application,
302
+ method: string,
303
+ path: string,
304
+ spec: DriverMethodDef<Driver>,
305
+ driver: Core<any>,
306
+ isSessCmd: boolean
307
+ ): void {
308
+ const asyncHandler = async (req: Request, res: Response) => {
303
309
  let jsonObj = req.body;
304
- let httpResBody = /** @type {any} */ ({});
310
+ let httpResBody = {} as any;
305
311
  let httpStatus = 200;
306
- let newSessionId;
312
+ let newSessionId: string | undefined;
307
313
  let currentProtocol = extractProtocol(driver, req.params.sessionId);
308
314
 
309
315
  try {
310
316
  // if the route accessed is deprecated, log a warning
311
- if (spec.deprecated && !deprecatedCommandsLogged.has(spec.command)) {
317
+ if (spec.deprecated && spec.command && !deprecatedCommandsLogged.has(spec.command)) {
312
318
  deprecatedCommandsLogged.add(spec.command);
313
319
  getLogger(driver, req.params.sessionId).warn(
314
320
  `Command '${spec.command}' has been deprecated and will be removed in a future ` +
@@ -332,12 +338,12 @@ function buildHandler(app, method, path, spec, driver, isSessCmd) {
332
338
  // commands and generally would not want that command to be proxied instead of handled by the
333
339
  // plugin)
334
340
  let didPluginOverrideProxy = false;
335
- if (isSessCmd && !spec.neverProxy && driverShouldDoJwpProxy(driver, req, spec.command)) {
341
+ if (isSessCmd && !spec.neverProxy && spec.command && driverShouldDoJwpProxy(driver, req, spec.command)) {
336
342
  if (
337
- !driver.pluginsToHandleCmd ||
343
+ !('pluginsToHandleCmd' in driver) || !_.isFunction(driver.pluginsToHandleCmd) ||
338
344
  driver.pluginsToHandleCmd(spec.command, req.params.sessionId).length === 0
339
345
  ) {
340
- await doJwpProxy(driver, req, res);
346
+ await doJwpProxy(driver as BaseDriver<any>, req, res);
341
347
  return;
342
348
  }
343
349
  getLogger(driver, req.params.sessionId).debug(
@@ -373,12 +379,14 @@ function buildHandler(app, method, path, spec, driver, isSessCmd) {
373
379
  }
374
380
 
375
381
  // ensure that the json payload conforms to the spec
376
- checkParams(spec.payloadParams, jsonObj, currentProtocol);
382
+ if (spec.payloadParams) {
383
+ checkParams(spec.payloadParams, jsonObj, currentProtocol);
384
+ }
377
385
 
378
386
  // turn the command and json payload into an argument list for
379
387
  // the driver methods
380
- let args = makeArgs(req.params, jsonObj, spec.payloadParams || {}, currentProtocol);
381
- let driverRes;
388
+ const args = makeArgs(req.params, jsonObj, spec.payloadParams || {});
389
+ let driverRes: any;
382
390
  // validate command args according to MJSONWP
383
391
  if (validators[spec.command]) {
384
392
  validators[spec.command](...args);
@@ -398,7 +406,7 @@ function buildHandler(app, method, path, spec, driver, isSessCmd) {
398
406
  args.push({reqForProxy: req});
399
407
  }
400
408
 
401
- driverRes = await driver.executeCommand(spec.command, ...args);
409
+ driverRes = await (driver as BaseDriver<any>).executeCommand(spec.command, ...args);
402
410
 
403
411
  // Get the protocol after executeCommand
404
412
  currentProtocol = extractProtocol(driver, req.params.sessionId) || currentProtocol;
@@ -517,7 +525,7 @@ function buildHandler(app, method, path, spec, driver, isSessCmd) {
517
525
  });
518
526
  }
519
527
 
520
- function driverShouldDoJwpProxy(driver, req, command) {
528
+ export function driverShouldDoJwpProxy(driver: Core<any>, req: import('express').Request, command: string): boolean {
521
529
  // drivers need to explicitly say when the proxy is active
522
530
  if (!driver.proxyActive(req.params.sessionId)) {
523
531
  return false;
@@ -538,7 +546,7 @@ function driverShouldDoJwpProxy(driver, req, command) {
538
546
  return true;
539
547
  }
540
548
 
541
- async function doJwpProxy(driver, req, res) {
549
+ async function doJwpProxy(driver: BaseDriver<any>, req: Request, res: Response): Promise<void> {
542
550
  getLogger(driver, req.params.sessionId).info(
543
551
  'Driver proxy active, passing request on via HTTP proxy'
544
552
  );
@@ -557,12 +565,3 @@ async function doJwpProxy(driver, req, res) {
557
565
  }
558
566
  }
559
567
  }
560
-
561
- export {
562
- routeConfiguringFunction,
563
- isSessionCommand,
564
- driverShouldDoJwpProxy,
565
- determineProtocol,
566
- deprecatedCommandsLogged,
567
- validateExecuteMethodParams,
568
- };
@@ -42,12 +42,7 @@ export const METHOD_MAP = /** @type {const} */ ({
42
42
  POST: {
43
43
  command: 'timeouts',
44
44
  payloadParams: {
45
- validate: ({script, pageLoad, implicit}) => {
46
- if ([script, pageLoad, implicit].every(_.isNil)) {
47
- return 'W3C protocol expects any of script, pageLoad or implicit to be set';
48
- }
49
- },
50
- optional: ['script', 'pageLoad', 'implicit'],
45
+ optional: ['type', 'ms', 'script', 'pageLoad', 'implicit'],
51
46
  },
52
47
  },
53
48
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appium/base-driver",
3
- "version": "10.0.0-beta.1",
3
+ "version": "10.0.0-beta.2",
4
4
  "description": "Base driver class for Appium drivers",
5
5
  "keywords": [
6
6
  "automation",
@@ -75,7 +75,7 @@
75
75
  "access": "public",
76
76
  "tag": "beta"
77
77
  },
78
- "gitHead": "9bb5f3f706c5ae1c1ed600a8d0c4e9536936c5ff",
78
+ "gitHead": "dc5ef8d5f62c8a0775131305107a4037cd9ec9c9",
79
79
  "tsd": {
80
80
  "directory": "test/types"
81
81
  }