appium-remote-debugger 12.0.0 → 12.0.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/CHANGELOG.md +6 -0
- package/build/lib/mixins/connect.d.ts +8 -52
- package/build/lib/mixins/connect.d.ts.map +1 -1
- package/build/lib/mixins/connect.js +31 -41
- package/build/lib/mixins/connect.js.map +1 -1
- package/build/lib/mixins/cookies.d.ts +4 -8
- package/build/lib/mixins/cookies.d.ts.map +1 -1
- package/build/lib/mixins/cookies.js +9 -13
- package/build/lib/mixins/cookies.js.map +1 -1
- package/build/lib/mixins/events.d.ts +10 -16
- package/build/lib/mixins/events.d.ts.map +1 -1
- package/build/lib/mixins/events.js +7 -10
- package/build/lib/mixins/events.js.map +1 -1
- package/build/lib/mixins/execute.d.ts +5 -16
- package/build/lib/mixins/execute.d.ts.map +1 -1
- package/build/lib/mixins/execute.js +17 -21
- package/build/lib/mixins/execute.js.map +1 -1
- package/build/lib/mixins/message-handlers.d.ts +9 -49
- package/build/lib/mixins/message-handlers.d.ts.map +1 -1
- package/build/lib/mixins/message-handlers.js +24 -35
- package/build/lib/mixins/message-handlers.js.map +1 -1
- package/build/lib/mixins/misc.d.ts +6 -10
- package/build/lib/mixins/misc.d.ts.map +1 -1
- package/build/lib/mixins/misc.js +15 -16
- package/build/lib/mixins/misc.js.map +1 -1
- package/build/lib/mixins/navigate.d.ts +9 -47
- package/build/lib/mixins/navigate.d.ts.map +1 -1
- package/build/lib/mixins/navigate.js +38 -44
- package/build/lib/mixins/navigate.js.map +1 -1
- package/build/lib/mixins/property-accessors.d.ts +27 -0
- package/build/lib/mixins/property-accessors.d.ts.map +1 -0
- package/build/lib/mixins/property-accessors.js +95 -0
- package/build/lib/mixins/property-accessors.js.map +1 -0
- package/build/lib/mixins/screenshot.d.ts +2 -10
- package/build/lib/mixins/screenshot.d.ts.map +1 -1
- package/build/lib/mixins/screenshot.js +4 -9
- package/build/lib/mixins/screenshot.js.map +1 -1
- package/build/lib/remote-debugger.d.ts +5 -2
- package/build/lib/remote-debugger.d.ts.map +1 -1
- package/build/lib/remote-debugger.js +14 -1
- package/build/lib/remote-debugger.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/lib/mixins/connect.js +43 -43
- package/lib/mixins/cookies.js +12 -14
- package/lib/mixins/events.js +10 -11
- package/lib/mixins/execute.js +28 -24
- package/lib/mixins/message-handlers.js +33 -37
- package/lib/mixins/misc.js +18 -17
- package/lib/mixins/navigate.js +46 -45
- package/lib/mixins/property-accessors.ts +96 -0
- package/lib/mixins/screenshot.js +8 -10
- package/lib/remote-debugger.ts +20 -3
- package/package.json +1 -1
|
@@ -13,6 +13,7 @@ const atoms_1 = require("../atoms");
|
|
|
13
13
|
const support_1 = require("@appium/support");
|
|
14
14
|
const asyncbox_1 = require("asyncbox");
|
|
15
15
|
const lodash_1 = __importDefault(require("lodash"));
|
|
16
|
+
const property_accessors_1 = require("./property-accessors");
|
|
16
17
|
/* How many milliseconds to wait for webkit to return a response before timing out */
|
|
17
18
|
const RPC_RESPONSE_TIMEOUT_MS = 5000;
|
|
18
19
|
/**
|
|
@@ -41,8 +42,8 @@ async function executeAtom(atom, args = [], frames = []) {
|
|
|
41
42
|
async function executeAtomAsync(atom, args = [], frames = []) {
|
|
42
43
|
// helper to send directly to the web inspector
|
|
43
44
|
const evaluate = async (method, opts) => await this.requireRpcClient(true).send(method, Object.assign({
|
|
44
|
-
appIdKey: this
|
|
45
|
-
pageIdKey: this
|
|
45
|
+
appIdKey: (0, property_accessors_1.getAppIdKey)(this),
|
|
46
|
+
pageIdKey: (0, property_accessors_1.getPageIdKey)(this),
|
|
46
47
|
returnByValue: false,
|
|
47
48
|
}, opts));
|
|
48
49
|
// first create a Promise on the page, saving the resolve/reject functions
|
|
@@ -125,25 +126,25 @@ async function executeAtomAsync(atom, args = [], frames = []) {
|
|
|
125
126
|
*/
|
|
126
127
|
async function execute(command, override) {
|
|
127
128
|
// if the page is not loaded yet, wait for it
|
|
128
|
-
if (this
|
|
129
|
+
if ((0, property_accessors_1.getPageLoading)(this) && !override) {
|
|
129
130
|
this.log.debug('Trying to execute but page is not loaded.');
|
|
130
131
|
await this.waitForDom();
|
|
131
132
|
}
|
|
132
|
-
if (lodash_1.default.isNil(
|
|
133
|
+
if (lodash_1.default.isNil((0, property_accessors_1.getAppIdKey)(this))) {
|
|
133
134
|
throw new Error('Missing parameter: appIdKey. Is the target web application still alive?');
|
|
134
135
|
}
|
|
135
|
-
if (lodash_1.default.isNil(
|
|
136
|
+
if (lodash_1.default.isNil((0, property_accessors_1.getPageIdKey)(this))) {
|
|
136
137
|
throw new Error('Missing parameter: pageIdKey. Is the target web page still alive?');
|
|
137
138
|
}
|
|
138
|
-
if (
|
|
139
|
+
if ((0, property_accessors_1.getGarbageCollectOnExecute)(this)) {
|
|
139
140
|
await this.garbageCollect();
|
|
140
141
|
}
|
|
141
142
|
this.log.debug(`Sending javascript command: '${lodash_1.default.truncate(command, { length: 50 })}'`);
|
|
142
143
|
const res = await this.requireRpcClient(true).send('Runtime.evaluate', {
|
|
143
144
|
expression: command,
|
|
144
145
|
returnByValue: true,
|
|
145
|
-
appIdKey: this
|
|
146
|
-
pageIdKey: this
|
|
146
|
+
appIdKey: (0, property_accessors_1.getAppIdKey)(this),
|
|
147
|
+
pageIdKey: (0, property_accessors_1.getPageIdKey)(this),
|
|
147
148
|
});
|
|
148
149
|
return (0, utils_1.convertResult)(res);
|
|
149
150
|
}
|
|
@@ -154,8 +155,11 @@ async function execute(command, override) {
|
|
|
154
155
|
* @param {any[]} [args]
|
|
155
156
|
*/
|
|
156
157
|
async function callFunction(objectId, fn, args) {
|
|
157
|
-
(0, utils_1.checkParams)({
|
|
158
|
-
|
|
158
|
+
(0, utils_1.checkParams)({
|
|
159
|
+
appIdKey: (0, property_accessors_1.getAppIdKey)(this),
|
|
160
|
+
pageIdKey: (0, property_accessors_1.getPageIdKey)(this),
|
|
161
|
+
});
|
|
162
|
+
if ((0, property_accessors_1.getGarbageCollectOnExecute)(this)) {
|
|
159
163
|
await this.garbageCollect();
|
|
160
164
|
}
|
|
161
165
|
this.log.debug('Calling javascript function');
|
|
@@ -164,20 +168,12 @@ async function callFunction(objectId, fn, args) {
|
|
|
164
168
|
functionDeclaration: fn,
|
|
165
169
|
arguments: args,
|
|
166
170
|
returnByValue: true,
|
|
167
|
-
appIdKey: this
|
|
168
|
-
pageIdKey: this
|
|
171
|
+
appIdKey: (0, property_accessors_1.getAppIdKey)(this),
|
|
172
|
+
pageIdKey: (0, property_accessors_1.getPageIdKey)(this),
|
|
169
173
|
});
|
|
170
174
|
return (0, utils_1.convertResult)(res);
|
|
171
175
|
}
|
|
172
176
|
/**
|
|
173
|
-
* @typedef {
|
|
174
|
-
* @property {string | null | undefined} _appIdKey
|
|
175
|
-
* @property {string | number | null | undefined} _pageIdKey
|
|
176
|
-
* @property {boolean} _pageLoading
|
|
177
|
-
* @property {boolean} _garbageCollectOnExecute
|
|
178
|
-
* @property {(this: RemoteDebugger, startPageLoadTimer?: timing.Timer | null | undefined) => Promise<void>} waitForDom:
|
|
179
|
-
*/
|
|
180
|
-
/**
|
|
181
|
-
* @typedef {import('../remote-debugger').RemoteDebugger & HasExecutionRelatedProperties} RemoteDebugger
|
|
177
|
+
* @typedef {import('../remote-debugger').RemoteDebugger} RemoteDebugger
|
|
182
178
|
*/
|
|
183
179
|
//# sourceMappingURL=execute.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../lib/mixins/execute.js"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../lib/mixins/execute.js"],"names":[],"mappings":"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"}
|
|
@@ -5,79 +5,49 @@
|
|
|
5
5
|
* @param {Record<string, any>} pageDict
|
|
6
6
|
* @returns {Promise<void>}
|
|
7
7
|
*/
|
|
8
|
-
export function onPageChange(this: RemoteDebugger, err: Error | null, appIdKey: string, pageDict: Record<string, any>): Promise<void>;
|
|
8
|
+
export function onPageChange(this: import("../remote-debugger").RemoteDebugger, err: Error | null, appIdKey: string, pageDict: Record<string, any>): Promise<void>;
|
|
9
9
|
/**
|
|
10
10
|
* @this {RemoteDebugger}
|
|
11
11
|
* @param {Error?} err
|
|
12
12
|
* @param {Record<string, any>} dict
|
|
13
13
|
* @returns {Promise<void>}
|
|
14
14
|
*/
|
|
15
|
-
export function onAppConnect(this: RemoteDebugger, err: Error | null, dict: Record<string, any>): Promise<void>;
|
|
15
|
+
export function onAppConnect(this: import("../remote-debugger").RemoteDebugger, err: Error | null, dict: Record<string, any>): Promise<void>;
|
|
16
16
|
/**
|
|
17
17
|
* @this {RemoteDebugger}
|
|
18
18
|
* @param {Error?} err
|
|
19
19
|
* @param {import('@appium/types').StringRecord} dict
|
|
20
20
|
* @returns {void}
|
|
21
21
|
*/
|
|
22
|
-
export function onAppDisconnect(this: RemoteDebugger, err: Error | null, dict: import("@appium/types").StringRecord): void;
|
|
23
|
-
export class onAppDisconnect {
|
|
24
|
-
/**
|
|
25
|
-
* @this {RemoteDebugger}
|
|
26
|
-
* @param {Error?} err
|
|
27
|
-
* @param {import('@appium/types').StringRecord} dict
|
|
28
|
-
* @returns {void}
|
|
29
|
-
*/
|
|
30
|
-
constructor(this: RemoteDebugger, err: Error | null, dict: import("@appium/types").StringRecord);
|
|
31
|
-
_appIdKey: any;
|
|
32
|
-
}
|
|
22
|
+
export function onAppDisconnect(this: import("../remote-debugger").RemoteDebugger, err: Error | null, dict: import("@appium/types").StringRecord): void;
|
|
33
23
|
/**
|
|
34
24
|
* @this {RemoteDebugger}
|
|
35
25
|
* @param {Error?} err
|
|
36
26
|
* @param {Record<string, any>} dict
|
|
37
27
|
* @returns {Promise<void>}
|
|
38
28
|
*/
|
|
39
|
-
export function onAppUpdate(this: RemoteDebugger, err: Error | null, dict: Record<string, any>): Promise<void>;
|
|
29
|
+
export function onAppUpdate(this: import("../remote-debugger").RemoteDebugger, err: Error | null, dict: Record<string, any>): Promise<void>;
|
|
40
30
|
/**
|
|
41
31
|
* @this {RemoteDebugger}
|
|
42
32
|
* @param {Error?} err
|
|
43
33
|
* @param {Record<string, any>} drivers
|
|
44
34
|
* @returns {void}
|
|
45
35
|
*/
|
|
46
|
-
export function onConnectedDriverList(this: RemoteDebugger, err: Error | null, drivers: Record<string, any>): void;
|
|
47
|
-
export class onConnectedDriverList {
|
|
48
|
-
/**
|
|
49
|
-
* @this {RemoteDebugger}
|
|
50
|
-
* @param {Error?} err
|
|
51
|
-
* @param {Record<string, any>} drivers
|
|
52
|
-
* @returns {void}
|
|
53
|
-
*/
|
|
54
|
-
constructor(this: RemoteDebugger, err: Error | null, drivers: Record<string, any>);
|
|
55
|
-
_connectedDrivers: any;
|
|
56
|
-
}
|
|
36
|
+
export function onConnectedDriverList(this: import("../remote-debugger").RemoteDebugger, err: Error | null, drivers: Record<string, any>): void;
|
|
57
37
|
/**
|
|
58
38
|
* @this {RemoteDebugger}
|
|
59
39
|
* @param {Error?} err
|
|
60
40
|
* @param {Record<string, any>} state
|
|
61
41
|
* @returns {void}
|
|
62
42
|
*/
|
|
63
|
-
export function onCurrentState(this: RemoteDebugger, err: Error | null, state: Record<string, any>): void;
|
|
64
|
-
export class onCurrentState {
|
|
65
|
-
/**
|
|
66
|
-
* @this {RemoteDebugger}
|
|
67
|
-
* @param {Error?} err
|
|
68
|
-
* @param {Record<string, any>} state
|
|
69
|
-
* @returns {void}
|
|
70
|
-
*/
|
|
71
|
-
constructor(this: RemoteDebugger, err: Error | null, state: Record<string, any>);
|
|
72
|
-
_currentState: any;
|
|
73
|
-
}
|
|
43
|
+
export function onCurrentState(this: import("../remote-debugger").RemoteDebugger, err: Error | null, state: Record<string, any>): void;
|
|
74
44
|
/**
|
|
75
45
|
* @this {RemoteDebugger}
|
|
76
46
|
* @param {Error?} err
|
|
77
47
|
* @param {Record<string, any>} apps
|
|
78
48
|
* @returns {Promise<void>}
|
|
79
49
|
*/
|
|
80
|
-
export function onConnectedApplicationList(this: RemoteDebugger, err: Error | null, apps: Record<string, any>): Promise<void>;
|
|
50
|
+
export function onConnectedApplicationList(this: import("../remote-debugger").RemoteDebugger, err: Error | null, apps: Record<string, any>): Promise<void>;
|
|
81
51
|
/**
|
|
82
52
|
* Given a bundle id, finds the correct remote debugger app that is
|
|
83
53
|
* connected.
|
|
@@ -86,16 +56,6 @@ export function onConnectedApplicationList(this: RemoteDebugger, err: Error | nu
|
|
|
86
56
|
* @param {string} bundleId
|
|
87
57
|
* @returns {string|undefined}
|
|
88
58
|
*/
|
|
89
|
-
export function getDebuggerAppKey(this: RemoteDebugger, bundleId: string): string | undefined;
|
|
90
|
-
export type
|
|
91
|
-
_appIdKey: string | null | undefined;
|
|
92
|
-
_pageIdKey: string | number | null | undefined;
|
|
93
|
-
_appDict: import("../types").AppDict;
|
|
94
|
-
_navigatingToPage: boolean;
|
|
95
|
-
_currentState: string | undefined;
|
|
96
|
-
_bundleId: string | undefined;
|
|
97
|
-
_connectedDrivers: string[] | undefined;
|
|
98
|
-
_skippedApps: string[];
|
|
99
|
-
};
|
|
100
|
-
export type RemoteDebugger = import("../remote-debugger").RemoteDebugger & HasMessageHandlersRelatedProperties;
|
|
59
|
+
export function getDebuggerAppKey(this: import("../remote-debugger").RemoteDebugger, bundleId: string): string | undefined;
|
|
60
|
+
export type RemoteDebugger = import("../remote-debugger").RemoteDebugger;
|
|
101
61
|
//# sourceMappingURL=message-handlers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-handlers.d.ts","sourceRoot":"","sources":["../../../lib/mixins/message-handlers.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message-handlers.d.ts","sourceRoot":"","sources":["../../../lib/mixins/message-handlers.js"],"names":[],"mappings":"AAsBA;;;;;;GAMG;AAEH,qFANW,KAAK,OAAC,YACN,MAAM,YACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,CAAC,IAAI,CAAC,CAoCzB;AAED;;;;;GAKG;AAEH,qFALW,KAAK,OAAC,QACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,CAAC,IAAI,CAAC,CAOzB;AAED;;;;;GAKG;AACH,wFAJW,KAAK,OAAC,QACN,OAAO,eAAe,EAAE,YAAY,GAClC,IAAI,CAsBhB;AAED;;;;;GAKG;AAEH,oFALW,KAAK,OAAC,QACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,CAAC,IAAI,CAAC,CAMzB;AAED;;;;;GAKG;AACH,8FAJW,KAAK,OAAC,WACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,IAAI,CAKhB;AAED;;;;;GAKG;AACH,uFAJW,KAAK,OAAC,SACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,IAAI,CAOhB;AAED;;;;;GAKG;AAEH,mGALW,KAAK,OAAC,QACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,CAAC,IAAI,CAAC,CAkBzB;AAwBD;;;;;;;GAOG;AACH,+FAHW,MAAM,GACJ,MAAM,GAAC,SAAS,CA6B5B;6BAGY,OAAO,oBAAoB,EAAE,cAAc"}
|
|
@@ -14,6 +14,7 @@ exports.getDebuggerAppKey = getDebuggerAppKey;
|
|
|
14
14
|
const events_1 = __importDefault(require("./events"));
|
|
15
15
|
const utils_1 = require("../utils");
|
|
16
16
|
const lodash_1 = __importDefault(require("lodash"));
|
|
17
|
+
const property_accessors_1 = require("./property-accessors");
|
|
17
18
|
/*
|
|
18
19
|
* Generic callbacks used throughout the lifecycle of the Remote Debugger.
|
|
19
20
|
* These will be added to the prototype.
|
|
@@ -32,8 +33,8 @@ async function onPageChange(err, appIdKey, pageDict) {
|
|
|
32
33
|
}
|
|
33
34
|
const currentPages = (0, utils_1.pageArrayFromDict)(pageDict);
|
|
34
35
|
// save the page dict for this app
|
|
35
|
-
if (this
|
|
36
|
-
const previousPages = this
|
|
36
|
+
if ((0, property_accessors_1.getAppDict)(this)[appIdKey]) {
|
|
37
|
+
const previousPages = (0, property_accessors_1.getAppDict)(this)[appIdKey].pageArray;
|
|
37
38
|
// we have a pre-existing pageDict
|
|
38
39
|
if (previousPages && lodash_1.default.isEqual(previousPages, currentPages)) {
|
|
39
40
|
this.log.debug(`Received page change notice for app '${appIdKey}' ` +
|
|
@@ -41,10 +42,10 @@ async function onPageChange(err, appIdKey, pageDict) {
|
|
|
41
42
|
return;
|
|
42
43
|
}
|
|
43
44
|
// keep track of the page dictionary
|
|
44
|
-
this
|
|
45
|
+
(0, property_accessors_1.getAppDict)(this)[appIdKey].pageArray = currentPages;
|
|
45
46
|
this.log.debug(`Pages changed for ${appIdKey}: ${JSON.stringify(previousPages)} -> ${JSON.stringify(currentPages)}`);
|
|
46
47
|
}
|
|
47
|
-
if (
|
|
48
|
+
if ((0, property_accessors_1.getNavigatingToPage)(this)) {
|
|
48
49
|
// in the middle of navigating, so reporting a page change will cause problems
|
|
49
50
|
return;
|
|
50
51
|
}
|
|
@@ -74,16 +75,16 @@ async function onAppConnect(err, dict) {
|
|
|
74
75
|
function onAppDisconnect(err, dict) {
|
|
75
76
|
const appIdKey = dict.WIRApplicationIdentifierKey;
|
|
76
77
|
this.log.debug(`Application '${appIdKey}' disconnected. Removing from app dictionary.`);
|
|
77
|
-
this.log.debug(`Current app is '${this
|
|
78
|
+
this.log.debug(`Current app is '${(0, property_accessors_1.getAppIdKey)(this)}'`);
|
|
78
79
|
// get rid of the entry in our app dictionary,
|
|
79
80
|
// since it is no longer available
|
|
80
|
-
delete this
|
|
81
|
+
delete (0, property_accessors_1.getAppDict)(this)[appIdKey];
|
|
81
82
|
// if the disconnected app is the one we are connected to, try to find another
|
|
82
|
-
if (this
|
|
83
|
+
if ((0, property_accessors_1.getAppIdKey)(this) === appIdKey) {
|
|
83
84
|
this.log.debug(`No longer have app id. Attempting to find new one.`);
|
|
84
|
-
this
|
|
85
|
+
(0, property_accessors_1.setAppIdKey)(this, getDebuggerAppKey.bind(this)(/** @type {string} */ ((0, property_accessors_1.getBundleId)(this))));
|
|
85
86
|
}
|
|
86
|
-
if (
|
|
87
|
+
if (lodash_1.default.isEmpty((0, property_accessors_1.getAppDict)(this))) {
|
|
87
88
|
// this means we no longer have any apps. what the what?
|
|
88
89
|
this.log.debug('Main app disconnected. Disconnecting altogether.');
|
|
89
90
|
this.emit(events_1.default.EVENT_DISCONNECT, true);
|
|
@@ -107,8 +108,8 @@ async function onAppUpdate(err, dict) {
|
|
|
107
108
|
* @returns {void}
|
|
108
109
|
*/
|
|
109
110
|
function onConnectedDriverList(err, drivers) {
|
|
110
|
-
this
|
|
111
|
-
this.log.debug(`Received connected driver list: ${JSON.stringify(this.
|
|
111
|
+
(0, property_accessors_1.setConnectedDrivers)(this, drivers.WIRDriverDictionaryKey);
|
|
112
|
+
this.log.debug(`Received connected driver list: ${JSON.stringify(this.connectedDrivers)}`);
|
|
112
113
|
}
|
|
113
114
|
/**
|
|
114
115
|
* @this {RemoteDebugger}
|
|
@@ -117,10 +118,10 @@ function onConnectedDriverList(err, drivers) {
|
|
|
117
118
|
* @returns {void}
|
|
118
119
|
*/
|
|
119
120
|
function onCurrentState(err, state) {
|
|
120
|
-
this
|
|
121
|
+
(0, property_accessors_1.setCurrentState)(this, state.WIRAutomationAvailabilityKey);
|
|
121
122
|
// This state changes when 'Remote Automation' in 'Settings app' > 'Safari' > 'Advanced' > 'Remote Automation' changes
|
|
122
123
|
// WIRAutomationAvailabilityAvailable or WIRAutomationAvailabilityNotAvailable
|
|
123
|
-
this.log.debug(`Received connected automation availability state: ${JSON.stringify(this.
|
|
124
|
+
this.log.debug(`Received connected automation availability state: ${JSON.stringify(this.currentState)}`);
|
|
124
125
|
}
|
|
125
126
|
/**
|
|
126
127
|
* @this {RemoteDebugger}
|
|
@@ -136,13 +137,13 @@ async function onConnectedApplicationList(err, apps) {
|
|
|
136
137
|
let newDict = {};
|
|
137
138
|
for (const dict of lodash_1.default.values(apps)) {
|
|
138
139
|
const [id, entry] = (0, utils_1.appInfoFromDict)(dict);
|
|
139
|
-
if (this.
|
|
140
|
+
if ((0, property_accessors_1.getSkippedApps)(this).includes(entry.name)) {
|
|
140
141
|
continue;
|
|
141
142
|
}
|
|
142
143
|
newDict[id] = entry;
|
|
143
144
|
}
|
|
144
145
|
// update the object's list of apps
|
|
145
|
-
lodash_1.default.defaults(this
|
|
146
|
+
lodash_1.default.defaults((0, property_accessors_1.getAppDict)(this), newDict);
|
|
146
147
|
}
|
|
147
148
|
/**
|
|
148
149
|
*
|
|
@@ -153,16 +154,15 @@ async function onConnectedApplicationList(err, apps) {
|
|
|
153
154
|
function updateAppsWithDict(dict) {
|
|
154
155
|
// get the dictionary entry into a nice form, and add it to the
|
|
155
156
|
// application dictionary
|
|
156
|
-
this._appDict ?? (this._appDict = {});
|
|
157
157
|
const [id, entry] = (0, utils_1.appInfoFromDict)(dict);
|
|
158
|
-
if (this
|
|
158
|
+
if ((0, property_accessors_1.getAppDict)(this)[id]) {
|
|
159
159
|
// preserve the page dictionary for this entry
|
|
160
|
-
entry.pageArray = this
|
|
160
|
+
entry.pageArray = (0, property_accessors_1.getAppDict)(this)[id].pageArray;
|
|
161
161
|
}
|
|
162
|
-
this
|
|
162
|
+
(0, property_accessors_1.getAppDict)(this)[id] = entry;
|
|
163
163
|
// try to get the app id from our connected apps
|
|
164
|
-
if (!
|
|
165
|
-
this
|
|
164
|
+
if (!(0, property_accessors_1.getAppIdKey)(this)) {
|
|
165
|
+
(0, property_accessors_1.setAppIdKey)(this, getDebuggerAppKey.bind(this)(/** @type {string} */ ((0, property_accessors_1.getBundleId)(this))));
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
168
|
/**
|
|
@@ -175,7 +175,7 @@ function updateAppsWithDict(dict) {
|
|
|
175
175
|
*/
|
|
176
176
|
function getDebuggerAppKey(bundleId) {
|
|
177
177
|
let appId;
|
|
178
|
-
for (const [key, data] of lodash_1.default.toPairs(
|
|
178
|
+
for (const [key, data] of lodash_1.default.toPairs((0, property_accessors_1.getAppDict)(this))) {
|
|
179
179
|
if (data.bundleId === bundleId) {
|
|
180
180
|
appId = key;
|
|
181
181
|
break;
|
|
@@ -185,7 +185,7 @@ function getDebuggerAppKey(bundleId) {
|
|
|
185
185
|
if (appId) {
|
|
186
186
|
this.log.debug(`Found app id key '${appId}' for bundle '${bundleId}'`);
|
|
187
187
|
let proxyAppId;
|
|
188
|
-
for (const [key, data] of lodash_1.default.toPairs(
|
|
188
|
+
for (const [key, data] of lodash_1.default.toPairs((0, property_accessors_1.getAppDict)(this))) {
|
|
189
189
|
if (data.isProxy && data.hostId === appId) {
|
|
190
190
|
this.log.debug(`Found separate bundleId '${data.bundleId}' ` +
|
|
191
191
|
`acting as proxy for '${bundleId}', with app id '${key}'`);
|
|
@@ -201,17 +201,6 @@ function getDebuggerAppKey(bundleId) {
|
|
|
201
201
|
return appId;
|
|
202
202
|
}
|
|
203
203
|
/**
|
|
204
|
-
* @typedef {
|
|
205
|
-
* @property {string | null | undefined} _appIdKey
|
|
206
|
-
* @property {string | number | null | undefined} _pageIdKey
|
|
207
|
-
* @property {import('../types').AppDict} _appDict
|
|
208
|
-
* @property {boolean} _navigatingToPage
|
|
209
|
-
* @property {string | undefined} _currentState
|
|
210
|
-
* @property {string | undefined} _bundleId
|
|
211
|
-
* @property {string[] | undefined} _connectedDrivers
|
|
212
|
-
* @property {string[]} _skippedApps
|
|
213
|
-
*/
|
|
214
|
-
/**
|
|
215
|
-
* @typedef {import('../remote-debugger').RemoteDebugger & HasMessageHandlersRelatedProperties} RemoteDebugger
|
|
204
|
+
* @typedef {import('../remote-debugger').RemoteDebugger} RemoteDebugger
|
|
216
205
|
*/
|
|
217
206
|
//# sourceMappingURL=message-handlers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-handlers.js","sourceRoot":"","sources":["../../../lib/mixins/message-handlers.js"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"message-handlers.js","sourceRoot":"","sources":["../../../lib/mixins/message-handlers.js"],"names":[],"mappings":";;;;;AA8BA,oCAiCC;AASD,oCAIC;AAQD,0CAoBC;AASD,kCAGC;AAQD,sDAGC;AAQD,wCAKC;AASD,gEAeC;AAgCD,8CA2BC;AA/ND,sDAA8B;AAC9B,oCAGkB;AAClB,oDAAuB;AACvB,6DAS8B;AAE9B;;;GAGG;AAEH;;;;;;GAMG;AACH,yCAAyC;AAClC,KAAK,UAAU,YAAY,CAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ;IACzD,IAAI,gBAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,yBAAiB,EAAC,QAAQ,CAAC,CAAC;IACjD,kCAAkC;IAClC,IAAI,IAAA,+BAAU,EAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,MAAM,aAAa,GAAG,IAAA,+BAAU,EAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;QAC3D,kCAAkC;QAClC,IAAI,aAAa,IAAI,gBAAC,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,wCAAwC,QAAQ,IAAI;gBACpD,4CAA4C,CAC7C,CAAC;YACF,OAAO;QACT,CAAC;QACD,oCAAoC;QACpC,IAAA,+BAAU,EAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,GAAG,YAAY,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,qBAAqB,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CACrG,CAAC;IACJ,CAAC;IAED,IAAI,IAAA,wCAAmB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,8EAA8E;QAC9E,OAAO;IACT,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,gBAAM,CAAC,iBAAiB,EAAE;QAClC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACtC,SAAS,EAAE,YAAY;KACxB,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,yCAAyC;AAClC,KAAK,UAAU,YAAY,CAAE,GAAG,EAAE,IAAI;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,2BAA2B,CAAC;IAClD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kCAAkC,QAAQ,iBAAiB,CAAC,CAAC;IAC5E,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAE,GAAG,EAAE,IAAI;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,2BAA2B,CAAC;IAClD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,QAAQ,+CAA+C,CAAC,CAAC;IACxF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,IAAA,gCAAW,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAExD,8CAA8C;IAC9C,kCAAkC;IAClC,OAAO,IAAA,+BAAU,EAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAElC,8EAA8E;IAC9E,IAAI,IAAA,gCAAW,EAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACrE,IAAA,gCAAW,EAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAA,gCAAW,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,IAAI,gBAAC,CAAC,OAAO,CAAC,IAAA,+BAAU,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAChC,wDAAwD;QACxD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,CAAC,gBAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,yCAAyC;AAClC,KAAK,UAAU,WAAW,CAAE,GAAG,EAAE,IAAI;IAC1C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAChE,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAE,GAAG,EAAE,OAAO;IACjD,IAAA,wCAAmB,EAAC,IAAI,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC1D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAmC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;AAC7F,CAAC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAAE,GAAG,EAAE,KAAK;IACxC,IAAA,oCAAe,EAAC,IAAI,EAAE,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC1D,sHAAsH;IACtH,8EAA8E;IAC9E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qDAAqD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AAC3G,CAAC;AAED;;;;;GAKG;AACH,yCAAyC;AAClC,KAAK,UAAU,0BAA0B,CAAE,GAAG,EAAE,IAAI;IACzD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yCAAyC,gBAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEnF,8DAA8D;IAC9D,iDAAiD;IACjD,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,IAAI,IAAI,gBAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,IAAA,uBAAe,EAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,IAAA,mCAAc,EAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,SAAS;QACX,CAAC;QACD,OAAO,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC;IACD,mCAAmC;IACnC,gBAAC,CAAC,QAAQ,CAAC,IAAA,+BAAU,EAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAE,IAAI;IAC/B,+DAA+D;IAC/D,yBAAyB;IACzB,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,IAAA,uBAAe,EAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,IAAA,+BAAU,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACzB,8CAA8C;QAC9C,KAAK,CAAC,SAAS,GAAG,IAAA,+BAAU,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;IACnD,CAAC;IACD,IAAA,+BAAU,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;IAE7B,gDAAgD;IAChD,IAAI,CAAC,IAAA,gCAAW,EAAC,IAAI,CAAC,EAAE,CAAC;QACvB,IAAA,gCAAW,EAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAA,gCAAW,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAAE,QAAQ;IACzC,IAAI,KAAK,CAAC;IACV,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,gBAAC,CAAC,OAAO,CAAC,IAAA,+BAAU,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACtD,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/B,KAAK,GAAG,GAAG,CAAC;YACZ,MAAM;QACR,CAAC;IACH,CAAC;IACD,sEAAsE;IACtE,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,KAAK,iBAAiB,QAAQ,GAAG,CAAC,CAAC;QACvE,IAAI,UAAU,CAAC;QACf,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,gBAAC,CAAC,OAAO,CAAC,IAAA,+BAAU,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACtD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC1C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,QAAQ,IAAI;oBAClD,wBAAwB,QAAQ,mBAAmB,GAAG,GAAG,CAAC,CAAC;gBACrE,yEAAyE;gBACzE,UAAU,GAAG,GAAG,CAAC;YACnB,CAAC;QACH,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,GAAG,UAAU,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,KAAK,GAAG,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG"}
|
|
@@ -2,33 +2,29 @@
|
|
|
2
2
|
* @this {RemoteDebugger}
|
|
3
3
|
* @returns {Promise<void>}
|
|
4
4
|
*/
|
|
5
|
-
export function launchSafari(this: RemoteDebugger): Promise<void>;
|
|
5
|
+
export function launchSafari(this: import("../remote-debugger").RemoteDebugger): Promise<void>;
|
|
6
6
|
/**
|
|
7
7
|
* @this {RemoteDebugger}
|
|
8
8
|
* @param {import('../types').EventListener} fn
|
|
9
9
|
* @returns {Promise<any>}
|
|
10
10
|
*/
|
|
11
|
-
export function startTimeline(this: RemoteDebugger, fn: import("../types").EventListener): Promise<any>;
|
|
11
|
+
export function startTimeline(this: import("../remote-debugger").RemoteDebugger, fn: import("../types").EventListener): Promise<any>;
|
|
12
12
|
/**
|
|
13
13
|
* @this {RemoteDebugger}
|
|
14
14
|
* @returns {Promise<any>}
|
|
15
15
|
*/
|
|
16
|
-
export function stopTimeline(this: RemoteDebugger): Promise<any>;
|
|
16
|
+
export function stopTimeline(this: import("../remote-debugger").RemoteDebugger): Promise<any>;
|
|
17
17
|
/**
|
|
18
18
|
* @this {RemoteDebugger}
|
|
19
19
|
* @param {string} value
|
|
20
20
|
* @returns {Promise<any>}
|
|
21
21
|
*/
|
|
22
|
-
export function overrideUserAgent(this: RemoteDebugger, value: string): Promise<any>;
|
|
22
|
+
export function overrideUserAgent(this: import("../remote-debugger").RemoteDebugger, value: string): Promise<any>;
|
|
23
23
|
/**
|
|
24
24
|
* @this {RemoteDebugger}
|
|
25
25
|
* @param {number} [timeoutMs=GARBAGE_COLLECT_TIMEOUT_MS]
|
|
26
26
|
* @returns {Promise<void>}
|
|
27
27
|
*/
|
|
28
|
-
export function garbageCollect(this: RemoteDebugger, timeoutMs?: number | undefined): Promise<void>;
|
|
29
|
-
export type
|
|
30
|
-
_appIdKey: string | null | undefined;
|
|
31
|
-
_pageIdKey: string | number | null | undefined;
|
|
32
|
-
};
|
|
33
|
-
export type RemoteDebugger = import("../remote-debugger").RemoteDebugger & HasMiscRelatedProperties;
|
|
28
|
+
export function garbageCollect(this: import("../remote-debugger").RemoteDebugger, timeoutMs?: number | undefined): Promise<void>;
|
|
29
|
+
export type RemoteDebugger = import("../remote-debugger").RemoteDebugger;
|
|
34
30
|
//# sourceMappingURL=misc.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../lib/mixins/misc.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../lib/mixins/misc.js"],"names":[],"mappings":"AAUA;;;GAGG;AACH,iFAFa,OAAO,CAAC,IAAI,CAAC,CAMzB;AAED;;;;GAIG;AACH,qFAHW,OAAO,UAAU,EAAE,aAAa,GAC9B,OAAO,CAAC,GAAG,CAAC,CASxB;AAED;;;GAGG;AACH,iFAFa,OAAO,CAAC,GAAG,CAAC,CAQxB;AAGD;;;;GAIG;AACH,4FAHW,MAAM,GACJ,OAAO,CAAC,GAAG,CAAC,CASxB;AAED;;;;GAIG;AACH,mHAFa,OAAO,CAAC,IAAI,CAAC,CA8BzB;6BAGY,OAAO,oBAAoB,EAAE,cAAc"}
|
package/build/lib/mixins/misc.js
CHANGED
|
@@ -10,6 +10,7 @@ exports.overrideUserAgent = overrideUserAgent;
|
|
|
10
10
|
exports.garbageCollect = garbageCollect;
|
|
11
11
|
const utils_1 = require("../utils");
|
|
12
12
|
const bluebird_1 = __importDefault(require("bluebird"));
|
|
13
|
+
const property_accessors_1 = require("./property-accessors");
|
|
13
14
|
const SAFARI_BUNDLE_ID = 'com.apple.mobilesafari';
|
|
14
15
|
const GARBAGE_COLLECT_TIMEOUT_MS = 5000;
|
|
15
16
|
/**
|
|
@@ -30,8 +31,8 @@ async function startTimeline(fn) {
|
|
|
30
31
|
this.log.debug('Starting to record the timeline');
|
|
31
32
|
this.requireRpcClient().on('Timeline.eventRecorded', fn);
|
|
32
33
|
return await this.requireRpcClient().send('Timeline.start', {
|
|
33
|
-
appIdKey: this
|
|
34
|
-
pageIdKey: this
|
|
34
|
+
appIdKey: (0, property_accessors_1.getAppIdKey)(this),
|
|
35
|
+
pageIdKey: (0, property_accessors_1.getPageIdKey)(this),
|
|
35
36
|
});
|
|
36
37
|
}
|
|
37
38
|
/**
|
|
@@ -41,8 +42,8 @@ async function startTimeline(fn) {
|
|
|
41
42
|
async function stopTimeline() {
|
|
42
43
|
this.log.debug('Stopping to record the timeline');
|
|
43
44
|
await this.requireRpcClient().send('Timeline.stop', {
|
|
44
|
-
appIdKey: this
|
|
45
|
-
pageIdKey: this
|
|
45
|
+
appIdKey: (0, property_accessors_1.getAppIdKey)(this),
|
|
46
|
+
pageIdKey: (0, property_accessors_1.getPageIdKey)(this),
|
|
46
47
|
});
|
|
47
48
|
}
|
|
48
49
|
// Potentially this does not work for mobile safari
|
|
@@ -54,9 +55,9 @@ async function stopTimeline() {
|
|
|
54
55
|
async function overrideUserAgent(value) {
|
|
55
56
|
this.log.debug('Setting overrideUserAgent');
|
|
56
57
|
return await this.requireRpcClient().send('Page.overrideUserAgent', {
|
|
57
|
-
appIdKey: this
|
|
58
|
-
pageIdKey: this
|
|
59
|
-
value
|
|
58
|
+
appIdKey: (0, property_accessors_1.getAppIdKey)(this),
|
|
59
|
+
pageIdKey: (0, property_accessors_1.getPageIdKey)(this),
|
|
60
|
+
value,
|
|
60
61
|
});
|
|
61
62
|
}
|
|
62
63
|
/**
|
|
@@ -67,7 +68,10 @@ async function overrideUserAgent(value) {
|
|
|
67
68
|
async function garbageCollect(timeoutMs = GARBAGE_COLLECT_TIMEOUT_MS) {
|
|
68
69
|
this.log.debug(`Garbage collecting with ${timeoutMs}ms timeout`);
|
|
69
70
|
try {
|
|
70
|
-
(0, utils_1.checkParams)({
|
|
71
|
+
(0, utils_1.checkParams)({
|
|
72
|
+
appIdKey: (0, property_accessors_1.getAppIdKey)(this),
|
|
73
|
+
pageIdKey: (0, property_accessors_1.getPageIdKey)(this),
|
|
74
|
+
});
|
|
71
75
|
}
|
|
72
76
|
catch (err) {
|
|
73
77
|
this.log.debug(`Unable to collect garbage at this time`);
|
|
@@ -75,8 +79,8 @@ async function garbageCollect(timeoutMs = GARBAGE_COLLECT_TIMEOUT_MS) {
|
|
|
75
79
|
}
|
|
76
80
|
try {
|
|
77
81
|
await bluebird_1.default.resolve(this.requireRpcClient().send('Heap.gc', {
|
|
78
|
-
appIdKey: this
|
|
79
|
-
pageIdKey: this
|
|
82
|
+
appIdKey: (0, property_accessors_1.getAppIdKey)(this),
|
|
83
|
+
pageIdKey: (0, property_accessors_1.getPageIdKey)(this),
|
|
80
84
|
})).timeout(timeoutMs);
|
|
81
85
|
this.log.debug(`Garbage collection successful`);
|
|
82
86
|
}
|
|
@@ -90,11 +94,6 @@ async function garbageCollect(timeoutMs = GARBAGE_COLLECT_TIMEOUT_MS) {
|
|
|
90
94
|
}
|
|
91
95
|
}
|
|
92
96
|
/**
|
|
93
|
-
* @typedef {
|
|
94
|
-
* @property {string | null | undefined} _appIdKey
|
|
95
|
-
* @property {string | number | null | undefined} _pageIdKey
|
|
96
|
-
*/
|
|
97
|
-
/**
|
|
98
|
-
* @typedef {import('../remote-debugger').RemoteDebugger & HasMiscRelatedProperties} RemoteDebugger
|
|
97
|
+
* @typedef {import('../remote-debugger').RemoteDebugger} RemoteDebugger
|
|
99
98
|
*/
|
|
100
99
|
//# sourceMappingURL=misc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../lib/mixins/misc.js"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../lib/mixins/misc.js"],"names":[],"mappings":";;;;;AAcA,oCAIC;AAOD,sCAOC;AAMD,oCAMC;AAQD,8CAOC;AAOD,wCA4BC;AA9FD,oCAAuC;AACvC,wDAAyB;AACzB,6DAG8B;AAE9B,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;AAClD,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAExC;;;GAGG;AACI,KAAK,UAAU,YAAY;IAChC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE;QACtD,QAAQ,EAAE,gBAAgB;KAC3B,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,aAAa,CAAE,EAAE;IACrC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAClD,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;IACzD,OAAO,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE;QAC1D,QAAQ,EAAE,IAAA,gCAAW,EAAC,IAAI,CAAC;QAC3B,SAAS,EAAE,IAAA,iCAAY,EAAC,IAAI,CAAC;KAC9B,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,YAAY;IAChC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAClD,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE;QAClD,QAAQ,EAAE,IAAA,gCAAW,EAAC,IAAI,CAAC;QAC3B,SAAS,EAAE,IAAA,iCAAY,EAAC,IAAI,CAAC;KAC9B,CAAC,CAAC;AACL,CAAC;AAED,mDAAmD;AACnD;;;;GAIG;AACI,KAAK,UAAU,iBAAiB,CAAE,KAAK;IAC5C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC5C,OAAO,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE;QAClE,QAAQ,EAAE,IAAA,gCAAW,EAAC,IAAI,CAAC;QAC3B,SAAS,EAAE,IAAA,iCAAY,EAAC,IAAI,CAAC;QAC7B,KAAK;KACN,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,cAAc,CAAE,SAAS,GAAG,0BAA0B;IAC1E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,2BAA2B,SAAS,YAAY,CAAC,CAAC;IAEjE,IAAI,CAAC;QACH,IAAA,mBAAW,EAAC;YACV,QAAQ,EAAE,IAAA,gCAAW,EAAC,IAAI,CAAC;YAC3B,SAAS,EAAE,IAAA,iCAAY,EAAC,IAAI,CAAC;SAC9B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACzD,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,kBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAC1C,SAAS,EAAE;YACT,QAAQ,EAAE,IAAA,gCAAW,EAAC,IAAI,CAAC;YAC3B,SAAS,EAAE,IAAA,iCAAY,EAAC,IAAI,CAAC;SAC9B,CAAC,CACH,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,kBAAC,CAAC,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sCAAsC,SAAS,IAAI,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG"}
|
|
@@ -2,15 +2,12 @@
|
|
|
2
2
|
* @this {RemoteDebugger}
|
|
3
3
|
* @returns {void}
|
|
4
4
|
*/
|
|
5
|
-
export function frameDetached(this: RemoteDebugger): void;
|
|
5
|
+
export function frameDetached(this: import("../remote-debugger").RemoteDebugger): void;
|
|
6
6
|
/**
|
|
7
|
-
* @this {RemoteDebugger
|
|
7
|
+
* @this {RemoteDebugger}
|
|
8
8
|
* @returns {void}
|
|
9
9
|
*/
|
|
10
|
-
export function cancelPageLoad(this: import("../remote-debugger").RemoteDebugger
|
|
11
|
-
export class cancelPageLoad {
|
|
12
|
-
_pageLoading: boolean;
|
|
13
|
-
}
|
|
10
|
+
export function cancelPageLoad(this: import("../remote-debugger").RemoteDebugger): void;
|
|
14
11
|
/**
|
|
15
12
|
* Return if current readState can be handles as page load completes
|
|
16
13
|
* for the given page load strategy.
|
|
@@ -19,61 +16,26 @@ export class cancelPageLoad {
|
|
|
19
16
|
* @param {string} readyState
|
|
20
17
|
* @returns {boolean}
|
|
21
18
|
*/
|
|
22
|
-
export function isPageLoadingCompleted(this: RemoteDebugger, readyState: string): boolean;
|
|
19
|
+
export function isPageLoadingCompleted(this: import("../remote-debugger").RemoteDebugger, readyState: string): boolean;
|
|
23
20
|
/**
|
|
24
21
|
* @this {RemoteDebugger}
|
|
25
22
|
* @param {timing.Timer?} [startPageLoadTimer]
|
|
26
23
|
* @returns {Promise<void>}
|
|
27
24
|
*/
|
|
28
|
-
export function waitForDom(this: RemoteDebugger, startPageLoadTimer?: timing.Timer | null | undefined): Promise<void>;
|
|
29
|
-
export class waitForDom {
|
|
30
|
-
/**
|
|
31
|
-
* @this {RemoteDebugger}
|
|
32
|
-
* @param {timing.Timer?} [startPageLoadTimer]
|
|
33
|
-
* @returns {Promise<void>}
|
|
34
|
-
*/
|
|
35
|
-
constructor(this: RemoteDebugger, startPageLoadTimer?: timing.Timer | null | undefined);
|
|
36
|
-
_pageLoading: boolean;
|
|
37
|
-
_pageLoadDelay: B<void>;
|
|
38
|
-
}
|
|
25
|
+
export function waitForDom(this: import("../remote-debugger").RemoteDebugger, startPageLoadTimer?: timing.Timer | null | undefined): Promise<void>;
|
|
39
26
|
/**
|
|
40
27
|
* @this {RemoteDebugger}
|
|
41
28
|
* @param {number} [timeoutMs]
|
|
42
29
|
* @returns {Promise<boolean>}
|
|
43
30
|
*/
|
|
44
|
-
export function checkPageIsReady(this: RemoteDebugger, timeoutMs?: number | undefined): Promise<boolean>;
|
|
31
|
+
export function checkPageIsReady(this: import("../remote-debugger").RemoteDebugger, timeoutMs?: number | undefined): Promise<boolean>;
|
|
45
32
|
/**
|
|
46
33
|
* @this {RemoteDebugger}
|
|
47
34
|
* @param {string} url
|
|
48
35
|
* @returns {Promise<void>}
|
|
49
36
|
*/
|
|
50
|
-
export function navToUrl(this: RemoteDebugger, url: string): Promise<void>;
|
|
51
|
-
export
|
|
52
|
-
|
|
53
|
-
* @this {RemoteDebugger}
|
|
54
|
-
* @param {string} url
|
|
55
|
-
* @returns {Promise<void>}
|
|
56
|
-
*/
|
|
57
|
-
constructor(this: RemoteDebugger, url: string);
|
|
58
|
-
_navigatingToPage: boolean;
|
|
59
|
-
_pageLoadDelay: B<void>;
|
|
60
|
-
_pageLoading: boolean;
|
|
61
|
-
}
|
|
62
|
-
export type HasNavigationRelatedProperties = {
|
|
63
|
-
_pageLoading: boolean;
|
|
64
|
-
_pageLoadDelay: B<void>;
|
|
65
|
-
_pageLoadStrategy: string | undefined;
|
|
66
|
-
_pageLoadMs: number | undefined;
|
|
67
|
-
_appIdKey: string | null | undefined;
|
|
68
|
-
_pageIdKey: string | number | null | undefined;
|
|
69
|
-
_navigatingToPage: boolean;
|
|
70
|
-
_pageReadyTimeout: number;
|
|
71
|
-
/**
|
|
72
|
-
* :
|
|
73
|
-
*/
|
|
74
|
-
execute: (this: RemoteDebugger, command: string, override?: boolean | undefined) => Promise<any>;
|
|
75
|
-
};
|
|
76
|
-
export type RemoteDebugger = import("../remote-debugger").RemoteDebugger & HasNavigationRelatedProperties;
|
|
37
|
+
export function navToUrl(this: import("../remote-debugger").RemoteDebugger, url: string): Promise<void>;
|
|
38
|
+
export const DEFAULT_PAGE_READINESS_TIMEOUT_MS: number;
|
|
39
|
+
export type RemoteDebugger = import("../remote-debugger").RemoteDebugger;
|
|
77
40
|
import { timing } from '@appium/support';
|
|
78
|
-
import B from 'bluebird';
|
|
79
41
|
//# sourceMappingURL=navigate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigate.d.ts","sourceRoot":"","sources":["../../../lib/mixins/navigate.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"navigate.d.ts","sourceRoot":"","sources":["../../../lib/mixins/navigate.js"],"names":[],"mappings":"AAgCA;;;GAGG;AACH,kFAFa,IAAI,CAIhB;AAED;;;GAGG;AACH,mFAFa,IAAI,CAMhB;AAED;;;;;;;GAOG;AACH,sGAHW,MAAM,GACJ,OAAO,CAenB;AAED;;;;GAIG;AACH,qIAFa,OAAO,CAAC,IAAI,CAAC,CAgEzB;AAED;;;;GAIG;AACH,qHAFa,OAAO,CAAC,OAAO,CAAC,CAsB5B;AAED;;;;GAIG;AACH,iFAHW,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CA4HzB;AAtRD,uDAA2D;6BAyR9C,OAAO,oBAAoB,EAAE,cAAc;uBAzS3B,iBAAiB"}
|