@appium/base-driver 10.1.2 → 10.2.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.map +1 -1
- package/build/lib/basedriver/capabilities.js +7 -7
- package/build/lib/basedriver/capabilities.js.map +1 -1
- package/build/lib/basedriver/commands/event.d.ts +1 -1
- package/build/lib/basedriver/commands/event.d.ts.map +1 -1
- package/build/lib/basedriver/commands/execute.d.ts +1 -1
- package/build/lib/basedriver/commands/execute.d.ts.map +1 -1
- package/build/lib/basedriver/commands/find.d.ts +1 -1
- package/build/lib/basedriver/commands/find.d.ts.map +1 -1
- package/build/lib/basedriver/commands/mixin.d.ts +1 -1
- package/build/lib/basedriver/commands/mixin.d.ts.map +1 -1
- package/build/lib/basedriver/commands/timeout.d.ts +1 -1
- package/build/lib/basedriver/commands/timeout.d.ts.map +1 -1
- package/build/lib/basedriver/device-settings.d.ts +14 -23
- package/build/lib/basedriver/device-settings.d.ts.map +1 -1
- package/build/lib/basedriver/device-settings.js +11 -26
- package/build/lib/basedriver/device-settings.js.map +1 -1
- package/build/lib/basedriver/helpers.d.ts +36 -57
- package/build/lib/basedriver/helpers.d.ts.map +1 -1
- package/build/lib/basedriver/helpers.js +160 -248
- package/build/lib/basedriver/helpers.js.map +1 -1
- package/build/lib/basedriver/logger.d.ts +1 -2
- package/build/lib/basedriver/logger.d.ts.map +1 -1
- package/build/lib/basedriver/logger.js +2 -2
- package/build/lib/basedriver/logger.js.map +1 -1
- package/build/lib/basedriver/validation.d.ts.map +1 -1
- package/build/lib/basedriver/validation.js +3 -3
- package/build/lib/basedriver/validation.js.map +1 -1
- package/build/lib/constants.d.ts +1 -1
- package/build/lib/constants.d.ts.map +1 -1
- package/build/lib/express/crash.d.ts +8 -2
- package/build/lib/express/crash.d.ts.map +1 -1
- package/build/lib/express/crash.js +6 -0
- package/build/lib/express/crash.js.map +1 -1
- package/build/lib/express/express-logging.d.ts +12 -2
- package/build/lib/express/express-logging.d.ts.map +1 -1
- package/build/lib/express/express-logging.js +34 -26
- package/build/lib/express/express-logging.js.map +1 -1
- package/build/lib/express/idempotency.d.ts +4 -10
- package/build/lib/express/idempotency.d.ts.map +1 -1
- package/build/lib/express/idempotency.js +71 -75
- package/build/lib/express/idempotency.js.map +1 -1
- package/build/lib/express/logger.d.ts +1 -2
- package/build/lib/express/logger.d.ts.map +1 -1
- package/build/lib/express/logger.js +2 -2
- package/build/lib/express/logger.js.map +1 -1
- package/build/lib/express/middleware.d.ts +37 -41
- package/build/lib/express/middleware.d.ts.map +1 -1
- package/build/lib/express/middleware.js +48 -60
- package/build/lib/express/middleware.js.map +1 -1
- package/build/lib/express/server.d.ts +57 -101
- package/build/lib/express/server.d.ts.map +1 -1
- package/build/lib/express/server.js +55 -133
- package/build/lib/express/server.js.map +1 -1
- package/build/lib/express/static.d.ts +10 -5
- package/build/lib/express/static.d.ts.map +1 -1
- package/build/lib/express/static.js +33 -43
- package/build/lib/express/static.js.map +1 -1
- package/build/lib/express/websocket.d.ts +22 -6
- package/build/lib/express/websocket.d.ts.map +1 -1
- package/build/lib/express/websocket.js +10 -15
- package/build/lib/express/websocket.js.map +1 -1
- package/build/lib/helpers/capabilities.d.ts +4 -16
- package/build/lib/helpers/capabilities.d.ts.map +1 -1
- package/build/lib/helpers/capabilities.js +36 -48
- package/build/lib/helpers/capabilities.js.map +1 -1
- package/build/lib/jsonwp-proxy/proxy.d.ts +4 -2
- package/build/lib/jsonwp-proxy/proxy.d.ts.map +1 -1
- package/build/lib/jsonwp-proxy/proxy.js +9 -4
- package/build/lib/jsonwp-proxy/proxy.js.map +1 -1
- package/build/lib/jsonwp-status/status.d.ts +113 -158
- package/build/lib/jsonwp-status/status.d.ts.map +1 -1
- package/build/lib/jsonwp-status/status.js +10 -14
- package/build/lib/jsonwp-status/status.js.map +1 -1
- package/build/lib/protocol/bidi-commands.d.ts +31 -36
- package/build/lib/protocol/bidi-commands.d.ts.map +1 -1
- package/build/lib/protocol/bidi-commands.js +5 -5
- package/build/lib/protocol/bidi-commands.js.map +1 -1
- package/build/lib/protocol/errors.d.ts.map +1 -1
- package/build/lib/protocol/errors.js.map +1 -1
- package/build/lib/protocol/helpers.d.ts +7 -11
- package/build/lib/protocol/helpers.d.ts.map +1 -1
- package/build/lib/protocol/helpers.js +5 -9
- package/build/lib/protocol/helpers.js.map +1 -1
- package/build/lib/protocol/index.d.ts +4 -21
- package/build/lib/protocol/index.d.ts.map +1 -1
- package/build/lib/protocol/index.js.map +1 -1
- package/build/lib/protocol/protocol.d.ts +15 -1
- package/build/lib/protocol/protocol.d.ts.map +1 -1
- package/build/lib/protocol/protocol.js +50 -20
- package/build/lib/protocol/protocol.js.map +1 -1
- package/build/lib/protocol/routes.d.ts +8 -15
- package/build/lib/protocol/routes.d.ts.map +1 -1
- package/build/lib/protocol/routes.js +18 -33
- package/build/lib/protocol/routes.js.map +1 -1
- package/lib/basedriver/capabilities.ts +2 -2
- package/lib/basedriver/commands/event.ts +2 -2
- package/lib/basedriver/commands/execute.ts +2 -2
- package/lib/basedriver/commands/find.ts +2 -2
- package/lib/basedriver/commands/mixin.ts +1 -1
- package/lib/basedriver/commands/timeout.ts +2 -2
- package/lib/basedriver/{device-settings.js → device-settings.ts} +24 -35
- package/lib/basedriver/{helpers.js → helpers.ts} +215 -270
- package/lib/basedriver/logger.ts +3 -0
- package/lib/basedriver/validation.ts +2 -2
- package/lib/constants.ts +1 -1
- package/lib/express/crash.ts +15 -0
- package/lib/express/express-logging.ts +84 -0
- package/lib/express/{idempotency.js → idempotency.ts} +106 -90
- package/lib/express/logger.ts +3 -0
- package/lib/express/middleware.ts +187 -0
- package/lib/express/{server.js → server.ts} +177 -170
- package/lib/express/static.ts +77 -0
- package/lib/express/websocket.ts +81 -0
- package/lib/helpers/capabilities.ts +83 -0
- package/lib/jsonwp-proxy/proxy.js +7 -2
- package/lib/jsonwp-status/{status.js → status.ts} +12 -15
- package/lib/protocol/{bidi-commands.js → bidi-commands.ts} +7 -5
- package/lib/protocol/errors.ts +4 -4
- package/lib/protocol/{helpers.js → helpers.ts} +8 -11
- package/lib/protocol/protocol.ts +57 -26
- package/lib/protocol/{routes.js → routes.ts} +29 -40
- package/package.json +15 -15
- package/tsconfig.json +3 -1
- package/lib/basedriver/logger.js +0 -4
- package/lib/express/crash.js +0 -11
- package/lib/express/express-logging.js +0 -60
- package/lib/express/logger.js +0 -4
- package/lib/express/middleware.js +0 -171
- package/lib/express/static.js +0 -76
- package/lib/express/websocket.js +0 -79
- package/lib/helpers/capabilities.js +0 -93
- /package/lib/protocol/{index.js → index.ts} +0 -0
|
@@ -1,45 +1,41 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
|
-
import log from './logger';
|
|
2
|
+
import {log} from './logger';
|
|
3
3
|
import {node, util} from '@appium/support';
|
|
4
4
|
import {errors} from '../protocol/errors';
|
|
5
|
+
import type {StringRecord, IDeviceSettings, SettingsUpdateListener} from '@appium/types';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
|
-
* Maximum size (in bytes) of a given driver's settings object (which is internal to {@linkcode
|
|
8
|
+
* Maximum size (in bytes) of a given driver's settings object (which is internal to {@linkcode DeviceSettings}).
|
|
8
9
|
*/
|
|
9
10
|
export const MAX_SETTINGS_SIZE = 20 * 1024 * 1024; // 20 MB
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
|
-
* @template
|
|
13
|
-
* @implements {IDeviceSettings<T>}
|
|
13
|
+
* @template T - Settings object shape (string-keyed record)
|
|
14
14
|
*/
|
|
15
|
-
export class DeviceSettings {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
* @type {T}
|
|
19
|
-
*/
|
|
20
|
-
_settings;
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* @protected
|
|
24
|
-
* @type {import('@appium/types').SettingsUpdateListener<T>}
|
|
25
|
-
*/
|
|
26
|
-
_onSettingsUpdate;
|
|
15
|
+
export class DeviceSettings<T extends StringRecord = StringRecord> implements IDeviceSettings<T> {
|
|
16
|
+
protected _settings: T;
|
|
17
|
+
protected _onSettingsUpdate: SettingsUpdateListener<T>;
|
|
27
18
|
|
|
28
19
|
/**
|
|
29
20
|
* Creates a _shallow copy_ of the `defaultSettings` parameter!
|
|
30
|
-
*
|
|
31
|
-
* @param
|
|
21
|
+
*
|
|
22
|
+
* @param defaultSettings - Initial settings (shallow-copied).
|
|
23
|
+
* @param onSettingsUpdate - Called when a setting is changed; receives (prop, newValue, curValue).
|
|
32
24
|
*/
|
|
33
|
-
constructor(
|
|
25
|
+
constructor(
|
|
26
|
+
defaultSettings: T = {} as T,
|
|
27
|
+
onSettingsUpdate: SettingsUpdateListener<T> = async () => {}
|
|
28
|
+
) {
|
|
34
29
|
this._settings = {...defaultSettings};
|
|
35
30
|
this._onSettingsUpdate = onSettingsUpdate;
|
|
36
31
|
}
|
|
37
32
|
|
|
38
33
|
/**
|
|
39
|
-
*
|
|
40
|
-
*
|
|
34
|
+
* Calls updateSettings from implementing driver every time a setting is changed.
|
|
35
|
+
*
|
|
36
|
+
* @param newSettings - New settings to merge (must be plain object; total size remains bounded).
|
|
41
37
|
*/
|
|
42
|
-
async update(newSettings) {
|
|
38
|
+
async update(newSettings: T): Promise<void> {
|
|
43
39
|
if (!_.isPlainObject(newSettings)) {
|
|
44
40
|
throw new errors.InvalidArgumentError(
|
|
45
41
|
`Settings update should be called with valid JSON. Got ` +
|
|
@@ -61,23 +57,16 @@ export class DeviceSettings {
|
|
|
61
57
|
continue;
|
|
62
58
|
}
|
|
63
59
|
}
|
|
64
|
-
await this._onSettingsUpdate(
|
|
60
|
+
await this._onSettingsUpdate(
|
|
61
|
+
prop as keyof T,
|
|
62
|
+
newSettings[prop],
|
|
63
|
+
this._settings[prop]
|
|
64
|
+
);
|
|
65
65
|
this._settings[prop] = newSettings[prop];
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
getSettings() {
|
|
69
|
+
getSettings(): T {
|
|
70
70
|
return this._settings;
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
|
|
74
|
-
export default DeviceSettings;
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* @typedef {import('@appium/types').StringRecord} StringRecord
|
|
78
|
-
*/
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* @template {StringRecord} [T=StringRecord]
|
|
82
|
-
* @typedef {import('@appium/types').IDeviceSettings<T>} IDeviceSettings
|
|
83
|
-
*/
|