@appium/base-driver 10.5.2 → 10.7.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.
- package/build/lib/basedriver/capabilities.d.ts +1 -1
- package/build/lib/basedriver/capabilities.d.ts.map +1 -1
- package/build/lib/basedriver/capabilities.js +58 -50
- package/build/lib/basedriver/capabilities.js.map +1 -1
- package/build/lib/basedriver/commands/bidi.d.ts.map +1 -1
- package/build/lib/basedriver/commands/bidi.js +10 -14
- package/build/lib/basedriver/commands/bidi.js.map +1 -1
- package/build/lib/basedriver/commands/event.d.ts.map +1 -1
- package/build/lib/basedriver/commands/event.js +4 -7
- package/build/lib/basedriver/commands/event.js.map +1 -1
- package/build/lib/basedriver/commands/execute.js +3 -6
- package/build/lib/basedriver/commands/execute.js.map +1 -1
- package/build/lib/basedriver/commands/find.d.ts.map +1 -1
- package/build/lib/basedriver/commands/find.js +2 -1
- package/build/lib/basedriver/commands/find.js.map +1 -1
- package/build/lib/basedriver/commands/log.d.ts.map +1 -1
- package/build/lib/basedriver/commands/log.js +1 -5
- package/build/lib/basedriver/commands/log.js.map +1 -1
- package/build/lib/basedriver/commands/timeout.d.ts.map +1 -1
- package/build/lib/basedriver/commands/timeout.js +9 -13
- package/build/lib/basedriver/commands/timeout.js.map +1 -1
- package/build/lib/basedriver/core.d.ts.map +1 -1
- package/build/lib/basedriver/core.js +17 -14
- package/build/lib/basedriver/core.js.map +1 -1
- package/build/lib/basedriver/device-settings.d.ts.map +1 -1
- package/build/lib/basedriver/device-settings.js +3 -7
- package/build/lib/basedriver/device-settings.js.map +1 -1
- package/build/lib/basedriver/driver.d.ts.map +1 -1
- package/build/lib/basedriver/driver.js +34 -38
- package/build/lib/basedriver/driver.js.map +1 -1
- package/build/lib/basedriver/extension-core.d.ts +4 -1
- package/build/lib/basedriver/extension-core.d.ts.map +1 -1
- package/build/lib/basedriver/extension-core.js +37 -13
- package/build/lib/basedriver/extension-core.js.map +1 -1
- package/build/lib/basedriver/helpers.d.ts.map +1 -1
- package/build/lib/basedriver/helpers.js +47 -33
- package/build/lib/basedriver/helpers.js.map +1 -1
- package/build/lib/basedriver/ipc.d.ts +36 -0
- package/build/lib/basedriver/ipc.d.ts.map +1 -0
- package/build/lib/basedriver/ipc.js +157 -0
- package/build/lib/basedriver/ipc.js.map +1 -0
- package/build/lib/basedriver/validation.d.ts.map +1 -1
- package/build/lib/basedriver/validation.js +27 -29
- package/build/lib/basedriver/validation.js.map +1 -1
- package/build/lib/express/express-logging.d.ts +0 -1
- package/build/lib/express/express-logging.d.ts.map +1 -1
- package/build/lib/express/express-logging.js +11 -11
- package/build/lib/express/express-logging.js.map +1 -1
- package/build/lib/express/idempotency.js +3 -6
- package/build/lib/express/idempotency.js.map +1 -1
- package/build/lib/express/middleware.d.ts.map +1 -1
- package/build/lib/express/middleware.js +6 -10
- package/build/lib/express/middleware.js.map +1 -1
- package/build/lib/express/server.d.ts +1 -1
- package/build/lib/express/server.d.ts.map +1 -1
- package/build/lib/express/server.js +82 -73
- package/build/lib/express/server.js.map +1 -1
- package/build/lib/express/websocket.d.ts.map +1 -1
- package/build/lib/express/websocket.js +6 -9
- package/build/lib/express/websocket.js.map +1 -1
- package/build/lib/helpers/capabilities.d.ts.map +1 -1
- package/build/lib/helpers/capabilities.js +14 -17
- package/build/lib/helpers/capabilities.js.map +1 -1
- package/build/lib/helpers/extension-command-name.js +2 -5
- package/build/lib/helpers/extension-command-name.js.map +1 -1
- package/build/lib/helpers/levenshtein-match.d.ts.map +1 -1
- package/build/lib/helpers/levenshtein-match.js +6 -7
- package/build/lib/helpers/levenshtein-match.js.map +1 -1
- package/build/lib/index.d.ts +2 -1
- package/build/lib/index.d.ts.map +1 -1
- package/build/lib/index.js +6 -16
- package/build/lib/index.js.map +1 -1
- package/build/lib/jsonwp-proxy/protocol-converter.d.ts.map +1 -1
- package/build/lib/jsonwp-proxy/protocol-converter.js +21 -18
- package/build/lib/jsonwp-proxy/protocol-converter.js.map +1 -1
- package/build/lib/jsonwp-proxy/proxy-request.d.ts +2 -2
- package/build/lib/jsonwp-proxy/proxy-request.d.ts.map +1 -1
- package/build/lib/jsonwp-proxy/proxy-request.js +25 -21
- package/build/lib/jsonwp-proxy/proxy-request.js.map +1 -1
- package/build/lib/jsonwp-proxy/proxy.d.ts.map +1 -1
- package/build/lib/jsonwp-proxy/proxy.js +45 -36
- package/build/lib/jsonwp-proxy/proxy.js.map +1 -1
- package/build/lib/protocol/errors.d.ts.map +1 -1
- package/build/lib/protocol/errors.js +33 -37
- package/build/lib/protocol/errors.js.map +1 -1
- package/build/lib/protocol/helpers.d.ts.map +1 -1
- package/build/lib/protocol/helpers.js +9 -8
- package/build/lib/protocol/helpers.js.map +1 -1
- package/build/lib/protocol/protocol.d.ts +1 -1
- package/build/lib/protocol/protocol.d.ts.map +1 -1
- package/build/lib/protocol/protocol.js +73 -61
- package/build/lib/protocol/protocol.js.map +1 -1
- package/build/lib/protocol/routes.d.ts +1 -1
- package/build/lib/protocol/routes.d.ts.map +1 -1
- package/build/lib/protocol/routes.js +16 -17
- package/build/lib/protocol/routes.js.map +1 -1
- package/build/lib/protocol/validators.d.ts.map +1 -1
- package/build/lib/protocol/validators.js +1 -5
- package/build/lib/protocol/validators.js.map +1 -1
- package/build/lib/test-pages/crash.d.ts.map +1 -0
- package/build/lib/test-pages/crash.js.map +1 -0
- package/build/lib/test-pages/env.d.ts +5 -0
- package/build/lib/test-pages/env.d.ts.map +1 -0
- package/build/lib/test-pages/env.js +12 -0
- package/build/lib/test-pages/env.js.map +1 -0
- package/build/lib/{express/static.d.ts → test-pages/handlers.d.ts} +1 -2
- package/build/lib/test-pages/handlers.d.ts.map +1 -0
- package/build/lib/{express/static.js → test-pages/handlers.js} +9 -12
- package/build/lib/test-pages/handlers.js.map +1 -0
- package/build/lib/test-pages/index.d.ts +6 -0
- package/build/lib/test-pages/index.d.ts.map +1 -0
- package/build/lib/test-pages/index.js +35 -0
- package/build/lib/test-pages/index.js.map +1 -0
- package/build/lib/test-pages/static-dir.d.ts +8 -0
- package/build/lib/test-pages/static-dir.d.ts.map +1 -0
- package/build/lib/test-pages/static-dir.js +24 -0
- package/build/lib/test-pages/static-dir.js.map +1 -0
- package/build/lib/test-pages/template.d.ts +3 -0
- package/build/lib/test-pages/template.d.ts.map +1 -0
- package/build/lib/test-pages/template.js +19 -0
- package/build/lib/test-pages/template.js.map +1 -0
- package/build/lib/utils.d.ts +14 -0
- package/build/lib/utils.d.ts.map +1 -0
- package/build/lib/utils.js +55 -0
- package/build/lib/utils.js.map +1 -0
- package/lib/basedriver/capabilities.ts +126 -115
- package/lib/basedriver/commands/bidi.ts +11 -11
- package/lib/basedriver/commands/event.ts +17 -11
- package/lib/basedriver/commands/execute.ts +15 -12
- package/lib/basedriver/commands/find.ts +20 -12
- package/lib/basedriver/commands/log.ts +4 -3
- package/lib/basedriver/commands/timeout.ts +22 -14
- package/lib/basedriver/core.ts +26 -26
- package/lib/basedriver/device-settings.ts +7 -12
- package/lib/basedriver/driver.ts +62 -50
- package/lib/basedriver/extension-core.ts +60 -18
- package/lib/basedriver/helpers.ts +81 -52
- package/lib/basedriver/ipc.ts +198 -0
- package/lib/basedriver/validation.ts +37 -30
- package/lib/express/express-logging.ts +16 -20
- package/lib/express/idempotency.ts +9 -9
- package/lib/express/middleware.ts +14 -18
- package/lib/express/server.ts +118 -120
- package/lib/express/websocket.ts +11 -15
- package/lib/helpers/capabilities.ts +21 -16
- package/lib/helpers/extension-command-name.ts +3 -3
- package/lib/helpers/levenshtein-match.ts +20 -14
- package/lib/index.js +3 -12
- package/lib/jsonwp-proxy/protocol-converter.ts +58 -35
- package/lib/jsonwp-proxy/proxy-request.ts +26 -26
- package/lib/jsonwp-proxy/proxy.ts +74 -75
- package/lib/protocol/errors.ts +69 -88
- package/lib/protocol/helpers.ts +9 -5
- package/lib/protocol/protocol.ts +149 -107
- package/lib/protocol/routes.ts +17 -17
- package/lib/protocol/validators.ts +1 -3
- package/lib/test-pages/env.ts +9 -0
- package/lib/{express/static.ts → test-pages/handlers.ts} +10 -22
- package/lib/test-pages/index.ts +34 -0
- package/lib/test-pages/static-dir.ts +19 -0
- package/lib/test-pages/template.ts +17 -0
- package/lib/utils.ts +65 -0
- package/package.json +10 -13
- package/tsconfig.json +1 -0
- package/build/lib/express/crash.d.ts.map +0 -1
- package/build/lib/express/crash.js.map +0 -1
- package/build/lib/express/static.d.ts.map +0 -1
- package/build/lib/express/static.js.map +0 -1
- /package/build/lib/{express → test-pages}/crash.d.ts +0 -0
- /package/build/lib/{express → test-pages}/crash.js +0 -0
- /package/lib/{express → test-pages}/crash.ts +0 -0
- /package/{static → test-fixtures/static}/appium.png +0 -0
- /package/{static → test-fixtures/static}/favicon.ico +0 -0
- /package/{static → test-fixtures/static}/js/jquery.min.js +0 -0
- /package/{static → test-fixtures/static}/test/frameset.html +0 -0
- /package/{static → test-fixtures/static}/test/guinea-pig-app-banner.html +0 -0
- /package/{static → test-fixtures/static}/test/guinea-pig-scrollable.html +0 -0
- /package/{static → test-fixtures/static}/test/guinea-pig.html +0 -0
- /package/{static → test-fixtures/static}/test/guinea-pig2.html +0 -0
- /package/{static → test-fixtures/static}/test/guinea-pig3.html +0 -0
- /package/{static → test-fixtures/static}/test/guinea-pig4.html +0 -0
- /package/{static → test-fixtures/static}/test/guinea-pig5.html +0 -0
- /package/{static → test-fixtures/static}/test/iframes.html +0 -0
- /package/{static → test-fixtures/static}/test/shadow-dom.html +0 -0
- /package/{static → test-fixtures/static}/test/subframe1.html +0 -0
- /package/{static → test-fixtures/static}/test/subframe2.html +0 -0
- /package/{static → test-fixtures/static}/test/subframe3.html +0 -0
- /package/{static → test-fixtures/static}/test/touch.html +0 -0
- /package/{static → test-fixtures/static}/test/welcome.html +0 -0
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
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
4
|
exports.determineProtocol = determineProtocol;
|
|
@@ -12,16 +9,15 @@ exports.makeArgs = makeArgs;
|
|
|
12
9
|
exports.validateExecuteMethodParams = validateExecuteMethodParams;
|
|
13
10
|
exports.routeConfiguringFunction = routeConfiguringFunction;
|
|
14
11
|
exports.driverShouldDoJwpProxy = driverShouldDoJwpProxy;
|
|
15
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
16
12
|
const support_1 = require("@appium/support");
|
|
17
13
|
const validators_1 = require("./validators");
|
|
18
14
|
const errors_1 = require("./errors");
|
|
19
15
|
const routes_1 = require("./routes");
|
|
20
|
-
const bluebird_1 = __importDefault(require("bluebird"));
|
|
21
16
|
const helpers_1 = require("./helpers");
|
|
22
17
|
const constants_1 = require("../constants");
|
|
23
18
|
const capabilities_1 = require("../helpers/capabilities");
|
|
24
19
|
const logger_1 = require("../basedriver/logger");
|
|
20
|
+
const utils_1 = require("../utils");
|
|
25
21
|
const helpers_2 = require("../basedriver/helpers");
|
|
26
22
|
exports.CREATE_SESSION_COMMAND = 'createSession';
|
|
27
23
|
exports.DELETE_SESSION_COMMAND = 'deleteSession';
|
|
@@ -34,7 +30,7 @@ exports.deprecatedCommandsLogged = new Set();
|
|
|
34
30
|
* @param createSessionArgs - Arguments passed to the createSession command
|
|
35
31
|
*/
|
|
36
32
|
function determineProtocol(createSessionArgs) {
|
|
37
|
-
return
|
|
33
|
+
return createSessionArgs.some(capabilities_1.isW3cCaps) ? constants_1.PROTOCOLS.W3C : constants_1.PROTOCOLS.MJSONWP;
|
|
38
34
|
}
|
|
39
35
|
/**
|
|
40
36
|
* Extract and validate the sessionId from the Express route parameter.
|
|
@@ -67,7 +63,7 @@ function getSessionId(driver, req) {
|
|
|
67
63
|
* @returns Whether the command requires a session id in the URL
|
|
68
64
|
*/
|
|
69
65
|
function isSessionCommand(command) {
|
|
70
|
-
return !
|
|
66
|
+
return !routes_1.NO_SESSION_ID_COMMANDS.includes(command);
|
|
71
67
|
}
|
|
72
68
|
/**
|
|
73
69
|
* Validate request arguments against a route payload spec and return filtered params.
|
|
@@ -78,17 +74,17 @@ function isSessionCommand(command) {
|
|
|
78
74
|
function checkParams(paramSpec, args, protocol) {
|
|
79
75
|
let requiredParams = [];
|
|
80
76
|
let optionalParams = [];
|
|
81
|
-
const actualParamNames =
|
|
77
|
+
const actualParamNames = Object.keys(args);
|
|
82
78
|
if (paramSpec.required) {
|
|
83
79
|
// we might have an array of parameters,
|
|
84
80
|
// or an array of arrays of parameters, so standardize
|
|
85
|
-
requiredParams =
|
|
81
|
+
requiredParams = structuredClone((hasMultipleRequiredParamSets(paramSpec.required)
|
|
86
82
|
? paramSpec.required
|
|
87
83
|
: [paramSpec.required]));
|
|
88
84
|
}
|
|
89
85
|
// optional parameters are just an array
|
|
90
86
|
if (paramSpec.optional) {
|
|
91
|
-
optionalParams =
|
|
87
|
+
optionalParams = structuredClone(paramSpec.optional);
|
|
92
88
|
}
|
|
93
89
|
// If a function was provided as the 'validate' key, it will here be called with
|
|
94
90
|
// args as the param. If it returns something falsy, verification will be
|
|
@@ -97,33 +93,33 @@ function checkParams(paramSpec, args, protocol) {
|
|
|
97
93
|
if (paramSpec.validate) {
|
|
98
94
|
const message = paramSpec.validate(args, protocol ?? constants_1.PROTOCOLS.W3C);
|
|
99
95
|
if (message) {
|
|
100
|
-
throw new errors_1.errors.InvalidArgumentError(
|
|
96
|
+
throw new errors_1.errors.InvalidArgumentError(typeof message === 'string' ? message : undefined);
|
|
101
97
|
}
|
|
102
98
|
}
|
|
103
99
|
// some clients pass in the session id in the params
|
|
104
|
-
if (!
|
|
100
|
+
if (!optionalParams.includes('sessionId')) {
|
|
105
101
|
optionalParams.push('sessionId');
|
|
106
102
|
}
|
|
107
103
|
// some clients pass in an element id in the params
|
|
108
|
-
if (!
|
|
104
|
+
if (!optionalParams.includes('id')) {
|
|
109
105
|
optionalParams.push('id');
|
|
110
106
|
}
|
|
111
|
-
if (
|
|
107
|
+
if (support_1.util.isEmpty(requiredParams)) {
|
|
112
108
|
// if we don't have any required parameters, then just filter out unknown ones
|
|
113
|
-
return pickKnownParams(args,
|
|
109
|
+
return pickKnownParams(args, actualParamNames.filter((name) => !optionalParams.includes(name)));
|
|
114
110
|
}
|
|
115
111
|
// go through the required parameters and check against our arguments
|
|
116
112
|
let matchedReqParamSet = [];
|
|
117
113
|
for (const requiredParamsSet of requiredParams) {
|
|
118
|
-
if (!
|
|
114
|
+
if (!Array.isArray(requiredParamsSet)) {
|
|
119
115
|
throw new Error(`The required parameter set item ${JSON.stringify(requiredParamsSet)} ` +
|
|
120
116
|
`in ${JSON.stringify(paramSpec)} is not an array. ` +
|
|
121
117
|
`This is a bug in the method map definition.`);
|
|
122
118
|
}
|
|
123
|
-
if (
|
|
124
|
-
return pickKnownParams(args,
|
|
119
|
+
if (requiredParamsSet.every((name) => actualParamNames.includes(name))) {
|
|
120
|
+
return pickKnownParams(args, actualParamNames.filter((name) => !requiredParamsSet.includes(name) && !optionalParams.includes(name)));
|
|
125
121
|
}
|
|
126
|
-
if (!
|
|
122
|
+
if (!support_1.util.isEmpty(requiredParamsSet) && support_1.util.isEmpty(matchedReqParamSet)) {
|
|
127
123
|
matchedReqParamSet = requiredParamsSet;
|
|
128
124
|
}
|
|
129
125
|
}
|
|
@@ -144,7 +140,7 @@ function makeArgs(requestParams, jsonObj, payloadParams) {
|
|
|
144
140
|
// since the command will sometimes want to ignore, say, the sessionId.
|
|
145
141
|
// This has the effect of putting sessionId last, which means in JS we can
|
|
146
142
|
// omit it from the function signature if we're not going to use it.
|
|
147
|
-
const urlParams =
|
|
143
|
+
const urlParams = Object.keys(requestParams).reverse();
|
|
148
144
|
// In the simple case, the required parameters are a basic array in
|
|
149
145
|
// payloadParams.required, so start there. It's possible that there are
|
|
150
146
|
// multiple optional sets of required params, though, so handle that case
|
|
@@ -155,9 +151,9 @@ function makeArgs(requestParams, jsonObj, payloadParams) {
|
|
|
155
151
|
// array of arrays in payloadParams.required, so loop through each set and
|
|
156
152
|
// pick the one that matches which JSON params were actually sent. We've
|
|
157
153
|
// already been through validation so we're guaranteed to find a match.
|
|
158
|
-
const keys =
|
|
154
|
+
const keys = Object.keys(jsonObj);
|
|
159
155
|
for (const params of payloadParams.required) {
|
|
160
|
-
if (
|
|
156
|
+
if (params.filter((p) => !keys.includes(p)).length === 0) {
|
|
161
157
|
requiredParams = params;
|
|
162
158
|
break;
|
|
163
159
|
}
|
|
@@ -165,7 +161,7 @@ function makeArgs(requestParams, jsonObj, payloadParams) {
|
|
|
165
161
|
}
|
|
166
162
|
// Now we construct our list of arguments which will be passed to the command
|
|
167
163
|
let args;
|
|
168
|
-
if (
|
|
164
|
+
if (typeof payloadParams.makeArgs === 'function') {
|
|
169
165
|
// In the route spec, a particular route might define a 'makeArgs' function
|
|
170
166
|
// if it wants full control over how to turn JSON parameters into command
|
|
171
167
|
// arguments. So we pass it the JSON parameters and it returns an array
|
|
@@ -177,9 +173,9 @@ function makeArgs(requestParams, jsonObj, payloadParams) {
|
|
|
177
173
|
else {
|
|
178
174
|
// Otherwise, collect all the required and optional params and flatten them
|
|
179
175
|
// into an argument array
|
|
180
|
-
args =
|
|
176
|
+
args = (requiredParams ?? []).flat().map((p) => jsonObj[p]);
|
|
181
177
|
if (payloadParams.optional) {
|
|
182
|
-
args = args.concat(
|
|
178
|
+
args = args.concat((payloadParams.optional ?? []).flat().map((p) => jsonObj[p]));
|
|
183
179
|
}
|
|
184
180
|
}
|
|
185
181
|
// Finally, get our url params (session id, element id, etc...) on the end of
|
|
@@ -196,12 +192,12 @@ function validateExecuteMethodParams(params, paramSpec) {
|
|
|
196
192
|
// the w3c protocol will give us an array of arguments to apply to a javascript function.
|
|
197
193
|
// that's not what we're doing. we're going to look for a JS object as the first arg, so we
|
|
198
194
|
// can perform validation on it. we'll ignore everything else.
|
|
199
|
-
if (!params || !
|
|
195
|
+
if (!params || !Array.isArray(params) || params.length > 1) {
|
|
200
196
|
throw new errors_1.errors.InvalidArgumentError(`Did not get correct format of arguments for execute method. Expected zero or one ` +
|
|
201
197
|
`arguments to execute script and instead received: ${JSON.stringify(params)}`);
|
|
202
198
|
}
|
|
203
199
|
const args = params[0] ?? {};
|
|
204
|
-
if (!
|
|
200
|
+
if (!support_1.util.isPlainObject(args)) {
|
|
205
201
|
throw new errors_1.errors.InvalidArgumentError(`Did not receive an appropriate execute method parameters object. It needs to be ` +
|
|
206
202
|
`deserializable as a plain JS object`);
|
|
207
203
|
}
|
|
@@ -231,8 +227,8 @@ function routeConfiguringFunction(driver) {
|
|
|
231
227
|
// for example in determining proxy avoidance
|
|
232
228
|
driver.basePath = basePath;
|
|
233
229
|
const allMethods = { ...routes_1.METHOD_MAP, ...extraMethodMap };
|
|
234
|
-
for (const [path, methods] of
|
|
235
|
-
for (const [method, spec] of
|
|
230
|
+
for (const [path, methods] of Object.entries(allMethods)) {
|
|
231
|
+
for (const [method, spec] of Object.entries(methods)) {
|
|
236
232
|
const isSessCommand = spec.command ? isSessionCommand(spec.command) : false;
|
|
237
233
|
// set up the express route handler
|
|
238
234
|
buildHandler(app, method, `${basePath}${path}`, spec, driver, isSessCommand);
|
|
@@ -265,7 +261,7 @@ function driverShouldDoJwpProxy(driver, req, command) {
|
|
|
265
261
|
return true;
|
|
266
262
|
}
|
|
267
263
|
function extractProtocol(driver, sessionId = null) {
|
|
268
|
-
const dstDriver =
|
|
264
|
+
const dstDriver = typeof driver.driverForSession === 'function' && sessionId
|
|
269
265
|
? driver.driverForSession(sessionId)
|
|
270
266
|
: driver;
|
|
271
267
|
if (dstDriver === driver) {
|
|
@@ -278,10 +274,10 @@ function extractProtocol(driver, sessionId = null) {
|
|
|
278
274
|
return dstDriver?.protocol ?? constants_1.PROTOCOLS.W3C;
|
|
279
275
|
}
|
|
280
276
|
function getLogger(driver, sessionId = null) {
|
|
281
|
-
const dstDriver = sessionId &&
|
|
282
|
-
? driver.driverForSession(sessionId) ?? driver
|
|
277
|
+
const dstDriver = sessionId && typeof driver.driverForSession === 'function'
|
|
278
|
+
? (driver.driverForSession(sessionId) ?? driver)
|
|
283
279
|
: driver;
|
|
284
|
-
if (
|
|
280
|
+
if (typeof dstDriver.log?.info === 'function') {
|
|
285
281
|
return dstDriver.log;
|
|
286
282
|
}
|
|
287
283
|
const logPrefix = (0, helpers_2.generateDriverLogPrefix)(dstDriver);
|
|
@@ -294,7 +290,8 @@ function wrapParams(paramSets, jsonObj) {
|
|
|
294
290
|
* The wrap option in the spec enforce wrapping before validation, so that all params are wrapped at
|
|
295
291
|
* the time they are validated and later passed to the commands.
|
|
296
292
|
*/
|
|
297
|
-
return (
|
|
293
|
+
return (Array.isArray(jsonObj) || typeof jsonObj !== 'object' || jsonObj === null) &&
|
|
294
|
+
paramSets.wrap
|
|
298
295
|
? { [paramSets.wrap]: jsonObj }
|
|
299
296
|
: jsonObj;
|
|
300
297
|
}
|
|
@@ -302,20 +299,20 @@ function unwrapParams(paramSets, jsonObj) {
|
|
|
302
299
|
/* There are commands like setNetworkConnection which send parameters wrapped inside a key such as
|
|
303
300
|
* "parameters". This function unwraps them (eg. {"parameters": {"type": 1}} becomes {"type": 1}).
|
|
304
301
|
*/
|
|
305
|
-
|
|
302
|
+
const unwrapped = typeof jsonObj === 'object' && jsonObj !== null && paramSets.unwrap
|
|
306
303
|
? jsonObj[paramSets.unwrap]
|
|
307
|
-
:
|
|
304
|
+
: undefined;
|
|
305
|
+
return unwrapped !== undefined ? unwrapped : jsonObj;
|
|
308
306
|
}
|
|
309
307
|
function hasMultipleRequiredParamSets(required) {
|
|
310
|
-
|
|
311
|
-
return Boolean(required && lodash_1.default.isArray(lodash_1.default.first(required)));
|
|
308
|
+
return Boolean(required && Array.isArray(required?.[0]));
|
|
312
309
|
}
|
|
313
310
|
function pickKnownParams(args, unknownNames) {
|
|
314
|
-
if (
|
|
311
|
+
if (support_1.util.isEmpty(unknownNames)) {
|
|
315
312
|
return args;
|
|
316
313
|
}
|
|
317
314
|
logger_1.log.info(`The following arguments are not known and will be ignored: ${unknownNames}`);
|
|
318
|
-
return
|
|
315
|
+
return (0, utils_1.omitKeys)(args, unknownNames);
|
|
319
316
|
}
|
|
320
317
|
function buildHandler(app, method, path, spec, driver, isSessCmd) {
|
|
321
318
|
const asyncHandler = async (req, res) => {
|
|
@@ -347,8 +344,12 @@ function buildHandler(app, method, path, spec, driver, isSessCmd) {
|
|
|
347
344
|
// commands and generally would not want that command to be proxied instead of handled by the
|
|
348
345
|
// plugin)
|
|
349
346
|
let didPluginOverrideProxy = false;
|
|
350
|
-
if (isSessCmd &&
|
|
351
|
-
|
|
347
|
+
if (isSessCmd &&
|
|
348
|
+
!spec.neverProxy &&
|
|
349
|
+
spec.command &&
|
|
350
|
+
driverShouldDoJwpProxy(driver, req, spec.command)) {
|
|
351
|
+
if (!('pluginsToHandleCmd' in driver) ||
|
|
352
|
+
typeof driver.pluginsToHandleCmd !== 'function' ||
|
|
352
353
|
driver.pluginsToHandleCmd(spec.command, sessionId).length === 0) {
|
|
353
354
|
await doJwpProxy(driver, req, res);
|
|
354
355
|
return;
|
|
@@ -385,11 +386,12 @@ function buildHandler(app, method, path, spec, driver, isSessCmd) {
|
|
|
385
386
|
const args = makeArgs(req.params, jsonObj, spec.payloadParams || {});
|
|
386
387
|
let driverRes;
|
|
387
388
|
// validate command args according to MJSONWP
|
|
388
|
-
|
|
389
|
-
|
|
389
|
+
const validator = validators_1.validators[spec.command];
|
|
390
|
+
if (validator) {
|
|
391
|
+
validator(...args);
|
|
390
392
|
}
|
|
391
393
|
// run the driver command wrapped inside the argument validators
|
|
392
|
-
getLogger(driver, sessionId).debug(`Calling %s.%s() with args: %s`, driver.constructor.name, spec.command, support_1.logger.markSensitive(
|
|
394
|
+
getLogger(driver, sessionId).debug(`Calling %s.%s() with args: %s`, driver.constructor.name, spec.command, support_1.logger.markSensitive(support_1.util.truncateString(JSON.stringify(args), { length: constants_1.MAX_LOG_BODY_LENGTH })));
|
|
393
395
|
if (didPluginOverrideProxy) {
|
|
394
396
|
// TODO for now we add this information on the args list, but that's mixing purposes here.
|
|
395
397
|
// We really should add another 'options' parameter to 'executeCommand', but this would be
|
|
@@ -401,8 +403,9 @@ function buildHandler(app, method, path, spec, driver, isSessCmd) {
|
|
|
401
403
|
currentProtocol = extractProtocol(driver, sessionId) || currentProtocol;
|
|
402
404
|
// If `executeCommand` was overridden and the method returns an object
|
|
403
405
|
// with a protocol and value/error property, re-assign the protocol
|
|
404
|
-
if (
|
|
405
|
-
currentProtocol =
|
|
406
|
+
if (support_1.util.isPlainObject(driverRes) && Object.hasOwn(driverRes, 'protocol')) {
|
|
407
|
+
currentProtocol =
|
|
408
|
+
driverRes.protocol || currentProtocol;
|
|
406
409
|
if (driverRes.error) {
|
|
407
410
|
throw driverRes.error;
|
|
408
411
|
}
|
|
@@ -424,7 +427,7 @@ function buildHandler(app, method, path, spec, driver, isSessCmd) {
|
|
|
424
427
|
driverRes = (0, helpers_1.formatResponseValue)(driverRes);
|
|
425
428
|
// delete should not return anything even if successful
|
|
426
429
|
if (spec.command === exports.DELETE_SESSION_COMMAND) {
|
|
427
|
-
getLogger(driver, sessionId).debug(`Received response: ${
|
|
430
|
+
getLogger(driver, sessionId).debug(`Received response: ${support_1.util.truncateString(JSON.stringify(driverRes), {
|
|
428
431
|
length: constants_1.MAX_LOG_BODY_LENGTH,
|
|
429
432
|
})}`);
|
|
430
433
|
getLogger(driver, sessionId).debug('But deleting session, so not returning');
|
|
@@ -437,13 +440,13 @@ function buildHandler(app, method, path, spec, driver, isSessCmd) {
|
|
|
437
440
|
parseInt(driverRes.status, 10) !== 0) {
|
|
438
441
|
throw (0, errors_1.errorFromMJSONWPStatusCode)(driverRes.status, driverRes.value);
|
|
439
442
|
}
|
|
440
|
-
else if (
|
|
443
|
+
else if (support_1.util.isPlainObject(driverRes.value) && driverRes.value.error) {
|
|
441
444
|
throw (0, errors_1.errorFromW3CJsonCode)(driverRes.value.error, driverRes.value.message, driverRes.value.stacktrace);
|
|
442
445
|
}
|
|
443
446
|
}
|
|
444
447
|
httpResBody.value = driverRes;
|
|
445
448
|
getLogger(driver, sessionId || newSessionId).debug(`Responding ` +
|
|
446
|
-
`to client with driver.${spec.command}() result: ${
|
|
449
|
+
`to client with driver.${spec.command}() result: ${support_1.util.truncateString(JSON.stringify(driverRes), {
|
|
447
450
|
length: constants_1.MAX_LOG_BODY_LENGTH,
|
|
448
451
|
})}`);
|
|
449
452
|
}
|
|
@@ -451,7 +454,13 @@ function buildHandler(app, method, path, spec, driver, isSessCmd) {
|
|
|
451
454
|
// if anything goes wrong, figure out what our response should be
|
|
452
455
|
// based on the type of error that we encountered
|
|
453
456
|
let actualErr;
|
|
454
|
-
if (err instanceof Error
|
|
457
|
+
if (err instanceof Error) {
|
|
458
|
+
actualErr = err;
|
|
459
|
+
}
|
|
460
|
+
else if (typeof err === 'object' &&
|
|
461
|
+
err !== null &&
|
|
462
|
+
Object.hasOwn(err, 'stack') &&
|
|
463
|
+
Object.hasOwn(err, 'message')) {
|
|
455
464
|
actualErr = err;
|
|
456
465
|
}
|
|
457
466
|
else {
|
|
@@ -459,13 +468,13 @@ function buildHandler(app, method, path, spec, driver, isSessCmd) {
|
|
|
459
468
|
'might be a genuine bug of a driver or a plugin.');
|
|
460
469
|
actualErr = new Error(`${err ?? 'unknown'}`);
|
|
461
470
|
}
|
|
462
|
-
currentProtocol =
|
|
463
|
-
|
|
464
|
-
let errMsg =
|
|
465
|
-
if (!
|
|
471
|
+
currentProtocol = currentProtocol || extractProtocol(driver, sessionId || newSessionId);
|
|
472
|
+
const stacktrace = err.stacktrace;
|
|
473
|
+
let errMsg = stacktrace || actualErr.stack || '';
|
|
474
|
+
if (!errMsg.includes(actualErr.message)) {
|
|
466
475
|
// if the message has more information, add it. but often the message
|
|
467
476
|
// is the first part of the stack trace
|
|
468
|
-
errMsg = `${
|
|
477
|
+
errMsg = `${actualErr.message}${errMsg ? '\n' + errMsg : ''}`;
|
|
469
478
|
}
|
|
470
479
|
if ((0, errors_1.isErrorType)(err, errors_1.errors.ProxyRequestError)) {
|
|
471
480
|
actualErr = err.getActualError();
|
|
@@ -476,8 +485,9 @@ function buildHandler(app, method, path, spec, driver, isSessCmd) {
|
|
|
476
485
|
[httpStatus, httpResBody] = (0, errors_1.getResponseForW3CError)(actualErr);
|
|
477
486
|
}
|
|
478
487
|
// decode the response, which is either a string or json
|
|
479
|
-
if (
|
|
480
|
-
res
|
|
488
|
+
if (typeof httpResBody === 'string') {
|
|
489
|
+
res
|
|
490
|
+
.status(httpStatus)
|
|
481
491
|
.setHeader('content-type', 'application/json; charset=utf-8')
|
|
482
492
|
.send(httpResBody);
|
|
483
493
|
}
|
|
@@ -489,8 +499,9 @@ function buildHandler(app, method, path, spec, driver, isSessCmd) {
|
|
|
489
499
|
}
|
|
490
500
|
};
|
|
491
501
|
// add the method to the app
|
|
492
|
-
app[method.toLowerCase()](
|
|
493
|
-
|
|
502
|
+
const registerRoute = app[method.toLowerCase()].bind(app);
|
|
503
|
+
registerRoute(path, (req, res) => {
|
|
504
|
+
void asyncHandler(req, res);
|
|
494
505
|
});
|
|
495
506
|
}
|
|
496
507
|
async function doJwpProxy(driver, req, res) {
|
|
@@ -507,9 +518,10 @@ async function doJwpProxy(driver, req, res) {
|
|
|
507
518
|
if ((0, errors_1.isErrorType)(err, errors_1.errors.ProxyRequestError)) {
|
|
508
519
|
throw err;
|
|
509
520
|
}
|
|
510
|
-
|
|
521
|
+
if (err instanceof Error) {
|
|
511
522
|
throw new Error(`Could not proxy. Proxy error: ${err.message}`, { cause: err });
|
|
512
523
|
}
|
|
524
|
+
throw new Error(`Could not proxy. Proxy error: ${String(err)}`, { cause: err });
|
|
513
525
|
}
|
|
514
526
|
}
|
|
515
527
|
//# sourceMappingURL=protocol.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../lib/protocol/protocol.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../lib/protocol/protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -837,7 +837,7 @@ export declare const METHOD_MAP: {
|
|
|
837
837
|
};
|
|
838
838
|
};
|
|
839
839
|
};
|
|
840
|
-
export declare const ALL_COMMANDS:
|
|
840
|
+
export declare const ALL_COMMANDS: string[];
|
|
841
841
|
/**
|
|
842
842
|
* Resolve a WebDriver URL path and HTTP method to a driver command name from {@link METHOD_MAP}.
|
|
843
843
|
* @param endpoint - Request URL or path (may include base path)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../lib/protocol/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA0B,UAAU,EAAY,MAAM,eAAe,CAAC;AAUlF;;;;GAIG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../lib/protocol/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA0B,UAAU,EAAY,MAAM,eAAe,CAAC;AAUlF;;;;GAIG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkjBe,CAAC;AAGvC,eAAO,MAAM,YAAY,UAEwB,CAAC;AAElD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,UAAU,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,GAAG,SAAS,CA4CpB;AAOD,eAAO,MAAM,sBAAsB,UAAsD,CAAC"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.NO_SESSION_ID_COMMANDS = exports.ALL_COMMANDS = exports.METHOD_MAP = void 0;
|
|
7
4
|
exports.routeToCommandName = routeToCommandName;
|
|
8
|
-
const
|
|
5
|
+
const support_1 = require("@appium/support");
|
|
9
6
|
const constants_1 = require("../constants");
|
|
10
7
|
const path_to_regexp_1 = require("path-to-regexp");
|
|
11
8
|
const lru_cache_1 = require("lru-cache");
|
|
@@ -247,8 +244,8 @@ exports.METHOD_MAP = {
|
|
|
247
244
|
'shrinkToFit',
|
|
248
245
|
'pageRanges',
|
|
249
246
|
],
|
|
250
|
-
}
|
|
251
|
-
}
|
|
247
|
+
},
|
|
248
|
+
},
|
|
252
249
|
},
|
|
253
250
|
// #endregion
|
|
254
251
|
// #region JSONWP
|
|
@@ -276,7 +273,7 @@ exports.METHOD_MAP = {
|
|
|
276
273
|
GET: { command: 'getOrientation' },
|
|
277
274
|
POST: {
|
|
278
275
|
command: 'setOrientation',
|
|
279
|
-
payloadParams: { required: ['orientation'] }
|
|
276
|
+
payloadParams: { required: ['orientation'] },
|
|
280
277
|
},
|
|
281
278
|
},
|
|
282
279
|
'/session/:sessionId/location': {
|
|
@@ -318,7 +315,7 @@ exports.METHOD_MAP = {
|
|
|
318
315
|
GET: { command: 'getAppiumSessions' },
|
|
319
316
|
},
|
|
320
317
|
'/session/:sessionId/appium/capabilities': {
|
|
321
|
-
GET: { command: 'getAppiumSessionCapabilities' }
|
|
318
|
+
GET: { command: 'getAppiumSessionCapabilities' },
|
|
322
319
|
},
|
|
323
320
|
'/session/:sessionId/appium/settings': {
|
|
324
321
|
POST: { command: 'updateSettings', payloadParams: { required: ['settings'] } },
|
|
@@ -576,9 +573,9 @@ exports.METHOD_MAP = {
|
|
|
576
573
|
// #endregion
|
|
577
574
|
};
|
|
578
575
|
// driver command names
|
|
579
|
-
exports.ALL_COMMANDS =
|
|
580
|
-
.
|
|
581
|
-
.
|
|
576
|
+
exports.ALL_COMMANDS = Object.values(exports.METHOD_MAP)
|
|
577
|
+
.flatMap((methods) => Object.values(methods))
|
|
578
|
+
.flatMap((m) => (m.command ? [m.command] : []));
|
|
582
579
|
/**
|
|
583
580
|
* Resolve a WebDriver URL path and HTTP method to a driver command name from {@link METHOD_MAP}.
|
|
584
581
|
* @param endpoint - Request URL or path (may include base path)
|
|
@@ -588,9 +585,9 @@ exports.ALL_COMMANDS = lodash_1.default.flatMap(lodash_1.default.values(exports.
|
|
|
588
585
|
function routeToCommandName(endpoint, method, basePath) {
|
|
589
586
|
const resolvedBasePath = basePath ?? constants_1.DEFAULT_BASE_PATH;
|
|
590
587
|
let normalizedEndpoint = resolvedBasePath
|
|
591
|
-
? endpoint.replace(new RegExp(`^${
|
|
588
|
+
? endpoint.replace(new RegExp(`^${support_1.util.escapeRegExp(resolvedBasePath)}`), '')
|
|
592
589
|
: endpoint;
|
|
593
|
-
normalizedEndpoint = `${
|
|
590
|
+
normalizedEndpoint = `${normalizedEndpoint.startsWith('/') ? '' : '/'}${normalizedEndpoint}`;
|
|
594
591
|
let normalizedPathname;
|
|
595
592
|
try {
|
|
596
593
|
// we could use any prefix there as we anyway need to only extract the pathname
|
|
@@ -600,7 +597,7 @@ function routeToCommandName(endpoint, method, basePath) {
|
|
|
600
597
|
const msg = err instanceof Error ? err.message : String(err);
|
|
601
598
|
throw new Error(`'${endpoint}' cannot be translated to a command name: ${msg}`, { cause: err });
|
|
602
599
|
}
|
|
603
|
-
const normalizedMethod =
|
|
600
|
+
const normalizedMethod = (method ?? '').toUpperCase();
|
|
604
601
|
const cacheKey = toCommandNameCacheKey(normalizedPathname, normalizedMethod);
|
|
605
602
|
const cached = COMMAND_NAMES_CACHE.get(cacheKey);
|
|
606
603
|
if (cached !== undefined) {
|
|
@@ -611,12 +608,14 @@ function routeToCommandName(endpoint, method, basePath) {
|
|
|
611
608
|
possiblePathnames.push(`/session/any-session-id${normalizedPathname}`);
|
|
612
609
|
}
|
|
613
610
|
possiblePathnames.push(normalizedPathname);
|
|
614
|
-
for (const [routePath, routeSpec] of
|
|
611
|
+
for (const [routePath, routeSpec] of Object.entries(exports.METHOD_MAP)) {
|
|
615
612
|
const routeMatcher = (0, path_to_regexp_1.match)(routePath);
|
|
616
613
|
if (possiblePathnames.some((pp) => routeMatcher(pp))) {
|
|
617
614
|
const spec = routeSpec;
|
|
618
|
-
const commandForAnyMethod = () =>
|
|
619
|
-
const commandName = normalizedMethod
|
|
615
|
+
const commandForAnyMethod = () => Object.keys(spec).map((key) => spec[key]?.command)[0];
|
|
616
|
+
const commandName = normalizedMethod
|
|
617
|
+
? spec[normalizedMethod]?.command
|
|
618
|
+
: commandForAnyMethod();
|
|
620
619
|
if (commandName) {
|
|
621
620
|
COMMAND_NAMES_CACHE.set(cacheKey, commandName);
|
|
622
621
|
return commandName;
|