@appium/base-driver 8.7.2 → 9.0.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 +11 -163
- package/build/lib/basedriver/capabilities.d.ts.map +1 -1
- package/build/lib/basedriver/capabilities.js +354 -236
- package/build/lib/basedriver/capabilities.js.map +1 -1
- package/build/lib/basedriver/commands/event.d.ts +7 -6
- package/build/lib/basedriver/commands/event.d.ts.map +1 -1
- package/build/lib/basedriver/commands/event.js +55 -35
- package/build/lib/basedriver/commands/event.js.map +1 -1
- package/build/lib/basedriver/commands/execute.d.ts +7 -6
- package/build/lib/basedriver/commands/execute.d.ts.map +1 -1
- package/build/lib/basedriver/commands/execute.js +66 -58
- package/build/lib/basedriver/commands/execute.js.map +1 -1
- package/build/lib/basedriver/commands/find.d.ts +9 -7
- package/build/lib/basedriver/commands/find.d.ts.map +1 -1
- package/build/lib/basedriver/commands/find.js +102 -54
- package/build/lib/basedriver/commands/find.js.map +1 -1
- package/build/lib/basedriver/commands/index.d.ts +3 -7
- package/build/lib/basedriver/commands/index.d.ts.map +1 -1
- package/build/lib/basedriver/commands/index.js +30 -33
- package/build/lib/basedriver/commands/index.js.map +1 -1
- package/build/lib/basedriver/commands/log.d.ts +8 -9
- package/build/lib/basedriver/commands/log.d.ts.map +1 -1
- package/build/lib/basedriver/commands/log.js +54 -38
- package/build/lib/basedriver/commands/log.js.map +1 -1
- package/build/lib/basedriver/commands/session.d.ts +7 -6
- package/build/lib/basedriver/commands/session.d.ts.map +1 -1
- package/build/lib/basedriver/commands/session.js +46 -39
- package/build/lib/basedriver/commands/session.js.map +1 -1
- package/build/lib/basedriver/commands/settings.d.ts +7 -7
- package/build/lib/basedriver/commands/settings.d.ts.map +1 -1
- package/build/lib/basedriver/commands/settings.js +35 -28
- package/build/lib/basedriver/commands/settings.js.map +1 -1
- package/build/lib/basedriver/commands/timeout.d.ts +7 -5
- package/build/lib/basedriver/commands/timeout.d.ts.map +1 -1
- package/build/lib/basedriver/commands/timeout.js +144 -162
- package/build/lib/basedriver/commands/timeout.js.map +1 -1
- package/build/lib/basedriver/core.d.ts +6 -157
- package/build/lib/basedriver/core.d.ts.map +1 -1
- package/build/lib/basedriver/core.js +361 -230
- package/build/lib/basedriver/core.js.map +1 -1
- package/build/lib/basedriver/desired-caps.js +80 -110
- package/build/lib/basedriver/desired-caps.js.map +1 -1
- package/build/lib/basedriver/device-settings.js +57 -62
- package/build/lib/basedriver/device-settings.js.map +1 -1
- package/build/lib/basedriver/driver.d.ts +21 -267
- package/build/lib/basedriver/driver.d.ts.map +1 -1
- package/build/lib/basedriver/driver.js +362 -258
- package/build/lib/basedriver/driver.js.map +1 -1
- package/build/lib/basedriver/helpers.js +500 -495
- package/build/lib/basedriver/helpers.js.map +1 -1
- package/build/lib/basedriver/logger.d.ts +1 -1
- package/build/lib/basedriver/logger.d.ts.map +1 -1
- package/build/lib/basedriver/logger.js +5 -15
- package/build/lib/basedriver/logger.js.map +1 -1
- package/build/lib/constants.js +14 -14
- package/build/lib/constants.js.map +1 -1
- package/build/lib/express/crash.js +8 -15
- package/build/lib/express/crash.js.map +1 -1
- package/build/lib/express/express-logging.js +49 -59
- package/build/lib/express/express-logging.js.map +1 -1
- package/build/lib/express/idempotency.js +125 -177
- package/build/lib/express/idempotency.js.map +1 -1
- package/build/lib/express/logger.d.ts +1 -1
- package/build/lib/express/logger.d.ts.map +1 -1
- package/build/lib/express/logger.js +5 -15
- package/build/lib/express/logger.js.map +1 -1
- package/build/lib/express/middleware.js +82 -107
- package/build/lib/express/middleware.js.map +1 -1
- package/build/lib/express/server.d.ts +17 -5
- package/build/lib/express/server.d.ts.map +1 -1
- package/build/lib/express/server.js +259 -224
- package/build/lib/express/server.js.map +1 -1
- package/build/lib/express/static.js +64 -81
- package/build/lib/express/static.js.map +1 -1
- package/build/lib/express/websocket.js +115 -87
- package/build/lib/express/websocket.js.map +1 -1
- package/build/lib/helpers/capabilities.d.ts +1 -59
- package/build/lib/helpers/capabilities.d.ts.map +1 -1
- package/build/lib/helpers/capabilities.js +72 -69
- package/build/lib/helpers/capabilities.js.map +1 -1
- package/build/lib/index.js +64 -180
- package/build/lib/index.js.map +1 -1
- package/build/lib/jsonwp-proxy/protocol-converter.js +215 -227
- package/build/lib/jsonwp-proxy/protocol-converter.js.map +1 -1
- package/build/lib/jsonwp-proxy/proxy.d.ts.map +1 -1
- package/build/lib/jsonwp-proxy/proxy.js +355 -393
- package/build/lib/jsonwp-proxy/proxy.js.map +1 -1
- package/build/lib/jsonwp-status/status.js +119 -130
- package/build/lib/jsonwp-status/status.js.map +1 -1
- package/build/lib/protocol/errors.d.ts +135 -32
- package/build/lib/protocol/errors.d.ts.map +1 -1
- package/build/lib/protocol/errors.js +871 -919
- package/build/lib/protocol/errors.js.map +1 -1
- package/build/lib/protocol/helpers.js +37 -37
- package/build/lib/protocol/helpers.js.map +1 -1
- package/build/lib/protocol/index.js +22 -109
- package/build/lib/protocol/index.js.map +1 -1
- package/build/lib/protocol/protocol.js +394 -350
- package/build/lib/protocol/protocol.js.map +1 -1
- package/build/lib/protocol/routes.d.ts +1238 -4
- package/build/lib/protocol/routes.d.ts.map +1 -1
- package/build/lib/protocol/routes.js +964 -1327
- package/build/lib/protocol/routes.js.map +1 -1
- package/build/lib/protocol/validators.js +32 -39
- package/build/lib/protocol/validators.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/lib/basedriver/capabilities.js +80 -39
- package/lib/basedriver/commands/event.js +10 -5
- package/lib/basedriver/commands/execute.js +14 -9
- package/lib/basedriver/commands/find.js +18 -12
- package/lib/basedriver/commands/index.js +21 -16
- package/lib/basedriver/commands/log.js +24 -18
- package/lib/basedriver/commands/session.js +10 -5
- package/lib/basedriver/commands/settings.js +9 -6
- package/lib/basedriver/commands/timeout.js +10 -4
- package/lib/basedriver/core.js +2 -3
- package/lib/basedriver/driver.js +29 -18
- package/lib/express/server.js +6 -3
- package/lib/protocol/errors.js +155 -44
- package/lib/protocol/routes.js +11 -7
- package/package.json +14 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.js","names":["APPIUM_VENDOR_PREFIX","APPIUM_OPTS_CAP","PREFIXED_APPIUM_OPTS_CAP","mergeCaps","primary","secondary","result","name","value","_","toPairs","isUndefined","errors","InvalidArgumentError","JSON","stringify","validateCaps","caps","constraints","opts","skipPresenceConstraint","isPlainObject","mapValues","constraint","omit","presence","allowEmpty","validationErrors","validator","validate","pickBy","util","hasValue","fullMessages","message","attribute","reasons","reason","push","join","STANDARD_CAPS","Object","freeze","Set","STANDARD_CAPS_LOWER","map","cap","toLowerCase","isStandardCap","has","stripAppiumPrefixes","prefixedCaps","nonPrefixedCaps","partition","keys","String","startsWith","strippedCaps","pick","badPrefixedCaps","prefixedCap","strippedCapName","substring","length","isNil","log","warn","findNonPrefixedCaps","alwaysMatch","firstMatch","chain","reduce","unprefixedCaps","filter","includes","uniq","parseCaps","shouldValidateCaps","requiredCaps","allFirstMatchCaps","isArray","isEmpty","strippedRequiredCaps","strippedAllFirstMatchCaps","filteredConstraints","omitBy","key","validatedFirstMatchCaps","compact","firstMatchCaps","e","matchedCaps","err","processCapabilities","w3cCaps","promoteAppiumOptions","originalCaps","appiumOptions","cloneDeep","SessionNotCreatedError","strippedAppiumOptions","overwrittenKeys","intersection"],"sources":["../../../lib/basedriver/capabilities.js"],"sourcesContent":["// @ts-check\n\nimport _ from 'lodash';\nimport {validator} from './desired-caps';\nimport {util} from '@appium/support';\nimport log from './logger';\nimport {errors} from '../protocol/errors';\n\nconst APPIUM_VENDOR_PREFIX = 'appium:';\nconst APPIUM_OPTS_CAP = 'options';\nconst PREFIXED_APPIUM_OPTS_CAP = `${APPIUM_VENDOR_PREFIX}${APPIUM_OPTS_CAP}`;\n\n/**\n * Takes primary caps object and merges it into a secondary caps object.\n * @template {Constraints} [T={}]\n * @template {Constraints} [U={}]\n * @param {Capabilities<T>} [primary]\n * @param {Capabilities<U>} [secondary]\n * @returns {import('type-fest').Merge<Capabilities<T>, Capabilities<U>>}\n * @see https://www.w3.org/TR/webdriver/#dfn-merging-capabilities)\n */\nfunction mergeCaps(primary = {}, secondary = {}) {\n let result = /** @type {import('type-fest').Merge<Capabilities<T>, Capabilities<U>>} */ ({\n ...primary,\n });\n\n for (let [name, value] of /** @type {[keyof typeof secondary, any]} */ (_.toPairs(secondary))) {\n // Overwriting is not allowed. Primary and secondary must have different properties (w3c rule 4.4)\n if (!_.isUndefined(primary[name])) {\n throw new errors.InvalidArgumentError(\n `property '${name}' should not exist on both primary (${JSON.stringify(\n primary\n )}) and secondary (${JSON.stringify(secondary)}) object`\n );\n }\n result[/** @type {keyof typeof result} */ (name)] = value;\n }\n\n return result;\n}\n\n// Validates caps against a set of constraints\n/**\n * @template {Constraints} [C={}]\n * @param {Capabilities<C>} caps\n * @param {C} [constraints]\n * @param {ValidateCapsOpts} [opts]\n * @returns {Capabilities<C>}\n */\nfunction validateCaps(caps, constraints = /** @type {C} */ ({}), opts = {}) {\n let {skipPresenceConstraint} = opts;\n\n if (!_.isPlainObject(caps)) {\n throw new errors.InvalidArgumentError(`must be a JSON object`);\n }\n\n // Remove the 'presence' constraint if we're not checking for it\n constraints = /** @type {C} */ (\n _.mapValues(\n constraints,\n skipPresenceConstraint\n ? /** @param {Constraint} constraint */\n (constraint) => _.omit(constraint, 'presence')\n : /** @param {Constraint} constraint */\n (constraint) => {\n if (constraint.presence === true) {\n return {..._.omit(constraint, 'presence'), presence: {allowEmpty: false}};\n }\n return constraint;\n }\n )\n );\n\n const validationErrors = validator.validate(_.pickBy(caps, util.hasValue), constraints, {\n fullMessages: false,\n });\n\n if (validationErrors) {\n let message = [];\n for (let [attribute, reasons] of _.toPairs(validationErrors)) {\n for (let reason of reasons) {\n message.push(`'${attribute}' ${reason}`);\n }\n }\n throw new errors.InvalidArgumentError(message.join('; '));\n }\n\n // Return caps\n return caps;\n}\n\n/**\n * Standard, non-prefixed capabilities\n * @see https://www.w3.org/TR/webdriver/#dfn-table-of-standard-capabilities)\n */\nexport const STANDARD_CAPS = Object.freeze(\n new Set(\n /** @type {import('type-fest').StringKeyOf<import('@appium/types').StandardCapabilities>[]} */ ([\n 'browserName',\n 'browserVersion',\n 'platformName',\n 'acceptInsecureCerts',\n 'pageLoadStrategy',\n 'proxy',\n 'setWindowRect',\n 'timeouts',\n 'unhandledPromptBehavior',\n ])\n )\n);\n\nconst STANDARD_CAPS_LOWER = new Set([...STANDARD_CAPS].map((cap) => cap.toLowerCase()));\n\n/**\n * @param {string} cap\n * @returns {boolean}\n */\nfunction isStandardCap(cap) {\n return STANDARD_CAPS_LOWER.has(cap.toLowerCase());\n}\n\n/**\n * If the 'appium:' prefix was provided and it's a valid capability, strip out the prefix\n * @template {Constraints} [C={}]\n * @param {import('@appium/types').NSCapabilities<C>} caps\n * @see https://www.w3.org/TR/webdriver/#dfn-extension-capabilities\n * @internal\n * @returns {import('@appium/types').Capabilities<C>}\n */\nfunction stripAppiumPrefixes(caps) {\n // split into prefixed and non-prefixed.\n // non-prefixed should be standard caps at this point\n const [prefixedCaps, nonPrefixedCaps] = _.partition(_.keys(caps), (cap) =>\n String(cap).startsWith(APPIUM_VENDOR_PREFIX)\n );\n\n // initialize this with the k/v pairs of the non-prefixed caps\n let strippedCaps = /** @type {import('@appium/types').Capabilities<C>} */ (\n _.pick(caps, nonPrefixedCaps)\n );\n const badPrefixedCaps = [];\n\n // Strip out the 'appium:' prefix\n for (let prefixedCap of prefixedCaps) {\n const strippedCapName =\n /** @type {import('type-fest').StringKeyOf<import('@appium/types').Capabilities<C>>} */ (\n prefixedCap.substring(APPIUM_VENDOR_PREFIX.length)\n );\n\n // If it's standard capability that was prefixed, add it to an array of incorrectly prefixed capabilities\n if (isStandardCap(strippedCapName)) {\n badPrefixedCaps.push(strippedCapName);\n if (_.isNil(strippedCaps[strippedCapName])) {\n strippedCaps[strippedCapName] = caps[prefixedCap];\n } else {\n log.warn(\n `Ignoring capability '${prefixedCap}=${caps[prefixedCap]}' and ` +\n `using capability '${strippedCapName}=${strippedCaps[strippedCapName]}'`\n );\n }\n } else {\n strippedCaps[strippedCapName] = caps[prefixedCap];\n }\n }\n\n // If we found standard caps that were incorrectly prefixed, throw an exception (e.g.: don't accept 'appium:platformName', only accept just 'platformName')\n if (badPrefixedCaps.length > 0) {\n log.warn(\n `The capabilities ${JSON.stringify(\n badPrefixedCaps\n )} are standard capabilities and do not require \"appium:\" prefix`\n );\n }\n return strippedCaps;\n}\n\n/**\n * Get an array of all the unprefixed caps that are being used in 'alwaysMatch' and all of the 'firstMatch' object\n * @template {Constraints} [C={}]\n * @param {import('@appium/types').W3CCapabilities<C>} caps A capabilities object\n */\nfunction findNonPrefixedCaps({alwaysMatch = {}, firstMatch = []}) {\n return _.chain([alwaysMatch, ...firstMatch])\n .reduce(\n (unprefixedCaps, caps) => [\n ...unprefixedCaps,\n ...Object.keys(caps).filter((cap) => !cap.includes(':') && !isStandardCap(cap)),\n ],\n []\n )\n .uniq()\n .value();\n}\n\n/**\n * Parse capabilities\n * @template {Constraints} [C={}]\n * @param {import('@appium/types').W3CCapabilities<C>} caps\n * @param {C} [constraints]\n * @param {boolean} [shouldValidateCaps]\n * @see https://www.w3.org/TR/webdriver/#processing-capabilities\n */\nfunction parseCaps(caps, constraints = /** @type {C} */ ({}), shouldValidateCaps = true) {\n // If capabilities request is not an object, return error (#1.1)\n if (!_.isPlainObject(caps)) {\n throw new errors.InvalidArgumentError(\n 'The capabilities argument was not valid for the following reason(s): \"capabilities\" must be a JSON object.'\n );\n }\n\n // Let 'requiredCaps' be property named 'alwaysMatch' from capabilities request (#2)\n // and 'allFirstMatchCaps' be property named 'firstMatch' from capabilities request (#3)\n let {\n alwaysMatch: requiredCaps = {}, // If 'requiredCaps' is undefined, set it to an empty JSON object (#2.1)\n firstMatch: allFirstMatchCaps = [{}], // If 'firstMatch' is undefined set it to a singleton list with one empty object (#3.1)\n } = caps;\n\n // Reject 'firstMatch' argument if it's not an array (#3.2)\n if (!_.isArray(allFirstMatchCaps)) {\n throw new errors.InvalidArgumentError(\n 'The capabilities.firstMatch argument was not valid for the following reason(s): \"capabilities.firstMatch\" must be a JSON array or undefined'\n );\n }\n\n // If an empty array as provided, we'll be forgiving and make it an array of one empty object\n // In the future, reject 'firstMatch' argument if its array did not have one or more entries (#3.2)\n if (allFirstMatchCaps.length === 0) {\n log.warn(\n `The firstMatch array in the given capabilities has no entries. Adding an empty entry fo rnow, ` +\n `but it will require one or more entries as W3C spec.`\n );\n allFirstMatchCaps.push({});\n }\n\n // Check for non-prefixed, non-standard capabilities and log warnings if they are found\n let nonPrefixedCaps = findNonPrefixedCaps(caps);\n if (!_.isEmpty(nonPrefixedCaps)) {\n throw new errors.InvalidArgumentError(\n `All non-standard capabilities should have a vendor prefix. The following capabilities did not have one: ${nonPrefixedCaps}`\n );\n }\n\n // Strip out the 'appium:' prefix from all\n let strippedRequiredCaps = stripAppiumPrefixes(requiredCaps);\n let strippedAllFirstMatchCaps = allFirstMatchCaps.map(stripAppiumPrefixes);\n\n // Validate the requiredCaps. But don't validate 'presence' because if that constraint fails on 'alwaysMatch' it could still pass on one of the 'firstMatch' keys\n if (shouldValidateCaps) {\n strippedRequiredCaps = validateCaps(strippedRequiredCaps, constraints, {\n skipPresenceConstraint: true,\n });\n }\n // Remove the 'presence' constraint for any keys that are already present in 'requiredCaps'\n // since we know that this constraint has already passed\n const filteredConstraints = /** @type {C} */ (\n _.omitBy(constraints, (_, key) => key in strippedRequiredCaps)\n );\n\n // Validate all of the first match capabilities and return an array with only the valid caps (see spec #5)\n /** @type {string[]} */\n let validationErrors = [];\n let validatedFirstMatchCaps = _.compact(\n strippedAllFirstMatchCaps.map(\n /**\n * @param {import('@appium/types').Capabilities<C>} firstMatchCaps\n */\n (firstMatchCaps) => {\n try {\n // Validate firstMatch caps\n return shouldValidateCaps\n ? validateCaps(firstMatchCaps, filteredConstraints)\n : firstMatchCaps;\n } catch (e) {\n validationErrors.push(e.message);\n }\n }\n )\n );\n\n // Try to merge requiredCaps with first match capabilities, break once it finds its first match (see spec #6)\n let matchedCaps = null;\n for (let firstMatchCaps of validatedFirstMatchCaps) {\n try {\n matchedCaps = mergeCaps(strippedRequiredCaps, firstMatchCaps);\n if (matchedCaps) {\n break;\n }\n } catch (err) {\n log.warn(err.message);\n validationErrors.push(err.message);\n }\n }\n\n // Returns variables for testing purposes\n return {\n requiredCaps,\n allFirstMatchCaps,\n validatedFirstMatchCaps,\n matchedCaps,\n validationErrors,\n };\n}\n\n// Calls parseCaps and just returns the matchedCaps variable\n/**\n * @template {Constraints} C\n * @param {import('@appium/types').W3CCapabilities<C>} w3cCaps\n * @param {C} [constraints]\n * @param {boolean} [shouldValidateCaps]\n * @returns {import('@appium/types').Capabilities<C>}\n */\nfunction processCapabilities(\n w3cCaps,\n constraints = /** @type {C} */ ({}),\n shouldValidateCaps = true\n) {\n const {matchedCaps, validationErrors} = parseCaps(w3cCaps, constraints, shouldValidateCaps);\n\n // If we found an error throw an exception\n if (!util.hasValue(matchedCaps)) {\n if (_.isArray(w3cCaps.firstMatch) && w3cCaps.firstMatch.length > 1) {\n // If there was more than one 'firstMatch' cap, indicate that we couldn't find a matching capabilities set and show all the errors\n throw new errors.InvalidArgumentError(\n `Could not find matching capabilities from ${JSON.stringify(\n w3cCaps\n )}:\\n ${validationErrors.join('\\n')}`\n );\n } else {\n // Otherwise, just show the singular error message\n throw new errors.InvalidArgumentError(validationErrors[0]);\n }\n }\n\n return /** @type {Capabilities<C>} */ (matchedCaps ?? {});\n}\n\n/**\n * Return a copy of a capabilities object which has taken everything within the 'options'\n * capability and promoted it to the top level. Note that this function is assumed to be run after\n * all vendor prefixes have already been stripped from the top level. So we are dealing with e.g.\n * 'options' and not 'appium:options' at this point. Any prefixes _inside_ the 'options' capability\n * will themselves be stripped. This is designed as an internal function, not one to operate on\n * user-constructed capabilities.\n *\n * @param {object} originalCaps - the capabilities to analyze and promote from 'options'\n * @return {object!} - the capabilities with 'options' promoted if necessary\n */\nfunction promoteAppiumOptions(originalCaps) {\n const appiumOptions = originalCaps[APPIUM_OPTS_CAP];\n if (!appiumOptions) {\n return originalCaps;\n }\n\n let caps = _.cloneDeep(originalCaps);\n if (!_.isPlainObject(appiumOptions)) {\n throw new errors.SessionNotCreatedError(`The ${APPIUM_OPTS_CAP} capability must be an object`);\n }\n\n // first get rid of any prefixes inside appium:options\n const strippedAppiumOptions = stripAppiumPrefixes(appiumOptions);\n // warn if we are going to overwrite any keys on the base caps object\n const overwrittenKeys = _.intersection(Object.keys(caps), Object.keys(strippedAppiumOptions));\n if (overwrittenKeys.length > 0) {\n log.warn(\n `Found capabilities inside ${PREFIXED_APPIUM_OPTS_CAP} that will overwrite ` +\n `capabilities at the top level: ${JSON.stringify(overwrittenKeys)}`\n );\n }\n\n // now just apply them to the main caps object\n caps = {...caps, ...strippedAppiumOptions};\n\n // and remove all traces of the options cap\n delete caps[APPIUM_OPTS_CAP];\n return caps;\n}\n\nexport {\n parseCaps,\n processCapabilities,\n validateCaps,\n mergeCaps,\n APPIUM_VENDOR_PREFIX,\n APPIUM_OPTS_CAP,\n findNonPrefixedCaps,\n isStandardCap,\n stripAppiumPrefixes,\n promoteAppiumOptions,\n PREFIXED_APPIUM_OPTS_CAP,\n};\n\n/**\n * @typedef {import('@appium/types').Constraints} Constraints\n * @typedef {import('@appium/types').Constraint} Constraint\n * @typedef {import('@appium/types').StringRecord} StringRecord\n * @typedef {import('@appium/types').BaseDriverCapConstraints} BaseDriverCapConstraints\n */\n\n/**\n * @typedef ValidateCapsOpts\n * @property {boolean} [skipPresenceConstraint] - if true, skip the presence constraint\n */\n\n/**\n * @template {Constraints} [C=BaseDriverCapConstraints]\n * @template {StringRecord|void} [Extra=void]\n * @typedef {import('@appium/types').NSCapabilities<C, Extra>} NSCapabilities\n */\n\n/**\n * @template {Constraints} [C=BaseDriverCapConstraints]\n * @template {StringRecord|void} [Extra=void]\n * @typedef {import('@appium/types').Capabilities<C, Extra>} Capabilities\n */\n\n/**\n * @template {Constraints} [C=BaseDriverCapConstraints]\n * @template {StringRecord|void} [Extra=void]\n * @typedef {import('@appium/types').W3CCapabilities<C, Extra>} W3CCapabilities\n */\n"],"mappings":";;;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,oBAAoB,GAAG,SAA7B;;AACA,MAAMC,eAAe,GAAG,SAAxB;;AACA,MAAMC,wBAAwB,GAAI,GAAEF,oBAAqB,GAAEC,eAAgB,EAA3E;;;AAWA,SAASE,SAAT,CAAmBC,OAAO,GAAG,EAA7B,EAAiCC,SAAS,GAAG,EAA7C,EAAiD;EAC/C,IAAIC,MAAM,GAA+E,EACvF,GAAGF;EADoF,CAAzF;;EAIA,KAAK,IAAI,CAACG,IAAD,EAAOC,KAAP,CAAT,IAAwEC,eAAA,CAAEC,OAAF,CAAUL,SAAV,CAAxE,EAA+F;IAE7F,IAAI,CAACI,eAAA,CAAEE,WAAF,CAAcP,OAAO,CAACG,IAAD,CAArB,CAAL,EAAmC;MACjC,MAAM,IAAIK,cAAA,CAAOC,oBAAX,CACH,aAAYN,IAAK,uCAAsCO,IAAI,CAACC,SAAL,CACtDX,OADsD,CAEtD,oBAAmBU,IAAI,CAACC,SAAL,CAAeV,SAAf,CAA0B,UAH3C,CAAN;IAKD;;IACDC,MAAM,CAAqCC,IAArC,CAAN,GAAoDC,KAApD;EACD;;EAED,OAAOF,MAAP;AACD;;AAUD,SAASU,YAAT,CAAsBC,IAAtB,EAA4BC,WAAW,GAAqB,EAA5D,EAAiEC,IAAI,GAAG,EAAxE,EAA4E;EAC1E,IAAI;IAACC;EAAD,IAA2BD,IAA/B;;EAEA,IAAI,CAACV,eAAA,CAAEY,aAAF,CAAgBJ,IAAhB,CAAL,EAA4B;IAC1B,MAAM,IAAIL,cAAA,CAAOC,oBAAX,CAAiC,uBAAjC,CAAN;EACD;;EAGDK,WAAW,GACTT,eAAA,CAAEa,SAAF,CACEJ,WADF,EAEEE,sBAAsB,GAEjBG,UAAD,IAAgBd,eAAA,CAAEe,IAAF,CAAOD,UAAP,EAAmB,UAAnB,CAFE,GAIjBA,UAAD,IAAgB;IACd,IAAIA,UAAU,CAACE,QAAX,KAAwB,IAA5B,EAAkC;MAChC,OAAO,EAAC,GAAGhB,eAAA,CAAEe,IAAF,CAAOD,UAAP,EAAmB,UAAnB,CAAJ;QAAoCE,QAAQ,EAAE;UAACC,UAAU,EAAE;QAAb;MAA9C,CAAP;IACD;;IACD,OAAOH,UAAP;EACD,CAXP,CADF;;EAgBA,MAAMI,gBAAgB,GAAGC,sBAAA,CAAUC,QAAV,CAAmBpB,eAAA,CAAEqB,MAAF,CAASb,IAAT,EAAec,aAAA,CAAKC,QAApB,CAAnB,EAAkDd,WAAlD,EAA+D;IACtFe,YAAY,EAAE;EADwE,CAA/D,CAAzB;;EAIA,IAAIN,gBAAJ,EAAsB;IACpB,IAAIO,OAAO,GAAG,EAAd;;IACA,KAAK,IAAI,CAACC,SAAD,EAAYC,OAAZ,CAAT,IAAiC3B,eAAA,CAAEC,OAAF,CAAUiB,gBAAV,CAAjC,EAA8D;MAC5D,KAAK,IAAIU,MAAT,IAAmBD,OAAnB,EAA4B;QAC1BF,OAAO,CAACI,IAAR,CAAc,IAAGH,SAAU,KAAIE,MAAO,EAAtC;MACD;IACF;;IACD,MAAM,IAAIzB,cAAA,CAAOC,oBAAX,CAAgCqB,OAAO,CAACK,IAAR,CAAa,IAAb,CAAhC,CAAN;EACD;;EAGD,OAAOtB,IAAP;AACD;;AAMM,MAAMuB,aAAa,GAAGC,MAAM,CAACC,MAAP,CAC3B,IAAIC,GAAJ,CACkG,CAC9F,aAD8F,EAE9F,gBAF8F,EAG9F,cAH8F,EAI9F,qBAJ8F,EAK9F,kBAL8F,EAM9F,OAN8F,EAO9F,eAP8F,EAQ9F,UAR8F,EAS9F,yBAT8F,CADlG,CAD2B,CAAtB;;AAgBP,MAAMC,mBAAmB,GAAG,IAAID,GAAJ,CAAQ,CAAC,GAAGH,aAAJ,EAAmBK,GAAnB,CAAwBC,GAAD,IAASA,GAAG,CAACC,WAAJ,EAAhC,CAAR,CAA5B;;AAMA,SAASC,aAAT,CAAuBF,GAAvB,EAA4B;EAC1B,OAAOF,mBAAmB,CAACK,GAApB,CAAwBH,GAAG,CAACC,WAAJ,EAAxB,CAAP;AACD;;AAUD,SAASG,mBAAT,CAA6BjC,IAA7B,EAAmC;EAGjC,MAAM,CAACkC,YAAD,EAAeC,eAAf,IAAkC3C,eAAA,CAAE4C,SAAF,CAAY5C,eAAA,CAAE6C,IAAF,CAAOrC,IAAP,CAAZ,EAA2B6B,GAAD,IAChES,MAAM,CAACT,GAAD,CAAN,CAAYU,UAAZ,CAAuBxD,oBAAvB,CADsC,CAAxC;;EAKA,IAAIyD,YAAY,GACdhD,eAAA,CAAEiD,IAAF,CAAOzC,IAAP,EAAamC,eAAb,CADF;;EAGA,MAAMO,eAAe,GAAG,EAAxB;;EAGA,KAAK,IAAIC,WAAT,IAAwBT,YAAxB,EAAsC;IACpC,MAAMU,eAAe,GAEjBD,WAAW,CAACE,SAAZ,CAAsB9D,oBAAoB,CAAC+D,MAA3C,CAFJ;;IAMA,IAAIf,aAAa,CAACa,eAAD,CAAjB,EAAoC;MAClCF,eAAe,CAACrB,IAAhB,CAAqBuB,eAArB;;MACA,IAAIpD,eAAA,CAAEuD,KAAF,CAAQP,YAAY,CAACI,eAAD,CAApB,CAAJ,EAA4C;QAC1CJ,YAAY,CAACI,eAAD,CAAZ,GAAgC5C,IAAI,CAAC2C,WAAD,CAApC;MACD,CAFD,MAEO;QACLK,eAAA,CAAIC,IAAJ,CACG,wBAAuBN,WAAY,IAAG3C,IAAI,CAAC2C,WAAD,CAAc,QAAzD,GACG,qBAAoBC,eAAgB,IAAGJ,YAAY,CAACI,eAAD,CAAkB,GAF1E;MAID;IACF,CAVD,MAUO;MACLJ,YAAY,CAACI,eAAD,CAAZ,GAAgC5C,IAAI,CAAC2C,WAAD,CAApC;IACD;EACF;;EAGD,IAAID,eAAe,CAACI,MAAhB,GAAyB,CAA7B,EAAgC;IAC9BE,eAAA,CAAIC,IAAJ,CACG,oBAAmBpD,IAAI,CAACC,SAAL,CAClB4C,eADkB,CAElB,gEAHJ;EAKD;;EACD,OAAOF,YAAP;AACD;;AAOD,SAASU,mBAAT,CAA6B;EAACC,WAAW,GAAG,EAAf;EAAmBC,UAAU,GAAG;AAAhC,CAA7B,EAAkE;EAChE,OAAO5D,eAAA,CAAE6D,KAAF,CAAQ,CAACF,WAAD,EAAc,GAAGC,UAAjB,CAAR,EACJE,MADI,CAEH,CAACC,cAAD,EAAiBvD,IAAjB,KAA0B,CACxB,GAAGuD,cADqB,EAExB,GAAG/B,MAAM,CAACa,IAAP,CAAYrC,IAAZ,EAAkBwD,MAAlB,CAA0B3B,GAAD,IAAS,CAACA,GAAG,CAAC4B,QAAJ,CAAa,GAAb,CAAD,IAAsB,CAAC1B,aAAa,CAACF,GAAD,CAAtE,CAFqB,CAFvB,EAMH,EANG,EAQJ6B,IARI,GASJnE,KATI,EAAP;AAUD;;AAUD,SAASoE,SAAT,CAAmB3D,IAAnB,EAAyBC,WAAW,GAAqB,EAAzD,EAA8D2D,kBAAkB,GAAG,IAAnF,EAAyF;EAEvF,IAAI,CAACpE,eAAA,CAAEY,aAAF,CAAgBJ,IAAhB,CAAL,EAA4B;IAC1B,MAAM,IAAIL,cAAA,CAAOC,oBAAX,CACJ,4GADI,CAAN;EAGD;;EAID,IAAI;IACFuD,WAAW,EAAEU,YAAY,GAAG,EAD1B;IAEFT,UAAU,EAAEU,iBAAiB,GAAG,CAAC,EAAD;EAF9B,IAGA9D,IAHJ;;EAMA,IAAI,CAACR,eAAA,CAAEuE,OAAF,CAAUD,iBAAV,CAAL,EAAmC;IACjC,MAAM,IAAInE,cAAA,CAAOC,oBAAX,CACJ,6IADI,CAAN;EAGD;;EAID,IAAIkE,iBAAiB,CAAChB,MAAlB,KAA6B,CAAjC,EAAoC;IAClCE,eAAA,CAAIC,IAAJ,CACG,gGAAD,GACG,sDAFL;;IAIAa,iBAAiB,CAACzC,IAAlB,CAAuB,EAAvB;EACD;;EAGD,IAAIc,eAAe,GAAGe,mBAAmB,CAAClD,IAAD,CAAzC;;EACA,IAAI,CAACR,eAAA,CAAEwE,OAAF,CAAU7B,eAAV,CAAL,EAAiC;IAC/B,MAAM,IAAIxC,cAAA,CAAOC,oBAAX,CACH,2GAA0GuC,eAAgB,EADvH,CAAN;EAGD;;EAGD,IAAI8B,oBAAoB,GAAGhC,mBAAmB,CAAC4B,YAAD,CAA9C;EACA,IAAIK,yBAAyB,GAAGJ,iBAAiB,CAAClC,GAAlB,CAAsBK,mBAAtB,CAAhC;;EAGA,IAAI2B,kBAAJ,EAAwB;IACtBK,oBAAoB,GAAGlE,YAAY,CAACkE,oBAAD,EAAuBhE,WAAvB,EAAoC;MACrEE,sBAAsB,EAAE;IAD6C,CAApC,CAAnC;EAGD;;EAGD,MAAMgE,mBAAmB,GACvB3E,eAAA,CAAE4E,MAAF,CAASnE,WAAT,EAAsB,CAACT,CAAD,EAAI6E,GAAJ,KAAYA,GAAG,IAAIJ,oBAAzC,CADF;;EAMA,IAAIvD,gBAAgB,GAAG,EAAvB;;EACA,IAAI4D,uBAAuB,GAAG9E,eAAA,CAAE+E,OAAF,CAC5BL,yBAAyB,CAACtC,GAA1B,CAIG4C,cAAD,IAAoB;IAClB,IAAI;MAEF,OAAOZ,kBAAkB,GACrB7D,YAAY,CAACyE,cAAD,EAAiBL,mBAAjB,CADS,GAErBK,cAFJ;IAGD,CALD,CAKE,OAAOC,CAAP,EAAU;MACV/D,gBAAgB,CAACW,IAAjB,CAAsBoD,CAAC,CAACxD,OAAxB;IACD;EACF,CAbH,CAD4B,CAA9B;;EAmBA,IAAIyD,WAAW,GAAG,IAAlB;;EACA,KAAK,IAAIF,cAAT,IAA2BF,uBAA3B,EAAoD;IAClD,IAAI;MACFI,WAAW,GAAGxF,SAAS,CAAC+E,oBAAD,EAAuBO,cAAvB,CAAvB;;MACA,IAAIE,WAAJ,EAAiB;QACf;MACD;IACF,CALD,CAKE,OAAOC,GAAP,EAAY;MACZ3B,eAAA,CAAIC,IAAJ,CAAS0B,GAAG,CAAC1D,OAAb;;MACAP,gBAAgB,CAACW,IAAjB,CAAsBsD,GAAG,CAAC1D,OAA1B;IACD;EACF;;EAGD,OAAO;IACL4C,YADK;IAELC,iBAFK;IAGLQ,uBAHK;IAILI,WAJK;IAKLhE;EALK,CAAP;AAOD;;AAUD,SAASkE,mBAAT,CACEC,OADF,EAEE5E,WAAW,GAAqB,EAFlC,EAGE2D,kBAAkB,GAAG,IAHvB,EAIE;EACA,MAAM;IAACc,WAAD;IAAchE;EAAd,IAAkCiD,SAAS,CAACkB,OAAD,EAAU5E,WAAV,EAAuB2D,kBAAvB,CAAjD;;EAGA,IAAI,CAAC9C,aAAA,CAAKC,QAAL,CAAc2D,WAAd,CAAL,EAAiC;IAC/B,IAAIlF,eAAA,CAAEuE,OAAF,CAAUc,OAAO,CAACzB,UAAlB,KAAiCyB,OAAO,CAACzB,UAAR,CAAmBN,MAAnB,GAA4B,CAAjE,EAAoE;MAElE,MAAM,IAAInD,cAAA,CAAOC,oBAAX,CACH,6CAA4CC,IAAI,CAACC,SAAL,CAC3C+E,OAD2C,CAE3C,OAAMnE,gBAAgB,CAACY,IAAjB,CAAsB,IAAtB,CAA4B,EAHhC,CAAN;IAKD,CAPD,MAOO;MAEL,MAAM,IAAI3B,cAAA,CAAOC,oBAAX,CAAgCc,gBAAgB,CAAC,CAAD,CAAhD,CAAN;IACD;EACF;;EAED,OAAuCgE,WAAW,IAAI,EAAtD;AACD;;AAaD,SAASI,oBAAT,CAA8BC,YAA9B,EAA4C;EAC1C,MAAMC,aAAa,GAAGD,YAAY,CAAC/F,eAAD,CAAlC;;EACA,IAAI,CAACgG,aAAL,EAAoB;IAClB,OAAOD,YAAP;EACD;;EAED,IAAI/E,IAAI,GAAGR,eAAA,CAAEyF,SAAF,CAAYF,YAAZ,CAAX;;EACA,IAAI,CAACvF,eAAA,CAAEY,aAAF,CAAgB4E,aAAhB,CAAL,EAAqC;IACnC,MAAM,IAAIrF,cAAA,CAAOuF,sBAAX,CAAmC,OAAMlG,eAAgB,+BAAzD,CAAN;EACD;;EAGD,MAAMmG,qBAAqB,GAAGlD,mBAAmB,CAAC+C,aAAD,CAAjD;;EAEA,MAAMI,eAAe,GAAG5F,eAAA,CAAE6F,YAAF,CAAe7D,MAAM,CAACa,IAAP,CAAYrC,IAAZ,CAAf,EAAkCwB,MAAM,CAACa,IAAP,CAAY8C,qBAAZ,CAAlC,CAAxB;;EACA,IAAIC,eAAe,CAACtC,MAAhB,GAAyB,CAA7B,EAAgC;IAC9BE,eAAA,CAAIC,IAAJ,CACG,6BAA4BhE,wBAAyB,uBAAtD,GACG,kCAAiCY,IAAI,CAACC,SAAL,CAAesF,eAAf,CAAgC,EAFtE;EAID;;EAGDpF,IAAI,GAAG,EAAC,GAAGA,IAAJ;IAAU,GAAGmF;EAAb,CAAP;EAGA,OAAOnF,IAAI,CAAChB,eAAD,CAAX;EACA,OAAOgB,IAAP;AACD"}
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../lib/basedriver/capabilities.js"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @
|
|
3
|
-
* @
|
|
2
|
+
* @template {Constraints} C
|
|
3
|
+
* @param {import('./timeout').TimeoutBase<C>} Base
|
|
4
|
+
* @returns {EventBase<C>}
|
|
4
5
|
*/
|
|
5
|
-
export function EventMixin(Base: TimeoutBase): EventBase
|
|
6
|
-
export type
|
|
7
|
-
export type
|
|
8
|
-
export type EventBase = import('../driver').BaseDriverBase<import('@appium/types').
|
|
6
|
+
export function EventMixin<C extends Readonly<Record<string, import("@appium/types").Constraint>>>(Base: import("./timeout").TimeoutBase<C>): EventBase<C>;
|
|
7
|
+
export type Constraints = import('@appium/types').Constraints;
|
|
8
|
+
export type IEventCommands = import('@appium/types').IEventCommands;
|
|
9
|
+
export type EventBase<C extends Readonly<Record<string, import("@appium/types").Constraint>>> = import('../driver').BaseDriverBase<C, import('@appium/types').ITimeoutCommands & IEventCommands>;
|
|
9
10
|
//# sourceMappingURL=event.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/event.js"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/event.js"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,2JA2CC;0BAGY,OAAO,eAAe,EAAE,WAAW;6BACnC,OAAO,eAAe,EAAE,cAAc;gGAKtC,OAAO,WAAW,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,eAAe,EAAE,gBAAgB,GAAG,cAAc,CAAC"}
|
|
@@ -1,40 +1,60 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
});
|
|
6
|
-
exports.EventMixin =
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.EventMixin = void 0;
|
|
7
|
+
/* eslint-disable require-await */
|
|
8
|
+
// @ts-check
|
|
9
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
10
|
+
/**
|
|
11
|
+
* @template {Constraints} C
|
|
12
|
+
* @param {import('./timeout').TimeoutBase<C>} Base
|
|
13
|
+
* @returns {EventBase<C>}
|
|
14
|
+
*/
|
|
14
15
|
function EventMixin(Base) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
16
|
+
/**
|
|
17
|
+
* @implements {IEventCommands}
|
|
18
|
+
*/
|
|
19
|
+
class EventCommands extends Base {
|
|
20
|
+
/**
|
|
21
|
+
* Log a user-defined event in the event log.
|
|
22
|
+
*
|
|
23
|
+
* @param {string} vendor - a vendor prefix for the user, to ensure namespace
|
|
24
|
+
* separation
|
|
25
|
+
* @param {string} event - the event name
|
|
26
|
+
*/
|
|
27
|
+
async logCustomEvent(vendor, event) {
|
|
28
|
+
this.logEvent(`${vendor}:${event}`);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Get the event log
|
|
32
|
+
* @param {string|string[]} [type] - the event type to filter with.
|
|
33
|
+
* It returns all events if the type is not provided or empty string/array.
|
|
34
|
+
* @returns {Promise<import('@appium/types').EventHistory|Record<string,number>>} - the event history log object
|
|
35
|
+
*/
|
|
36
|
+
async getLogEvents(type) {
|
|
37
|
+
if (lodash_1.default.isEmpty(type)) {
|
|
38
|
+
return this.eventHistory;
|
|
39
|
+
}
|
|
40
|
+
const typeList = lodash_1.default.castArray(type);
|
|
41
|
+
return lodash_1.default.reduce(this.eventHistory, (acc, eventTimes, eventType) => {
|
|
42
|
+
if (typeList.includes(eventType)) {
|
|
43
|
+
acc[eventType] = eventTimes;
|
|
44
|
+
}
|
|
45
|
+
return acc;
|
|
46
|
+
}, {});
|
|
30
47
|
}
|
|
31
|
-
|
|
32
|
-
return acc;
|
|
33
|
-
}, {});
|
|
34
48
|
}
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return EventCommands;
|
|
49
|
+
return EventCommands;
|
|
39
50
|
}
|
|
40
|
-
|
|
51
|
+
exports.EventMixin = EventMixin;
|
|
52
|
+
/**
|
|
53
|
+
* @typedef {import('@appium/types').Constraints} Constraints
|
|
54
|
+
* @typedef {import('@appium/types').IEventCommands} IEventCommands
|
|
55
|
+
*/
|
|
56
|
+
/**
|
|
57
|
+
* @template {Constraints} C
|
|
58
|
+
* @typedef {import('../driver').BaseDriverBase<C, import('@appium/types').ITimeoutCommands & IEventCommands>} EventBase
|
|
59
|
+
*/
|
|
60
|
+
//# sourceMappingURL=event.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.js","
|
|
1
|
+
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/event.js"],"names":[],"mappings":";;;;;;AAAA,kCAAkC;AAClC,YAAY;AACZ,oDAAuB;AAEvB;;;;GAIG;AACH,SAAgB,UAAU,CAAC,IAAI;IAC7B;;OAEG;IACH,MAAM,aAAc,SAAQ,IAAI;QAC9B;;;;;;WAMG;QACH,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK;YAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;QACtC,CAAC;QAED;;;;;WAKG;QACH,KAAK,CAAC,YAAY,CAAC,IAAI;YACrB,IAAI,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACnB,OAAO,IAAI,CAAC,YAAY,CAAC;aAC1B;YAED,MAAM,QAAQ,GAAG,gBAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAEnC,OAAO,gBAAC,CAAC,MAAM,CACb,IAAI,CAAC,YAAY,EACjB,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE;gBAC7B,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;oBAChC,GAAG,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;iBAC7B;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,EACD,EAAE,CACH,CAAC;QACJ,CAAC;KACF;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AA3CD,gCA2CC;AAED;;;GAGG;AAEH;;;GAGG"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @
|
|
3
|
-
* @
|
|
2
|
+
* @template {Constraints} C
|
|
3
|
+
* @param {import('./session').SessionBase<C>} Base
|
|
4
|
+
* @returns {ExecuteBase<C>}
|
|
4
5
|
*/
|
|
5
|
-
export function ExecuteMixin(Base: SessionBase): ExecuteBase
|
|
6
|
-
export type IExecuteCommands = import('@appium/types').
|
|
6
|
+
export function ExecuteMixin<C extends Readonly<Record<string, import("@appium/types").Constraint>>>(Base: import("./session").SessionBase<C>): ExecuteBase<C>;
|
|
7
|
+
export type IExecuteCommands = import('@appium/types').IExecuteCommands;
|
|
7
8
|
export type Driver = import('@appium/types').Driver;
|
|
8
9
|
export type DriverClass = import('@appium/types').DriverClass;
|
|
9
|
-
export type
|
|
10
|
-
export type ExecuteBase = import('../driver').BaseDriverBase<import('@appium/types').
|
|
10
|
+
export type Constraints = import('@appium/types').Constraints;
|
|
11
|
+
export type ExecuteBase<C extends Readonly<Record<string, import("@appium/types").Constraint>>> = import('../driver').BaseDriverBase<C, import('@appium/types').ITimeoutCommands & import('@appium/types').IEventCommands & import('@appium/types').IFindCommands & import('@appium/types').ILogCommands<C> & import('@appium/types').ISettingsCommands & import('@appium/types').ISessionCommands & IExecuteCommands>;
|
|
11
12
|
//# sourceMappingURL=execute.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/execute.js"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/execute.js"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,+JAiDC;+BAGY,OAAO,eAAe,EAAE,gBAAgB;qBACxC,OAAO,eAAe,EAAE,MAAM;0BAC9B,OAAO,eAAe,EAAE,WAAW;0BACnC,OAAO,eAAe,EAAE,WAAW;kGAKnC,OAAO,WAAW,EAAE,cAAc,CAAC,CAAC,EAAE,OAAO,eAAe,EAAE,gBAAgB,GAAG,OAAO,eAAe,EAAE,cAAc,GAAG,OAAO,eAAe,EAAE,aAAa,GAAG,OAAO,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,eAAe,EAAE,iBAAiB,GAAG,OAAO,eAAe,EAAE,gBAAgB,GAAG,gBAAgB,CAAC"}
|
|
@@ -1,62 +1,70 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
});
|
|
6
|
-
exports.ExecuteMixin =
|
|
7
|
-
|
|
8
|
-
require("
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
-
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ExecuteMixin = void 0;
|
|
7
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
const protocol_1 = require("../../protocol");
|
|
9
|
+
/**
|
|
10
|
+
* @template {Constraints} C
|
|
11
|
+
* @param {import('./session').SessionBase<C>} Base
|
|
12
|
+
* @returns {ExecuteBase<C>}
|
|
13
|
+
*/
|
|
16
14
|
function ExecuteMixin(Base) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
15
|
+
/**
|
|
16
|
+
* @implements {IExecuteCommands}
|
|
17
|
+
*/
|
|
18
|
+
class ExecuteCommands extends Base {
|
|
19
|
+
/**
|
|
20
|
+
* @param {string} script
|
|
21
|
+
* @param {[Record<string, any>]|[]} protoArgs
|
|
22
|
+
*/
|
|
23
|
+
async executeMethod(script, protoArgs) {
|
|
24
|
+
var _a, _b;
|
|
25
|
+
// the w3c protocol will give us an array of arguments to apply to a javascript function.
|
|
26
|
+
// that's not what we're doing. we're going to look for a JS object as the first arg, so we
|
|
27
|
+
// can perform validation on it. we'll ignore everything else.
|
|
28
|
+
if (!protoArgs || !lodash_1.default.isArray(protoArgs) || protoArgs.length > 1) {
|
|
29
|
+
throw new protocol_1.errors.InvalidArgumentError(`Did not get correct format of arguments for execute method. Expected zero or one ` +
|
|
30
|
+
`arguments to execute script and instead received: ${JSON.stringify(protoArgs)}`);
|
|
31
|
+
}
|
|
32
|
+
let args = protoArgs[0] ?? {};
|
|
33
|
+
if (!lodash_1.default.isPlainObject(args)) {
|
|
34
|
+
throw new protocol_1.errors.InvalidArgumentError(`Did not receive an appropriate execute method parameters object. It needs to be ` +
|
|
35
|
+
`deserializable as a plain JS object`);
|
|
36
|
+
}
|
|
37
|
+
const Driver = /** @type {DriverClass} */ (this.constructor);
|
|
38
|
+
const commandMetadata = { ...Driver.executeMethodMap?.[script] };
|
|
39
|
+
if (!commandMetadata.command) {
|
|
40
|
+
const availableScripts = lodash_1.default.keys(Driver.executeMethodMap);
|
|
41
|
+
throw new protocol_1.errors.UnsupportedOperationError(`Unsupported execute method '${script}'. Available methods ` +
|
|
42
|
+
`are: ${availableScripts.join(', ')}`);
|
|
43
|
+
}
|
|
44
|
+
let argsToApply = [];
|
|
45
|
+
if (!commandMetadata.params) {
|
|
46
|
+
commandMetadata.params = { required: [], optional: [] };
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
(_a = commandMetadata.params).required ?? (_a.required = []);
|
|
50
|
+
(_b = commandMetadata.params).optional ?? (_b.optional = []);
|
|
51
|
+
(0, protocol_1.checkParams)(commandMetadata.params, args, null);
|
|
52
|
+
}
|
|
53
|
+
argsToApply = (0, protocol_1.makeArgs)({}, args, commandMetadata.params, null);
|
|
54
|
+
return await this[commandMetadata.command](...argsToApply);
|
|
55
|
+
}
|
|
56
56
|
}
|
|
57
|
-
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
return ExecuteCommands;
|
|
57
|
+
return ExecuteCommands;
|
|
61
58
|
}
|
|
62
|
-
|
|
59
|
+
exports.ExecuteMixin = ExecuteMixin;
|
|
60
|
+
/**
|
|
61
|
+
* @typedef {import('@appium/types').IExecuteCommands} IExecuteCommands
|
|
62
|
+
* @typedef {import('@appium/types').Driver} Driver
|
|
63
|
+
* @typedef {import('@appium/types').DriverClass} DriverClass
|
|
64
|
+
* @typedef {import('@appium/types').Constraints} Constraints
|
|
65
|
+
*/
|
|
66
|
+
/**
|
|
67
|
+
* @template {Constraints} C
|
|
68
|
+
* @typedef {import('../driver').BaseDriverBase<C, import('@appium/types').ITimeoutCommands & import('@appium/types').IEventCommands & import('@appium/types').IFindCommands & import('@appium/types').ILogCommands<C> & import('@appium/types').ISettingsCommands & import('@appium/types').ISessionCommands & IExecuteCommands>} ExecuteBase
|
|
69
|
+
*/
|
|
70
|
+
//# sourceMappingURL=execute.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../../lib/basedriver/commands/execute.js"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,6CAA6D;AAE7D;;;;GAIG;AACH,SAAgB,YAAY,CAAC,IAAI;IAC/B;;OAEG;IACH,MAAM,eAAgB,SAAQ,IAAI;QAChC;;;WAGG;QACH,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS;;YACnC,yFAAyF;YACzF,2FAA2F;YAC3F,8DAA8D;YAC9D,IAAI,CAAC,SAAS,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/D,MAAM,IAAI,iBAAM,CAAC,oBAAoB,CACnC,mFAAmF;oBACjF,qDAAqD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CACnF,CAAC;aACH;YACD,IAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,gBAAC,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;gBAC1B,MAAM,IAAI,iBAAM,CAAC,oBAAoB,CACnC,kFAAkF;oBAChF,qCAAqC,CACxC,CAAC;aACH;YAED,MAAM,MAAM,GAAG,0BAA0B,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7D,MAAM,eAAe,GAAG,EAAC,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,EAAC,CAAC;YAC/D,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE;gBAC5B,MAAM,gBAAgB,GAAG,gBAAC,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBACzD,MAAM,IAAI,iBAAM,CAAC,yBAAyB,CACxC,+BAA+B,MAAM,uBAAuB;oBAC1D,QAAQ,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxC,CAAC;aACH;YACD,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;gBAC3B,eAAe,CAAC,MAAM,GAAG,EAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAC,CAAC;aACvD;iBAAM;gBACL,MAAA,eAAe,CAAC,MAAM,EAAC,QAAQ,QAAR,QAAQ,GAAK,EAAE,EAAC;gBACvC,MAAA,eAAe,CAAC,MAAM,EAAC,QAAQ,QAAR,QAAQ,GAAK,EAAE,EAAC;gBACvC,IAAA,sBAAW,EAAC,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;aACjD;YACD,WAAW,GAAG,IAAA,mBAAQ,EAAC,EAAE,EAAE,IAAI,EAAE,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC/D,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;QAC7D,CAAC;KACF;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAjDD,oCAiDC;AAED;;;;;GAKG;AAEH;;;GAGG"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* @param {EventBase} Base
|
|
4
|
-
* @returns {FindBase}
|
|
2
|
+
* @template {Constraints} C
|
|
3
|
+
* @param {import('./event').EventBase<C>} Base
|
|
4
|
+
* @returns {FindBase<C>}
|
|
5
5
|
*/
|
|
6
|
-
export function FindMixin(Base: EventBase): FindBase
|
|
6
|
+
export function FindMixin<C extends Readonly<Record<string, import("@appium/types").Constraint>>>(Base: import("./event").EventBase<C>): FindBase<C>;
|
|
7
7
|
export type Element = import('@appium/types').Element;
|
|
8
|
-
export type
|
|
9
|
-
export type
|
|
10
|
-
export type
|
|
8
|
+
export type Constraints = import('@appium/types').Constraints;
|
|
9
|
+
export type IFindCommands = import('@appium/types').IFindCommands;
|
|
10
|
+
export type ITimeoutCommands = import('@appium/types').ITimeoutCommands;
|
|
11
|
+
export type IEventCommands = import('@appium/types').IEventCommands;
|
|
12
|
+
export type FindBase<C extends Readonly<Record<string, import("@appium/types").Constraint>>> = import('../driver').BaseDriverBase<C, ITimeoutCommands & IEventCommands & IFindCommands>;
|
|
11
13
|
//# sourceMappingURL=find.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/find.js"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,
|
|
1
|
+
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/find.js"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,qJAqFC;sBAGY,OAAO,eAAe,EAAE,OAAO;0BAC/B,OAAO,eAAe,EAAE,WAAW;4BACnC,OAAO,eAAe,EAAE,aAAa;+BACrC,OAAO,eAAe,EAAE,gBAAgB;6BACxC,OAAO,eAAe,EAAE,cAAc;+FAItC,OAAO,WAAW,EAAE,cAAc,CAAC,CAAC,EAAE,gBAAgB,GAAG,cAAc,GAAG,aAAa,CAAC"}
|