@appium/base-driver 8.3.0 → 8.4.1
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 +80 -0
- package/build/lib/basedriver/capabilities.d.ts.map +1 -0
- package/build/lib/basedriver/capabilities.js +12 -13
- package/build/lib/basedriver/commands/event.d.ts +9 -0
- package/build/lib/basedriver/commands/event.d.ts.map +1 -0
- package/build/lib/basedriver/commands/event.js +21 -23
- package/build/lib/basedriver/commands/find.d.ts +11 -0
- package/build/lib/basedriver/commands/find.d.ts.map +1 -0
- package/build/lib/basedriver/commands/find.js +42 -37
- package/build/lib/basedriver/commands/index.d.ts +8 -0
- package/build/lib/basedriver/commands/index.d.ts.map +1 -0
- package/build/lib/basedriver/commands/index.js +17 -16
- package/build/lib/basedriver/commands/log.d.ts +12 -0
- package/build/lib/basedriver/commands/log.d.ts.map +1 -0
- package/build/lib/basedriver/commands/log.js +23 -27
- package/build/lib/basedriver/commands/session.d.ts +11 -0
- package/build/lib/basedriver/commands/session.d.ts.map +1 -0
- package/build/lib/basedriver/commands/session.js +21 -149
- package/build/lib/basedriver/commands/settings.d.ts +10 -0
- package/build/lib/basedriver/commands/settings.d.ts.map +1 -0
- package/build/lib/basedriver/commands/settings.js +19 -19
- package/build/lib/basedriver/commands/timeout.d.ts +8 -0
- package/build/lib/basedriver/commands/timeout.d.ts.map +1 -0
- package/build/lib/basedriver/commands/timeout.js +118 -139
- package/build/lib/basedriver/core.d.ts +235 -0
- package/build/lib/basedriver/core.d.ts.map +1 -0
- package/build/lib/basedriver/core.js +283 -0
- package/build/lib/basedriver/desired-caps.d.ts +5 -0
- package/build/lib/basedriver/desired-caps.d.ts.map +1 -0
- package/build/lib/basedriver/desired-caps.js +2 -4
- package/build/lib/basedriver/device-settings.d.ts +32 -0
- package/build/lib/basedriver/device-settings.d.ts.map +1 -0
- package/build/lib/basedriver/device-settings.js +20 -14
- package/build/lib/basedriver/driver.d.ts +83 -0
- package/build/lib/basedriver/driver.d.ts.map +1 -0
- package/build/lib/basedriver/driver.js +101 -256
- package/build/lib/basedriver/helpers.d.ts +132 -0
- package/build/lib/basedriver/helpers.d.ts.map +1 -0
- package/build/lib/basedriver/helpers.js +16 -2
- package/build/lib/basedriver/logger.d.ts +3 -0
- package/build/lib/basedriver/logger.d.ts.map +1 -0
- package/build/lib/basedriver/logger.js +2 -4
- package/build/lib/constants.d.ts +9 -0
- package/build/lib/constants.d.ts.map +1 -0
- package/build/lib/constants.js +2 -4
- package/build/lib/express/crash.d.ts +3 -0
- package/build/lib/express/crash.d.ts.map +1 -0
- package/build/lib/express/crash.js +2 -4
- package/build/lib/express/express-logging.d.ts +3 -0
- package/build/lib/express/express-logging.d.ts.map +1 -0
- package/build/lib/express/express-logging.js +2 -4
- package/build/lib/express/idempotency.d.ts +2 -0
- package/build/lib/express/idempotency.d.ts.map +1 -0
- package/build/lib/express/idempotency.js +2 -4
- package/build/lib/express/logger.d.ts +3 -0
- package/build/lib/express/logger.d.ts.map +1 -0
- package/build/lib/express/logger.js +2 -4
- package/build/lib/express/middleware.d.ts +9 -0
- package/build/lib/express/middleware.d.ts.map +1 -0
- package/build/lib/express/middleware.js +2 -4
- package/build/lib/express/server.d.ts +10 -0
- package/build/lib/express/server.d.ts.map +1 -0
- package/build/lib/express/server.js +2 -4
- package/build/lib/express/static.d.ts +6 -0
- package/build/lib/express/static.d.ts.map +1 -0
- package/build/lib/express/static.js +2 -4
- package/build/lib/express/websocket.d.ts +64 -0
- package/build/lib/express/websocket.d.ts.map +1 -0
- package/build/lib/express/websocket.js +40 -41
- package/build/lib/helpers/capabilities.d.ts +13 -0
- package/build/lib/helpers/capabilities.d.ts.map +1 -0
- package/build/lib/helpers/capabilities.js +40 -2
- package/build/lib/index.d.ts +183 -0
- package/build/lib/index.d.ts.map +1 -0
- package/build/lib/index.js +41 -23
- package/build/lib/jsonwp-proxy/protocol-converter.d.ts +48 -0
- package/build/lib/jsonwp-proxy/protocol-converter.d.ts.map +1 -0
- package/build/lib/jsonwp-proxy/protocol-converter.js +2 -4
- package/build/lib/jsonwp-proxy/proxy.d.ts +41 -0
- package/build/lib/jsonwp-proxy/proxy.d.ts.map +1 -0
- package/build/lib/jsonwp-proxy/proxy.js +25 -9
- package/build/lib/jsonwp-status/status.d.ts +159 -0
- package/build/lib/jsonwp-status/status.d.ts.map +1 -0
- package/build/lib/jsonwp-status/status.js +2 -4
- package/build/lib/protocol/errors.d.ts +310 -0
- package/build/lib/protocol/errors.d.ts.map +1 -0
- package/build/lib/protocol/errors.js +82 -5
- package/build/lib/protocol/helpers.d.ts +22 -0
- package/build/lib/protocol/helpers.d.ts.map +1 -0
- package/build/lib/protocol/helpers.js +2 -4
- package/build/lib/protocol/index.d.ts +16 -0
- package/build/lib/protocol/index.d.ts.map +1 -0
- package/build/lib/protocol/index.js +8 -10
- package/build/lib/protocol/protocol.d.ts +11 -0
- package/build/lib/protocol/protocol.d.ts.map +1 -0
- package/build/lib/protocol/protocol.js +3 -9
- package/build/lib/protocol/routes.d.ts +6 -0
- package/build/lib/protocol/routes.d.ts.map +1 -0
- package/build/lib/protocol/routes.js +18 -4
- package/build/lib/protocol/validators.d.ts +8 -0
- package/build/lib/protocol/validators.d.ts.map +1 -0
- package/build/lib/protocol/validators.js +2 -4
- package/build/test/basedriver/README.md +5 -0
- package/build/test/basedriver/driver-e2e-tests.js +2 -4
- package/build/test/basedriver/driver-tests.js +31 -6
- package/build/test/basedriver/index.js +2 -4
- package/build/test/e2e/basedriver/driver.e2e.spec.js +15 -0
- package/build/test/e2e/basedriver/helpers.e2e.spec.js +192 -0
- package/build/test/e2e/basedriver/websockets.e2e.spec.js +87 -0
- package/build/test/e2e/express/server.e2e.spec.js +159 -0
- package/build/test/e2e/jsonwp-proxy/proxy.e2e.spec.js +59 -0
- package/build/test/e2e/protocol/fake-driver.js +163 -0
- package/build/test/e2e/protocol/helpers.js +25 -0
- package/build/test/e2e/protocol/protocol.e2e.spec.js +1186 -0
- package/build/test/helpers.js +2 -4
- package/build/test/unit/basedriver/capabilities.spec.js +672 -0
- package/build/test/unit/basedriver/capability.spec.js +353 -0
- package/build/test/unit/basedriver/commands/event.spec.js +110 -0
- package/build/test/unit/basedriver/commands/log.spec.js +92 -0
- package/build/test/unit/basedriver/driver.spec.js +15 -0
- package/build/test/unit/basedriver/helpers.spec.js +151 -0
- package/build/test/unit/basedriver/timeout.spec.js +135 -0
- package/build/test/unit/express/server.spec.js +155 -0
- package/build/test/unit/express/static.spec.js +26 -0
- package/build/test/unit/jsonwp-proxy/mock-request.js +91 -0
- package/build/test/unit/jsonwp-proxy/protocol-converter.spec.js +171 -0
- package/build/test/unit/jsonwp-proxy/proxy.spec.js +292 -0
- package/build/test/unit/jsonwp-proxy/url.spec.js +165 -0
- package/build/test/unit/jsonwp-status/status.spec.js +34 -0
- package/build/test/unit/protocol/errors.spec.js +390 -0
- package/build/test/unit/protocol/routes.spec.js +80 -0
- package/build/test/unit/protocol/validator.spec.js +149 -0
- package/build/tsconfig.tsbuildinfo +1 -0
- package/lib/basedriver/capabilities.js +49 -10
- package/lib/basedriver/commands/event.js +49 -31
- package/lib/basedriver/commands/find.js +108 -43
- package/lib/basedriver/commands/index.js +25 -19
- package/lib/basedriver/commands/log.js +60 -33
- package/lib/basedriver/commands/session.js +39 -141
- package/lib/basedriver/commands/settings.js +33 -13
- package/lib/basedriver/commands/timeout.js +153 -153
- package/lib/basedriver/core.js +497 -0
- package/lib/basedriver/desired-caps.js +1 -1
- package/lib/basedriver/device-settings.js +47 -12
- package/lib/basedriver/driver.js +272 -383
- package/lib/basedriver/helpers.js +18 -2
- package/lib/express/websocket.js +35 -32
- package/lib/helpers/capabilities.js +60 -1
- package/lib/index.js +16 -12
- package/lib/jsonwp-proxy/proxy.js +26 -6
- package/lib/protocol/errors.js +42 -42
- package/lib/protocol/index.js +4 -4
- package/lib/protocol/protocol.js +1 -3
- package/lib/protocol/routes.js +9 -0
- package/package.json +22 -14
- package/test/basedriver/README.md +5 -0
- package/test/basedriver/driver-e2e-tests.js +1 -1
- package/test/basedriver/driver-tests.js +31 -2
- package/build/test/basedriver/capabilities-specs.js +0 -674
- package/build/test/basedriver/capability-specs.js +0 -355
- package/build/test/basedriver/commands/event-specs.js +0 -112
- package/build/test/basedriver/commands/log-specs.js +0 -87
- package/build/test/basedriver/driver-e2e-specs.js +0 -17
- package/build/test/basedriver/driver-specs.js +0 -17
- package/build/test/basedriver/helpers-e2e-specs.js +0 -194
- package/build/test/basedriver/helpers-specs.js +0 -153
- package/build/test/basedriver/timeout-specs.js +0 -137
- package/build/test/basedriver/websockets-e2e-specs.js +0 -84
- package/build/test/express/server-e2e-specs.js +0 -161
- package/build/test/express/server-specs.js +0 -157
- package/build/test/express/static-specs.js +0 -28
- package/build/test/jsonwp-proxy/mock-request.js +0 -93
- package/build/test/jsonwp-proxy/protocol-converter-specs.js +0 -173
- package/build/test/jsonwp-proxy/proxy-e2e-specs.js +0 -61
- package/build/test/jsonwp-proxy/proxy-specs.js +0 -294
- package/build/test/jsonwp-proxy/url-specs.js +0 -167
- package/build/test/jsonwp-status/status-specs.js +0 -36
- package/build/test/protocol/errors-specs.js +0 -388
- package/build/test/protocol/fake-driver.js +0 -165
- package/build/test/protocol/helpers.js +0 -27
- package/build/test/protocol/protocol-e2e-specs.js +0 -1188
- package/build/test/protocol/routes-specs.js +0 -82
- package/build/test/protocol/validator-specs.js +0 -151
- package/index.d.ts +0 -386
- package/test/basedriver/capabilities-specs.js +0 -537
- package/test/basedriver/capability-specs.js +0 -383
- package/test/basedriver/commands/event-specs.js +0 -74
- package/test/basedriver/commands/log-specs.js +0 -79
- package/test/basedriver/driver-e2e-specs.js +0 -8
- package/test/basedriver/driver-specs.js +0 -8
- package/test/basedriver/fixtures/BadZippedApp.zip +0 -1
- package/test/basedriver/fixtures/FakeAndroidApp.apk +0 -1
- package/test/basedriver/fixtures/FakeAndroidApp.asd +0 -0
- package/test/basedriver/fixtures/FakeIOSApp.app +0 -1
- package/test/basedriver/fixtures/FakeIOSApp.app.zip +0 -0
- package/test/basedriver/fixtures/FakeIOSApp.ipa +0 -0
- package/test/basedriver/fixtures/custom-element-finder-bad.js +0 -5
- package/test/basedriver/fixtures/custom-element-finder.js +0 -29
- package/test/basedriver/helpers-e2e-specs.js +0 -187
- package/test/basedriver/helpers-specs.js +0 -137
- package/test/basedriver/timeout-specs.js +0 -128
- package/test/basedriver/websockets-e2e-specs.js +0 -75
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.DriverCore = void 0;
|
|
9
|
+
|
|
10
|
+
require("source-map-support/register");
|
|
11
|
+
|
|
12
|
+
var _support = require("@appium/support");
|
|
13
|
+
|
|
14
|
+
var _asyncLock = _interopRequireDefault(require("async-lock"));
|
|
15
|
+
|
|
16
|
+
var _events = require("events");
|
|
17
|
+
|
|
18
|
+
var _lodash = _interopRequireDefault(require("lodash"));
|
|
19
|
+
|
|
20
|
+
var _os = _interopRequireDefault(require("os"));
|
|
21
|
+
|
|
22
|
+
var _constants = require("../constants");
|
|
23
|
+
|
|
24
|
+
var _protocol = require("../protocol");
|
|
25
|
+
|
|
26
|
+
var _capabilities = require("./capabilities");
|
|
27
|
+
|
|
28
|
+
var _desiredCaps = require("./desired-caps");
|
|
29
|
+
|
|
30
|
+
var _deviceSettings = _interopRequireDefault(require("./device-settings"));
|
|
31
|
+
|
|
32
|
+
var _helpers = _interopRequireDefault(require("./helpers"));
|
|
33
|
+
|
|
34
|
+
const {
|
|
35
|
+
version: BASEDRIVER_VER
|
|
36
|
+
} = _support.fs.readPackageJsonFrom(__dirname);
|
|
37
|
+
|
|
38
|
+
const NEW_COMMAND_TIMEOUT_MS = 60 * 1000;
|
|
39
|
+
const ON_UNEXPECTED_SHUTDOWN_EVENT = 'onUnexpectedShutdown';
|
|
40
|
+
|
|
41
|
+
class DriverCore {
|
|
42
|
+
static baseVersion = BASEDRIVER_VER;
|
|
43
|
+
sessionId = null;
|
|
44
|
+
opts;
|
|
45
|
+
initialOpts;
|
|
46
|
+
caps;
|
|
47
|
+
originalCaps;
|
|
48
|
+
helpers = _helpers.default;
|
|
49
|
+
basePath = _constants.DEFAULT_BASE_PATH;
|
|
50
|
+
relaxedSecurityEnabled = false;
|
|
51
|
+
allowInsecure = [];
|
|
52
|
+
denyInsecure = [];
|
|
53
|
+
newCommandTimeoutMs = NEW_COMMAND_TIMEOUT_MS;
|
|
54
|
+
implicitWaitMs = 0;
|
|
55
|
+
locatorStrategies = [];
|
|
56
|
+
webLocatorStrategies = [];
|
|
57
|
+
managedDrivers = [];
|
|
58
|
+
noCommandTimer = null;
|
|
59
|
+
_eventHistory = {
|
|
60
|
+
commands: []
|
|
61
|
+
};
|
|
62
|
+
_constraints = _lodash.default.cloneDeep(_desiredCaps.desiredCapabilityConstraints);
|
|
63
|
+
eventEmitter = new _events.EventEmitter();
|
|
64
|
+
_log;
|
|
65
|
+
shutdownUnexpectedly = false;
|
|
66
|
+
shouldValidateCaps;
|
|
67
|
+
commandsQueueGuard = new _asyncLock.default();
|
|
68
|
+
settings = new _deviceSettings.default();
|
|
69
|
+
|
|
70
|
+
constructor(opts = {}, shouldValidateCaps = true) {
|
|
71
|
+
this._log = _support.logger.getLogger(_helpers.default.generateDriverLogPrefix(this));
|
|
72
|
+
this.opts = opts;
|
|
73
|
+
this.opts.tmpDir = this.opts.tmpDir || process.env.APPIUM_TMP_DIR || _os.default.tmpdir();
|
|
74
|
+
this.shouldValidateCaps = shouldValidateCaps;
|
|
75
|
+
this.initialOpts = _lodash.default.cloneDeep(this.opts);
|
|
76
|
+
this.sessionId = null;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
get log() {
|
|
80
|
+
return this._log;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
onUnexpectedShutdown(handler) {
|
|
84
|
+
this.eventEmitter.on(ON_UNEXPECTED_SHUTDOWN_EVENT, handler);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
get driverData() {
|
|
88
|
+
return {};
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
get isCommandsQueueEnabled() {
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
get eventHistory() {
|
|
96
|
+
return _lodash.default.cloneDeep(this._eventHistory);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
logEvent(eventName) {
|
|
100
|
+
if (eventName === 'commands') {
|
|
101
|
+
throw new Error('Cannot log commands directly');
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
if (typeof eventName !== 'string') {
|
|
105
|
+
throw new Error(`Invalid eventName ${eventName}`);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
if (!this._eventHistory[eventName]) {
|
|
109
|
+
this._eventHistory[eventName] = [];
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
const ts = Date.now();
|
|
113
|
+
const logTime = new Date(ts).toTimeString();
|
|
114
|
+
|
|
115
|
+
this._eventHistory[eventName].push(ts);
|
|
116
|
+
|
|
117
|
+
this.log.debug(`Event '${eventName}' logged at ${ts} (${logTime})`);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
async getStatus() {
|
|
121
|
+
return {};
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
set desiredCapConstraints(constraints) {
|
|
125
|
+
this._constraints = Object.assign(this._constraints, constraints);
|
|
126
|
+
|
|
127
|
+
for (const [, value] of _lodash.default.toPairs(this._constraints)) {
|
|
128
|
+
if (value && value.presence === true) {
|
|
129
|
+
value.presence = {
|
|
130
|
+
allowEmpty: false
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
get desiredCapConstraints() {
|
|
137
|
+
return this._constraints;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
sessionExists(sessionId) {
|
|
141
|
+
if (!sessionId) return false;
|
|
142
|
+
return sessionId === this.sessionId;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
driverForSession(sessionId) {
|
|
146
|
+
return this;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
logExtraCaps(caps) {
|
|
150
|
+
let extraCaps = _lodash.default.difference(_lodash.default.keys(caps), _lodash.default.keys(this._constraints));
|
|
151
|
+
|
|
152
|
+
if (extraCaps.length) {
|
|
153
|
+
this.log.warn(`The following capabilities were provided, but are not ` + `recognized by Appium:`);
|
|
154
|
+
|
|
155
|
+
for (const cap of extraCaps) {
|
|
156
|
+
this.log.warn(` ${cap}`);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
validateDesiredCaps(caps) {
|
|
162
|
+
if (!this.shouldValidateCaps) {
|
|
163
|
+
return true;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
try {
|
|
167
|
+
(0, _capabilities.validateCaps)(caps, this._constraints);
|
|
168
|
+
} catch (e) {
|
|
169
|
+
this.log.errorAndThrow(new _protocol.errors.SessionNotCreatedError(`The desiredCapabilities object was not valid for the ` + `following reason(s): ${e.message}`));
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
this.logExtraCaps(caps);
|
|
173
|
+
return true;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
isMjsonwpProtocol() {
|
|
177
|
+
return this.protocol === _constants.PROTOCOLS.MJSONWP;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
isW3CProtocol() {
|
|
181
|
+
return this.protocol === _constants.PROTOCOLS.W3C;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
setProtocolMJSONWP() {
|
|
185
|
+
this.protocol = _constants.PROTOCOLS.MJSONWP;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
setProtocolW3C() {
|
|
189
|
+
this.protocol = _constants.PROTOCOLS.W3C;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
isFeatureEnabled(name) {
|
|
193
|
+
if (this.denyInsecure && _lodash.default.includes(this.denyInsecure, name)) {
|
|
194
|
+
return false;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
if (this.allowInsecure && _lodash.default.includes(this.allowInsecure, name)) {
|
|
198
|
+
return true;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
if (this.relaxedSecurityEnabled) {
|
|
202
|
+
return true;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
return false;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
ensureFeatureEnabled(name) {
|
|
209
|
+
if (!this.isFeatureEnabled(name)) {
|
|
210
|
+
throw new Error(`Potentially insecure feature '${name}' has not been ` + `enabled. If you want to enable this feature and accept ` + `the security ramifications, please do so by following ` + `the documented instructions at https://github.com/appium` + `/appium/blob/master/docs/en/writing-running-appium/security.md`);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
validateLocatorStrategy(strategy, webContext = false) {
|
|
215
|
+
let validStrategies = this.locatorStrategies;
|
|
216
|
+
this.log.debug(`Valid locator strategies for this request: ${validStrategies.join(', ')}`);
|
|
217
|
+
|
|
218
|
+
if (webContext) {
|
|
219
|
+
validStrategies = validStrategies.concat(this.webLocatorStrategies);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
if (!_lodash.default.includes(validStrategies, strategy)) {
|
|
223
|
+
throw new _protocol.errors.InvalidSelectorError(`Locator Strategy '${strategy}' is not supported for this session`);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
proxyActive(sessionId) {
|
|
228
|
+
return false;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
getProxyAvoidList(sessionId) {
|
|
232
|
+
return [];
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
canProxy(sessionId) {
|
|
236
|
+
return false;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
proxyRouteIsAvoided(sessionId, method, url, body) {
|
|
240
|
+
for (let avoidSchema of this.getProxyAvoidList(sessionId)) {
|
|
241
|
+
if (!_lodash.default.isArray(avoidSchema) || avoidSchema.length !== 2) {
|
|
242
|
+
throw new Error('Proxy avoidance must be a list of pairs');
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
let [avoidMethod, avoidPathRegex] = avoidSchema;
|
|
246
|
+
|
|
247
|
+
if (!_lodash.default.includes(['GET', 'POST', 'DELETE'], avoidMethod)) {
|
|
248
|
+
throw new Error(`Unrecognized proxy avoidance method '${avoidMethod}'`);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
if (!_lodash.default.isRegExp(avoidPathRegex)) {
|
|
252
|
+
throw new Error('Proxy avoidance path must be a regular expression');
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
let normalizedUrl = url.replace(new RegExp(`^${_lodash.default.escapeRegExp(this.basePath)}`), '');
|
|
256
|
+
|
|
257
|
+
if (avoidMethod === method && avoidPathRegex.test(normalizedUrl)) {
|
|
258
|
+
return true;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
return false;
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
addManagedDriver(driver) {
|
|
266
|
+
this.managedDrivers.push(driver);
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
getManagedDrivers() {
|
|
270
|
+
return this.managedDrivers;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
async clearNewCommandTimeout() {
|
|
274
|
+
if (this.noCommandTimer) {
|
|
275
|
+
clearTimeout(this.noCommandTimer);
|
|
276
|
+
this.noCommandTimer = null;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
exports.DriverCore = DriverCore;
|
|
283
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9iYXNlZHJpdmVyL2NvcmUuanMiXSwibmFtZXMiOlsidmVyc2lvbiIsIkJBU0VEUklWRVJfVkVSIiwiZnMiLCJyZWFkUGFja2FnZUpzb25Gcm9tIiwiX19kaXJuYW1lIiwiTkVXX0NPTU1BTkRfVElNRU9VVF9NUyIsIk9OX1VORVhQRUNURURfU0hVVERPV05fRVZFTlQiLCJEcml2ZXJDb3JlIiwiYmFzZVZlcnNpb24iLCJzZXNzaW9uSWQiLCJvcHRzIiwiaW5pdGlhbE9wdHMiLCJjYXBzIiwib3JpZ2luYWxDYXBzIiwiaGVscGVycyIsImJhc2VQYXRoIiwiREVGQVVMVF9CQVNFX1BBVEgiLCJyZWxheGVkU2VjdXJpdHlFbmFibGVkIiwiYWxsb3dJbnNlY3VyZSIsImRlbnlJbnNlY3VyZSIsIm5ld0NvbW1hbmRUaW1lb3V0TXMiLCJpbXBsaWNpdFdhaXRNcyIsImxvY2F0b3JTdHJhdGVnaWVzIiwid2ViTG9jYXRvclN0cmF0ZWdpZXMiLCJtYW5hZ2VkRHJpdmVycyIsIm5vQ29tbWFuZFRpbWVyIiwiX2V2ZW50SGlzdG9yeSIsImNvbW1hbmRzIiwiX2NvbnN0cmFpbnRzIiwiXyIsImNsb25lRGVlcCIsImRlc2lyZWRDYXBhYmlsaXR5Q29uc3RyYWludHMiLCJldmVudEVtaXR0ZXIiLCJFdmVudEVtaXR0ZXIiLCJfbG9nIiwic2h1dGRvd25VbmV4cGVjdGVkbHkiLCJzaG91bGRWYWxpZGF0ZUNhcHMiLCJjb21tYW5kc1F1ZXVlR3VhcmQiLCJBc3luY0xvY2siLCJzZXR0aW5ncyIsIkRldmljZVNldHRpbmdzIiwiY29uc3RydWN0b3IiLCJsb2dnZXIiLCJnZXRMb2dnZXIiLCJnZW5lcmF0ZURyaXZlckxvZ1ByZWZpeCIsInRtcERpciIsInByb2Nlc3MiLCJlbnYiLCJBUFBJVU1fVE1QX0RJUiIsIm9zIiwidG1wZGlyIiwibG9nIiwib25VbmV4cGVjdGVkU2h1dGRvd24iLCJoYW5kbGVyIiwib24iLCJkcml2ZXJEYXRhIiwiaXNDb21tYW5kc1F1ZXVlRW5hYmxlZCIsImV2ZW50SGlzdG9yeSIsImxvZ0V2ZW50IiwiZXZlbnROYW1lIiwiRXJyb3IiLCJ0cyIsIkRhdGUiLCJub3ciLCJsb2dUaW1lIiwidG9UaW1lU3RyaW5nIiwicHVzaCIsImRlYnVnIiwiZ2V0U3RhdHVzIiwiZGVzaXJlZENhcENvbnN0cmFpbnRzIiwiY29uc3RyYWludHMiLCJPYmplY3QiLCJhc3NpZ24iLCJ2YWx1ZSIsInRvUGFpcnMiLCJwcmVzZW5jZSIsImFsbG93RW1wdHkiLCJzZXNzaW9uRXhpc3RzIiwiZHJpdmVyRm9yU2Vzc2lvbiIsImxvZ0V4dHJhQ2FwcyIsImV4dHJhQ2FwcyIsImRpZmZlcmVuY2UiLCJrZXlzIiwibGVuZ3RoIiwid2FybiIsImNhcCIsInZhbGlkYXRlRGVzaXJlZENhcHMiLCJlIiwiZXJyb3JBbmRUaHJvdyIsImVycm9ycyIsIlNlc3Npb25Ob3RDcmVhdGVkRXJyb3IiLCJtZXNzYWdlIiwiaXNNanNvbndwUHJvdG9jb2wiLCJwcm90b2NvbCIsIlBST1RPQ09MUyIsIk1KU09OV1AiLCJpc1czQ1Byb3RvY29sIiwiVzNDIiwic2V0UHJvdG9jb2xNSlNPTldQIiwic2V0UHJvdG9jb2xXM0MiLCJpc0ZlYXR1cmVFbmFibGVkIiwibmFtZSIsImluY2x1ZGVzIiwiZW5zdXJlRmVhdHVyZUVuYWJsZWQiLCJ2YWxpZGF0ZUxvY2F0b3JTdHJhdGVneSIsInN0cmF0ZWd5Iiwid2ViQ29udGV4dCIsInZhbGlkU3RyYXRlZ2llcyIsImpvaW4iLCJjb25jYXQiLCJJbnZhbGlkU2VsZWN0b3JFcnJvciIsInByb3h5QWN0aXZlIiwiZ2V0UHJveHlBdm9pZExpc3QiLCJjYW5Qcm94eSIsInByb3h5Um91dGVJc0F2b2lkZWQiLCJtZXRob2QiLCJ1cmwiLCJib2R5IiwiYXZvaWRTY2hlbWEiLCJpc0FycmF5IiwiYXZvaWRNZXRob2QiLCJhdm9pZFBhdGhSZWdleCIsImlzUmVnRXhwIiwibm9ybWFsaXplZFVybCIsInJlcGxhY2UiLCJSZWdFeHAiLCJlc2NhcGVSZWdFeHAiLCJ0ZXN0IiwiYWRkTWFuYWdlZERyaXZlciIsImRyaXZlciIsImdldE1hbmFnZWREcml2ZXJzIiwiY2xlYXJOZXdDb21tYW5kVGltZW91dCIsImNsZWFyVGltZW91dCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFJQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQSxNQUFNO0FBQUNBLEVBQUFBLE9BQU8sRUFBRUM7QUFBVixJQUE0QkMsWUFBR0MsbUJBQUgsQ0FBdUJDLFNBQXZCLENBQWxDOztBQUVBLE1BQU1DLHNCQUFzQixHQUFHLEtBQUssSUFBcEM7QUFFQSxNQUFNQyw0QkFBNEIsR0FBRyxzQkFBckM7O0FBSUEsTUFBTUMsVUFBTixDQUFpQjtBQU1HLFNBQVhDLFdBQVcsR0FBR1AsY0FBSDtBQUtsQlEsRUFBQUEsU0FBUyxHQUFHLElBQUg7QUFLVEMsRUFBQUEsSUFBSTtBQUtKQyxFQUFBQSxXQUFXO0FBS1hDLEVBQUFBLElBQUk7QUFLSkMsRUFBQUEsWUFBWTtBQUVaQyxFQUFBQSxPQUFPLEdBQUdBLGdCQUFIO0FBVVBDLEVBQUFBLFFBQVEsR0FBR0MsNEJBQUg7QUFFUkMsRUFBQUEsc0JBQXNCLEdBQUcsS0FBSDtBQUd0QkMsRUFBQUEsYUFBYSxHQUFHLEVBQUg7QUFHYkMsRUFBQUEsWUFBWSxHQUFHLEVBQUg7QUFFWkMsRUFBQUEsbUJBQW1CLEdBQUdmLHNCQUFIO0FBRW5CZ0IsRUFBQUEsY0FBYyxHQUFHLENBQUg7QUFHZEMsRUFBQUEsaUJBQWlCLEdBQUcsRUFBSDtBQUdqQkMsRUFBQUEsb0JBQW9CLEdBQUcsRUFBSDtBQUdwQkMsRUFBQUEsY0FBYyxHQUFHLEVBQUg7QUFHZEMsRUFBQUEsY0FBYyxHQUFHLElBQUg7QUFHZEMsRUFBQUEsYUFBYSxHQUFHO0FBQUNDLElBQUFBLFFBQVEsRUFBRTtBQUFYLEdBQUg7QUFFYkMsRUFBQUEsWUFBWSxHQUFHQyxnQkFBRUMsU0FBRixDQUFZQyx5Q0FBWixDQUFIO0FBSVpDLEVBQUFBLFlBQVksR0FBRyxJQUFJQyxvQkFBSixFQUFIO0FBS1pDLEVBQUFBLElBQUk7QUFLSkMsRUFBQUEsb0JBQW9CLEdBQUcsS0FBSDtBQU1wQkMsRUFBQUEsa0JBQWtCO0FBS2xCQyxFQUFBQSxrQkFBa0IsR0FBRyxJQUFJQyxrQkFBSixFQUFIO0FBUWxCQyxFQUFBQSxRQUFRLEdBQUcsSUFBSUMsdUJBQUosRUFBSDs7QUFFUkMsRUFBQUEsV0FBVyxDQUNUL0IsSUFBSSxHQUE4QixFQUR6QixFQUVUMEIsa0JBQWtCLEdBQUcsSUFGWixFQUdUO0FBQ0EsU0FBS0YsSUFBTCxHQUFZUSxnQkFBT0MsU0FBUCxDQUFpQjdCLGlCQUFROEIsdUJBQVIsQ0FBZ0MsSUFBaEMsQ0FBakIsQ0FBWjtBQUdBLFNBQUtsQyxJQUFMLEdBQVlBLElBQVo7QUFJQSxTQUFLQSxJQUFMLENBQVVtQyxNQUFWLEdBQ0UsS0FBS25DLElBQUwsQ0FBVW1DLE1BQVYsSUFBb0JDLE9BQU8sQ0FBQ0MsR0FBUixDQUFZQyxjQUFoQyxJQUFrREMsWUFBR0MsTUFBSCxFQURwRDtBQUlBLFNBQUtkLGtCQUFMLEdBQTBCQSxrQkFBMUI7QUFHQSxTQUFLekIsV0FBTCxHQUFtQmtCLGdCQUFFQyxTQUFGLENBQVksS0FBS3BCLElBQWpCLENBQW5CO0FBRUEsU0FBS0QsU0FBTCxHQUFpQixJQUFqQjtBQUNEOztBQUVNLE1BQUgwQyxHQUFHLEdBQUk7QUFDVCxXQUFPLEtBQUtqQixJQUFaO0FBQ0Q7O0FBV0RrQixFQUFBQSxvQkFBb0IsQ0FBRUMsT0FBRixFQUFXO0FBQzdCLFNBQUtyQixZQUFMLENBQWtCc0IsRUFBbEIsQ0FBcUJoRCw0QkFBckIsRUFBbUQrQyxPQUFuRDtBQUNEOztBQVVhLE1BQVZFLFVBQVUsR0FBSTtBQUNoQixXQUFPLEVBQVA7QUFDRDs7QUFheUIsTUFBdEJDLHNCQUFzQixHQUFJO0FBQzVCLFdBQU8sSUFBUDtBQUNEOztBQU1lLE1BQVpDLFlBQVksR0FBSTtBQUNsQixXQUFPNUIsZ0JBQUVDLFNBQUYsQ0FBWSxLQUFLSixhQUFqQixDQUFQO0FBQ0Q7O0FBTURnQyxFQUFBQSxRQUFRLENBQUVDLFNBQUYsRUFBYTtBQUNuQixRQUFJQSxTQUFTLEtBQUssVUFBbEIsRUFBOEI7QUFDNUIsWUFBTSxJQUFJQyxLQUFKLENBQVUsOEJBQVYsQ0FBTjtBQUNEOztBQUNELFFBQUksT0FBT0QsU0FBUCxLQUFxQixRQUF6QixFQUFtQztBQUNqQyxZQUFNLElBQUlDLEtBQUosQ0FBVyxxQkFBb0JELFNBQVUsRUFBekMsQ0FBTjtBQUNEOztBQUNELFFBQUksQ0FBQyxLQUFLakMsYUFBTCxDQUFtQmlDLFNBQW5CLENBQUwsRUFBb0M7QUFDbEMsV0FBS2pDLGFBQUwsQ0FBbUJpQyxTQUFuQixJQUFnQyxFQUFoQztBQUNEOztBQUNELFVBQU1FLEVBQUUsR0FBR0MsSUFBSSxDQUFDQyxHQUFMLEVBQVg7QUFDQSxVQUFNQyxPQUFPLEdBQUcsSUFBSUYsSUFBSixDQUFTRCxFQUFULEVBQWFJLFlBQWIsRUFBaEI7O0FBQ0EsU0FBS3ZDLGFBQUwsQ0FBbUJpQyxTQUFuQixFQUE4Qk8sSUFBOUIsQ0FBbUNMLEVBQW5DOztBQUNBLFNBQUtWLEdBQUwsQ0FBU2dCLEtBQVQsQ0FBZ0IsVUFBU1IsU0FBVSxlQUFjRSxFQUFHLEtBQUlHLE9BQVEsR0FBaEU7QUFDRDs7QUFNYyxRQUFUSSxTQUFTLEdBQUk7QUFDakIsV0FBTyxFQUFQO0FBQ0Q7O0FBR3dCLE1BQXJCQyxxQkFBcUIsQ0FBRUMsV0FBRixFQUFlO0FBQ3RDLFNBQUsxQyxZQUFMLEdBQW9CMkMsTUFBTSxDQUFDQyxNQUFQLENBQWMsS0FBSzVDLFlBQW5CLEVBQWlDMEMsV0FBakMsQ0FBcEI7O0FBR0EsU0FBSyxNQUFNLEdBQUdHLEtBQUgsQ0FBWCxJQUF3QjVDLGdCQUFFNkMsT0FBRixDQUFVLEtBQUs5QyxZQUFmLENBQXhCLEVBQXNEO0FBQ3BELFVBQUk2QyxLQUFLLElBQUlBLEtBQUssQ0FBQ0UsUUFBTixLQUFtQixJQUFoQyxFQUFzQztBQUNwQ0YsUUFBQUEsS0FBSyxDQUFDRSxRQUFOLEdBQWlCO0FBQ2ZDLFVBQUFBLFVBQVUsRUFBRTtBQURHLFNBQWpCO0FBR0Q7QUFDRjtBQUNGOztBQUV3QixNQUFyQlAscUJBQXFCLEdBQUk7QUFDM0IsV0FBTyxLQUFLekMsWUFBWjtBQUNEOztBQVFEaUQsRUFBQUEsYUFBYSxDQUFFcEUsU0FBRixFQUFhO0FBQ3hCLFFBQUksQ0FBQ0EsU0FBTCxFQUFnQixPQUFPLEtBQVA7QUFDaEIsV0FBT0EsU0FBUyxLQUFLLEtBQUtBLFNBQTFCO0FBQ0Q7O0FBUURxRSxFQUFBQSxnQkFBZ0IsQ0FBRXJFLFNBQUYsRUFBYTtBQUMzQixXQUFPLElBQVA7QUFDRDs7QUFNRHNFLEVBQUFBLFlBQVksQ0FBRW5FLElBQUYsRUFBUTtBQUNsQixRQUFJb0UsU0FBUyxHQUFHbkQsZ0JBQUVvRCxVQUFGLENBQWFwRCxnQkFBRXFELElBQUYsQ0FBT3RFLElBQVAsQ0FBYixFQUEyQmlCLGdCQUFFcUQsSUFBRixDQUFPLEtBQUt0RCxZQUFaLENBQTNCLENBQWhCOztBQUNBLFFBQUlvRCxTQUFTLENBQUNHLE1BQWQsRUFBc0I7QUFDcEIsV0FBS2hDLEdBQUwsQ0FBU2lDLElBQVQsQ0FDRyx3REFBRCxHQUNHLHVCQUZMOztBQUlBLFdBQUssTUFBTUMsR0FBWCxJQUFrQkwsU0FBbEIsRUFBNkI7QUFDM0IsYUFBSzdCLEdBQUwsQ0FBU2lDLElBQVQsQ0FBZSxLQUFJQyxHQUFJLEVBQXZCO0FBQ0Q7QUFDRjtBQUNGOztBQU9EQyxFQUFBQSxtQkFBbUIsQ0FBRTFFLElBQUYsRUFBUTtBQUN6QixRQUFJLENBQUMsS0FBS3dCLGtCQUFWLEVBQThCO0FBQzVCLGFBQU8sSUFBUDtBQUNEOztBQUVELFFBQUk7QUFDRixzQ0FBYXhCLElBQWIsRUFBbUIsS0FBS2dCLFlBQXhCO0FBQ0QsS0FGRCxDQUVFLE9BQU8yRCxDQUFQLEVBQVU7QUFDVixXQUFLcEMsR0FBTCxDQUFTcUMsYUFBVCxDQUNFLElBQUlDLGlCQUFPQyxzQkFBWCxDQUNHLHVEQUFELEdBQ0csd0JBQXVCSCxDQUFDLENBQUNJLE9BQVEsRUFGdEMsQ0FERjtBQU1EOztBQUVELFNBQUtaLFlBQUwsQ0FBa0JuRSxJQUFsQjtBQUVBLFdBQU8sSUFBUDtBQUNEOztBQUVEZ0YsRUFBQUEsaUJBQWlCLEdBQUk7QUFDbkIsV0FBTyxLQUFLQyxRQUFMLEtBQWtCQyxxQkFBVUMsT0FBbkM7QUFDRDs7QUFFREMsRUFBQUEsYUFBYSxHQUFJO0FBQ2YsV0FBTyxLQUFLSCxRQUFMLEtBQWtCQyxxQkFBVUcsR0FBbkM7QUFDRDs7QUFFREMsRUFBQUEsa0JBQWtCLEdBQUk7QUFDcEIsU0FBS0wsUUFBTCxHQUFnQkMscUJBQVVDLE9BQTFCO0FBQ0Q7O0FBRURJLEVBQUFBLGNBQWMsR0FBSTtBQUNoQixTQUFLTixRQUFMLEdBQWdCQyxxQkFBVUcsR0FBMUI7QUFDRDs7QUFTREcsRUFBQUEsZ0JBQWdCLENBQUVDLElBQUYsRUFBUTtBQUV0QixRQUFJLEtBQUtsRixZQUFMLElBQXFCVSxnQkFBRXlFLFFBQUYsQ0FBVyxLQUFLbkYsWUFBaEIsRUFBOEJrRixJQUE5QixDQUF6QixFQUE4RDtBQUM1RCxhQUFPLEtBQVA7QUFDRDs7QUFHRCxRQUFJLEtBQUtuRixhQUFMLElBQXNCVyxnQkFBRXlFLFFBQUYsQ0FBVyxLQUFLcEYsYUFBaEIsRUFBK0JtRixJQUEvQixDQUExQixFQUFnRTtBQUM5RCxhQUFPLElBQVA7QUFDRDs7QUFJRCxRQUFJLEtBQUtwRixzQkFBVCxFQUFpQztBQUMvQixhQUFPLElBQVA7QUFDRDs7QUFHRCxXQUFPLEtBQVA7QUFDRDs7QUFRRHNGLEVBQUFBLG9CQUFvQixDQUFFRixJQUFGLEVBQVE7QUFDMUIsUUFBSSxDQUFDLEtBQUtELGdCQUFMLENBQXNCQyxJQUF0QixDQUFMLEVBQWtDO0FBQ2hDLFlBQU0sSUFBSXpDLEtBQUosQ0FDSCxpQ0FBZ0N5QyxJQUFLLGlCQUF0QyxHQUNHLHlEQURILEdBRUcsd0RBRkgsR0FHRywwREFISCxHQUlHLGdFQUxDLENBQU47QUFPRDtBQUNGOztBQU9ERyxFQUFBQSx1QkFBdUIsQ0FBRUMsUUFBRixFQUFZQyxVQUFVLEdBQUcsS0FBekIsRUFBZ0M7QUFDckQsUUFBSUMsZUFBZSxHQUFHLEtBQUtyRixpQkFBM0I7QUFDQSxTQUFLNkIsR0FBTCxDQUFTZ0IsS0FBVCxDQUNHLDhDQUE2Q3dDLGVBQWUsQ0FBQ0MsSUFBaEIsQ0FDNUMsSUFENEMsQ0FFNUMsRUFISjs7QUFNQSxRQUFJRixVQUFKLEVBQWdCO0FBQ2RDLE1BQUFBLGVBQWUsR0FBR0EsZUFBZSxDQUFDRSxNQUFoQixDQUF1QixLQUFLdEYsb0JBQTVCLENBQWxCO0FBQ0Q7O0FBRUQsUUFBSSxDQUFDTSxnQkFBRXlFLFFBQUYsQ0FBV0ssZUFBWCxFQUE0QkYsUUFBNUIsQ0FBTCxFQUE0QztBQUMxQyxZQUFNLElBQUloQixpQkFBT3FCLG9CQUFYLENBQ0gscUJBQW9CTCxRQUFTLHFDQUQxQixDQUFOO0FBR0Q7QUFDRjs7QUFPRE0sRUFBQUEsV0FBVyxDQUFFdEcsU0FBRixFQUFhO0FBQ3RCLFdBQU8sS0FBUDtBQUNEOztBQU9EdUcsRUFBQUEsaUJBQWlCLENBQUV2RyxTQUFGLEVBQWE7QUFDNUIsV0FBTyxFQUFQO0FBQ0Q7O0FBT0R3RyxFQUFBQSxRQUFRLENBQUV4RyxTQUFGLEVBQWE7QUFDbkIsV0FBTyxLQUFQO0FBQ0Q7O0FBZUR5RyxFQUFBQSxtQkFBbUIsQ0FBRXpHLFNBQUYsRUFBYTBHLE1BQWIsRUFBcUJDLEdBQXJCLEVBQTBCQyxJQUExQixFQUFnQztBQUNqRCxTQUFLLElBQUlDLFdBQVQsSUFBd0IsS0FBS04saUJBQUwsQ0FBdUJ2RyxTQUF2QixDQUF4QixFQUEyRDtBQUN6RCxVQUFJLENBQUNvQixnQkFBRTBGLE9BQUYsQ0FBVUQsV0FBVixDQUFELElBQTJCQSxXQUFXLENBQUNuQyxNQUFaLEtBQXVCLENBQXRELEVBQXlEO0FBQ3ZELGNBQU0sSUFBSXZCLEtBQUosQ0FBVSx5Q0FBVixDQUFOO0FBQ0Q7O0FBQ0QsVUFBSSxDQUFDNEQsV0FBRCxFQUFjQyxjQUFkLElBQWdDSCxXQUFwQzs7QUFDQSxVQUFJLENBQUN6RixnQkFBRXlFLFFBQUYsQ0FBVyxDQUFDLEtBQUQsRUFBUSxNQUFSLEVBQWdCLFFBQWhCLENBQVgsRUFBc0NrQixXQUF0QyxDQUFMLEVBQXlEO0FBQ3ZELGNBQU0sSUFBSTVELEtBQUosQ0FBVyx3Q0FBdUM0RCxXQUFZLEdBQTlELENBQU47QUFDRDs7QUFDRCxVQUFJLENBQUMzRixnQkFBRTZGLFFBQUYsQ0FBV0QsY0FBWCxDQUFMLEVBQWlDO0FBQy9CLGNBQU0sSUFBSTdELEtBQUosQ0FBVSxtREFBVixDQUFOO0FBQ0Q7O0FBQ0QsVUFBSStELGFBQWEsR0FBR1AsR0FBRyxDQUFDUSxPQUFKLENBQ2xCLElBQUlDLE1BQUosQ0FBWSxJQUFHaEcsZ0JBQUVpRyxZQUFGLENBQWUsS0FBSy9HLFFBQXBCLENBQThCLEVBQTdDLENBRGtCLEVBRWxCLEVBRmtCLENBQXBCOztBQUlBLFVBQUl5RyxXQUFXLEtBQUtMLE1BQWhCLElBQTBCTSxjQUFjLENBQUNNLElBQWYsQ0FBb0JKLGFBQXBCLENBQTlCLEVBQWtFO0FBQ2hFLGVBQU8sSUFBUDtBQUNEO0FBQ0Y7O0FBQ0QsV0FBTyxLQUFQO0FBQ0Q7O0FBTURLLEVBQUFBLGdCQUFnQixDQUFFQyxNQUFGLEVBQVU7QUFDeEIsU0FBS3pHLGNBQUwsQ0FBb0IwQyxJQUFwQixDQUF5QitELE1BQXpCO0FBQ0Q7O0FBRURDLEVBQUFBLGlCQUFpQixHQUFJO0FBQ25CLFdBQU8sS0FBSzFHLGNBQVo7QUFDRDs7QUFFMkIsUUFBdEIyRyxzQkFBc0IsR0FBSTtBQUM5QixRQUFJLEtBQUsxRyxjQUFULEVBQXlCO0FBQ3ZCMkcsTUFBQUEsWUFBWSxDQUFDLEtBQUszRyxjQUFOLENBQVo7QUFDQSxXQUFLQSxjQUFMLEdBQXNCLElBQXRCO0FBQ0Q7QUFDRjs7QUExY2MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG4vKiBlc2xpbnQtZGlzYWJsZSByZXF1aXJlLWF3YWl0ICovXG5cbmltcG9ydCB7IGZzLCBsb2dnZXIsIG5vZGUgfSBmcm9tICdAYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IEFzeW5jTG9jayBmcm9tICdhc3luYy1sb2NrJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ2V2ZW50cyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IG9zIGZyb20gJ29zJztcbmltcG9ydCB7IERFRkFVTFRfQkFTRV9QQVRILCBQUk9UT0NPTFMgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZXJyb3JzIH0gZnJvbSAnLi4vcHJvdG9jb2wnO1xuaW1wb3J0IHsgdmFsaWRhdGVDYXBzIH0gZnJvbSAnLi9jYXBhYmlsaXRpZXMnO1xuaW1wb3J0IHsgZGVzaXJlZENhcGFiaWxpdHlDb25zdHJhaW50cyB9IGZyb20gJy4vZGVzaXJlZC1jYXBzJztcbmltcG9ydCBEZXZpY2VTZXR0aW5ncyBmcm9tICcuL2RldmljZS1zZXR0aW5ncyc7XG5pbXBvcnQgaGVscGVycyBmcm9tICcuL2hlbHBlcnMnO1xuXG4vLyBmb3IgY29tcGF0IHdpdGggcnVubmluZyB0ZXN0cyB0cmFuc3BpbGVkIGFuZCBpbi1wbGFjZVxuY29uc3Qge3ZlcnNpb246IEJBU0VEUklWRVJfVkVSfSA9IGZzLnJlYWRQYWNrYWdlSnNvbkZyb20oX19kaXJuYW1lKTtcblxuY29uc3QgTkVXX0NPTU1BTkRfVElNRU9VVF9NUyA9IDYwICogMTAwMDtcblxuY29uc3QgT05fVU5FWFBFQ1RFRF9TSFVURE9XTl9FVkVOVCA9ICdvblVuZXhwZWN0ZWRTaHV0ZG93bic7XG4vKipcbiAqIEBpbXBsZW1lbnRzIHtDb3JlfVxuICovXG5jbGFzcyBEcml2ZXJDb3JlIHtcblxuICAvKipcbiAgICogTWFrZSB0aGUgYmFzZWRyaXZlciB2ZXJzaW9uIGF2YWlsYWJsZSBzbyBmb3IgYW55IGRyaXZlciB3aGljaCBpbmhlcml0cyBmcm9tIHRoaXMgcGFja2FnZSwgd2VcbiAgICoga25vdyB3aGljaCB2ZXJzaW9uIG9mIGJhc2Vkcml2ZXIgaXQgaW5oZXJpdGVkIGZyb21cbiAgICovXG4gIHN0YXRpYyBiYXNlVmVyc2lvbiA9IEJBU0VEUklWRVJfVkVSO1xuXG4gIC8qKlxuICAqIEB0eXBlIHtzdHJpbmc/fVxuICAqL1xuICBzZXNzaW9uSWQgPSBudWxsO1xuXG4gIC8qKlxuICAqIEB0eXBlIHtEcml2ZXJPcHRzICYgQ2FwYWJpbGl0aWVzfVxuICAqL1xuICBvcHRzO1xuXG4gIC8qKlxuICAqIEB0eXBlIHtEcml2ZXJPcHRzfVxuICAqL1xuICBpbml0aWFsT3B0cztcblxuICAvKipcbiAgKiBAdHlwZSB7Q2FwYWJpbGl0aWVzfVxuICAqL1xuICBjYXBzO1xuXG4gIC8qKlxuICAqIEB0eXBlIHtXM0NDYXBhYmlsaXRpZXN9XG4gICovXG4gIG9yaWdpbmFsQ2FwcztcblxuICBoZWxwZXJzID0gaGVscGVycztcblxuICAvKipcbiAgKiBiYXNlUGF0aCBpcyB1c2VkIGZvciBzZXZlcmFsIHB1cnBvc2VzLCBmb3IgZXhhbXBsZSBpbiBzZXR0aW5nIHVwXG4gICogcHJveHlpbmcgdG8gb3RoZXIgZHJpdmVycywgc2luY2Ugd2UgbmVlZCB0byBrbm93IHdoYXQgdGhlIGJhc2UgcGF0aFxuICAqIG9mIGFueSBpbmNvbWluZyByZXF1ZXN0IG1pZ2h0IGxvb2sgbGlrZS4gV2Ugc2V0IGl0IHRvIHRoZSBkZWZhdWx0XG4gICogaW5pdGlhbGx5IGJ1dCBpdCBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIGFueSBhY3R1YWwgcHJvZ3JhbVxuICAqIGV4ZWN1dGlvbiBieSB0aGUgcm91dGVDb25maWd1cmluZ0Z1bmN0aW9uLCB3aGljaCBpcyBuZWNlc3NhcmlseSBydW4gYXNcbiAgKiB0aGUgZW50cnlwb2ludCBmb3IgYW55IEFwcGl1bSBzZXJ2ZXJcbiAgKi9cbiAgYmFzZVBhdGggPSBERUZBVUxUX0JBU0VfUEFUSDtcblxuICByZWxheGVkU2VjdXJpdHlFbmFibGVkID0gZmFsc2U7XG5cbiAgLyoqIEB0eXBlIHtzdHJpbmdbXX0gKi9cbiAgYWxsb3dJbnNlY3VyZSA9IFtdO1xuXG4gIC8qKiBAdHlwZSB7c3RyaW5nW119ICovXG4gIGRlbnlJbnNlY3VyZSA9IFtdO1xuXG4gIG5ld0NvbW1hbmRUaW1lb3V0TXMgPSBORVdfQ09NTUFORF9USU1FT1VUX01TO1xuXG4gIGltcGxpY2l0V2FpdE1zID0gMDtcblxuICAvKiogQHR5cGUge3N0cmluZ1tdfSAqL1xuICBsb2NhdG9yU3RyYXRlZ2llcyA9IFtdO1xuXG4gIC8qKiBAdHlwZSB7c3RyaW5nW119ICovXG4gIHdlYkxvY2F0b3JTdHJhdGVnaWVzID0gW107XG5cbiAgLyoqIEB0eXBlIHtEcml2ZXJbXX0gKi9cbiAgbWFuYWdlZERyaXZlcnMgPSBbXTtcblxuICAvKiogQHR5cGUge05vZGVKUy5UaW1lb3V0P30gKi9cbiAgbm9Db21tYW5kVGltZXIgPSBudWxsO1xuXG4gIC8qKiBAdHlwZSB7RXZlbnRIaXN0b3J5fSAqL1xuICBfZXZlbnRIaXN0b3J5ID0ge2NvbW1hbmRzOiBbXX07XG5cbiAgX2NvbnN0cmFpbnRzID0gXy5jbG9uZURlZXAoZGVzaXJlZENhcGFiaWxpdHlDb25zdHJhaW50cyk7XG5cbiAgLy8gdXNlZCB0byBoYW5kbGUgZHJpdmVyIGV2ZW50c1xuICAvKiogQHR5cGUge05vZGVKUy5FdmVudEVtaXR0ZXJ9ICovXG4gIGV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgKiBAdHlwZSB7QXBwaXVtTG9nZ2VyfVxuICAqL1xuICBfbG9nO1xuXG4gIC8qKlxuICAqIEBwcm90ZWN0ZWRcbiAgKi9cbiAgc2h1dGRvd25VbmV4cGVjdGVkbHkgPSBmYWxzZTtcblxuICAvKipcbiAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgKiBAcHJvdGVjdGVkXG4gICovXG4gIHNob3VsZFZhbGlkYXRlQ2FwcztcblxuICAvKipcbiAgKiBAcHJvdGVjdGVkXG4gICovXG4gIGNvbW1hbmRzUXVldWVHdWFyZCA9IG5ldyBBc3luY0xvY2soKTtcblxuICAvKipcbiAgKiBzZXR0aW5ncyBzaG91bGQgYmUgaW5zdGFudGlhdGVkIGJ5IGRyaXZlcnMgd2hpY2ggZXh0ZW5kIEJhc2VEcml2ZXIsIGJ1dFxuICAqIHdlIHNldCBpdCB0byBhbiBlbXB0eSBEZXZpY2VTZXR0aW5ncyBpbnN0YW5jZSBoZXJlIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZVxuICAqIGRlZmF1bHQgc2V0dGluZ3MgYXJlIGFwcGxpZWQgZXZlbiBpZiBhbiBleHRlbmRpbmcgZHJpdmVyIGRvZXNuJ3QgdXRpbGl6ZVxuICAqIHRoZSBzZXR0aW5ncyBmdW5jdGlvbmFsaXR5IGl0c2VsZlxuICAqL1xuICBzZXR0aW5ncyA9IG5ldyBEZXZpY2VTZXR0aW5ncygpO1xuXG4gIGNvbnN0cnVjdG9yIChcbiAgICBvcHRzID0gLyoqIEB0eXBlIHtEcml2ZXJPcHRzfSAqLyAoe30pLFxuICAgIHNob3VsZFZhbGlkYXRlQ2FwcyA9IHRydWUsXG4gICkge1xuICAgIHRoaXMuX2xvZyA9IGxvZ2dlci5nZXRMb2dnZXIoaGVscGVycy5nZW5lcmF0ZURyaXZlckxvZ1ByZWZpeCh0aGlzKSk7XG5cbiAgICAvLyBzZXR1cCBzdGF0ZVxuICAgIHRoaXMub3B0cyA9IG9wdHM7XG5cbiAgICAvLyB1c2UgYSBjdXN0b20gdG1wIGRpciB0byBhdm9pZCBsb3NpbmcgZGF0YSBhbmQgYXBwIHdoZW4gY29tcHV0ZXIgaXNcbiAgICAvLyByZXN0YXJ0ZWRcbiAgICB0aGlzLm9wdHMudG1wRGlyID1cbiAgICAgIHRoaXMub3B0cy50bXBEaXIgfHwgcHJvY2Vzcy5lbnYuQVBQSVVNX1RNUF9ESVIgfHwgb3MudG1wZGlyKCk7XG5cbiAgICAvLyBiYXNlLWRyaXZlciBpbnRlcm5hbHNcbiAgICB0aGlzLnNob3VsZFZhbGlkYXRlQ2FwcyA9IHNob3VsZFZhbGlkYXRlQ2FwcztcblxuICAgIC8vIGtlZXBpbmcgdHJhY2sgb2YgaW5pdGlhbCBvcHRzXG4gICAgdGhpcy5pbml0aWFsT3B0cyA9IF8uY2xvbmVEZWVwKHRoaXMub3B0cyk7XG5cbiAgICB0aGlzLnNlc3Npb25JZCA9IG51bGw7XG4gIH1cblxuICBnZXQgbG9nICgpIHtcbiAgICByZXR1cm4gdGhpcy5fbG9nO1xuICB9XG5cbiAgLyoqXG4gICogU2V0IGEgY2FsbGJhY2sgaGFuZGxlciBpZiBuZWVkZWQgdG8gZXhlY3V0ZSBhIGN1c3RvbSBwaWVjZSBvZiBjb2RlXG4gICogd2hlbiB0aGUgZHJpdmVyIGlzIHNodXQgZG93biB1bmV4cGVjdGVkbHkuIE11bHRpcGxlIGNhbGxzIHRvIHRoaXMgbWV0aG9kXG4gICogd2lsbCBjYXVzZSB0aGUgaGFuZGxlciB0byBiZSBleGVjdXRlZCBtdXRpcGxlIHRpbWVzXG4gICpcbiAgKiBAcGFyYW0geyguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZH0gaGFuZGxlciBUaGUgY29kZSB0byBiZSBleGVjdXRlZCBvbiB1bmV4cGVjdGVkIHNodXRkb3duLlxuICAqIFRoZSBmdW5jdGlvbiBtYXkgYWNjZXB0IG9uZSBhcmd1bWVudCwgd2hpY2ggaXMgdGhlIGFjdHVhbCBlcnJvciBpbnN0YW5jZSwgd2hpY2hcbiAgKiBjYXVzZWQgdGhlIGRyaXZlciB0byBzaHV0IGRvd24uXG4gICovXG4gIG9uVW5leHBlY3RlZFNodXRkb3duIChoYW5kbGVyKSB7XG4gICAgdGhpcy5ldmVudEVtaXR0ZXIub24oT05fVU5FWFBFQ1RFRF9TSFVURE9XTl9FVkVOVCwgaGFuZGxlcik7XG4gIH1cblxuICAvKipcbiAgKiBUaGlzIHByb3BlcnR5IGlzIHVzZWQgYnkgQXBwaXVtRHJpdmVyIHRvIHN0b3JlIHRoZSBkYXRhIG9mIHRoZVxuICAqIHNwZWNpZmljIGRyaXZlciBzZXNzaW9ucy4gVGhpcyBkYXRhIGNhbiBiZSBsYXRlciB1c2VkIHRvIGFkanVzdFxuICAqIHByb3BlcnRpZXMgZm9yIGRyaXZlciBpbnN0YW5jZXMgcnVubmluZyBpbiBwYXJhbGxlbC5cbiAgKiBPdmVycmlkZSBpdCBpbiBpbmhlcml0ZWQgZHJpdmVyIGNsYXNzZXMgaWYgbmVjZXNzYXJ5LlxuICAqXG4gICogQHJldHVybiB7UmVjb3JkPHN0cmluZyx1bmtub3duPn0gRHJpdmVyIHByb3BlcnRpZXMgbWFwcGluZ1xuICAqL1xuICBnZXQgZHJpdmVyRGF0YSAoKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgLyoqXG4gICogVGhpcyBwcm9wZXJ0eSBjb250cm9scyB0aGUgd2F5IHsjZXhlY3V0ZUNvbW1hbmR9IG1ldGhvZFxuICAqIGhhbmRsZXMgbmV3IGRyaXZlciBjb21tYW5kcyByZWNlaXZlZCBmcm9tIHRoZSBjbGllbnQuXG4gICogT3ZlcnJpZGUgaXQgZm9yIGluaGVyaXRlZCBjbGFzc2VzIG9ubHkgaW4gc3BlY2lhbCBjYXNlcy5cbiAgKlxuICAqIEByZXR1cm4ge2Jvb2xlYW59IElmIHRoZSByZXR1cm5lZCB2YWx1ZSBpcyB0cnVlIChkZWZhdWx0KSB0aGVuIGFsbCB0aGUgY29tbWFuZHNcbiAgKiAgIHJlY2VpdmVkIGJ5IHRoZSBwYXJ0aWN1bGFyIGRyaXZlciBpbnN0YW5jZSBhcmUgZ29pbmcgdG8gYmUgcHV0IGludG8gdGhlIHF1ZXVlLFxuICAqICAgc28gZWFjaCBmb2xsb3dpbmcgY29tbWFuZCB3aWxsIG5vdCBiZSBleGVjdXRlZCB1bnRpbCB0aGUgcHJldmlvdXMgY29tbWFuZFxuICAqICAgZXhlY3V0aW9uIGlzIGNvbXBsZXRlZC4gRmFsc2UgdmFsdWUgZGlzYWJsZXMgdGhhdCBxdWV1ZSwgc28gZWFjaCBkcml2ZXIgY29tbWFuZFxuICAqICAgaXMgZXhlY3V0ZWQgaW5kZXBlbmRlbnRseSBhbmQgZG9lcyBub3Qgd2FpdCBmb3IgYW55dGhpbmcuXG4gICovXG4gIGdldCBpc0NvbW1hbmRzUXVldWVFbmFibGVkICgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qXG4gICogbWFrZSBldmVudEhpc3RvcnkgYSBwcm9wZXJ0eSBhbmQgcmV0dXJuIGEgY2xvbmVkIG9iamVjdCBzbyBhIGNvbnN1bWVyIGNhbid0XG4gICogaW5hZHZlcnRlbnRseSBjaGFuZ2UgZGF0YSBvdXRzaWRlIG9mIGxvZ0V2ZW50XG4gICovXG4gIGdldCBldmVudEhpc3RvcnkgKCkge1xuICAgIHJldHVybiBfLmNsb25lRGVlcCh0aGlzLl9ldmVudEhpc3RvcnkpO1xuICB9XG5cbiAgLyoqXG4gICogQVBJIG1ldGhvZCBmb3IgZHJpdmVyIGRldmVsb3BlcnMgdG8gbG9nIHRpbWluZ3MgZm9yIGltcG9ydGFudCBldmVudHNcbiAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gICovXG4gIGxvZ0V2ZW50IChldmVudE5hbWUpIHtcbiAgICBpZiAoZXZlbnROYW1lID09PSAnY29tbWFuZHMnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBsb2cgY29tbWFuZHMgZGlyZWN0bHknKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBldmVudE5hbWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZXZlbnROYW1lICR7ZXZlbnROYW1lfWApO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX2V2ZW50SGlzdG9yeVtldmVudE5hbWVdKSB7XG4gICAgICB0aGlzLl9ldmVudEhpc3RvcnlbZXZlbnROYW1lXSA9IFtdO1xuICAgIH1cbiAgICBjb25zdCB0cyA9IERhdGUubm93KCk7XG4gICAgY29uc3QgbG9nVGltZSA9IG5ldyBEYXRlKHRzKS50b1RpbWVTdHJpbmcoKTtcbiAgICB0aGlzLl9ldmVudEhpc3RvcnlbZXZlbnROYW1lXS5wdXNoKHRzKTtcbiAgICB0aGlzLmxvZy5kZWJ1ZyhgRXZlbnQgJyR7ZXZlbnROYW1lfScgbG9nZ2VkIGF0ICR7dHN9ICgke2xvZ1RpbWV9KWApO1xuICB9XG5cbiAgLyoqXG4gICogT3ZlcnJpZGRlbiBpbiBhcHBpdW0gZHJpdmVyLCBidXQgaGVyZSBzbyB0aGF0IGluZGl2aWR1YWwgZHJpdmVycyBjYW4gYmVcbiAgKiB0ZXN0ZWQgd2l0aCBjbGllbnRzIHRoYXQgcG9sbFxuICAqL1xuICBhc3luYyBnZXRTdGF0dXMgKCkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIC8vIHdlIG9ubHkgd2FudCBzdWJjbGFzc2VzIHRvIGV2ZXIgZXh0ZW5kIHRoZSBjb250cmFpbnRzXG4gIHNldCBkZXNpcmVkQ2FwQ29uc3RyYWludHMgKGNvbnN0cmFpbnRzKSB7XG4gICAgdGhpcy5fY29uc3RyYWludHMgPSBPYmplY3QuYXNzaWduKHRoaXMuX2NvbnN0cmFpbnRzLCBjb25zdHJhaW50cyk7XG4gICAgLy8gJ3ByZXNlbmNlJyBtZWFucyBkaWZmZXJlbnQgdGhpbmdzIGluIGRpZmZlcmVudCB2ZXJzaW9ucyBvZiB0aGUgdmFsaWRhdG9yLFxuICAgIC8vIHdoZW4gd2Ugc2F5ICd0cnVlJyB3ZSBtZWFuIHRoYXQgaXQgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIGJlIGVtcHR5XG4gICAgZm9yIChjb25zdCBbLCB2YWx1ZV0gb2YgXy50b1BhaXJzKHRoaXMuX2NvbnN0cmFpbnRzKSkge1xuICAgICAgaWYgKHZhbHVlICYmIHZhbHVlLnByZXNlbmNlID09PSB0cnVlKSB7XG4gICAgICAgIHZhbHVlLnByZXNlbmNlID0ge1xuICAgICAgICAgIGFsbG93RW1wdHk6IGZhbHNlLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBkZXNpcmVkQ2FwQ29uc3RyYWludHMgKCkge1xuICAgIHJldHVybiB0aGlzLl9jb25zdHJhaW50cztcbiAgfVxuXG4gIC8qKlxuICAqIG1ldGhvZCByZXF1aXJlZCBieSBNSlNPTldQIGluIG9yZGVyIHRvIGRldGVybWluZSB3aGV0aGVyIGl0IHNob3VsZFxuICAqIHJlc3BvbmQgd2l0aCBhbiBpbnZhbGlkIHNlc3Npb24gcmVzcG9uc2VcbiAgKiBAcGFyYW0ge3N0cmluZ30gW3Nlc3Npb25JZF1cbiAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgKi9cbiAgc2Vzc2lvbkV4aXN0cyAoc2Vzc2lvbklkKSB7XG4gICAgaWYgKCFzZXNzaW9uSWQpIHJldHVybiBmYWxzZTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBjdXJseVxuICAgIHJldHVybiBzZXNzaW9uSWQgPT09IHRoaXMuc2Vzc2lvbklkO1xuICB9XG5cbiAgLyoqXG4gICogbWV0aG9kIHJlcXVpcmVkIGJ5IE1KU09OV1AgaW4gb3JkZXIgdG8gZGV0ZXJtaW5lIGlmIHRoZSBjb21tYW5kIHNob3VsZFxuICAqIGJlIHByb3hpZWQgZGlyZWN0bHkgdG8gdGhlIGRyaXZlclxuICAqIEBwYXJhbSB7c3RyaW5nfSBzZXNzaW9uSWRcbiAgKiBAcmV0dXJucyB7dGhpcyB8IGltcG9ydCgnQGFwcGl1bS90eXBlcycpLkRyaXZlcn1cbiAgKi9cbiAgZHJpdmVyRm9yU2Vzc2lvbiAoc2Vzc2lvbklkKSB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgKlxuICAqIEBwYXJhbSB7Q2FwYWJpbGl0aWVzfSBjYXBzXG4gICovXG4gIGxvZ0V4dHJhQ2FwcyAoY2Fwcykge1xuICAgIGxldCBleHRyYUNhcHMgPSBfLmRpZmZlcmVuY2UoXy5rZXlzKGNhcHMpLCBfLmtleXModGhpcy5fY29uc3RyYWludHMpKTtcbiAgICBpZiAoZXh0cmFDYXBzLmxlbmd0aCkge1xuICAgICAgdGhpcy5sb2cud2FybihcbiAgICAgICAgYFRoZSBmb2xsb3dpbmcgY2FwYWJpbGl0aWVzIHdlcmUgcHJvdmlkZWQsIGJ1dCBhcmUgbm90IGAgK1xuICAgICAgICAgIGByZWNvZ25pemVkIGJ5IEFwcGl1bTpgLFxuICAgICAgKTtcbiAgICAgIGZvciAoY29uc3QgY2FwIG9mIGV4dHJhQ2Fwcykge1xuICAgICAgICB0aGlzLmxvZy53YXJuKGAgICR7Y2FwfWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAqXG4gICogQHBhcmFtIHtDYXBhYmlsaXRpZXN9IGNhcHNcbiAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgKi9cbiAgdmFsaWRhdGVEZXNpcmVkQ2FwcyAoY2Fwcykge1xuICAgIGlmICghdGhpcy5zaG91bGRWYWxpZGF0ZUNhcHMpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICB2YWxpZGF0ZUNhcHMoY2FwcywgdGhpcy5fY29uc3RyYWludHMpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nLmVycm9yQW5kVGhyb3coXG4gICAgICAgIG5ldyBlcnJvcnMuU2Vzc2lvbk5vdENyZWF0ZWRFcnJvcihcbiAgICAgICAgICBgVGhlIGRlc2lyZWRDYXBhYmlsaXRpZXMgb2JqZWN0IHdhcyBub3QgdmFsaWQgZm9yIHRoZSBgICtcbiAgICAgICAgICAgIGBmb2xsb3dpbmcgcmVhc29uKHMpOiAke2UubWVzc2FnZX1gLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmxvZ0V4dHJhQ2FwcyhjYXBzKTtcblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaXNNanNvbndwUHJvdG9jb2wgKCkge1xuICAgIHJldHVybiB0aGlzLnByb3RvY29sID09PSBQUk9UT0NPTFMuTUpTT05XUDtcbiAgfVxuXG4gIGlzVzNDUHJvdG9jb2wgKCkge1xuICAgIHJldHVybiB0aGlzLnByb3RvY29sID09PSBQUk9UT0NPTFMuVzNDO1xuICB9XG5cbiAgc2V0UHJvdG9jb2xNSlNPTldQICgpIHtcbiAgICB0aGlzLnByb3RvY29sID0gUFJPVE9DT0xTLk1KU09OV1A7XG4gIH1cblxuICBzZXRQcm90b2NvbFczQyAoKSB7XG4gICAgdGhpcy5wcm90b2NvbCA9IFBST1RPQ09MUy5XM0M7XG4gIH1cblxuICAvKipcbiAgKiBDaGVjayB3aGV0aGVyIGEgZ2l2ZW4gZmVhdHVyZSBpcyBlbmFibGVkIHZpYSBpdHMgbmFtZVxuICAqXG4gICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBuYW1lIG9mIGZlYXR1cmUvY29tbWFuZFxuICAqXG4gICogQHJldHVybnMge0Jvb2xlYW59XG4gICovXG4gIGlzRmVhdHVyZUVuYWJsZWQgKG5hbWUpIHtcbiAgICAvLyBpZiB3ZSBoYXZlIGV4cGxpY2l0bHkgZGVuaWVkIHRoaXMgZmVhdHVyZSwgcmV0dXJuIGZhbHNlIGltbWVkaWF0ZWx5XG4gICAgaWYgKHRoaXMuZGVueUluc2VjdXJlICYmIF8uaW5jbHVkZXModGhpcy5kZW55SW5zZWN1cmUsIG5hbWUpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gaWYgd2Ugc3BlY2lmaWNhbGx5IGhhdmUgYWxsb3dlZCB0aGUgZmVhdHVyZSwgcmV0dXJuIHRydWVcbiAgICBpZiAodGhpcy5hbGxvd0luc2VjdXJlICYmIF8uaW5jbHVkZXModGhpcy5hbGxvd0luc2VjdXJlLCBuYW1lKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLy8gb3RoZXJ3aXNlLCBpZiB3ZSd2ZSBnbG9iYWxseSBhbGxvd2VkIGluc2VjdXJlIGZlYXR1cmVzIGFuZCBub3QgZGVuaWVkXG4gICAgLy8gdGhpcyBvbmUsIHJldHVybiB0cnVlXG4gICAgaWYgKHRoaXMucmVsYXhlZFNlY3VyaXR5RW5hYmxlZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLy8gaWYgd2UgaGF2ZW4ndCBhbGxvd2VkIGFueXRoaW5nIGluc2VjdXJlLCB0aGVuIHJlamVjdFxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAqIEFzc2VydCB0aGF0IGEgZ2l2ZW4gZmVhdHVyZSBpcyBlbmFibGVkIGFuZCB0aHJvdyBhIGhlbHBmdWwgZXJyb3IgaWYgaXQnc1xuICAqIG5vdFxuICAqXG4gICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBuYW1lIG9mIGZlYXR1cmUvY29tbWFuZFxuICAqL1xuICBlbnN1cmVGZWF0dXJlRW5hYmxlZCAobmFtZSkge1xuICAgIGlmICghdGhpcy5pc0ZlYXR1cmVFbmFibGVkKG5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBQb3RlbnRpYWxseSBpbnNlY3VyZSBmZWF0dXJlICcke25hbWV9JyBoYXMgbm90IGJlZW4gYCArXG4gICAgICAgICAgYGVuYWJsZWQuIElmIHlvdSB3YW50IHRvIGVuYWJsZSB0aGlzIGZlYXR1cmUgYW5kIGFjY2VwdCBgICtcbiAgICAgICAgICBgdGhlIHNlY3VyaXR5IHJhbWlmaWNhdGlvbnMsIHBsZWFzZSBkbyBzbyBieSBmb2xsb3dpbmcgYCArXG4gICAgICAgICAgYHRoZSBkb2N1bWVudGVkIGluc3RydWN0aW9ucyBhdCBodHRwczovL2dpdGh1Yi5jb20vYXBwaXVtYCArXG4gICAgICAgICAgYC9hcHBpdW0vYmxvYi9tYXN0ZXIvZG9jcy9lbi93cml0aW5nLXJ1bm5pbmctYXBwaXVtL3NlY3VyaXR5Lm1kYCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICpcbiAgKiBAcGFyYW0ge3N0cmluZ30gc3RyYXRlZ3lcbiAgKiBAcGFyYW0ge2Jvb2xlYW59IFt3ZWJDb250ZXh0XVxuICAqL1xuICB2YWxpZGF0ZUxvY2F0b3JTdHJhdGVneSAoc3RyYXRlZ3ksIHdlYkNvbnRleHQgPSBmYWxzZSkge1xuICAgIGxldCB2YWxpZFN0cmF0ZWdpZXMgPSB0aGlzLmxvY2F0b3JTdHJhdGVnaWVzO1xuICAgIHRoaXMubG9nLmRlYnVnKFxuICAgICAgYFZhbGlkIGxvY2F0b3Igc3RyYXRlZ2llcyBmb3IgdGhpcyByZXF1ZXN0OiAke3ZhbGlkU3RyYXRlZ2llcy5qb2luKFxuICAgICAgICAnLCAnLFxuICAgICAgKX1gLFxuICAgICk7XG5cbiAgICBpZiAod2ViQ29udGV4dCkge1xuICAgICAgdmFsaWRTdHJhdGVnaWVzID0gdmFsaWRTdHJhdGVnaWVzLmNvbmNhdCh0aGlzLndlYkxvY2F0b3JTdHJhdGVnaWVzKTtcbiAgICB9XG5cbiAgICBpZiAoIV8uaW5jbHVkZXModmFsaWRTdHJhdGVnaWVzLCBzdHJhdGVneSkpIHtcbiAgICAgIHRocm93IG5ldyBlcnJvcnMuSW52YWxpZFNlbGVjdG9yRXJyb3IoXG4gICAgICAgIGBMb2NhdG9yIFN0cmF0ZWd5ICcke3N0cmF0ZWd5fScgaXMgbm90IHN1cHBvcnRlZCBmb3IgdGhpcyBzZXNzaW9uYCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICpcbiAgKiBAcGFyYW0ge3N0cmluZ30gW3Nlc3Npb25JZF1cbiAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgKi9cbiAgcHJveHlBY3RpdmUgKHNlc3Npb25JZCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAqXG4gICogQHBhcmFtIHtzdHJpbmd9IHNlc3Npb25JZFxuICAqIEByZXR1cm5zIHtbc3RyaW5nLCBSZWdFeHBdW119XG4gICovXG4gIGdldFByb3h5QXZvaWRMaXN0IChzZXNzaW9uSWQpIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvKipcbiAgKlxuICAqIEBwYXJhbSB7c3RyaW5nfSBbc2Vzc2lvbklkXVxuICAqIEByZXR1cm5zIHtib29sZWFufVxuICAqL1xuICBjYW5Qcm94eSAoc2Vzc2lvbklkKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICogV2hldGhlciBhIGdpdmVuIGNvbW1hbmQgcm91dGUgKGV4cHJlc3NlZCBhcyBtZXRob2QgYW5kIHVybCkgc2hvdWxkIG5vdCBiZVxuICAqIHByb3hpZWQgYWNjb3JkaW5nIHRvIHRoaXMgZHJpdmVyXG4gICpcbiAgKiBAcGFyYW0ge3N0cmluZ30gc2Vzc2lvbklkIC0gdGhlIGN1cnJlbnQgc2Vzc2lvbklkIChpbiBjYXNlIHRoZSBkcml2ZXIgcnVuc1xuICAqIG11bHRpcGxlIHNlc3Npb24gaWRzIGFuZCByZXF1aXJlcyBpdCkuIFRoaXMgaXMgbm90IHVzZWQgaW4gdGhpcyBtZXRob2QgYnV0XG4gICogc2hvdWxkIGJlIG1hZGUgYXZhaWxhYmxlIHRvIG92ZXJyaWRkZW4gbWV0aG9kcy5cbiAgKiBAcGFyYW0ge2ltcG9ydCgnQGFwcGl1bS90eXBlcycpLkhUVFBNZXRob2R9IG1ldGhvZCAtIEhUVFAgbWV0aG9kIG9mIHRoZSByb3V0ZVxuICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgLSB1cmwgb2YgdGhlIHJvdXRlXG4gICogQHBhcmFtIHthbnl9IFtib2R5XSAtIHdlYmRyaXZlciByZXF1ZXN0IGJvZHlcbiAgKlxuICAqIEByZXR1cm5zIHtib29sZWFufSAtIHdoZXRoZXIgdGhlIHJvdXRlIHNob3VsZCBiZSBhdm9pZGVkXG4gICovXG4gIHByb3h5Um91dGVJc0F2b2lkZWQgKHNlc3Npb25JZCwgbWV0aG9kLCB1cmwsIGJvZHkpIHtcbiAgICBmb3IgKGxldCBhdm9pZFNjaGVtYSBvZiB0aGlzLmdldFByb3h5QXZvaWRMaXN0KHNlc3Npb25JZCkpIHtcbiAgICAgIGlmICghXy5pc0FycmF5KGF2b2lkU2NoZW1hKSB8fCBhdm9pZFNjaGVtYS5sZW5ndGggIT09IDIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQcm94eSBhdm9pZGFuY2UgbXVzdCBiZSBhIGxpc3Qgb2YgcGFpcnMnKTtcbiAgICAgIH1cbiAgICAgIGxldCBbYXZvaWRNZXRob2QsIGF2b2lkUGF0aFJlZ2V4XSA9IGF2b2lkU2NoZW1hO1xuICAgICAgaWYgKCFfLmluY2x1ZGVzKFsnR0VUJywgJ1BPU1QnLCAnREVMRVRFJ10sIGF2b2lkTWV0aG9kKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVucmVjb2duaXplZCBwcm94eSBhdm9pZGFuY2UgbWV0aG9kICcke2F2b2lkTWV0aG9kfSdgKTtcbiAgICAgIH1cbiAgICAgIGlmICghXy5pc1JlZ0V4cChhdm9pZFBhdGhSZWdleCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQcm94eSBhdm9pZGFuY2UgcGF0aCBtdXN0IGJlIGEgcmVndWxhciBleHByZXNzaW9uJyk7XG4gICAgICB9XG4gICAgICBsZXQgbm9ybWFsaXplZFVybCA9IHVybC5yZXBsYWNlKFxuICAgICAgICBuZXcgUmVnRXhwKGBeJHtfLmVzY2FwZVJlZ0V4cCh0aGlzLmJhc2VQYXRoKX1gKSxcbiAgICAgICAgJycsXG4gICAgICApO1xuICAgICAgaWYgKGF2b2lkTWV0aG9kID09PSBtZXRob2QgJiYgYXZvaWRQYXRoUmVnZXgudGVzdChub3JtYWxpemVkVXJsKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICpcbiAgKiBAcGFyYW0ge0RyaXZlcn0gZHJpdmVyXG4gICovXG4gIGFkZE1hbmFnZWREcml2ZXIgKGRyaXZlcikge1xuICAgIHRoaXMubWFuYWdlZERyaXZlcnMucHVzaChkcml2ZXIpO1xuICB9XG5cbiAgZ2V0TWFuYWdlZERyaXZlcnMgKCkge1xuICAgIHJldHVybiB0aGlzLm1hbmFnZWREcml2ZXJzO1xuICB9XG5cbiAgYXN5bmMgY2xlYXJOZXdDb21tYW5kVGltZW91dCAoKSB7XG4gICAgaWYgKHRoaXMubm9Db21tYW5kVGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLm5vQ29tbWFuZFRpbWVyKTtcbiAgICAgIHRoaXMubm9Db21tYW5kVGltZXIgPSBudWxsO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQge0RyaXZlckNvcmV9O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5DYXBhYmlsaXRpZXN9IENhcGFiaWxpdGllc1xuICogQHR5cGVkZWYge2ltcG9ydCgnQGFwcGl1bS90eXBlcycpLlczQ0NhcGFiaWxpdGllc30gVzNDQ2FwYWJpbGl0aWVzXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdAYXBwaXVtL3R5cGVzJykuRHJpdmVyfSBEcml2ZXJcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5Db3JlfSBDb3JlXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdAYXBwaXVtL3R5cGVzJykuRHJpdmVyT3B0c30gRHJpdmVyT3B0c1xuICogQHR5cGVkZWYge2ltcG9ydCgnQGFwcGl1bS90eXBlcycpLkV2ZW50SGlzdG9yeX0gRXZlbnRIaXN0b3J5XG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdAYXBwaXVtL3R5cGVzJykuQXBwaXVtTG9nZ2VyfSBBcHBpdW1Mb2dnZXJcbiAqL1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"desired-caps.d.ts","sourceRoot":"","sources":["../../../lib/basedriver/desired-caps.js"],"names":[],"mappings":"AAIA,kDAAkD;AAClD,yCADW,OAAO,eAAe,EAAE,WAAW,CAmD5C"}
|
|
@@ -169,7 +169,5 @@ _validate.default.promise = _bluebird.default;
|
|
|
169
169
|
|
|
170
170
|
_validate.default.prettify = function prettify(val) {
|
|
171
171
|
return val;
|
|
172
|
-
};
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9iYXNlZHJpdmVyL2Rlc2lyZWQtY2Fwcy5qcyJdLCJuYW1lcyI6WyJkZXNpcmVkQ2FwYWJpbGl0eUNvbnN0cmFpbnRzIiwicGxhdGZvcm1OYW1lIiwicHJlc2VuY2UiLCJpc1N0cmluZyIsImRldmljZU5hbWUiLCJwbGF0Zm9ybVZlcnNpb24iLCJuZXdDb21tYW5kVGltZW91dCIsImlzTnVtYmVyIiwiYXV0b21hdGlvbk5hbWUiLCJhdXRvTGF1bmNoIiwiaXNCb29sZWFuIiwidWRpZCIsIm9yaWVudGF0aW9uIiwiaW5jbHVzaW9uIiwiYXV0b1dlYnZpZXciLCJub1Jlc2V0IiwiZnVsbFJlc2V0IiwibGFuZ3VhZ2UiLCJsb2NhbGUiLCJldmVudFRpbWluZ3MiLCJwcmludFBhZ2VTb3VyY2VPbkZpbmRGYWlsdXJlIiwidmFsaWRhdG9yIiwidmFsaWRhdG9ycyIsInZhbHVlIiwiaXNOYU4iLCJsb2ciLCJ3YXJuIiwiaW5jbHVkZXMiLCJpc09iamVjdCIsImlzQXJyYXkiLCJBcnJheSIsImRlcHJlY2F0ZWQiLCJvcHRpb25zIiwia2V5IiwiaW5jbHVzaW9uQ2FzZUluc2Vuc2l0aXZlIiwib3B0aW9uIiwidG9Mb3dlckNhc2UiLCJ0b1N0cmluZyIsInByb21pc2UiLCJCIiwicHJldHRpZnkiLCJ2YWwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBR0EsSUFBSUEsNEJBQTRCLEdBQUc7QUFDakNDLEVBQUFBLFlBQVksRUFBRTtBQUNaQyxJQUFBQSxRQUFRLEVBQUUsSUFERTtBQUVaQyxJQUFBQSxRQUFRLEVBQUU7QUFGRSxHQURtQjtBQUtqQ0MsRUFBQUEsVUFBVSxFQUFFO0FBQ1ZELElBQUFBLFFBQVEsRUFBRTtBQURBLEdBTHFCO0FBUWpDRSxFQUFBQSxlQUFlLEVBQUU7QUFDZkYsSUFBQUEsUUFBUSxFQUFFO0FBREssR0FSZ0I7QUFXakNHLEVBQUFBLGlCQUFpQixFQUFFO0FBQ2pCQyxJQUFBQSxRQUFRLEVB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UUFBVCxDQUFtQkMsR0FBbkIsRUFBd0I7QUFDM0MsU0FBT0EsR0FBUDtBQUNELENBRkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbG9nIGZyb20gJy4vbG9nZ2VyJztcbmltcG9ydCB2YWxpZGF0b3IgZnJvbSAndmFsaWRhdGUuanMnO1xuaW1wb3J0IEIgZnJvbSAnYmx1ZWJpcmQnO1xuXG5cbmxldCBkZXNpcmVkQ2FwYWJpbGl0eUNvbnN0cmFpbnRzID0ge1xuICBwbGF0Zm9ybU5hbWU6IHtcbiAgICBwcmVzZW5jZTogdHJ1ZSxcbiAgICBpc1N0cmluZzogdHJ1ZSxcbiAgfSxcbiAgZGV2aWNlTmFtZToge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIHBsYXRmb3JtVmVyc2lvbjoge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIG5ld0NvbW1hbmRUaW1lb3V0OiB7XG4gICAgaXNOdW1iZXI6IHRydWVcbiAgfSxcbiAgYXV0b21hdGlvbk5hbWU6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICBhdXRvTGF1bmNoOiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gIHVkaWQ6IHtcbiAgICBpc1N0cmluZzogdHJ1ZVxuICB9LFxuICBvcmllbnRhdGlvbjoge1xuICAgIGluY2x1c2lvbjogW1xuICAgICAgJ0xBTkRTQ0FQRScsXG4gICAgICAnUE9SVFJBSVQnXG4gICAgXVxuICB9LFxuICBhdXRvV2Vidmlldzoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICBub1Jlc2V0OiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gIGZ1bGxSZXNldDoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICBsYW5ndWFnZToge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIGxvY2FsZToge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIGV2ZW50VGltaW5nczoge1xuICAgIGlzQm9vbGVhbjogdHJ1ZVxuICB9LFxuICBwcmludFBhZ2VTb3VyY2VPbkZpbmRGYWlsdXJlOiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG59O1xuXG52YWxpZGF0b3IudmFsaWRhdG9ycy5pc1N0cmluZyA9IGZ1bmN0aW9uIGlzU3RyaW5nICh2YWx1ZSkge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiAnbXVzdCBiZSBvZiB0eXBlIHN0cmluZyc7XG59O1xudmFsaWRhdG9yLnZhbGlkYXRvcnMuaXNOdW1iZXIgPSBmdW5jdGlvbiBpc051bWJlciAodmFsdWUpIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBhbGxvdyBhIHN0cmluZyB2YWx1ZVxuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiAhaXNOYU4odmFsdWUpKSB7XG4gICAgbG9nLndhcm4oJ051bWJlciBjYXBhYmlsaXR5IHBhc3NlZCBpbiBhcyBzdHJpbmcuIEZ1bmN0aW9uYWxpdHkgbWF5IGJlIGNvbXByb21pc2VkLicpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuICdtdXN0IGJlIG9mIHR5cGUgbnVtYmVyJztcbn07XG52YWxpZGF0b3IudmFsaWRhdG9ycy5pc0Jvb2xlYW4gPSBmdW5jdGlvbiBpc0Jvb2xlYW4gKHZhbHVlKSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gYWxsb3cgYSBzdHJpbmcgdmFsdWVcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgWyd0cnVlJywgJ2ZhbHNlJywgJyddLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiAnbXVzdCBiZSBvZiB0eXBlIGJvb2xlYW4nO1xufTtcbnZhbGlkYXRvci52YWxpZGF0b3JzLmlzT2JqZWN0ID0gZnVuY3Rpb24gaXNPYmplY3QgKHZhbHVlKSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuICdtdXN0IGJlIG9mIHR5cGUgb2JqZWN0Jztcbn07XG52YWxpZGF0b3IudmFsaWRhdG9ycy5pc0FycmF5ID0gZnVuY3Rpb24gaXNBcnJheSAodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuICdtdXN0IGJlIG9mIHR5cGUgYXJyYXknO1xufTtcbnZhbGlkYXRvci52YWxpZGF0b3JzLmRlcHJlY2F0ZWQgPSBmdW5jdGlvbiBkZXByZWNhdGVkICh2YWx1ZSwgb3B0aW9ucywga2V5KSB7XG4gIGlmIChvcHRpb25zKSB7XG4gICAgbG9nLndhcm4oYCR7a2V5fSBpcyBhIGRlcHJlY2F0ZWQgY2FwYWJpbGl0eWApO1xuICB9XG4gIHJldHVybiBudWxsO1xufTtcbnZhbGlkYXRvci52YWxpZGF0b3JzLmluY2x1c2lvbkNhc2VJbnNlbnNpdGl2ZSA9IGZ1bmN0aW9uIGluY2x1c2lvbkNhc2VJbnNlbnNpdGl2ZSAodmFsdWUsIG9wdGlvbnMpIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuICd1bnJlY29nbmlzZWQnO1xuICB9XG4gIGZvciAobGV0IG9wdGlvbiBvZiBvcHRpb25zKSB7XG4gICAgaWYgKG9wdGlvbi50b0xvd2VyQ2FzZSgpID09PSB2YWx1ZS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGAke3ZhbHVlfSBub3QgcGFydCBvZiAke29wdGlvbnMudG9TdHJpbmcoKX1gO1xufTtcblxudmFsaWRhdG9yLnByb21pc2UgPSBCO1xudmFsaWRhdG9yLnByZXR0aWZ5ID0gZnVuY3Rpb24gcHJldHRpZnkgKHZhbCkge1xuICByZXR1cm4gdmFsO1xufTtcblxuXG5leHBvcnQgeyBkZXNpcmVkQ2FwYWJpbGl0eUNvbnN0cmFpbnRzLCB2YWxpZGF0b3IgfTtcbiJdLCJmaWxlIjoibGliL2Jhc2Vkcml2ZXIvZGVzaXJlZC1jYXBzLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uIn0=
|
|
172
|
+
};
|
|
173
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9iYXNlZHJpdmVyL2Rlc2lyZWQtY2Fwcy5qcyJdLCJuYW1lcyI6WyJkZXNpcmVkQ2FwYWJpbGl0eUNvbnN0cmFpbnRzIiwicGxhdGZvcm1OYW1lIiwicHJlc2VuY2UiLCJpc1N0cmluZyIsImRldmljZU5hbWUiLCJwbGF0Zm9ybVZlcnNpb24iLCJuZXdDb21tYW5kVGltZW91dCIsImlzTnVtYmVyIiwiYXV0b21hdGlvbk5hbWUiLCJhdXRvTGF1bmNoIiwiaXNCb29sZWFuIiwidWRpZCIsIm9yaWVudGF0aW9uIiwiaW5jbHVzaW9uIiwiYXV0b1dlYnZpZXciLCJub1Jlc2V0IiwiZnVsbFJlc2V0IiwibGFuZ3VhZ2UiLCJsb2NhbGUiLCJldmVudFRpbWluZ3MiLCJwcmludFBhZ2VTb3VyY2VPbkZpbmRGYWlsdXJlIiwidmFsaWRhdG9yIiwidmFsaWRhdG9ycyIsInZhbHVlIiwiaXNOYU4iLCJsb2ciLCJ3YXJuIiwiaW5jbHVkZXMiLCJpc09iamVjdCIsImlzQXJyYXkiLCJBcnJheSIsImRlcHJlY2F0ZWQiLCJvcHRpb25zIiwia2V5IiwiaW5jbHVzaW9uQ2FzZUluc2Vuc2l0aXZlIiwib3B0aW9uIiwidG9Mb3dlckNhc2UiLCJ0b1N0cmluZyIsInByb21pc2UiLCJCIiwicHJldHRpZnkiLCJ2YWwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBR0EsSUFBSUEsNEJBQTRCLEdBQUc7QUFDakNDLEVBQUFBLFlBQVksRUFBRTtBQUNaQyxJQUFBQSxRQUFRLEVBQUUsSUFERTtBQUVaQyxJQUFBQSxRQUFRLEVBQUU7QUFGRSxHQURtQjtBQUtqQ0MsRUFBQUEsVUFBVSxFQUFFO0FBQ1ZELElBQUFBLFFBQVEsRUFBRTtBQURBLEdBTHFCO0FBUWpDRSxFQUFBQSxlQUFlLEVBQUU7QUFDZkYsSUFBQUEsUUFBUSxFQUFFO0FBREssR0FSZ0I7QUFXakNHLEVBQUFBLGlCQUFpQixFQUFFO0FBQ2pCQyxJQUFB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cUIsU0FBU0EsUUFBVCxDQUFtQkMsR0FBbkIsRUFBd0I7QUFDM0MsU0FBT0EsR0FBUDtBQUNELENBRkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbG9nIGZyb20gJy4vbG9nZ2VyJztcbmltcG9ydCB2YWxpZGF0b3IgZnJvbSAndmFsaWRhdGUuanMnO1xuaW1wb3J0IEIgZnJvbSAnYmx1ZWJpcmQnO1xuXG4vKiogQHR5cGUge2ltcG9ydCgnQGFwcGl1bS90eXBlcycpLkNvbnN0cmFpbnRzfSAqL1xubGV0IGRlc2lyZWRDYXBhYmlsaXR5Q29uc3RyYWludHMgPSB7XG4gIHBsYXRmb3JtTmFtZToge1xuICAgIHByZXNlbmNlOiB0cnVlLFxuICAgIGlzU3RyaW5nOiB0cnVlLFxuICB9LFxuICBkZXZpY2VOYW1lOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgcGxhdGZvcm1WZXJzaW9uOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgbmV3Q29tbWFuZFRpbWVvdXQ6IHtcbiAgICBpc051bWJlcjogdHJ1ZVxuICB9LFxuICBhdXRvbWF0aW9uTmFtZToge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIGF1dG9MYXVuY2g6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgdWRpZDoge1xuICAgIGlzU3RyaW5nOiB0cnVlXG4gIH0sXG4gIG9yaWVudGF0aW9uOiB7XG4gICAgaW5jbHVzaW9uOiBbXG4gICAgICAnTEFORFNDQVBFJyxcbiAgICAgICdQT1JUUkFJVCdcbiAgICBdXG4gIH0sXG4gIGF1dG9XZWJ2aWV3OiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gIG5vUmVzZXQ6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbiAgZnVsbFJlc2V0OiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gIGxhbmd1YWdlOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgbG9jYWxlOiB7XG4gICAgaXNTdHJpbmc6IHRydWVcbiAgfSxcbiAgZXZlbnRUaW1pbmdzOiB7XG4gICAgaXNCb29sZWFuOiB0cnVlXG4gIH0sXG4gIHByaW50UGFnZVNvdXJjZU9uRmluZEZhaWx1cmU6IHtcbiAgICBpc0Jvb2xlYW46IHRydWVcbiAgfSxcbn07XG5cbnZhbGlkYXRvci52YWxpZGF0b3JzLmlzU3RyaW5nID0gZnVuY3Rpb24gaXNTdHJpbmcgKHZhbHVlKSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuICdtdXN0IGJlIG9mIHR5cGUgc3RyaW5nJztcbn07XG52YWxpZGF0b3IudmFsaWRhdG9ycy5pc051bWJlciA9IGZ1bmN0aW9uIGlzTnVtYmVyICh2YWx1ZSkge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIGFsbG93IGEgc3RyaW5nIHZhbHVlXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmICFpc05hTih2YWx1ZSkpIHtcbiAgICBsb2cud2FybignTnVtYmVyIGNhcGFiaWxpdHkgcGFzc2VkIGluIGFzIHN0cmluZy4gRnVuY3Rpb25hbGl0eSBtYXkgYmUgY29tcHJvbWlzZWQuJyk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gJ211c3QgYmUgb2YgdHlwZSBudW1iZXInO1xufTtcbnZhbGlkYXRvci52YWxpZGF0b3JzLmlzQm9vbGVhbiA9IGZ1bmN0aW9uIGlzQm9vbGVhbiAodmFsdWUpIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBhbGxvdyBhIHN0cmluZyB2YWx1ZVxuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiBbJ3RydWUnLCAnZmFsc2UnLCAnJ10uaW5jbHVkZXModmFsdWUpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuICdtdXN0IGJlIG9mIHR5cGUgYm9vbGVhbic7XG59O1xudmFsaWRhdG9yLnZhbGlkYXRvcnMuaXNPYmplY3QgPSBmdW5jdGlvbiBpc09iamVjdCAodmFsdWUpIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gJ211c3QgYmUgb2YgdHlwZSBvYmplY3QnO1xufTtcbnZhbGlkYXRvci52YWxpZGF0b3JzLmlzQXJyYXkgPSBmdW5jdGlvbiBpc0FycmF5ICh2YWx1ZSkge1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gJ211c3QgYmUgb2YgdHlwZSBhcnJheSc7XG59O1xudmFsaWRhdG9yLnZhbGlkYXRvcnMuZGVwcmVjYXRlZCA9IGZ1bmN0aW9uIGRlcHJlY2F0ZWQgKHZhbHVlLCBvcHRpb25zLCBrZXkpIHtcbiAgaWYgKG9wdGlvbnMpIHtcbiAgICBsb2cud2FybihgJHtrZXl9IGlzIGEgZGVwcmVjYXRlZCBjYXBhYmlsaXR5YCk7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59O1xudmFsaWRhdG9yLnZhbGlkYXRvcnMuaW5jbHVzaW9uQ2FzZUluc2Vuc2l0aXZlID0gZnVuY3Rpb24gaW5jbHVzaW9uQ2FzZUluc2Vuc2l0aXZlICh2YWx1ZSwgb3B0aW9ucykge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBudWxsO1xuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gJ3VucmVjb2duaXNlZCc7XG4gIH1cbiAgZm9yIChsZXQgb3B0aW9uIG9mIG9wdGlvbnMpIHtcbiAgICBpZiAob3B0aW9uLnRvTG93ZXJDYXNlKCkgPT09IHZhbHVlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICByZXR1cm4gYCR7dmFsdWV9IG5vdCBwYXJ0IG9mICR7b3B0aW9ucy50b1N0cmluZygpfWA7XG59O1xuXG52YWxpZGF0b3IucHJvbWlzZSA9IEI7XG52YWxpZGF0b3IucHJldHRpZnkgPSBmdW5jdGlvbiBwcmV0dGlmeSAodmFsKSB7XG4gIHJldHVybiB2YWw7XG59O1xuXG5cbmV4cG9ydCB7IGRlc2lyZWRDYXBhYmlsaXR5Q29uc3RyYWludHMsIHZhbGlkYXRvciB9O1xuIl19
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export default DeviceSettings;
|
|
2
|
+
export type IDeviceSettings<T> = import('@appium/types').DeviceSettings<T>;
|
|
3
|
+
/**
|
|
4
|
+
* @template {Record<string,unknown>} T
|
|
5
|
+
* @implements {IDeviceSettings<T>}
|
|
6
|
+
*/
|
|
7
|
+
export class DeviceSettings<T extends Record<string, unknown>> implements IDeviceSettings<T> {
|
|
8
|
+
/**
|
|
9
|
+
* `onSettingsUpdate` is _required_ if settings will ever be updated; otherwise
|
|
10
|
+
* an error will occur at runtime.
|
|
11
|
+
* @param {T} [defaultSettings]
|
|
12
|
+
* @param {import('@appium/types').SettingsUpdateListener<T>} [onSettingsUpdate]
|
|
13
|
+
*/
|
|
14
|
+
constructor(defaultSettings?: T | undefined, onSettingsUpdate?: import("@appium/types").SettingsUpdateListener<T> | undefined);
|
|
15
|
+
/**
|
|
16
|
+
* @protected
|
|
17
|
+
* @type {T}
|
|
18
|
+
*/
|
|
19
|
+
protected _settings: T;
|
|
20
|
+
/**
|
|
21
|
+
* @protected
|
|
22
|
+
* @type {import('@appium/types').SettingsUpdateListener<T>|undefined}
|
|
23
|
+
*/
|
|
24
|
+
protected _onSettingsUpdate: import('@appium/types').SettingsUpdateListener<T> | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* calls updateSettings from implementing driver every time a setting is changed.
|
|
27
|
+
* @param {T} newSettings
|
|
28
|
+
*/
|
|
29
|
+
update(newSettings: T): Promise<void>;
|
|
30
|
+
getSettings(): T;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=device-settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-settings.d.ts","sourceRoot":"","sources":["../../../lib/basedriver/device-settings.js"],"names":[],"mappings":";iCAmFa,OAAO,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC;AA1EtD;;;GAGG;AACH,0FAFgC,CAAC;IAgB/B;;;;;OAKG;IACH,+HAGC;IArBD;;;OAGG;IACH,qBAFU,CAAC,CAED;IAEV;;;OAGG;IACH,6BAFU,OAAO,eAAe,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAC,SAAS,CAEnD;IAalB;;;OAGG;IACH,oBAFW,CAAC,iBA+BX;IAED,iBAEC;CACF"}
|
|
@@ -20,9 +20,13 @@ var _errors = require("../protocol/errors");
|
|
|
20
20
|
const MAX_SETTINGS_SIZE = 20 * 1024 * 1024;
|
|
21
21
|
|
|
22
22
|
class DeviceSettings {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
_settings;
|
|
24
|
+
_onSettingsUpdate;
|
|
25
|
+
|
|
26
|
+
constructor(defaultSettings, onSettingsUpdate) {
|
|
27
|
+
this._settings = { ...(defaultSettings !== null && defaultSettings !== void 0 ? defaultSettings : {})
|
|
28
|
+
};
|
|
29
|
+
this._onSettingsUpdate = onSettingsUpdate;
|
|
26
30
|
}
|
|
27
31
|
|
|
28
32
|
async update(newSettings) {
|
|
@@ -36,7 +40,15 @@ class DeviceSettings {
|
|
|
36
40
|
throw new _errors.errors.InvalidArgumentError(`New settings cannot be applied, because the overall ` + `object size exceeds the allowed limit of ${_support.util.toReadableSizeString(MAX_SETTINGS_SIZE)}`);
|
|
37
41
|
}
|
|
38
42
|
|
|
39
|
-
|
|
43
|
+
if (!_lodash.default.isFunction(this._onSettingsUpdate)) {
|
|
44
|
+
_logger.default.errorAndThrow(`Unable to update settings; ` + `onSettingsUpdate method not found on '${this.constructor.name}'`);
|
|
45
|
+
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const props = _lodash.default.keys(newSettings);
|
|
50
|
+
|
|
51
|
+
for (const prop of props) {
|
|
40
52
|
if (!_lodash.default.isUndefined(this._settings[prop])) {
|
|
41
53
|
if (this._settings[prop] === newSettings[prop]) {
|
|
42
54
|
_logger.default.debug(`The value of '${prop}' setting did not change. Skipping the update for it`);
|
|
@@ -45,12 +57,8 @@ class DeviceSettings {
|
|
|
45
57
|
}
|
|
46
58
|
}
|
|
47
59
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
this._settings[prop] = newSettings[prop];
|
|
51
|
-
} else {
|
|
52
|
-
_logger.default.errorAndThrow(`Unable to update settings; ` + `onSettingsUpdate method not found on '${this.constructor.name}'`);
|
|
53
|
-
}
|
|
60
|
+
await this._onSettingsUpdate(prop, newSettings[prop], this._settings[prop]);
|
|
61
|
+
this._settings[prop] = newSettings[prop];
|
|
54
62
|
}
|
|
55
63
|
}
|
|
56
64
|
|
|
@@ -62,7 +70,5 @@ class DeviceSettings {
|
|
|
62
70
|
|
|
63
71
|
exports.DeviceSettings = DeviceSettings;
|
|
64
72
|
var _default = DeviceSettings;
|
|
65
|
-
exports.default = _default;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9iYXNlZHJpdmVyL2RldmljZS1zZXR0aW5ncy5qcyJdLCJuYW1lcyI6WyJNQVhfU0VUVElOR1NfU0laRSIsIkRldmljZVNldHRpbmdzIiwiY29uc3RydWN0b3IiLCJkZWZhdWx0U2V0dGluZ3MiLCJvblNldHRpbmdzVXBkYXRlIiwiX3NldHRpbmdzIiwiT2JqZWN0IiwiYXNzaWduIiwidXBkYXRlIiwibmV3U2V0dGluZ3MiLCJfIiwiaXNQbGFpbk9iamVjdCIsImVycm9ycyIsIkludmFsaWRBcmd1bWVudEVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsIm5vZGUiLCJnZXRPYmplY3RTaXplIiwidXRpbCIsInRvUmVhZGFibGVTaXplU3RyaW5nIiwicHJvcCIsImtleXMiLCJpc1VuZGVmaW5lZCIsImxvZyIsImRlYnVnIiwiaXNGdW5jdGlvbiIsImVycm9yQW5kVGhyb3ciLCJuYW1lIiwiZ2V0U2V0dGluZ3MiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUEsTUFBTUEsaUJBQWlCLEdBQUcsS0FBSyxJQUFMLEdBQVksSUFBdEM7O0FBRUEsTUFBTUMsY0FBTixDQUFxQjtBQUVuQkMsRUFBQUEsV0FBVyxDQUFFQyxlQUFlLEdBQUcsRUFBcEIsRUFBd0JDLGdCQUFnQixHQUFHLElBQTNDLEVBQWlEO0FBQzFELFNBQUtDLFNBQUwsR0FBaUJDLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjLEVBQWQsRUFBa0JKLGVBQWxCLENBQWpCO0FBQ0EsU0FBS0MsZ0JBQUwsR0FBd0JBLGdCQUF4QjtBQUNEOztBQUdXLFFBQU5JLE1BQU0sQ0FBRUMsV0FBRixFQUFlO0FBQ3pCLFFBQUksQ0FBQ0MsZ0JBQUVDLGFBQUYsQ0FBZ0JGLFdBQWhCLENBQUwsRUFBbUM7QUFDakMsWUFBTSxJQUFJRyxlQUFPQyxvQkFBWCxDQUFpQyx3REFBRCxHQUNuQyxHQUFFQyxJQUFJLENBQUNDLFNBQUwsQ0FBZU4sV0FBZixDQUE0QixVQUQzQixDQUFOO0FBRUQ7O0FBQ0QsUUFBSU8sY0FBS0MsYUFBTCxDQUFtQixFQUFDLEdBQUcsS0FBS1osU0FBVDtBQUFvQixTQUFHSTtBQUF2QixLQUFuQixLQUEyRFQsaUJBQS9ELEVBQWtGO0FBQ2hGLFlBQU0sSUFBSVksZUFBT0Msb0JBQVgsQ0FBaUMsc0RBQUQsR0FDbkMsNENBQTJDSyxjQUFLQyxvQkFBTCxDQUEwQm5CLGlCQUExQixDQUE2QyxFQURyRixDQUFOO0FBRUQ7O0FBRUQsU0FBSyxNQUFNb0IsSUFBWCxJQUFtQlYsZ0JBQUVXLElBQUYsQ0FBT1osV0FBUCxDQUFuQixFQUF3QztBQUN0QyxVQUFJLENBQUNDLGdCQUFFWSxXQUFGLENBQWMsS0FBS2pCLFNBQUwsQ0FBZWUsSUFBZixDQUFkLENBQUwsRUFBMEM7QUFDeEMsWUFBSSxLQUFLZixTQUFMLENBQWVlLElBQWYsTUFBeUJYLFdBQVcsQ0FBQ1csSUFBRCxDQUF4QyxFQUFnRDtBQUM5Q0csMEJBQUlDLEtBQUosQ0FBVyxpQkFBZ0JKLElBQUssc0RBQWhDOztBQUNBO0FBQ0Q7QUFDRjs7QUFFRCxVQUFJVixnQkFBRWUsVUFBRixDQUFhLEtBQUtyQixnQkFBbEIsQ0FBSixFQUF5QztBQUN2QyxjQUFNLEtBQUtBLGdCQUFMLENBQXNCZ0IsSUFBdEIsRUFBNEJYLFdBQVcsQ0FBQ1csSUFBRCxDQUF2QyxFQUErQyxLQUFLZixTQUFMLENBQWVlLElBQWYsQ0FBL0MsQ0FBTjtBQUNBLGFBQUtmLFNBQUwsQ0FBZWUsSUFBZixJQUF1QlgsV0FBVyxDQUFDVyxJQUFELENBQWxDO0FBQ0QsT0FIRCxNQUdPO0FBQ0xHLHdCQUFJRyxhQUFKLENBQW1CLDZCQUFELEdBQ2YseUNBQXdDLEtBQUt4QixXQUFMLENBQWlCeUIsSUFBSyxHQURqRTtBQUVEO0FBQ0Y7QUFDRjs7QUFFREMsRUFBQUEsV0FBVyxHQUFJO0FBQ2IsV0FBTyxLQUFLdkIsU0FBWjtBQUNEOztBQXRDa0I7OztlQXlDTkosYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgbG9nIGZyb20gJy4vbG9nZ2VyJztcbmltcG9ydCB7IG5vZGUsIHV0aWwgfSBmcm9tICdAYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IHsgZXJyb3JzIH0gZnJvbSAnLi4vcHJvdG9jb2wvZXJyb3JzJztcblxuY29uc3QgTUFYX1NFVFRJTkdTX1NJWkUgPSAyMCAqIDEwMjQgKiAxMDI0OyAvLyAyMCBNQlxuXG5jbGFzcyBEZXZpY2VTZXR0aW5ncyB7XG5cbiAgY29uc3RydWN0b3IgKGRlZmF1bHRTZXR0aW5ncyA9IHt9LCBvblNldHRpbmdzVXBkYXRlID0gbnVsbCkge1xuICAgIHRoaXMuX3NldHRpbmdzID0gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdFNldHRpbmdzKTtcbiAgICB0aGlzLm9uU2V0dGluZ3NVcGRhdGUgPSBvblNldHRpbmdzVXBkYXRlO1xuICB9XG5cbiAgLy8gY2FsbHMgdXBkYXRlU2V0dGluZ3MgZnJvbSBpbXBsZW1lbnRpbmcgZHJpdmVyIGV2ZXJ5IHRpbWUgYSBzZXR0aW5nIGlzIGNoYW5nZWQuXG4gIGFzeW5jIHVwZGF0ZSAobmV3U2V0dGluZ3MpIHtcbiAgICBpZiAoIV8uaXNQbGFpbk9iamVjdChuZXdTZXR0aW5ncykpIHtcbiAgICAgIHRocm93IG5ldyBlcnJvcnMuSW52YWxpZEFyZ3VtZW50RXJyb3IoYFNldHRpbmdzIHVwZGF0ZSBzaG91bGQgYmUgY2FsbGVkIHdpdGggdmFsaWQgSlNPTi4gR290IGAgK1xuICAgICAgICBgJHtKU09OLnN0cmluZ2lmeShuZXdTZXR0aW5ncyl9IGluc3RlYWRgKTtcbiAgICB9XG4gICAgaWYgKG5vZGUuZ2V0T2JqZWN0U2l6ZSh7Li4udGhpcy5fc2V0dGluZ3MsIC4uLm5ld1NldHRpbmdzfSkgPj0gTUFYX1NFVFRJTkdTX1NJWkUpIHtcbiAgICAgIHRocm93IG5ldyBlcnJvcnMuSW52YWxpZEFyZ3VtZW50RXJyb3IoYE5ldyBzZXR0aW5ncyBjYW5ub3QgYmUgYXBwbGllZCwgYmVjYXVzZSB0aGUgb3ZlcmFsbCBgICtcbiAgICAgICAgYG9iamVjdCBzaXplIGV4Y2VlZHMgdGhlIGFsbG93ZWQgbGltaXQgb2YgJHt1dGlsLnRvUmVhZGFibGVTaXplU3RyaW5nKE1BWF9TRVRUSU5HU19TSVpFKX1gKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHByb3Agb2YgXy5rZXlzKG5ld1NldHRpbmdzKSkge1xuICAgICAgaWYgKCFfLmlzVW5kZWZpbmVkKHRoaXMuX3NldHRpbmdzW3Byb3BdKSkge1xuICAgICAgICBpZiAodGhpcy5fc2V0dGluZ3NbcHJvcF0gPT09IG5ld1NldHRpbmdzW3Byb3BdKSB7XG4gICAgICAgICAgbG9nLmRlYnVnKGBUaGUgdmFsdWUgb2YgJyR7cHJvcH0nIHNldHRpbmcgZGlkIG5vdCBjaGFuZ2UuIFNraXBwaW5nIHRoZSB1cGRhdGUgZm9yIGl0YCk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIHVwZGF0ZSBzZXR0aW5nIG9ubHkgd2hlbiB0aGVyZSBpcyB1cGRhdGVTZXR0aW5ncyBkZWZpbmVkLlxuICAgICAgaWYgKF8uaXNGdW5jdGlvbih0aGlzLm9uU2V0dGluZ3NVcGRhdGUpKSB7XG4gICAgICAgIGF3YWl0IHRoaXMub25TZXR0aW5nc1VwZGF0ZShwcm9wLCBuZXdTZXR0aW5nc1twcm9wXSwgdGhpcy5fc2V0dGluZ3NbcHJvcF0pO1xuICAgICAgICB0aGlzLl9zZXR0aW5nc1twcm9wXSA9IG5ld1NldHRpbmdzW3Byb3BdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9nLmVycm9yQW5kVGhyb3coYFVuYWJsZSB0byB1cGRhdGUgc2V0dGluZ3M7IGAgK1xuICAgICAgICAgIGBvblNldHRpbmdzVXBkYXRlIG1ldGhvZCBub3QgZm91bmQgb24gJyR7dGhpcy5jb25zdHJ1Y3Rvci5uYW1lfSdgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRTZXR0aW5ncyAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NldHRpbmdzO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IERldmljZVNldHRpbmdzO1xuZXhwb3J0IHsgRGV2aWNlU2V0dGluZ3MgfTtcbiJdLCJmaWxlIjoibGliL2Jhc2Vkcml2ZXIvZGV2aWNlLXNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uIn0=
|
|
73
|
+
exports.default = _default;
|
|
74
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9iYXNlZHJpdmVyL2RldmljZS1zZXR0aW5ncy5qcyJdLCJuYW1lcyI6WyJNQVhfU0VUVElOR1NfU0laRSIsIkRldmljZVNldHRpbmdzIiwiX3NldHRpbmdzIiwiX29uU2V0dGluZ3NVcGRhdGUiLCJjb25zdHJ1Y3RvciIsImRlZmF1bHRTZXR0aW5ncyIsIm9uU2V0dGluZ3NVcGRhdGUiLCJ1cGRhdGUiLCJuZXdTZXR0aW5ncyIsIl8iLCJpc1BsYWluT2JqZWN0IiwiZXJyb3JzIiwiSW52YWxpZEFyZ3VtZW50RXJyb3IiLCJKU09OIiwic3RyaW5naWZ5Iiwibm9kZSIsImdldE9iamVjdFNpemUiLCJ1dGlsIiwidG9SZWFkYWJsZVNpemVTdHJpbmciLCJpc0Z1bmN0aW9uIiwibG9nIiwiZXJyb3JBbmRUaHJvdyIsIm5hbWUiLCJwcm9wcyIsImtleXMiLCJwcm9wIiwiaXNVbmRlZmluZWQiLCJkZWJ1ZyIsImdldFNldHRpbmdzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLE1BQU1BLGlCQUFpQixHQUFHLEtBQUssSUFBTCxHQUFZLElBQXRDOztBQU1BLE1BQU1DLGNBQU4sQ0FBcUI7QUFNbkJDLEVBQUFBLFNBQVM7QUFNVEMsRUFBQUEsaUJBQWlCOztBQVFqQkMsRUFBQUEsV0FBVyxDQUFFQyxlQUFGLEVBQW1CQyxnQkFBbkIsRUFBcUM7QUFDOUMsU0FBS0osU0FBTCxHQUFrQyxFQUFDLElBQUlHLGVBQUosYUFBSUEsZUFBSixjQUFJQSxlQUFKLEdBQXVCLEVBQXZCO0FBQUQsS0FBbEM7QUFDQSxTQUFLRixpQkFBTCxHQUF5QkcsZ0JBQXpCO0FBQ0Q7O0FBTVcsUUFBTkMsTUFBTSxDQUFFQyxXQUFGLEVBQWU7QUFDekIsUUFBSSxDQUFDQyxnQkFBRUMsYUFBRixDQUFnQkYsV0FBaEIsQ0FBTCxFQUFtQztBQUNqQyxZQUFNLElBQUlHLGVBQU9DLG9CQUFYLENBQWlDLHdEQUFELEdBQ25DLEdBQUVDLElBQUksQ0FBQ0MsU0FBTCxDQUFlTixXQUFmLENBQTRCLFVBRDNCLENBQU47QUFFRDs7QUFFRCxRQUFJTyxjQUFLQyxhQUFMLENBQW1CLEVBQUMsR0FBRyxLQUFLZCxTQUFUO0FBQW9CLFNBQUdNO0FBQXZCLEtBQW5CLEtBQTJEUixpQkFBL0QsRUFBa0Y7QUFDaEYsWUFBTSxJQUFJVyxlQUFPQyxvQkFBWCxDQUFpQyxzREFBRCxHQUNuQyw0Q0FBMkNLLGNBQUtDLG9CQUFMLENBQTBCbEIsaUJBQTFCLENBQTZDLEVBRHJGLENBQU47QUFFRDs7QUFFRCxRQUFJLENBQUNTLGdCQUFFVSxVQUFGLENBQWEsS0FBS2hCLGlCQUFsQixDQUFMLEVBQTJDO0FBQ3pDaUIsc0JBQUlDLGFBQUosQ0FBbUIsNkJBQUQsR0FDakIseUNBQXdDLEtBQUtqQixXQUFMLENBQWlCa0IsSUFBSyxHQUQvRDs7QUFFQTtBQUNEOztBQUVELFVBQU1DLEtBQUssR0FBdUNkLGdCQUFFZSxJQUFGLENBQU9oQixXQUFQLENBQWxEOztBQUNBLFNBQUssTUFBTWlCLElBQVgsSUFBbUJGLEtBQW5CLEVBQTBCO0FBQ3hCLFVBQUksQ0FBQ2QsZ0JBQUVpQixXQUFGLENBQWMsS0FBS3hCLFNBQUwsQ0FBZXVCLElBQWYsQ0FBZCxDQUFMLEVBQTBDO0FBQ3hDLFlBQUksS0FBS3ZCLFNBQUwsQ0FBZXVCLElBQWYsTUFBeUJqQixXQUFXLENBQUNpQixJQUFELENBQXhDLEVBQWdEO0FBQzlDTCwwQkFBSU8sS0FBSixDQUFXLGlCQUFnQkYsSUFBSyxzREFBaEM7O0FBQ0E7QUFDRDtBQUNGOztBQUVELFlBQU0sS0FBS3RCLGlCQUFMLENBQXVCc0IsSUFBdkIsRUFBNkJqQixXQUFXLENBQUNpQixJQUFELENBQXhDLEVBQWdELEtBQUt2QixTQUFMLENBQWV1QixJQUFmLENBQWhELENBQU47QUFDQSxXQUFLdkIsU0FBTCxDQUFldUIsSUFBZixJQUF1QmpCLFdBQVcsQ0FBQ2lCLElBQUQsQ0FBbEM7QUFDRDtBQUNGOztBQUVERyxFQUFBQSxXQUFXLEdBQUk7QUFDYixXQUFPLEtBQUsxQixTQUFaO0FBQ0Q7O0FBOURrQjs7O2VBaUVORCxjIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgbG9nIGZyb20gJy4vbG9nZ2VyJztcbmltcG9ydCB7IG5vZGUsIHV0aWwgfSBmcm9tICdAYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IHsgZXJyb3JzIH0gZnJvbSAnLi4vcHJvdG9jb2wvZXJyb3JzJztcblxuY29uc3QgTUFYX1NFVFRJTkdTX1NJWkUgPSAyMCAqIDEwMjQgKiAxMDI0OyAvLyAyMCBNQlxuXG4vKipcbiAqIEB0ZW1wbGF0ZSB7UmVjb3JkPHN0cmluZyx1bmtub3duPn0gVFxuICogQGltcGxlbWVudHMge0lEZXZpY2VTZXR0aW5nczxUPn1cbiAqL1xuY2xhc3MgRGV2aWNlU2V0dGluZ3Mge1xuXG4gIC8qKlxuICAgKiBAcHJvdGVjdGVkXG4gICAqIEB0eXBlIHtUfVxuICAgKi9cbiAgX3NldHRpbmdzO1xuXG4gIC8qKlxuICAgKiBAcHJvdGVjdGVkXG4gICAqIEB0eXBlIHtpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5TZXR0aW5nc1VwZGF0ZUxpc3RlbmVyPFQ+fHVuZGVmaW5lZH1cbiAgICovXG4gIF9vblNldHRpbmdzVXBkYXRlO1xuXG4gIC8qKlxuICAgKiBgb25TZXR0aW5nc1VwZGF0ZWAgaXMgX3JlcXVpcmVkXyBpZiBzZXR0aW5ncyB3aWxsIGV2ZXIgYmUgdXBkYXRlZDsgb3RoZXJ3aXNlXG4gICAqIGFuIGVycm9yIHdpbGwgb2NjdXIgYXQgcnVudGltZS5cbiAgICogQHBhcmFtIHtUfSBbZGVmYXVsdFNldHRpbmdzXVxuICAgKiBAcGFyYW0ge2ltcG9ydCgnQGFwcGl1bS90eXBlcycpLlNldHRpbmdzVXBkYXRlTGlzdGVuZXI8VD59IFtvblNldHRpbmdzVXBkYXRlXVxuICAgKi9cbiAgY29uc3RydWN0b3IgKGRlZmF1bHRTZXR0aW5ncywgb25TZXR0aW5nc1VwZGF0ZSkge1xuICAgIHRoaXMuX3NldHRpbmdzID0gLyoqIEB0eXBlIHtUfSAqLyh7Li4uKGRlZmF1bHRTZXR0aW5ncyA/PyB7fSl9KTtcbiAgICB0aGlzLl9vblNldHRpbmdzVXBkYXRlID0gb25TZXR0aW5nc1VwZGF0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjYWxscyB1cGRhdGVTZXR0aW5ncyBmcm9tIGltcGxlbWVudGluZyBkcml2ZXIgZXZlcnkgdGltZSBhIHNldHRpbmcgaXMgY2hhbmdlZC5cbiAgICogQHBhcmFtIHtUfSBuZXdTZXR0aW5nc1xuICAgKi9cbiAgYXN5bmMgdXBkYXRlIChuZXdTZXR0aW5ncykge1xuICAgIGlmICghXy5pc1BsYWluT2JqZWN0KG5ld1NldHRpbmdzKSkge1xuICAgICAgdGhyb3cgbmV3IGVycm9ycy5JbnZhbGlkQXJndW1lbnRFcnJvcihgU2V0dGluZ3MgdXBkYXRlIHNob3VsZCBiZSBjYWxsZWQgd2l0aCB2YWxpZCBKU09OLiBHb3QgYCArXG4gICAgICAgIGAke0pTT04uc3RyaW5naWZ5KG5ld1NldHRpbmdzKX0gaW5zdGVhZGApO1xuICAgIH1cblxuICAgIGlmIChub2RlLmdldE9iamVjdFNpemUoey4uLnRoaXMuX3NldHRpbmdzLCAuLi5uZXdTZXR0aW5nc30pID49IE1BWF9TRVRUSU5HU19TSVpFKSB7XG4gICAgICB0aHJvdyBuZXcgZXJyb3JzLkludmFsaWRBcmd1bWVudEVycm9yKGBOZXcgc2V0dGluZ3MgY2Fubm90IGJlIGFwcGxpZWQsIGJlY2F1c2UgdGhlIG92ZXJhbGwgYCArXG4gICAgICAgIGBvYmplY3Qgc2l6ZSBleGNlZWRzIHRoZSBhbGxvd2VkIGxpbWl0IG9mICR7dXRpbC50b1JlYWRhYmxlU2l6ZVN0cmluZyhNQVhfU0VUVElOR1NfU0laRSl9YCk7XG4gICAgfVxuXG4gICAgaWYgKCFfLmlzRnVuY3Rpb24odGhpcy5fb25TZXR0aW5nc1VwZGF0ZSkpIHtcbiAgICAgIGxvZy5lcnJvckFuZFRocm93KGBVbmFibGUgdG8gdXBkYXRlIHNldHRpbmdzOyBgICtcbiAgICAgIGBvblNldHRpbmdzVXBkYXRlIG1ldGhvZCBub3QgZm91bmQgb24gJyR7dGhpcy5jb25zdHJ1Y3Rvci5uYW1lfSdgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9wcyA9IC8qKiBAdHlwZSB7KGtleW9mIFQgJiBzdHJpbmcpW119ICovKF8ua2V5cyhuZXdTZXR0aW5ncykpO1xuICAgIGZvciAoY29uc3QgcHJvcCBvZiBwcm9wcykge1xuICAgICAgaWYgKCFfLmlzVW5kZWZpbmVkKHRoaXMuX3NldHRpbmdzW3Byb3BdKSkge1xuICAgICAgICBpZiAodGhpcy5fc2V0dGluZ3NbcHJvcF0gPT09IG5ld1NldHRpbmdzW3Byb3BdKSB7XG4gICAgICAgICAgbG9nLmRlYnVnKGBUaGUgdmFsdWUgb2YgJyR7cHJvcH0nIHNldHRpbmcgZGlkIG5vdCBjaGFuZ2UuIFNraXBwaW5nIHRoZSB1cGRhdGUgZm9yIGl0YCk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIHVwZGF0ZSBzZXR0aW5nIG9ubHkgd2hlbiB0aGVyZSBpcyB1cGRhdGVTZXR0aW5ncyBkZWZpbmVkLlxuICAgICAgYXdhaXQgdGhpcy5fb25TZXR0aW5nc1VwZGF0ZShwcm9wLCBuZXdTZXR0aW5nc1twcm9wXSwgdGhpcy5fc2V0dGluZ3NbcHJvcF0pO1xuICAgICAgdGhpcy5fc2V0dGluZ3NbcHJvcF0gPSBuZXdTZXR0aW5nc1twcm9wXTtcbiAgICB9XG4gIH1cblxuICBnZXRTZXR0aW5ncyAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NldHRpbmdzO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IERldmljZVNldHRpbmdzO1xuZXhwb3J0IHsgRGV2aWNlU2V0dGluZ3MgfTtcblxuLyoqXG4gKiBAdGVtcGxhdGUgVFxuICogQHR5cGVkZWYge2ltcG9ydCgnQGFwcGl1bS90eXBlcycpLkRldmljZVNldHRpbmdzPFQ+fSBJRGV2aWNlU2V0dGluZ3NcbiAqL1xuIl19
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @implements {SessionHandler}
|
|
3
|
+
*/
|
|
4
|
+
export class BaseDriverCore extends DriverCore implements SessionHandler {
|
|
5
|
+
/** @type {Record<string,any>|undefined} */
|
|
6
|
+
cliArgs: Record<string, any> | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* @param {string} cmd
|
|
9
|
+
* @param {...any[]} args
|
|
10
|
+
* @returns {Promise<any>}
|
|
11
|
+
*/
|
|
12
|
+
executeCommand(cmd: string, ...args: any[][]): Promise<any>;
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
* @param {Error} err
|
|
16
|
+
*/
|
|
17
|
+
startUnexpectedShutdown(err?: Error): Promise<void>;
|
|
18
|
+
startNewCommandTimeout(): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
*
|
|
21
|
+
* @param {import('@appium/types').AppiumServer} server
|
|
22
|
+
* @param {string} host
|
|
23
|
+
* @param {number} port
|
|
24
|
+
* @param {string} path
|
|
25
|
+
*/
|
|
26
|
+
assignServer(server: import('@appium/types').AppiumServer, host: string, port: number, path: string): void;
|
|
27
|
+
server: import("@appium/types").AppiumServer | undefined;
|
|
28
|
+
serverHost: string | undefined;
|
|
29
|
+
serverPort: number | undefined;
|
|
30
|
+
serverPath: string | undefined;
|
|
31
|
+
reset(): Promise<void>;
|
|
32
|
+
resetOnUnexpectedShutdown: (() => void) | undefined;
|
|
33
|
+
/**
|
|
34
|
+
*
|
|
35
|
+
* Historically the first two arguments were reserved for JSONWP capabilities.
|
|
36
|
+
* Appium 2 has dropped the support of these, so now we only accept capability
|
|
37
|
+
* objects in W3C format and thus allow any of the three arguments to represent
|
|
38
|
+
* the latter.
|
|
39
|
+
* @param {W3CCapabilities} w3cCapabilities1
|
|
40
|
+
* @param {W3CCapabilities} [w3cCapabilities2]
|
|
41
|
+
* @param {W3CCapabilities} [w3cCapabilities]
|
|
42
|
+
* @param {DriverData[]} [driverData]
|
|
43
|
+
* @returns {Promise<[string,object]>}
|
|
44
|
+
*/
|
|
45
|
+
createSession(w3cCapabilities1: W3CCapabilities, w3cCapabilities2?: W3CCapabilities | undefined, w3cCapabilities?: W3CCapabilities | undefined, driverData?: import("@appium/types").DriverData[] | undefined): Promise<[string, object]>;
|
|
46
|
+
/**
|
|
47
|
+
*
|
|
48
|
+
* @param {string} [sessionId]
|
|
49
|
+
* @param {DriverData[]} [driverData]
|
|
50
|
+
* @returns {Promise<void>}
|
|
51
|
+
*/
|
|
52
|
+
deleteSession(sessionId?: string | undefined, driverData?: import("@appium/types").DriverData[] | undefined): Promise<void>;
|
|
53
|
+
}
|
|
54
|
+
export default BaseDriver;
|
|
55
|
+
export type HTTPMethod = import('@appium/types').HTTPMethod;
|
|
56
|
+
export type Driver = import('@appium/types').Driver;
|
|
57
|
+
export type ExternalDriver = import('@appium/types').ExternalDriver;
|
|
58
|
+
export type Capabilities = import('@appium/types').Capabilities;
|
|
59
|
+
export type W3CCapabilities = import('@appium/types').W3CCapabilities;
|
|
60
|
+
export type DriverData = import('@appium/types').DriverData;
|
|
61
|
+
export type UpdateServerCallback = (app: import('express').Express, httpServer: import('@appium/types').AppiumServer) => import('type-fest').Promisable<void>;
|
|
62
|
+
/**
|
|
63
|
+
* This is used to extend {@linkcode BaseDriverCore } by the mixins and also external drivers.
|
|
64
|
+
*/
|
|
65
|
+
export type BaseDriverBase<Proto = {}, Static = {}> = import('@appium/types').Class<BaseDriverCore & Proto, BaseDriverStatic & Static>;
|
|
66
|
+
/**
|
|
67
|
+
* Static properties of `BaseDriver` and optional properties for subclasses.
|
|
68
|
+
*/
|
|
69
|
+
export type BaseDriverStatic<T extends import("@appium/types").ExternalDriver = import("@appium/types").ExternalDriver> = {
|
|
70
|
+
baseVersion: string;
|
|
71
|
+
updateServer?: UpdateServerCallback | undefined;
|
|
72
|
+
newMethodMap?: import("@appium/types").MethodMap<T> | undefined;
|
|
73
|
+
};
|
|
74
|
+
export type SessionHandler = import('@appium/types').SessionHandler<[string, object], void>;
|
|
75
|
+
import { DriverCore } from "./core";
|
|
76
|
+
declare const BaseDriver_base: import("./commands/session").SessionBase;
|
|
77
|
+
/**
|
|
78
|
+
* This ensures that all of the mixins correctly implement the interface described in {@linkcode Driver}.
|
|
79
|
+
* @implements {Driver}
|
|
80
|
+
*/
|
|
81
|
+
export class BaseDriver extends BaseDriver_base implements Driver {
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=driver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../lib/basedriver/driver.js"],"names":[],"mappings":"AA0BA;;GAEG;AACH;IAEE,2CAA2C;IAC3C,SADW,OAAO,MAAM,EAAC,GAAG,CAAC,GAAC,SAAS,CAC/B;IAMR;;;;QAII;IACJ,oBAJY,MAAM,WACF,GAAG,EAAE,KACP,QAAQ,GAAG,CAAC,CA2EzB;IAED;;;QAGI;IACJ,8BAFY,KAAK,iBAgBhB;IAED,wCAmBC;IAED;;;;;;OAMG;IACH,qBALW,OAAO,eAAe,EAAE,YAAY,QACpC,MAAM,QACN,MAAM,QACN,MAAM,QAOhB;IAJC,yDAAoB;IACpB,+BAAsB;IACtB,+BAAsB;IACtB,+BAAsB;IAOxB,uBA+BC;IAfC,oDAAyC;IAiB3C;;;;;;;;;;;SAWK;IACL,gCANa,eAAe,iKAIb,QAAQ,CAAC,MAAM,EAAC,MAAM,CAAC,CAAC,CAmGtC;IAED;;;;;QAKI;IACJ,8GAFc,QAAQ,IAAI,CAAC,CAc1B;CACF;;yBAWY,OAAO,eAAe,EAAE,UAAU;qBAClC,OAAO,eAAe,EAAE,MAAM;6BAC9B,OAAO,eAAe,EAAE,cAAc;2BACtC,OAAO,eAAe,EAAE,YAAY;8BACpC,OAAO,eAAe,EAAE,eAAe;yBACvC,OAAO,eAAe,EAAE,UAAU;yCAMpC,OAAO,SAAS,EAAE,OAAO,cACzB,OAAO,eAAe,EAAE,YAAY,KAClC,OAAO,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC;;;;sDAOpC,OAAO,eAAe,EAAE,KAAK,CAAC,cAAc,GAAG,KAAK,EAAC,gBAAgB,GAAG,MAAM,CAAC;;;;;iBAO9E,MAAM;;;;6BAMP,OAAO,eAAe,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAC,IAAI,CAAC;;;AA1C1E;;;GAGG;AACH;CAAiE"}
|