@appium/types 0.5.0 → 0.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/{action.d.ts → lib/action.d.ts} +0 -0
- package/build/lib/action.d.ts.map +1 -0
- package/build/{action.js → lib/action.js} +1 -0
- package/build/lib/action.js.map +1 -0
- package/build/{appium-config.d.ts → lib/appium-config.d.ts} +39 -1
- package/build/lib/appium-config.d.ts.map +1 -0
- package/build/{appium-config.js → lib/appium-config.js} +1 -0
- package/build/lib/appium-config.js.map +1 -0
- package/build/{capabilities.d.ts → lib/capabilities.d.ts} +0 -0
- package/build/lib/capabilities.d.ts.map +1 -0
- package/build/{capabilities.js → lib/capabilities.js} +1 -0
- package/build/lib/capabilities.js.map +1 -0
- package/build/{config.d.ts → lib/config.d.ts} +0 -0
- package/build/lib/config.d.ts.map +1 -0
- package/build/{config.js → lib/config.js} +1 -0
- package/build/lib/config.js.map +1 -0
- package/build/lib/constraints.d.ts +69 -0
- package/build/lib/constraints.d.ts.map +1 -0
- package/build/{constraints.js → lib/constraints.js} +9 -2
- package/build/lib/constraints.js.map +1 -0
- package/build/{driver.d.ts → lib/driver.d.ts} +69 -38
- package/build/lib/driver.d.ts.map +1 -0
- package/build/{driver.js → lib/driver.js} +1 -0
- package/build/lib/driver.js.map +1 -0
- package/build/{index.d.ts → lib/index.d.ts} +27 -22
- package/build/lib/index.d.ts.map +1 -0
- package/build/{index.js → lib/index.js} +7 -4
- package/build/lib/index.js.map +1 -0
- package/build/{plugin.d.ts → lib/plugin.d.ts} +6 -3
- package/build/lib/plugin.d.ts.map +1 -0
- package/build/{plugin.js → lib/plugin.js} +1 -0
- package/build/lib/plugin.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -0
- package/index.js +1 -0
- package/lib/appium-config.ts +39 -1
- package/lib/{constraints.ts → constraints.js} +8 -3
- package/lib/driver.ts +91 -51
- package/lib/index.ts +31 -24
- package/lib/plugin.ts +7 -3
- package/package.json +23 -18
- package/build/action.d.ts.map +0 -1
- package/build/appium-config.d.ts.map +0 -1
- package/build/capabilities.d.ts.map +0 -1
- package/build/config.d.ts.map +0 -1
- package/build/constraints.d.ts +0 -53
- package/build/constraints.d.ts.map +0 -1
- package/build/driver.d.ts.map +0 -1
- package/build/index.d.ts.map +0 -1
- package/build/plugin.d.ts.map +0 -1
|
@@ -14,10 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
|
|
17
|
+
exports.BASE_DESIRED_CAP_CONSTRAINTS = void 0;
|
|
18
18
|
__exportStar(require("./action"), exports);
|
|
19
|
-
__exportStar(require("./
|
|
19
|
+
__exportStar(require("./appium-config"), exports);
|
|
20
20
|
__exportStar(require("./capabilities"), exports);
|
|
21
|
-
__exportStar(require("./constraints"), exports);
|
|
22
21
|
__exportStar(require("./config"), exports);
|
|
23
|
-
|
|
22
|
+
var constraints_1 = require("./constraints");
|
|
23
|
+
Object.defineProperty(exports, "BASE_DESIRED_CAP_CONSTRAINTS", { enumerable: true, get: function () { return constraints_1.BASE_DESIRED_CAP_CONSTRAINTS; } });
|
|
24
|
+
__exportStar(require("./driver"), exports);
|
|
25
|
+
__exportStar(require("./plugin"), exports);
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAQA,2CAAyB;AACzB,kDAAgC;AAChC,iDAA+B;AAC/B,2CAAyB;AACzB,6CAA2D;AAAnD,2HAAA,4BAA4B,OAAA;AAEpC,2CAAyB;AACzB,2CAAyB"}
|
|
@@ -3,7 +3,7 @@ import { Driver, ExternalDriver } from './driver';
|
|
|
3
3
|
/**
|
|
4
4
|
* The interface describing the constructor and static properties of a Plugin.
|
|
5
5
|
*/
|
|
6
|
-
export interface PluginStatic<
|
|
6
|
+
export interface PluginStatic<P extends Plugin> {
|
|
7
7
|
/**
|
|
8
8
|
* Allows a plugin to modify the Appium server instance.
|
|
9
9
|
*/
|
|
@@ -19,7 +19,7 @@ export interface PluginStatic<T extends Plugin = Plugin> {
|
|
|
19
19
|
* }
|
|
20
20
|
* }
|
|
21
21
|
*/
|
|
22
|
-
newMethodMap?: MethodMap<
|
|
22
|
+
newMethodMap?: MethodMap<P>;
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* An instance of a "plugin" extension.
|
|
@@ -75,5 +75,8 @@ export declare type PluginCommand<TArgs = any> = (next: NextPluginCallback, driv
|
|
|
75
75
|
*
|
|
76
76
|
* The third parameter is the possible constructor signatures for the plugin class.
|
|
77
77
|
*/
|
|
78
|
-
export declare type PluginClass = Class<
|
|
78
|
+
export declare type PluginClass<P extends Plugin = Plugin> = Class<P, PluginStatic<P>, [
|
|
79
|
+
string,
|
|
80
|
+
Record<string, unknown>
|
|
81
|
+
]>;
|
|
79
82
|
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../lib/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,oBAAoB,EAAE,KAAK,EAAE,YAAY,EAAa,MAAM,GAAG,CAAC;AACnF,OAAO,EAAC,MAAM,EAAE,cAAc,EAAC,MAAM,UAAU,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,MAAM;IAC5C;;OAEG;IACH,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC;;;;;;;;;;OAUG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC;IACrB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B;;OAEG;IACH,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF;;;OAGG;IACH,MAAM,CAAC,EAAE,CACP,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAED;;;;;;;;;;;;;;;GAeG;AACH,oBAAY,kBAAkB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAErD;;GAEG;AACH,oBAAY,aAAa,CAAC,KAAK,GAAG,GAAG,IAAI,CACvC,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,cAAc,EACtB,GAAG,IAAI,EAAE,KAAK,EAAE,KACb,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB;;;;GAIG;AACH,oBAAY,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,KAAK,CACxD,CAAC,EACD,YAAY,CAAC,CAAC,CAAC,EACf;IAAC,MAAM;IAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAAC,CAClC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../lib/plugin.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../lib/action.ts","../lib/appium-config.ts","../../../node_modules/@types/node/ts4.8/assert.d.ts","../../../node_modules/@types/node/ts4.8/assert/strict.d.ts","../../../node_modules/@types/node/ts4.8/globals.d.ts","../../../node_modules/@types/node/ts4.8/async_hooks.d.ts","../../../node_modules/@types/node/ts4.8/buffer.d.ts","../../../node_modules/@types/node/ts4.8/child_process.d.ts","../../../node_modules/@types/node/ts4.8/cluster.d.ts","../../../node_modules/@types/node/ts4.8/console.d.ts","../../../node_modules/@types/node/ts4.8/constants.d.ts","../../../node_modules/@types/node/ts4.8/crypto.d.ts","../../../node_modules/@types/node/ts4.8/dgram.d.ts","../../../node_modules/@types/node/ts4.8/diagnostics_channel.d.ts","../../../node_modules/@types/node/ts4.8/dns.d.ts","../../../node_modules/@types/node/ts4.8/dns/promises.d.ts","../../../node_modules/@types/node/ts4.8/domain.d.ts","../../../node_modules/@types/node/ts4.8/dom-events.d.ts","../../../node_modules/@types/node/ts4.8/events.d.ts","../../../node_modules/@types/node/ts4.8/fs.d.ts","../../../node_modules/@types/node/ts4.8/fs/promises.d.ts","../../../node_modules/@types/node/ts4.8/http.d.ts","../../../node_modules/@types/node/ts4.8/http2.d.ts","../../../node_modules/@types/node/ts4.8/https.d.ts","../../../node_modules/@types/node/ts4.8/inspector.d.ts","../../../node_modules/@types/node/ts4.8/module.d.ts","../../../node_modules/@types/node/ts4.8/net.d.ts","../../../node_modules/@types/node/ts4.8/os.d.ts","../../../node_modules/@types/node/ts4.8/path.d.ts","../../../node_modules/@types/node/ts4.8/perf_hooks.d.ts","../../../node_modules/@types/node/ts4.8/process.d.ts","../../../node_modules/@types/node/ts4.8/punycode.d.ts","../../../node_modules/@types/node/ts4.8/querystring.d.ts","../../../node_modules/@types/node/ts4.8/readline.d.ts","../../../node_modules/@types/node/ts4.8/readline/promises.d.ts","../../../node_modules/@types/node/ts4.8/repl.d.ts","../../../node_modules/@types/node/ts4.8/stream.d.ts","../../../node_modules/@types/node/ts4.8/stream/promises.d.ts","../../../node_modules/@types/node/ts4.8/stream/consumers.d.ts","../../../node_modules/@types/node/ts4.8/stream/web.d.ts","../../../node_modules/@types/node/ts4.8/string_decoder.d.ts","../../../node_modules/@types/node/ts4.8/test.d.ts","../../../node_modules/@types/node/ts4.8/timers.d.ts","../../../node_modules/@types/node/ts4.8/timers/promises.d.ts","../../../node_modules/@types/node/ts4.8/tls.d.ts","../../../node_modules/@types/node/ts4.8/trace_events.d.ts","../../../node_modules/@types/node/ts4.8/tty.d.ts","../../../node_modules/@types/node/ts4.8/url.d.ts","../../../node_modules/@types/node/ts4.8/util.d.ts","../../../node_modules/@types/node/ts4.8/v8.d.ts","../../../node_modules/@types/node/ts4.8/vm.d.ts","../../../node_modules/@types/node/ts4.8/wasi.d.ts","../../../node_modules/@types/node/ts4.8/worker_threads.d.ts","../../../node_modules/@types/node/ts4.8/zlib.d.ts","../../../node_modules/@types/node/ts4.8/globals.global.d.ts","../../../node_modules/@types/node/ts4.8/index.d.ts","../../../node_modules/typescript/lib/typescript.d.ts","../../../node_modules/@wdio/types/build/compiler.d.ts","../../../node_modules/@wdio/types/build/frameworks.d.ts","../../../node_modules/@wdio/types/build/services.d.ts","../../../node_modules/@wdio/types/build/reporters.d.ts","../../../node_modules/@wdio/types/build/options.d.ts","../../../node_modules/@wdio/types/build/capabilities.d.ts","../../../node_modules/@wdio/types/build/clients.d.ts","../../../node_modules/@wdio/types/build/workers.d.ts","../../../node_modules/@wdio/types/build/index.d.ts","../../../node_modules/@types/range-parser/index.d.ts","../../../node_modules/@types/qs/index.d.ts","../../../node_modules/@types/express-serve-static-core/index.d.ts","../../../node_modules/@types/mime/mime.d.ts","../../../node_modules/@types/mime/index.d.ts","../../../node_modules/@types/serve-static/index.d.ts","../../../node_modules/@types/connect/index.d.ts","../../../node_modules/@types/body-parser/index.d.ts","../../../node_modules/@types/express/index.d.ts","../../../node_modules/@types/npmlog/index.d.ts","../../../node_modules/type-fest/source/primitive.d.ts","../../../node_modules/type-fest/source/typed-array.d.ts","../../../node_modules/type-fest/source/basic.d.ts","../../../node_modules/type-fest/source/observable-like.d.ts","../../../node_modules/type-fest/source/empty-object.d.ts","../../../node_modules/type-fest/source/simplify.d.ts","../../../node_modules/type-fest/source/internal.d.ts","../../../node_modules/type-fest/source/except.d.ts","../../../node_modules/type-fest/source/writable.d.ts","../../../node_modules/type-fest/source/omit-index-signature.d.ts","../../../node_modules/type-fest/source/pick-index-signature.d.ts","../../../node_modules/type-fest/source/enforce-optional.d.ts","../../../node_modules/type-fest/source/merge.d.ts","../../../node_modules/type-fest/source/conditional-simplify.d.ts","../../../node_modules/type-fest/source/merge-deep.d.ts","../../../node_modules/type-fest/source/merge-exclusive.d.ts","../../../node_modules/type-fest/source/require-at-least-one.d.ts","../../../node_modules/type-fest/source/require-exactly-one.d.ts","../../../node_modules/type-fest/source/require-all-or-none.d.ts","../../../node_modules/type-fest/source/partial-deep.d.ts","../../../node_modules/type-fest/source/partial-on-undefined-deep.d.ts","../../../node_modules/type-fest/source/readonly-deep.d.ts","../../../node_modules/type-fest/source/literal-union.d.ts","../../../node_modules/type-fest/source/promisable.d.ts","../../../node_modules/type-fest/source/opaque.d.ts","../../../node_modules/type-fest/source/invariant-of.d.ts","../../../node_modules/type-fest/source/set-optional.d.ts","../../../node_modules/type-fest/source/set-required.d.ts","../../../node_modules/type-fest/source/set-non-nullable.d.ts","../../../node_modules/type-fest/source/value-of.d.ts","../../../node_modules/type-fest/source/async-return-type.d.ts","../../../node_modules/type-fest/source/conditional-keys.d.ts","../../../node_modules/type-fest/source/conditional-except.d.ts","../../../node_modules/type-fest/source/conditional-pick.d.ts","../../../node_modules/type-fest/source/conditional-pick-deep.d.ts","../../../node_modules/type-fest/source/union-to-intersection.d.ts","../../../node_modules/type-fest/source/stringified.d.ts","../../../node_modules/type-fest/source/fixed-length-array.d.ts","../../../node_modules/type-fest/source/multidimensional-array.d.ts","../../../node_modules/type-fest/source/multidimensional-readonly-array.d.ts","../../../node_modules/type-fest/source/iterable-element.d.ts","../../../node_modules/type-fest/source/entry.d.ts","../../../node_modules/type-fest/source/entries.d.ts","../../../node_modules/type-fest/source/set-return-type.d.ts","../../../node_modules/type-fest/source/asyncify.d.ts","../../../node_modules/type-fest/source/numeric.d.ts","../../../node_modules/type-fest/source/jsonify.d.ts","../../../node_modules/type-fest/source/jsonifiable.d.ts","../../../node_modules/type-fest/source/schema.d.ts","../../../node_modules/type-fest/source/literal-to-primitive.d.ts","../../../node_modules/type-fest/source/string-key-of.d.ts","../../../node_modules/type-fest/source/exact.d.ts","../../../node_modules/type-fest/source/readonly-tuple.d.ts","../../../node_modules/type-fest/source/optional-keys-of.d.ts","../../../node_modules/type-fest/source/has-optional-keys.d.ts","../../../node_modules/type-fest/source/required-keys-of.d.ts","../../../node_modules/type-fest/source/has-required-keys.d.ts","../../../node_modules/type-fest/source/spread.d.ts","../../../node_modules/type-fest/source/tuple-to-union.d.ts","../../../node_modules/type-fest/source/split-words.d.ts","../../../node_modules/type-fest/source/camel-case.d.ts","../../../node_modules/type-fest/source/camel-cased-properties.d.ts","../../../node_modules/type-fest/source/camel-cased-properties-deep.d.ts","../../../node_modules/type-fest/source/delimiter-case.d.ts","../../../node_modules/type-fest/source/kebab-case.d.ts","../../../node_modules/type-fest/source/delimiter-cased-properties.d.ts","../../../node_modules/type-fest/source/kebab-cased-properties.d.ts","../../../node_modules/type-fest/source/delimiter-cased-properties-deep.d.ts","../../../node_modules/type-fest/source/kebab-cased-properties-deep.d.ts","../../../node_modules/type-fest/source/pascal-case.d.ts","../../../node_modules/type-fest/source/pascal-cased-properties.d.ts","../../../node_modules/type-fest/source/pascal-cased-properties-deep.d.ts","../../../node_modules/type-fest/source/snake-case.d.ts","../../../node_modules/type-fest/source/snake-cased-properties.d.ts","../../../node_modules/type-fest/source/snake-cased-properties-deep.d.ts","../../../node_modules/type-fest/source/includes.d.ts","../../../node_modules/type-fest/source/screaming-snake-case.d.ts","../../../node_modules/type-fest/source/join.d.ts","../../../node_modules/type-fest/source/split.d.ts","../../../node_modules/type-fest/source/trim.d.ts","../../../node_modules/type-fest/source/replace.d.ts","../../../node_modules/type-fest/source/get.d.ts","../../../node_modules/type-fest/source/last-array-element.d.ts","../../../node_modules/type-fest/source/global-this.d.ts","../../../node_modules/type-fest/source/package-json.d.ts","../../../node_modules/type-fest/source/tsconfig-json.d.ts","../../../node_modules/type-fest/index.d.ts","../../../node_modules/@types/ws/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../schema/build/appium-config-schema.d.ts","../../schema/build/index.d.ts","../lib/config.ts","../lib/constraints.js","../lib/driver.ts","../lib/plugin.ts","../lib/index.ts","../lib/capabilities.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@types/sinon-chai/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts"],"fileInfos":[{"version":"f5c28122bee592cfaf5c72ed7bcc47f453b79778ffa6e301f45d21a0970719d4","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"cd483c056da900716879771893a3c9772b66c3c88f8943b4205aec738a94b1d0","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"c37f8a49593a0030eecb51bbfa270e709bec9d79a6cc3bb851ef348d4e6b26f8","affectsGlobalScope":true},{"version":"44570e5c7370e6d964c1148a0d8cc6bbc8f0f2b187d2d000cc22e4422628183d","signature":"e6523b06ba1c5656f413608986725594c813d3585aec3207675b49527edee8bc"},{"version":"55212d5667550dd57e3c3c5d779e84e8642351c865ff6abcdeb00094a34700a8","signature":"0c6d5743d4fed85c7cc17b1ff028f8fa46d478c78c666652b2ad9d0ae07137d3"},"7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"02873d070f9cb79f50833fbf4a9a27ac578a2edf8ddb8421eba1b37faba83bfb","affectsGlobalScope":true},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"c0db280fa6b09d7b8d6720a19a47f485956a41ee0e6914f1b704033eb69c6058","affectsGlobalScope":true},"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","dab86d9604fe40854ef3c0a6f9e8948873dc3509213418e5e457f410fd11200f","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","489532ff54b714f0e0939947a1c560e516d3ae93d51d639ab02e907a0e950114","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"816ad2e607a96de5bcac7d437f843f5afd8957f1fa5eefa6bba8e4ed7ca8fd84","affectsGlobalScope":true},"cec36af22f514322f870e81d30675c78df82ae8bf4863f5fd4e4424c040c678d","d903fafe96674bc0b2ac38a5be4a8fc07b14c2548d1cdb165a80ea24c44c0c54","5eec82ac21f84d83586c59a16b9b8502d34505d1393393556682fe7e7fde9ef2","04eb6578a588d6a46f50299b55f30e3a04ef27d0c5a46c57d8fcc211cd530faa","8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"d4ac44f01d42f541631c5fc88d0ed8efac29a3a3ad9a745d9fd58f8b61ed132e","7c013aa892414a7fdcfd861ae524a668eaa3ede8c7c0acafaf611948122c8d93","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"b3624aed92dab6da8484280d3cb3e2f4130ec3f4ef3f8201c95144ae9e898bb6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","3163f47436da41706c6e2b3c1511f3b7cce9f9f3905b2f3e01246c48b4ba7d14","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","223c37f62ce09a3d99e77498acdee7b2705a4ae14552fbdb4093600cd9164f3f",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","4c8525f256873c7ba3135338c647eaf0ca7115a1a2805ae2d0056629461186ce","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"f0900cd5d00fe1263ff41201fb8073dbeb984397e4af3b8002a5c207a30bdc33","affectsGlobalScope":true},{"version":"4c50342e1b65d3bee2ed4ab18f84842d5724ad11083bd666d8705dc7a6079d80","affectsGlobalScope":true},"06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","ec4bd1b200670fb567920db572d6701ed42a9641d09c4ff6869768c8f81b404c","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"da26af7362f53d122283bc69fed862b9a9fe27e01bc6a69d1d682e0e5a4df3e6","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"652ee9c5103e89102d87bc20d167a02a0e3e5e53665674466c8cfea8a9e418c7","3fa86a2c33804b6a4221dda3714a6a2f8a2f26983ea6c63d2bf6f2839fbb778a","a47b38aac630271c68667d717c865e4c98200bd90b4a8859d3f07460da09adec","46ab84953b0abb33ae9a42af24c97883e68f1080f084ffb9436181b3f147776c","d97f055b516d74e0c0bace388e6bbe3bc386a9599a1d1862ba8a669e892a1d2a","9175464b6d81e04a6c2b0db519671b8bf7e27e16d8e013e4865abd7136886fff","5f9e9eee4568d2fbef66f0118381003c07c43193dd18bc86f3141726a23a386e","f7966ad6831404160d87c57d0628ae90130b24f8936ee3760e11d4e87465b1a9","db412fc192357cd4bff3e93e79030ea404b7d2cf8c089d2fe9d53ba010f1a916","7bc97e823dd70d66e9640998837ca0aad3480b415035dbd2074e3a450166e221",{"version":"1153175167a3c48f04cea09400723d11107af1c13e2f0fc858347ef085417519","affectsGlobalScope":true},"16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc",{"version":"ae3fe461989bbd951344efc1f1fe932360ce7392e6126bdb225a82a1bbaf15ee","affectsGlobalScope":true},"5b9ecf7da4d71cf3832dbb8336150fa924631811f488ad4690c2dfec2b4fb1d7","951c85f75aac041dddbedfedf565886a7b494e29ec1532e2a9b4a6180560b50e","f47887b61c6cf2f48746980390d6cb5b8013518951d912cfb37fe748071942be","6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","afc559c1b93df37c25aef6b3dfa2d64325b0e112e887ee18bf7e6f4ec383fc90","15c88bfd1b8dc7231ff828ae8df5d955bae5ebca4cf2bcb417af5821e52299ae","df38da6685578ac3d0e4ce2d20f3d59462ee53959b8263d2532ec9cec48ae098","cd51ceafea7762ad639afb3ca5b68e1e4ffeaacaa402d7ef2cae17016e29e098","1b8357b3fef5be61b5de6d6a4805a534d68fe3e040c11f1944e27d4aec85936a","f1f0ab91eacf5fe45d4b9c0fc67b7510f490bd292505bc4baeba3bb43d17ec68",{"version":"4f24c2781b21b6cd65eede543669327d68a8cf0c6d9cf106a1146b164a7c8ef9","affectsGlobalScope":true},"86b484bcf6344a27a9ee19dd5cef1a5afbbd96aeb07708cc6d8b43d7dfa8466c","cb26f195564ee703a68161f88e57e33e6e76e630b999e582d0a4328435d7f84e","b8802916834c898cd65f25a0f4a1c2ebbab4206d03da809dc54c0e210a398edb","326da4aebf555d54b995854ff8f3432f63ba067be354fa16c6e1f50daa0667de","d274da8ba27079a593a7de4fbe82f3aab664724bf4f1b080e977f6e745e690e1","4502caaa3fff6c9766bfc145b1b586ef26d53e5f104271db046122b8eef57fd1","382f061a24f63ef8bfb1f7a748e1a2568ea62fb91ed1328901a6cf5ad129d61c","952c4a8d2338e19ef26c1c0758815b1de6c082a485f88368f5bece1e555f39d4","ce01848c6682d9e7653bfa653b28ca9294beeabb85cf99bcc6168f10c6e3f436","ef4c9ef3ec432ccbf6508f8aa12fbb8b7f4d535c8b484258a3888476de2c6c36","dee75c873b20a13839a8ce9ea9d32696682c6db4b1e9f4fb6bc431ed31b0fb8a","f981ffdbd651f67db134479a5352dac96648ca195f981284e79dc0a1dbc53fd5","865f3db83300a1303349cc49ed80943775a858e0596e7e5a052cc65ac03b10bb","a1c85a61ff2b66291676ab84ae03c1b1ff7139ffde1942173f6aee8dc4ee357b","a24c4fe21d5b13a9ecbbb39b5e22f5d4c6fe5feebb074865ba2de273381a73ae","48a9a38d31f33ba5a969cc7028907691e01c26d5341c558b051d27ef302602e9","2169cdcb2e85ec18274590018fc1a12b8fe02708813692d9a1531695c17d3198","9392e1e62ee32e9b9334fa9bf93c27be2d7227ded895a984532cb155dc776f95","da2aa652d2bf03cc042e2ff31e4194f4f18f042b8344dcb2568f761daaf7869f","03ed68319c97cd4ce8f1c4ded110d9b40b8a283c3242b9fe934ccfa834e45572","de2b56099545de410af72a7e430ead88894e43e4f959de29663d4d0ba464944d","eec9e706eef30b4f1c6ff674738d3fca572829b7fa1715f37742863dabb3d2f2","b0cefbc19466a38f5883079f0845babcb856637f7d4f3f594b746d39b74390f7","1e86d750ab0d4fbde7213aa28174f8838e38fe755bc75d8ab05795c58164082c","1f0ee5ddb64540632c6f9a5b63e242b06e49dd6472f3f5bd7dfeb96d12543e15","18b86125c67d99150f54225df07349ddd07acde086b55f3eeac1c34c81e424d8","2d3f23c577a913d0f396184f31998507e18c8712bc74303a433cf47f94fd7e07","4d397c276bd0d41f8a5a0d67a674d5cf3f79b79b0f4df13a0fbefdf0e88f0519","aa79b64f5b3690c66892f292e63dfe3e84eb678a886df86521f67c109d57a0c5","a692e092c3b9860c9554698d84baf308ba51fc8f32ddd6646e01a287810b16c6","bfe7df6fcf991120bbaceee4349879cb61cc1818ca7861fbeb325d9fbc72010d","0b9bcc98884f81d8adda2c5d2ebb0361c7a53af6713e72138c4457e6016ff708","1848ebe5252ccb5ca1ca4ff52114516bdbbc7512589d6d0839beeea768bfb400","31073e7d0e51f33b1456ff2ab7f06546c95e24e11c29d5b39a634bc51f86d914","fcc438e50c00c9e865d9c1777627d3fdc1e13a4078c996fb4b04e67e462648c8","d0f07efa072420758194c452edb3f04f8eabc01cd4b3884a23e7274d4e2a7b69","a90339d50728b60f761127fe75192e632aa07055712a377acd8d20bb5d61e80c","37569cc8f21262ca62ec9d3aa8eb5740f96e1f325fad3d6aa00a19403bd27b96","fa18c6fe108031717db1ada404c14dc75b8b38c54daa3bb3af4c4999861ca653","bb01ebb9b76c4eb319208a744c0d63a1fd9093c26b8a78aa3c661db3a22d4b22","efa00be58e65b88ea17c1eafd3efe3bc02ea403be1ee858f128ed79e7b880bd4","4f0781ec008bb24dc1923285d25d648ea48fb5a3c36d0786e2ee82eb00eff426","0aa5e0000438b420fa0222347d822c5699d24b5a188026ac364cadf1cc3d26f0","cd8aa48c26b3de057cfd76706c0cff88ace0f23f548b8dee974088497780e5ae","abf140fdc3db44c2cac9415426544d8c2a89e73f13f7838376b2b6d36d74a582","e79e530a8216ee171b4aca8fc7b99bd37f5e84555cba57dc3de4cd57580ff21a","f351eaa598ba2046e3078e5480a7533be7051e4db9212bb40f4eeb84279aa24d","11958f2fce49e1af7203482d72b410b1247724e35b7cce94ca72f994dc3d536b","4ce53edb8fb1d2f8b2f6814084b773cdf5846f49bf5a426fbe4029327bda95bf","1edc9192dfc277c60b92525cdfa1980e1bfd161ae77286c96777d10db36be73c","0a0bf0cb43af5e0ac1703b48325ebc18ad86f6bf796bdbe96a429c0e95ca4486","75a7db3b7ddf0ca49651629bb665e0294fda8d19ba04fddc8a14d32bb35eb248","eb31477c87de3309cbe4e9984fa74a052f31581edb89103f8590f01874b4e271","587ce54f0e8ad1eea0c9174d6f274fb859648cebb2b8535c7adb3975aee74c21","1502a23e43fd7e9976a83195dc4eaf54acaff044687e0988a3bd4f19fc26b02b","dfdd3da3c5aab7f4ef3078d833bd3cef0ae65f7e358a008476e59aef6cc1d708","329ba46b4412a5e240cd8276e0b9e4c7d7676df651d790413e3541f1007704c6","7b7f39411329342a28ea19a4ca3aa4c7f7d888c9f01a411b05e4126280026ea6","7f89aebd8a6aa9ff7dfc72d12352478f1db227e2d79d5b5f9d8a59cf1b5c6b48","7d936e6db7d5d73c02471a8e872739f1ddbacf213c159e97d1d94cca315ea3f2","a86492d82baf906c071536e8de073e601eaa5deed138c2d9c42d471d72395d7e","789110b95e963c99ace4e9ad8b60901201ddc4cab59f32bde5458c1359a4d887","92eb8a98444729aa61be5e6e489602363d763da27d1bcfdf89356c1d360484da","074343ca788a38f572d8bdb0985956c0ad1a4d8ca8b6ef8c1a19a0e11cf09db0","d729b8b400507b9b51ff40d11e012379dbf0acd6e2f66bf596a3bc59444d9bf1","fc3ee92b81a6188a545cba5c15dc7c5d38ee0aaca3d8adc29af419d9bdb1fdb9","7d05ac926705ce932b6e41e5e273333b380d08b6a036ad0c8b01139586b34548","0bc13111c65ef1373c84c86c039416127579469828f0e01e03ffe00fb8fd6785","c00b402135ef36fb09d59519e34d03445fd6541c09e68b189abb64151f211b12","e08e58ac493a27b29ceee80da90bb31ec64341b520907d480df6244cdbec01f8","c0fe2b1135ca803efa203408c953e1e12645b8065e1a4c1336ad8bb11ea1101b","f3dedc92d06e0fdc43e76c2e1acca21759dd63d2572c9ec78a5188249965d944","25b1108faedaf2043a97a76218240b1b537459bbca5ae9e2207c236c40dcfdef","e0f80f311554c24650ae72fce0cbc585faca8d517f5398299be938abedd0b214","5a4d0b09de173c391d5d50064fc20166becc194248b1ce738e8a56af5196d28c","7ad042f7d744ccfbcf6398216203c7712f01359d6fd4348c8bd8df8164e98096","0e0b8353d6d7f7cc3344adbabf3866e64f2f2813b23477254ba51f69e8fdf0eb","008ed9b6d1fdb68f9d98e6fd238d99be77e738892c3a1c6cf8b7616de4f8b114","08f95bee0619072d2c49854434af3e53d94e7e762fc082b49cea59e77db06905","9e5c7463fc0259a38938c9afbdeda92e802cff87560277fd3e385ad24663f214","5b5d16c5838f462cadefa8378e3ab4bbf0fe6b179b4930268db9871d270ceae5","f734063a854b2402e89de037fd7289e31685248c0d8ca0f80ff4fe657364dd61","1c6c8bb7235d652ca8dac77bc6dfa09873c74dcc32530f4d928d01fd3f532d83","b4358a89fcd9c579f84a6c68e2ce44ca91b07e4db3f8f403c2b7a72c1a1e04b6","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","2483bc7046beeeb4cc644cdc84dc605ff97f755b859315e976966dcb1cb4321a","6101949945c252c5706da566e06b7be2a4cc48e73f25165add3c081d0dd37578",{"version":"aa1eb8399003f3dd38fde225ec9c4e49bf671c971598bb5f99c7b6e7b0d6f405","signature":"ea981e5e4adac0e3e490d5a3d87cfd46230efd3f2efb24e634d8446647d25bd8"},{"version":"e65eee519e2d9dfd0d1006545f59b028b77dc21492c7356f032763526e0571a3","signature":"f9cb4cfc6f4b95b4335623b7e96c0a4a28937fea67f096dd16fba7b93c66f352"},{"version":"c7c4ac7d31b359815f6eb56926cfb1ad8643a5f5df899412c64fb080d3cbb779","signature":"23bee2b61525798aed2078107cb5b805ff8261dd15e426f612e796b7a355c790"},{"version":"8d7261e08b5df7455f968e52b27744b96f7a2ea399f7deaa1a78665a27135535","signature":"b38920b1529ffa9f2da938cafed955af42a16d75ab76ee5156b063ee8bb83b8b"},{"version":"27855eb21392e83672500b08f21affcb1024b443dff794aca91bb65bc14a2131","signature":"0c2ba7f856ac58db45459c89b3d11c150a497505935bc699d495d8364ddca3ae"},{"version":"c2ca9c57f2d85113ac5acf2dc065b5b617b0ca2203484fae2d0c6e7f1b9bc50e","signature":"91e4f800625a670e65eaa0227a6d29a157c3b357ec49bdb13aaeac9c7084c65f"},{"version":"677646e2620795c98a539fb12fb531f10331c217cef1492132b2518f894fa92d","affectsGlobalScope":true},{"version":"b9734142a4b241cfb505be4a2eb0261d211647df7c73043f817f4fdd8d96c846","affectsGlobalScope":true},"f83b320cceccfc48457a818d18fc9a006ab18d0bdd727aa2c2e73dc1b4a45e98","354abbae08f72ea982b1a767a8908f1b3efe8bbe53955c64f9c0c249c8832d5d",{"version":"4f0ad52a7fbd6bfba88ec22ec719b6956a0fc647030462f9db490e74236d116f","affectsGlobalScope":true},{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true}],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./","removeComments":false,"skipLibCheck":true,"sourceMap":true,"strict":true,"strictNullChecks":true,"target":7},"fileIdsList":[[62,89,96,113],[89,215],[89],[62,89,96],[59,62,89,96,107,108],[89,108,109,112,114],[89,110],[89,111],[43,89],[46,89],[47,52,80,89],[48,59,60,67,77,88,89],[48,49,59,67,89],[50,89],[51,52,60,68,89],[52,77,85,89],[53,55,59,67,89],[54,89],[55,56,89],[59,89],[57,59,89],[59,60,61,77,88,89],[59,60,61,74,77,80,89],[89,93],[55,62,67,77,88,89],[59,60,62,63,67,77,85,88,89],[62,64,77,85,88,89],[43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],[59,65,89],[66,88,89],[55,59,67,77,89],[68,89],[69,89],[46,70,89],[71,87,89,93],[72,89],[73,89],[59,74,75,89],[74,76,89,91],[47,59,77,78,79,80,89],[47,77,79,89],[77,78,89],[80,89],[81,89],[59,83,84,89],[83,84,89],[52,67,77,85,89],[86,89],[67,87,89],[47,62,73,88,89],[52,89],[77,89,90],[89,91],[89,92],[47,52,59,61,70,77,88,89,91,93],[77,89,94],[62,89,96,111],[89,215,217],[89,216],[59,62,64,77,85,88,89,94,96],[89,102],[89,103],[89,97],[89,99,100,101,102,103,104,105],[62,64,88,89,96,98,100,101,103],[59,60,89,96,103],[89,96,99,102,103],[59,89,96,102,103],[89,117,118,119,120,121,122,124,125,126,127,129,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202],[89,160],[89,176],[89,177],[89,124,148],[89,123,130,141,149],[89,148],[89,123],[89,180],[89,122],[89,158],[89,123,141],[89,123,167,195],[89,170],[89,172],[89,117,122],[89,141],[89,119],[89,118,119,121,123,162],[89,184],[89,182],[89,117],[89,123,126,127,128,129,130],[89,126,127,128],[89,119,139],[89,123,129],[89,186],[89,124],[89,180,189,192],[89,122,124],[89,122,124,172],[89,205],[89,206],[89,106,209,212],[42,89,207],[41,59,89,203,208,212],[41,42,62,67,89,115,116,203,204,208,209,210,211,213],[89,210,212],[106,209,212],[42,207],[41,59,203,208,212],[41,42,62,67,115,116,203,204,208,209,210,211,213],[210,212]],"referencedMap":[[114,1],[219,2],[215,3],[113,4],[109,5],[115,6],[205,3],[111,7],[110,8],[214,3],[43,9],[44,9],[46,10],[47,11],[48,12],[49,13],[50,14],[51,15],[52,16],[53,17],[54,18],[55,19],[56,19],[58,20],[57,21],[59,20],[60,22],[61,23],[45,24],[95,3],[62,25],[63,26],[64,27],[96,28],[65,29],[66,30],[67,31],[68,32],[69,33],[70,34],[71,35],[72,36],[73,37],[74,38],[75,38],[76,39],[77,40],[79,41],[78,42],[80,43],[81,44],[82,3],[83,45],[84,46],[85,47],[86,48],[87,49],[88,50],[89,51],[90,52],[91,53],[92,54],[93,55],[94,56],[116,20],[108,3],[107,3],[112,57],[218,58],[217,59],[216,3],[204,60],[103,61],[104,62],[98,63],[99,3],[106,64],[102,65],[101,66],[100,67],[105,68],[203,69],[147,3],[161,70],[119,3],[177,71],[179,72],[178,72],[149,73],[148,3],[151,74],[150,75],[130,3],[180,76],[184,77],[182,77],[121,3],[128,78],[159,79],[158,3],[168,80],[124,76],[154,3],[198,81],[200,3],[171,82],[173,83],[192,76],[123,84],[142,85],[157,3],[194,3],[164,86],[163,87],[181,77],[185,88],[183,89],[199,3],[166,3],[139,90],[131,91],[132,3],[129,92],[155,76],[156,76],[162,3],[120,3],[126,3],[141,3],[170,3],[201,93],[136,76],[137,94],[186,72],[188,95],[187,95],[127,3],[117,3],[140,3],[138,76],[169,3],[197,3],[135,3],[133,96],[134,3],[172,3],[165,3],[193,97],[145,3],[143,98],[144,98],[160,76],[122,3],[189,77],[191,88],[190,89],[176,76],[195,3],[174,99],[167,3],[153,3],[196,3],[202,3],[175,3],[118,3],[152,3],[146,3],[125,98],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[29,3],[30,3],[31,3],[32,3],[7,3],[33,3],[38,3],[39,3],[34,3],[35,3],[36,3],[37,3],[1,3],[40,3],[97,3],[206,100],[207,101],[41,3],[42,3],[213,102],[208,103],[209,3],[210,104],[212,105],[211,106]],"exportedModulesMap":[[114,1],[219,2],[215,3],[113,4],[109,5],[115,6],[205,3],[111,7],[110,8],[214,3],[43,9],[44,9],[46,10],[47,11],[48,12],[49,13],[50,14],[51,15],[52,16],[53,17],[54,18],[55,19],[56,19],[58,20],[57,21],[59,20],[60,22],[61,23],[45,24],[95,3],[62,25],[63,26],[64,27],[96,28],[65,29],[66,30],[67,31],[68,32],[69,33],[70,34],[71,35],[72,36],[73,37],[74,38],[75,38],[76,39],[77,40],[79,41],[78,42],[80,43],[81,44],[82,3],[83,45],[84,46],[85,47],[86,48],[87,49],[88,50],[89,51],[90,52],[91,53],[92,54],[93,55],[94,56],[116,20],[108,3],[107,3],[112,57],[218,58],[217,59],[216,3],[204,60],[103,61],[104,62],[98,63],[99,3],[106,64],[102,65],[101,66],[100,67],[105,68],[203,69],[147,3],[161,70],[119,3],[177,71],[179,72],[178,72],[149,73],[148,3],[151,74],[150,75],[130,3],[180,76],[184,77],[182,77],[121,3],[128,78],[159,79],[158,3],[168,80],[124,76],[154,3],[198,81],[200,3],[171,82],[173,83],[192,76],[123,84],[142,85],[157,3],[194,3],[164,86],[163,87],[181,77],[185,88],[183,89],[199,3],[166,3],[139,90],[131,91],[132,3],[129,92],[155,76],[156,76],[162,3],[120,3],[126,3],[141,3],[170,3],[201,93],[136,76],[137,94],[186,72],[188,95],[187,95],[127,3],[117,3],[140,3],[138,76],[169,3],[197,3],[135,3],[133,96],[134,3],[172,3],[165,3],[193,97],[145,3],[143,98],[144,98],[160,76],[122,3],[189,77],[191,88],[190,89],[176,76],[195,3],[174,99],[167,3],[153,3],[196,3],[202,3],[175,3],[118,3],[152,3],[146,3],[125,98],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[29,3],[30,3],[31,3],[32,3],[7,3],[33,3],[38,3],[39,3],[34,3],[35,3],[36,3],[37,3],[1,3],[40,3],[97,3],[206,100],[207,101],[213,107],[208,108],[210,109],[212,110],[211,111]],"semanticDiagnosticsPerFile":[114,219,215,113,109,115,205,111,110,214,43,44,46,47,48,49,50,51,52,53,54,55,56,58,57,59,60,61,45,95,62,63,64,96,65,66,67,68,69,70,71,72,73,74,75,76,77,79,78,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,116,108,107,112,218,217,216,204,103,104,98,99,106,102,101,100,105,203,147,161,119,177,179,178,149,148,151,150,130,180,184,182,121,128,159,158,168,124,154,198,200,171,173,192,123,142,157,194,164,163,181,185,183,199,166,139,131,132,129,155,156,162,120,126,141,170,201,136,137,186,188,187,127,117,140,138,169,197,135,133,134,172,165,193,145,143,144,160,122,189,191,190,176,195,174,167,153,196,202,175,118,152,146,125,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,29,30,31,32,7,33,38,39,34,35,36,37,1,40,97,206,207,41,42,213,208,209,210,212,211]},"version":"4.7.4"}
|
package/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('./build/lib/constraints');
|
package/lib/appium-config.ts
CHANGED
|
@@ -49,10 +49,24 @@ export type LocalTimezoneConfig = boolean;
|
|
|
49
49
|
* Also send log output to this file
|
|
50
50
|
*/
|
|
51
51
|
export type LogConfig = string;
|
|
52
|
+
/**
|
|
53
|
+
* Log filtering rule
|
|
54
|
+
*/
|
|
55
|
+
export type LogFilter = {
|
|
56
|
+
/**
|
|
57
|
+
* Replacement string for matched text
|
|
58
|
+
*/
|
|
59
|
+
replacer?: string;
|
|
60
|
+
/**
|
|
61
|
+
* Matching flags; see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#advanced_searching_with_flags
|
|
62
|
+
*/
|
|
63
|
+
flags?: string;
|
|
64
|
+
[k: string]: unknown;
|
|
65
|
+
} & (LogFilterText | LogFilterRegex);
|
|
52
66
|
/**
|
|
53
67
|
* One or more log filtering rules
|
|
54
68
|
*/
|
|
55
|
-
export type LogFiltersConfig =
|
|
69
|
+
export type LogFiltersConfig = LogFilter[];
|
|
56
70
|
/**
|
|
57
71
|
* Log level (console[:file])
|
|
58
72
|
*/
|
|
@@ -134,6 +148,10 @@ export type WebhookConfig = string;
|
|
|
134
148
|
* A schema for Appium configuration files
|
|
135
149
|
*/
|
|
136
150
|
export interface AppiumConfiguration {
|
|
151
|
+
/**
|
|
152
|
+
* The JSON schema for this file
|
|
153
|
+
*/
|
|
154
|
+
$schema?: string;
|
|
137
155
|
server?: ServerConfig;
|
|
138
156
|
}
|
|
139
157
|
/**
|
|
@@ -183,6 +201,26 @@ export interface DefaultCapabilitiesConfig {
|
|
|
183
201
|
export interface DriverConfig {
|
|
184
202
|
[k: string]: unknown;
|
|
185
203
|
}
|
|
204
|
+
/**
|
|
205
|
+
* Log filter with plain text
|
|
206
|
+
*/
|
|
207
|
+
export interface LogFilterText {
|
|
208
|
+
/**
|
|
209
|
+
* Text to match
|
|
210
|
+
*/
|
|
211
|
+
text: string;
|
|
212
|
+
[k: string]: unknown;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Log filter with regular expression
|
|
216
|
+
*/
|
|
217
|
+
export interface LogFilterRegex {
|
|
218
|
+
/**
|
|
219
|
+
* Regex pattern to match
|
|
220
|
+
*/
|
|
221
|
+
pattern: string;
|
|
222
|
+
[k: string]: unknown;
|
|
223
|
+
}
|
|
186
224
|
/**
|
|
187
225
|
* Path to configuration JSON file to register Appium as a node with Selenium Grid 3; otherwise the configuration itself
|
|
188
226
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export const BASE_DESIRED_CAP_CONSTRAINTS = {
|
|
1
|
+
export const BASE_DESIRED_CAP_CONSTRAINTS = /** @type {const} */ ({
|
|
2
2
|
platformName: {
|
|
3
3
|
presence: true,
|
|
4
4
|
isString: true,
|
|
@@ -12,6 +12,9 @@ export const BASE_DESIRED_CAP_CONSTRAINTS = {
|
|
|
12
12
|
platformVersion: {
|
|
13
13
|
isString: true,
|
|
14
14
|
},
|
|
15
|
+
webSocketUrl: {
|
|
16
|
+
isString: true,
|
|
17
|
+
},
|
|
15
18
|
newCommandTimeout: {
|
|
16
19
|
isNumber: true,
|
|
17
20
|
},
|
|
@@ -48,6 +51,8 @@ export const BASE_DESIRED_CAP_CONSTRAINTS = {
|
|
|
48
51
|
printPageSourceOnFindFailure: {
|
|
49
52
|
isBoolean: true,
|
|
50
53
|
},
|
|
51
|
-
}
|
|
54
|
+
});
|
|
52
55
|
|
|
53
|
-
|
|
56
|
+
/**
|
|
57
|
+
* @typedef {typeof BASE_DESIRED_CAP_CONSTRAINTS} BaseDriverCapConstraints
|
|
58
|
+
*/
|
package/lib/driver.ts
CHANGED
|
@@ -14,8 +14,9 @@ import {
|
|
|
14
14
|
Capabilities,
|
|
15
15
|
} from '.';
|
|
16
16
|
import {ServerArgs} from './config';
|
|
17
|
+
import {AsyncReturnType, ConditionalPick} from 'type-fest';
|
|
17
18
|
|
|
18
|
-
export interface
|
|
19
|
+
export interface ITimeoutCommands {
|
|
19
20
|
timeouts(
|
|
20
21
|
type: string,
|
|
21
22
|
ms: number | string,
|
|
@@ -38,29 +39,28 @@ export interface TimeoutCommands {
|
|
|
38
39
|
parseTimeoutArgument(ms: number | string): number;
|
|
39
40
|
}
|
|
40
41
|
|
|
41
|
-
export interface
|
|
42
|
+
export interface IEventCommands {
|
|
42
43
|
logCustomEvent(vendor: string, event: string): Promise<void>;
|
|
43
44
|
getLogEvents(type?: string | string[]): Promise<EventHistory | Record<string, number>>;
|
|
44
45
|
}
|
|
45
46
|
|
|
46
|
-
export interface
|
|
47
|
+
export interface ISessionCommands {
|
|
47
48
|
getSessions(): Promise<MultiSessionData[]>;
|
|
48
49
|
getSession(): Promise<SingularSessionData>;
|
|
49
50
|
}
|
|
50
51
|
|
|
51
|
-
export interface
|
|
52
|
+
export interface IExecuteCommands {
|
|
52
53
|
executeMethod(script: string, args: [StringRecord] | []): Promise<any>;
|
|
53
54
|
}
|
|
54
55
|
|
|
55
|
-
export interface ExecuteMethodDef {
|
|
56
|
-
command:
|
|
56
|
+
export interface ExecuteMethodDef<D> {
|
|
57
|
+
command: keyof ConditionalPick<Required<D>, DriverCommand>;
|
|
57
58
|
params?: {
|
|
58
|
-
required?: string
|
|
59
|
-
optional?: string
|
|
59
|
+
required?: ReadonlyArray<string>;
|
|
60
|
+
optional?: ReadonlyArray<string>;
|
|
60
61
|
};
|
|
61
62
|
}
|
|
62
|
-
export type ExecuteMethodMap = Record<string, ExecuteMethodDef
|
|
63
|
-
|
|
63
|
+
export type ExecuteMethodMap<D> = Readonly<Record<string, Readonly<ExecuteMethodDef<D>>>>;
|
|
64
64
|
export interface MultiSessionData<
|
|
65
65
|
C extends Constraints = BaseDriverCapConstraints,
|
|
66
66
|
Extra extends StringRecord | void = void
|
|
@@ -74,7 +74,7 @@ export type SingularSessionData<
|
|
|
74
74
|
Extra extends StringRecord | void = void
|
|
75
75
|
> = Capabilities<C, Extra> & {events?: EventHistory; error?: string};
|
|
76
76
|
|
|
77
|
-
export interface
|
|
77
|
+
export interface IFindCommands<Ctx = any> {
|
|
78
78
|
findElement(strategy: string, selector: string): Promise<Element>;
|
|
79
79
|
findElements(strategy: string, selector: string): Promise<Element[]>;
|
|
80
80
|
findElementFromElement(strategy: string, selector: string, elementId: string): Promise<Element>;
|
|
@@ -88,33 +88,70 @@ export interface FindCommands {
|
|
|
88
88
|
strategy: string,
|
|
89
89
|
selector: string,
|
|
90
90
|
mult: Mult,
|
|
91
|
-
context?:
|
|
91
|
+
context?: Ctx
|
|
92
92
|
): Promise<Mult extends true ? Element[] : Element>;
|
|
93
93
|
|
|
94
94
|
findElOrElsWithProcessing<Mult extends boolean>(
|
|
95
95
|
strategy: string,
|
|
96
96
|
selector: string,
|
|
97
97
|
mult: Mult,
|
|
98
|
-
context?:
|
|
98
|
+
context?: Ctx
|
|
99
99
|
): Promise<Mult extends true ? Element[] : Element>;
|
|
100
100
|
|
|
101
101
|
getPageSource(): Promise<string>;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
export interface
|
|
105
|
-
|
|
106
|
-
|
|
104
|
+
export interface ILogCommands<C extends Constraints> {
|
|
105
|
+
/**
|
|
106
|
+
* Definition of the available log types
|
|
107
|
+
*/
|
|
108
|
+
supportedLogTypes: Readonly<LogDefRecord<C>>;
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Get available log types as a list of strings
|
|
112
|
+
*/
|
|
113
|
+
getLogTypes(): Promise<(keyof ILogCommands<C>['supportedLogTypes'])[]>;
|
|
114
|
+
|
|
107
115
|
/**
|
|
108
|
-
*
|
|
116
|
+
* Get the log for a given log type.
|
|
109
117
|
*
|
|
110
|
-
*
|
|
111
|
-
* should be the associated `LogType` object's `LogEntry` parameterized type.
|
|
112
|
-
* @param logType - Name/key of log type as defined in {@linkcode LogCommands.supportedLogTypes}.
|
|
118
|
+
* @param logType - Name/key of log type as defined in {@linkcode ILogCommands.supportedLogTypes}.
|
|
113
119
|
*/
|
|
114
|
-
getLog(
|
|
120
|
+
getLog(
|
|
121
|
+
logType: keyof ILogCommands<C>['supportedLogTypes']
|
|
122
|
+
): Promise<
|
|
123
|
+
AsyncReturnType<
|
|
124
|
+
ILogCommands<C>['supportedLogTypes'][keyof ILogCommands<C>['supportedLogTypes']]['getter']
|
|
125
|
+
>
|
|
126
|
+
>;
|
|
115
127
|
}
|
|
116
128
|
|
|
117
|
-
|
|
129
|
+
/**
|
|
130
|
+
* A record of {@linkcode LogDef} objects, keyed by the log type name.
|
|
131
|
+
* Used in {@linkcode ILogCommands.supportedLogTypes}
|
|
132
|
+
*/
|
|
133
|
+
export type LogDefRecord<C extends Constraints> = Record<string, LogDef<C>>;
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* A definition of a log type
|
|
137
|
+
*/
|
|
138
|
+
export interface LogDef<C extends Constraints, T = unknown> {
|
|
139
|
+
/**
|
|
140
|
+
* Description of the log type.
|
|
141
|
+
*
|
|
142
|
+
* The only place this is used is in error messages if the client provides an invalid log type
|
|
143
|
+
* via {@linkcode ILogCommands.getLog}.
|
|
144
|
+
*/
|
|
145
|
+
description: string;
|
|
146
|
+
/**
|
|
147
|
+
* Returns all the log data for the given type
|
|
148
|
+
*
|
|
149
|
+
* This implementation *should* drain, truncate or otherwise reset the log buffer.
|
|
150
|
+
*/
|
|
151
|
+
getter: (driver: Driver<C>) => Promise<T[]>;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
export interface ISettingsCommands {
|
|
118
155
|
updateSettings: (settings: StringRecord) => Promise<void>;
|
|
119
156
|
getSettings(): Promise<StringRecord>;
|
|
120
157
|
}
|
|
@@ -185,11 +222,6 @@ export interface DeviceSettings<T = any> {
|
|
|
185
222
|
getSettings(): Record<string, T>;
|
|
186
223
|
}
|
|
187
224
|
|
|
188
|
-
export interface LogType<TDriver, LogEntry = string> {
|
|
189
|
-
description: string;
|
|
190
|
-
getter: (driver: TDriver) => Promise<LogEntry[]>;
|
|
191
|
-
}
|
|
192
|
-
|
|
193
225
|
// WebDriver
|
|
194
226
|
|
|
195
227
|
export interface Rect {
|
|
@@ -244,7 +276,7 @@ export type Position = Pick<Rect, 'x' | 'y'>;
|
|
|
244
276
|
export interface Location {
|
|
245
277
|
latitude: number;
|
|
246
278
|
longitude: number;
|
|
247
|
-
altitude
|
|
279
|
+
altitude?: number;
|
|
248
280
|
}
|
|
249
281
|
|
|
250
282
|
export interface Rotation {
|
|
@@ -324,20 +356,25 @@ export interface Core<C extends Constraints = BaseDriverCapConstraints> {
|
|
|
324
356
|
/**
|
|
325
357
|
* `BaseDriver` implements this. It contains default behavior;
|
|
326
358
|
* external drivers are expected to implement {@linkcode ExternalDriver} instead.
|
|
359
|
+
*
|
|
360
|
+
* `C` should be the constraints of the driver.
|
|
361
|
+
* `CArgs` would be the shape of `cliArgs`.
|
|
362
|
+
* `Ctx` would be the type of the element context (e.g., string, dictionary of some sort, etc.)
|
|
327
363
|
*/
|
|
328
364
|
export interface Driver<
|
|
329
365
|
C extends Constraints = BaseDriverCapConstraints,
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
366
|
+
CArgs extends StringRecord = StringRecord,
|
|
367
|
+
Ctx = any
|
|
368
|
+
> extends ISessionCommands,
|
|
369
|
+
ILogCommands<C>,
|
|
370
|
+
IFindCommands<Ctx>,
|
|
371
|
+
ISettingsCommands,
|
|
372
|
+
ITimeoutCommands,
|
|
373
|
+
IEventCommands,
|
|
374
|
+
IExecuteCommands,
|
|
337
375
|
SessionHandler<[string, any], void, C>,
|
|
338
|
-
ExecuteCommands,
|
|
339
376
|
Core {
|
|
340
|
-
cliArgs
|
|
377
|
+
cliArgs: CArgs;
|
|
341
378
|
// The following methods are implemented by `BaseDriver`.
|
|
342
379
|
executeCommand(cmd: string, ...args: any[]): Promise<any>;
|
|
343
380
|
startUnexpectedShutdown(err?: Error): Promise<void>;
|
|
@@ -355,12 +392,13 @@ export interface Driver<
|
|
|
355
392
|
* External drivers must subclass `BaseDriver`, and can implement any of these methods.
|
|
356
393
|
* None of these are implemented within Appium itself.
|
|
357
394
|
*/
|
|
358
|
-
export interface ExternalDriver extends
|
|
395
|
+
export interface ExternalDriver<C extends Constraints = BaseDriverCapConstraints>
|
|
396
|
+
extends Driver<C> {
|
|
359
397
|
// The following properties are assigned by appium */
|
|
360
|
-
server
|
|
361
|
-
serverHost
|
|
362
|
-
serverPort
|
|
363
|
-
serverPath
|
|
398
|
+
server?: AppiumServer;
|
|
399
|
+
serverHost?: string;
|
|
400
|
+
serverPort?: number;
|
|
401
|
+
serverPath?: string;
|
|
364
402
|
|
|
365
403
|
// WebDriver
|
|
366
404
|
setUrl?(url: string): Promise<void>;
|
|
@@ -408,6 +446,8 @@ export interface ExternalDriver extends Driver {
|
|
|
408
446
|
setAlertText?(text: string): Promise<void>;
|
|
409
447
|
getScreenshot?(): Promise<string>;
|
|
410
448
|
getElementScreenshot?(elementId: string): Promise<string>;
|
|
449
|
+
getComputedRole?(elementId: string): Promise<string | null>;
|
|
450
|
+
getComputedLabel?(elementId: string): Promise<string | null>;
|
|
411
451
|
|
|
412
452
|
// Appium W3C WebDriver Extension
|
|
413
453
|
mobileShake?(): Promise<void>;
|
|
@@ -571,8 +611,7 @@ export interface ExternalDriver extends Driver {
|
|
|
571
611
|
removeAllAuthCredentials?(): Promise<void>;
|
|
572
612
|
removeAuthCredential?(): Promise<void>;
|
|
573
613
|
setUserAuthVerified?(isUserVerified: boolean): Promise<void>;
|
|
574
|
-
|
|
575
|
-
proxyCommand?(url: string, method: HTTPMethod, body?: string): Promise<unknown>;
|
|
614
|
+
proxyCommand?<T = any>(url: string, method: HTTPMethod, body?: string): Promise<T>;
|
|
576
615
|
}
|
|
577
616
|
|
|
578
617
|
/**
|
|
@@ -580,11 +619,11 @@ export interface ExternalDriver extends Driver {
|
|
|
580
619
|
*
|
|
581
620
|
* This is likely unusable by external consumers, but YMMV!
|
|
582
621
|
*/
|
|
583
|
-
export interface DriverStatic {
|
|
622
|
+
export interface DriverStatic<D extends Driver> {
|
|
584
623
|
baseVersion: string;
|
|
585
624
|
updateServer?: UpdateServerCallback;
|
|
586
|
-
newMethodMap?: MethodMap<
|
|
587
|
-
executeMethodMap
|
|
625
|
+
newMethodMap?: MethodMap<D>;
|
|
626
|
+
executeMethodMap?: ExecuteMethodMap<D>;
|
|
588
627
|
}
|
|
589
628
|
|
|
590
629
|
/**
|
|
@@ -592,10 +631,11 @@ export interface DriverStatic {
|
|
|
592
631
|
*
|
|
593
632
|
* This is likely unusable by external consumers, but YMMV!
|
|
594
633
|
*/
|
|
595
|
-
export type DriverClass<
|
|
596
|
-
D
|
|
597
|
-
|
|
598
|
-
|
|
634
|
+
export type DriverClass<D extends Driver = ExternalDriver> = Class<
|
|
635
|
+
D,
|
|
636
|
+
DriverStatic<D>,
|
|
637
|
+
[] | [Partial<ServerArgs>] | [Partial<ServerArgs>, boolean]
|
|
638
|
+
>;
|
|
599
639
|
|
|
600
640
|
export interface ExtraDriverOpts {
|
|
601
641
|
fastReset?: boolean;
|
package/lib/index.ts
CHANGED
|
@@ -1,20 +1,23 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {Socket} from 'net';
|
|
1
|
+
import type {Express} from 'express';
|
|
3
2
|
import type {Server} from 'http';
|
|
3
|
+
import type {Socket} from 'net';
|
|
4
|
+
import type {Logger} from 'npmlog';
|
|
4
5
|
import type {Class as _Class, ConditionalPick, MultidimensionalReadonlyArray} from 'type-fest';
|
|
6
|
+
import type {Server as WSServer} from 'ws';
|
|
5
7
|
import {ServerArgs} from './config';
|
|
6
|
-
import type {Express} from 'express';
|
|
7
|
-
import {ExternalDriver} from './driver';
|
|
8
|
-
import type {Logger} from 'npmlog';
|
|
9
8
|
|
|
10
|
-
export * from './driver';
|
|
11
9
|
export * from './action';
|
|
12
|
-
export * from './
|
|
10
|
+
export * from './appium-config';
|
|
13
11
|
export * from './capabilities';
|
|
14
|
-
export * from './constraints';
|
|
15
12
|
export * from './config';
|
|
16
|
-
export
|
|
13
|
+
export {BASE_DESIRED_CAP_CONSTRAINTS} from './constraints';
|
|
14
|
+
export type {BaseDriverCapConstraints} from './constraints';
|
|
15
|
+
export * from './driver';
|
|
16
|
+
export * from './plugin';
|
|
17
17
|
|
|
18
|
+
/**
|
|
19
|
+
* Utility type for a object with string-only props
|
|
20
|
+
*/
|
|
18
21
|
export type StringRecord = Record<string, any>;
|
|
19
22
|
|
|
20
23
|
/**
|
|
@@ -79,47 +82,51 @@ export interface AppiumServerSocket extends Socket {
|
|
|
79
82
|
* The definition of an extension method, which will be provided via Appium's API.
|
|
80
83
|
*
|
|
81
84
|
*/
|
|
82
|
-
export interface
|
|
85
|
+
export interface MethodDef<Ext> {
|
|
83
86
|
/**
|
|
84
87
|
* Name of the command.
|
|
85
88
|
*/
|
|
86
|
-
command?: keyof ConditionalPick<Required<
|
|
89
|
+
readonly command?: keyof ConditionalPick<Required<Ext>, DriverCommand>;
|
|
87
90
|
/**
|
|
88
91
|
* If true, this `Method` will never proxy.
|
|
89
92
|
*/
|
|
90
|
-
neverProxy?: boolean;
|
|
93
|
+
readonly neverProxy?: boolean;
|
|
91
94
|
/**
|
|
92
95
|
* Specifies shape of payload
|
|
93
96
|
*/
|
|
94
|
-
payloadParams?: PayloadParams;
|
|
97
|
+
readonly payloadParams?: PayloadParams;
|
|
95
98
|
}
|
|
96
99
|
|
|
97
100
|
/**
|
|
98
|
-
* An instance method of a driver class, whose name may be referenced by {@linkcode
|
|
101
|
+
* An instance method of a driver class, whose name may be referenced by {@linkcode MethodDef.command}, and serves as an Appium command.
|
|
99
102
|
*
|
|
100
103
|
* Note that this signature differs from a `PluginCommand`.
|
|
101
104
|
*/
|
|
102
105
|
export type DriverCommand<TArgs = any, TRetval = unknown> = (...args: TArgs[]) => Promise<TRetval>;
|
|
103
106
|
|
|
104
107
|
/**
|
|
105
|
-
* Defines the shape of a payload for a {@linkcode
|
|
108
|
+
* Defines the shape of a payload for a {@linkcode MethodDef}.
|
|
106
109
|
*/
|
|
107
110
|
export interface PayloadParams {
|
|
108
111
|
wrap?: string;
|
|
109
112
|
unwrap?: string;
|
|
110
|
-
required?:
|
|
111
|
-
optional?:
|
|
113
|
+
required?: ReadonlyArray<string> | MultidimensionalReadonlyArray<string, 2>;
|
|
114
|
+
optional?: ReadonlyArray<string> | MultidimensionalReadonlyArray<string, 2>;
|
|
112
115
|
validate?: (obj: any, protocol: string) => boolean | string | undefined;
|
|
113
116
|
makeArgs?: (obj: any) => any;
|
|
114
117
|
}
|
|
115
118
|
/**
|
|
116
|
-
* A mapping of URL paths to HTTP methods to {@linkcode
|
|
117
|
-
*
|
|
118
|
-
* @todo Should use {@linkcode HTTPMethod} here
|
|
119
|
+
* A mapping of URL paths to HTTP methods to {@linkcode MethodDef}s.
|
|
119
120
|
*/
|
|
120
|
-
export type MethodMap<
|
|
121
|
-
|
|
122
|
-
|
|
121
|
+
export type MethodMap<Ext = any> = Readonly<
|
|
122
|
+
Record<
|
|
123
|
+
string,
|
|
124
|
+
{
|
|
125
|
+
GET?: MethodDef<Ext>;
|
|
126
|
+
POST?: MethodDef<Ext>;
|
|
127
|
+
DELETE?: MethodDef<Ext>;
|
|
128
|
+
}
|
|
129
|
+
>
|
|
123
130
|
>;
|
|
124
131
|
|
|
125
132
|
/**
|
|
@@ -163,7 +170,7 @@ export type ExtensionType = DriverType | PluginType;
|
|
|
163
170
|
export type UpdateServerCallback = (
|
|
164
171
|
expressApp: Express,
|
|
165
172
|
httpServer: AppiumServer,
|
|
166
|
-
cliArgs: ServerArgs
|
|
173
|
+
cliArgs: Partial<ServerArgs>
|
|
167
174
|
) => Promise<void>;
|
|
168
175
|
|
|
169
176
|
/**
|