appium-remote-debugger 9.1.3 → 9.1.5
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 +3 -0
- package/build/index.js +1 -6
- package/build/lib/atoms.js +8 -32
- package/build/lib/atoms.js.map +1 -0
- package/build/lib/logger.js +2 -6
- package/build/lib/logger.js.map +1 -0
- package/build/lib/mixins/connect.js +6 -70
- package/build/lib/mixins/connect.js.map +1 -0
- package/build/lib/mixins/events.js +1 -3
- package/build/lib/mixins/events.js.map +1 -0
- package/build/lib/mixins/execute.js +6 -37
- package/build/lib/mixins/execute.js.map +1 -0
- package/build/lib/mixins/index.js +1 -9
- package/build/lib/mixins/index.js.map +1 -0
- package/build/lib/mixins/message-handlers.js +1 -33
- package/build/lib/mixins/message-handlers.js.map +1 -0
- package/build/lib/mixins/navigate.js +5 -53
- package/build/lib/mixins/navigate.js.map +1 -0
- package/build/lib/protocol/index.js +20 -7
- package/build/lib/protocol/index.js.map +1 -0
- package/build/lib/remote-debugger-real-device.js +1 -9
- package/build/lib/remote-debugger-real-device.js.map +1 -0
- package/build/lib/remote-debugger.js +3 -68
- package/build/lib/remote-debugger.js.map +1 -0
- package/build/lib/rpc/index.js +1 -5
- package/build/lib/rpc/index.js.map +1 -0
- package/build/lib/rpc/remote-messages.js +5 -28
- package/build/lib/rpc/remote-messages.js.map +1 -0
- package/build/lib/rpc/rpc-client-real-device.js +1 -16
- package/build/lib/rpc/rpc-client-real-device.js.map +1 -0
- package/build/lib/rpc/rpc-client-simulator.js +4 -30
- package/build/lib/rpc/rpc-client-simulator.js.map +1 -0
- package/build/lib/rpc/rpc-client.js +14 -108
- package/build/lib/rpc/rpc-client.js.map +1 -0
- package/build/lib/rpc/rpc-message-handler.js +2 -53
- package/build/lib/rpc/rpc-message-handler.js.map +1 -0
- package/build/lib/utils.js +23 -47
- package/build/lib/utils.js.map +1 -0
- package/lib/atoms.js +8 -15
- package/lib/logger.js +1 -1
- package/lib/mixins/connect.js +1 -1
- package/lib/mixins/execute.js +2 -2
- package/lib/mixins/navigate.js +1 -1
- package/lib/remote-debugger.js +2 -10
- package/lib/rpc/rpc-client.js +1 -1
- package/lib/rpc/rpc-message-handler.js +1 -1
- package/lib/utils.js +18 -3
- package/package.json +6 -6
|
@@ -1,48 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
require("source-map-support/register");
|
|
11
|
-
|
|
12
9
|
var _logger = _interopRequireDefault(require("../logger"));
|
|
13
|
-
|
|
14
10
|
var _utils = require("../utils");
|
|
15
|
-
|
|
16
11
|
var _events = _interopRequireDefault(require("./events"));
|
|
17
|
-
|
|
18
|
-
var _support = require("appium/support");
|
|
19
|
-
|
|
12
|
+
var _support = require("@appium/support");
|
|
20
13
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
21
|
-
|
|
22
14
|
var _bluebird = _interopRequireDefault(require("bluebird"));
|
|
23
|
-
|
|
24
15
|
function frameDetached() {
|
|
25
16
|
this.emit(_events.default.EVENT_FRAMES_DETACHED);
|
|
26
17
|
}
|
|
27
|
-
|
|
28
18
|
async function pageLoad(startPageLoadTimer, pageLoadVerifyHook = _lodash.default.noop) {
|
|
29
19
|
var _startPageLoadTimer;
|
|
30
|
-
|
|
31
20
|
const timeoutMs = 500;
|
|
32
|
-
|
|
33
21
|
if (!_lodash.default.isFunction((_startPageLoadTimer = startPageLoadTimer) === null || _startPageLoadTimer === void 0 ? void 0 : _startPageLoadTimer.getDuration)) {
|
|
34
22
|
_logger.default.debug(`Page load timer not a timer. Creating new timer`);
|
|
35
|
-
|
|
36
23
|
startPageLoadTimer = new _support.timing.Timer().start();
|
|
37
24
|
}
|
|
38
|
-
|
|
39
25
|
_logger.default.debug('Page loaded, verifying whether ready');
|
|
40
|
-
|
|
41
26
|
this.pageLoading = true;
|
|
42
|
-
|
|
43
27
|
const verify = async () => {
|
|
44
28
|
this.pageLoadDelay = _support.util.cancellableDelay(timeoutMs);
|
|
45
|
-
|
|
46
29
|
try {
|
|
47
30
|
await this.pageLoadDelay;
|
|
48
31
|
} catch (err) {
|
|
@@ -53,92 +36,68 @@ async function pageLoad(startPageLoadTimer, pageLoadVerifyHook = _lodash.default
|
|
|
53
36
|
|
|
54
37
|
if (!this.appIdKey) {
|
|
55
38
|
_logger.default.debug('Not connected to an application. Ignoring page load');
|
|
56
|
-
|
|
57
39
|
return;
|
|
58
40
|
}
|
|
59
|
-
|
|
60
41
|
if (_lodash.default.isFunction(pageLoadVerifyHook)) {
|
|
61
42
|
await pageLoadVerifyHook();
|
|
62
43
|
}
|
|
63
44
|
|
|
64
45
|
const elapsedMs = startPageLoadTimer.getDuration().asMilliSeconds;
|
|
65
|
-
|
|
66
46
|
if ((await this.checkPageIsReady()) || this.pageLoadMs > 0 && elapsedMs > this.pageLoadMs) {
|
|
67
47
|
_logger.default.debug('Page is ready');
|
|
68
|
-
|
|
69
48
|
this.pageLoading = false;
|
|
70
49
|
} else {
|
|
71
50
|
_logger.default.debug('Page was not ready, retrying');
|
|
72
|
-
|
|
73
51
|
await verify();
|
|
74
52
|
}
|
|
75
53
|
};
|
|
76
|
-
|
|
77
54
|
try {
|
|
78
55
|
await verify();
|
|
79
56
|
} finally {
|
|
80
57
|
_logger.default.debug(`Page load completed in ${startPageLoadTimer.getDuration().asMilliSeconds.toFixed(0)}ms`);
|
|
81
|
-
|
|
82
58
|
this.pageLoading = false;
|
|
83
59
|
}
|
|
84
60
|
}
|
|
85
|
-
|
|
86
61
|
function cancelPageLoad() {
|
|
87
62
|
_logger.default.debug('Unregistering from page readiness notifications');
|
|
88
|
-
|
|
89
63
|
this.pageLoading = false;
|
|
90
|
-
|
|
91
64
|
if (this.pageLoadDelay) {
|
|
92
65
|
this.pageLoadDelay.cancel();
|
|
93
66
|
}
|
|
94
67
|
}
|
|
95
|
-
|
|
96
68
|
async function pageUnload() {
|
|
97
69
|
_logger.default.debug('Page unloading');
|
|
98
|
-
|
|
99
70
|
await this.waitForDom();
|
|
100
71
|
}
|
|
101
|
-
|
|
102
72
|
async function waitForDom(startPageLoadTimer, pageLoadVerifyHook) {
|
|
103
73
|
_logger.default.debug('Waiting for dom...');
|
|
104
|
-
|
|
105
74
|
await this.pageLoad(startPageLoadTimer, pageLoadVerifyHook);
|
|
106
75
|
}
|
|
107
|
-
|
|
108
76
|
async function checkPageIsReady() {
|
|
109
77
|
(0, _utils.checkParams)({
|
|
110
78
|
appIdKey: this.appIdKey
|
|
111
79
|
});
|
|
112
|
-
|
|
113
80
|
_logger.default.debug('Checking document readyState');
|
|
114
|
-
|
|
115
81
|
const readyCmd = 'document.readyState;';
|
|
116
82
|
let readyState = 'loading';
|
|
117
|
-
|
|
118
83
|
try {
|
|
119
84
|
readyState = await _bluebird.default.resolve(this.execute(readyCmd, true)).timeout(this.pageReadyTimeout);
|
|
120
85
|
} catch (err) {
|
|
121
86
|
if (!(err instanceof _bluebird.default.TimeoutError)) {
|
|
122
87
|
throw err;
|
|
123
88
|
}
|
|
124
|
-
|
|
125
89
|
_logger.default.debug(`Page readiness check timed out after ${this.pageReadyTimeout}ms`);
|
|
126
|
-
|
|
127
90
|
return false;
|
|
128
91
|
}
|
|
129
|
-
|
|
130
92
|
_logger.default.debug(`Document readyState is '${readyState}'`);
|
|
131
|
-
|
|
132
93
|
return readyState === 'complete';
|
|
133
94
|
}
|
|
134
|
-
|
|
135
95
|
async function navToUrl(url, pageLoadVerifyHook) {
|
|
136
96
|
(0, _utils.checkParams)({
|
|
137
97
|
appIdKey: this.appIdKey,
|
|
138
98
|
pageIdKey: this.pageIdKey
|
|
139
99
|
});
|
|
140
100
|
this._navigatingToPage = true;
|
|
141
|
-
|
|
142
101
|
try {
|
|
143
102
|
_logger.default.debug(`Navigating to new URL: '${url}'`);
|
|
144
103
|
|
|
@@ -148,13 +107,13 @@ async function navToUrl(url, pageLoadVerifyHook) {
|
|
|
148
107
|
appIdKey: this.appIdKey,
|
|
149
108
|
pageIdKey: this.pageIdKey
|
|
150
109
|
});
|
|
151
|
-
|
|
152
110
|
if (!this.useNewSafari) {
|
|
153
111
|
await _bluebird.default.delay(1000);
|
|
154
112
|
}
|
|
155
113
|
|
|
156
114
|
await waitForFramePromise;
|
|
157
115
|
await this.waitForDom(new _support.timing.Timer().start(), pageLoadVerifyHook);
|
|
116
|
+
|
|
158
117
|
await this.rpcClient.send('Console.enable', {
|
|
159
118
|
appIdKey: this.appIdKey,
|
|
160
119
|
pageIdKey: this.pageIdKey
|
|
@@ -163,40 +122,34 @@ async function navToUrl(url, pageLoadVerifyHook) {
|
|
|
163
122
|
this._navigatingToPage = false;
|
|
164
123
|
}
|
|
165
124
|
}
|
|
166
|
-
|
|
167
125
|
async function waitForFrameNavigated() {
|
|
168
126
|
let navEventListener;
|
|
169
127
|
return await new _bluebird.default(async resolve => {
|
|
170
128
|
_logger.default.debug('Waiting for frame navigated message...');
|
|
171
|
-
|
|
172
129
|
const start = new _support.timing.Timer().start();
|
|
173
130
|
|
|
174
131
|
navEventListener = (err, value) => {
|
|
175
132
|
_logger.default.debug(`Frame navigated in ${start.getDuration().asMilliSeconds.toFixed(0)}ms from: ${value}`);
|
|
176
|
-
|
|
177
133
|
if (!this.allowNavigationWithoutReload && !this.pageLoading) {
|
|
178
134
|
resolve(value);
|
|
179
135
|
} else {
|
|
180
136
|
_logger.default.debug('Frame navigated but we were warned about it, not ' + 'considering page state unloaded');
|
|
181
|
-
|
|
182
137
|
this.allowNavigationWithoutReload = false;
|
|
183
138
|
}
|
|
184
|
-
|
|
185
139
|
if (this.navigationDelay) {
|
|
186
140
|
this.navigationDelay.cancel();
|
|
187
141
|
}
|
|
188
142
|
};
|
|
189
|
-
|
|
190
143
|
this.rpcClient.once('Page.frameNavigated', navEventListener);
|
|
191
144
|
|
|
192
145
|
if (!this.useNewSafari || this.pageLoadMs >= 0) {
|
|
193
146
|
const timeout = this.useNewSafari ? this.pageLoadMs : 500;
|
|
194
147
|
this.navigationDelay = _support.util.cancellableDelay(timeout);
|
|
195
|
-
|
|
196
148
|
try {
|
|
197
149
|
await this.navigationDelay;
|
|
198
150
|
navEventListener(null, `${timeout}ms timeout`);
|
|
199
|
-
} catch (err) {
|
|
151
|
+
} catch (err) {
|
|
152
|
+
}
|
|
200
153
|
}
|
|
201
154
|
}).finally(() => {
|
|
202
155
|
if (navEventListener) {
|
|
@@ -204,7 +157,6 @@ async function waitForFrameNavigated() {
|
|
|
204
157
|
}
|
|
205
158
|
});
|
|
206
159
|
}
|
|
207
|
-
|
|
208
160
|
var _default = {
|
|
209
161
|
frameDetached,
|
|
210
162
|
pageLoad,
|
|
@@ -216,4 +168,4 @@ var _default = {
|
|
|
216
168
|
waitForFrameNavigated
|
|
217
169
|
};
|
|
218
170
|
exports.default = _default;
|
|
219
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmcmFtZURldGFjaGVkIiwiZW1pdCIsImV2ZW50cyIsIkVWRU5UX0ZSQU1FU19ERVRBQ0hFRCIsInBhZ2VMb2FkIiwic3RhcnRQYWdlTG9hZFRpbWVyIiwicGFnZUxvYWRWZXJpZnlIb29rIiwiXyIsIm5vb3AiLCJ0aW1lb3V0TXMiLCJpc0Z1bmN0aW9uIiwiZ2V0RHVyYXRpb24iLCJsb2ciLCJkZWJ1ZyIsInRpbWluZyIsIlRpbWVyIiwic3RhcnQiLCJwYWdlTG9hZGluZyIsInZlcmlmeSIsInBhZ2VMb2FkRGVsYXkiLCJ1dGlsIiwiY2FuY2VsbGFibGVEZWxheSIsImVyciIsIkIiLCJDYW5jZWxsYXRpb25FcnJvciIsImFwcElkS2V5IiwiZWxhcHNlZE1zIiwiYXNNaWxsaVNlY29uZHMiLCJjaGVja1BhZ2VJc1JlYWR5IiwicGFnZUxvYWRNcyIsInRvRml4ZWQiLCJjYW5jZWxQYWdlTG9hZCIsImNhbmNlbCIsInBhZ2VVbmxvYWQiLCJ3YWl0Rm9yRG9tIiwiY2hlY2tQYXJhbXMiLCJyZWFkeUNtZCIsInJlYWR5U3RhdGUiLCJyZXNvbHZlIiwiZXhlY3V0ZSIsInRpbWVvdXQiLCJwYWdlUmVhZHlUaW1lb3V0IiwiVGltZW91dEVycm9yIiwibmF2VG9VcmwiLCJ1cmwiLCJwYWdlSWRLZXkiLCJfbmF2aWdhdGluZ1RvUGFnZSIsIndhaXRGb3JGcmFtZVByb21pc2UiLCJ3YWl0Rm9yRnJhbWVOYXZpZ2F0ZWQiLCJycGNDbGllbnQiLCJzZW5kIiwidXNlTmV3U2FmYXJpIiwiZGVsYXkiLCJuYXZFdmVudExpc3RlbmVyIiwidmFsdWUiLCJhbGxvd05hdmlnYXRpb25XaXRob3V0UmVsb2FkIiwibmF2aWdhdGlvbkRlbGF5Iiwib25jZSIsImZpbmFsbHkiLCJvZmYiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvbWl4aW5zL25hdmlnYXRlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCB7IGNoZWNrUGFyYW1zIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IGV2ZW50cyBmcm9tICcuL2V2ZW50cyc7XG5pbXBvcnQgeyB0aW1pbmcsIHV0aWwgfSBmcm9tICdhcHBpdW0vc3VwcG9ydCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IEIgZnJvbSAnYmx1ZWJpcmQnO1xuXG5cbmZ1bmN0aW9uIGZyYW1lRGV0YWNoZWQgKCkge1xuICB0aGlzLmVtaXQoZXZlbnRzLkVWRU5UX0ZSQU1FU19ERVRBQ0hFRCk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHBhZ2VMb2FkIChzdGFydFBhZ2VMb2FkVGltZXIsIHBhZ2VMb2FkVmVyaWZ5SG9vayA9IF8ubm9vcCkge1xuICBjb25zdCB0aW1lb3V0TXMgPSA1MDA7XG4gIGlmICghXy5pc0Z1bmN0aW9uKHN0YXJ0UGFnZUxvYWRUaW1lcj8uZ2V0RHVyYXRpb24pKSB7XG4gICAgbG9nLmRlYnVnKGBQYWdlIGxvYWQgdGltZXIgbm90IGEgdGltZXIuIENyZWF0aW5nIG5ldyB0aW1lcmApO1xuICAgIHN0YXJ0UGFnZUxvYWRUaW1lciA9IG5ldyB0aW1pbmcuVGltZXIoKS5zdGFydCgpO1xuICB9XG5cbiAgbG9nLmRlYnVnKCdQYWdlIGxvYWRlZCwgdmVyaWZ5aW5nIHdoZXRoZXIgcmVhZHknKTtcbiAgdGhpcy5wYWdlTG9hZGluZyA9IHRydWU7XG5cbiAgY29uc3QgdmVyaWZ5ID0gYXN5bmMgKCkgPT4ge1xuICAgIHRoaXMucGFnZUxvYWREZWxheSA9IHV0aWwuY2FuY2VsbGFibGVEZWxheSh0aW1lb3V0TXMpO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnBhZ2VMb2FkRGVsYXk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBpZiAoZXJyIGluc3RhbmNlb2YgQi5DYW5jZWxsYXRpb25FcnJvcikge1xuICAgICAgICAvLyBpZiB0aGUgcHJvbWlzZSBoYXMgYmVlbiBjYW5jZWxsZWRcbiAgICAgICAgLy8gd2Ugd2FudCB0byBza2lwIGNoZWNraW5nIHRoZSByZWFkaW5lc3NcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHdlIGNhbiBnZXQgdGhpcyBjYWxsZWQgaW4gdGhlIG1pZGRsZSBvZiB0cnlpbmcgdG8gZmluZCBhIG5ldyBhcHBcbiAgICBpZiAoIXRoaXMuYXBwSWRLZXkpIHtcbiAgICAgIGxvZy5kZWJ1ZygnTm90IGNvbm5lY3RlZCB0byBhbiBhcHBsaWNhdGlvbi4gSWdub3JpbmcgcGFnZSBsb2FkJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKF8uaXNGdW5jdGlvbihwYWdlTG9hZFZlcmlmeUhvb2spKSB7XG4gICAgICBhd2FpdCBwYWdlTG9hZFZlcmlmeUhvb2soKTtcbiAgICB9XG5cbiAgICAvLyBpZiB3ZSBhcmUgcmVhZHksIG9yIHdlJ3ZlIHNwZW5kIHRvbyBtdWNoIHRpbWUgb24gdGhpc1xuICAgIGNvbnN0IGVsYXBzZWRNcyA9IHN0YXJ0UGFnZUxvYWRUaW1lci5nZXREdXJhdGlvbigpLmFzTWlsbGlTZWNvbmRzO1xuICAgIGlmIChhd2FpdCB0aGlzLmNoZWNrUGFnZUlzUmVhZHkoKSB8fCAodGhpcy5wYWdlTG9hZE1zID4gMCAmJiBlbGFwc2VkTXMgPiB0aGlzLnBhZ2VMb2FkTXMpKSB7XG4gICAgICBsb2cuZGVidWcoJ1BhZ2UgaXMgcmVhZHknKTtcbiAgICAgIHRoaXMucGFnZUxvYWRpbmcgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nLmRlYnVnKCdQYWdlIHdhcyBub3QgcmVhZHksIHJldHJ5aW5nJyk7XG4gICAgICBhd2FpdCB2ZXJpZnkoKTtcbiAgICB9XG4gIH07XG4gIHRyeSB7XG4gICAgYXdhaXQgdmVyaWZ5KCk7XG4gIH0gZmluYWxseSB7XG4gICAgbG9nLmRlYnVnKGBQYWdlIGxvYWQgY29tcGxldGVkIGluICR7c3RhcnRQYWdlTG9hZFRpbWVyLmdldER1cmF0aW9uKCkuYXNNaWxsaVNlY29uZHMudG9GaXhlZCgwKX1tc2ApO1xuICAgIHRoaXMucGFnZUxvYWRpbmcgPSBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjYW5jZWxQYWdlTG9hZCAoKSB7XG4gIGxvZy5kZWJ1ZygnVW5yZWdpc3RlcmluZyBmcm9tIHBhZ2UgcmVhZGluZXNzIG5vdGlmaWNhdGlvbnMnKTtcbiAgdGhpcy5wYWdlTG9hZGluZyA9IGZhbHNlO1xuICBpZiAodGhpcy5wYWdlTG9hZERlbGF5KSB7XG4gICAgdGhpcy5wYWdlTG9hZERlbGF5LmNhbmNlbCgpO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHBhZ2VVbmxvYWQgKCkge1xuICBsb2cuZGVidWcoJ1BhZ2UgdW5sb2FkaW5nJyk7XG4gIGF3YWl0IHRoaXMud2FpdEZvckRvbSgpO1xufVxuXG5hc3luYyBmdW5jdGlvbiB3YWl0Rm9yRG9tIChzdGFydFBhZ2VMb2FkVGltZXIsIHBhZ2VMb2FkVmVyaWZ5SG9vaykge1xuICBsb2cuZGVidWcoJ1dhaXRpbmcgZm9yIGRvbS4uLicpO1xuICBhd2FpdCB0aGlzLnBhZ2VMb2FkKHN0YXJ0UGFnZUxvYWRUaW1lciwgcGFnZUxvYWRWZXJpZnlIb29rKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gY2hlY2tQYWdlSXNSZWFkeSAoKSB7XG4gIGNoZWNrUGFyYW1zKHthcHBJZEtleTogdGhpcy5hcHBJZEtleX0pO1xuXG4gIGxvZy5kZWJ1ZygnQ2hlY2tpbmcgZG9jdW1lbnQgcmVhZHlTdGF0ZScpO1xuICBjb25zdCByZWFkeUNtZCA9ICdkb2N1bWVudC5yZWFkeVN0YXRlOyc7XG4gIGxldCByZWFkeVN0YXRlID0gJ2xvYWRpbmcnO1xuICB0cnkge1xuICAgIHJlYWR5U3RhdGUgPSBhd2FpdCBCLnJlc29sdmUodGhpcy5leGVjdXRlKHJlYWR5Q21kLCB0cnVlKSkudGltZW91dCh0aGlzLnBhZ2VSZWFkeVRpbWVvdXQpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBpZiAoIShlcnIgaW5zdGFuY2VvZiBCLlRpbWVvdXRFcnJvcikpIHtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gICAgbG9nLmRlYnVnKGBQYWdlIHJlYWRpbmVzcyBjaGVjayB0aW1lZCBvdXQgYWZ0ZXIgJHt0aGlzLnBhZ2VSZWFkeVRpbWVvdXR9bXNgKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgbG9nLmRlYnVnKGBEb2N1bWVudCByZWFkeVN0YXRlIGlzICcke3JlYWR5U3RhdGV9J2ApO1xuXG4gIHJldHVybiByZWFkeVN0YXRlID09PSAnY29tcGxldGUnO1xufVxuXG5hc3luYyBmdW5jdGlvbiBuYXZUb1VybCAodXJsLCBwYWdlTG9hZFZlcmlmeUhvb2spIHtcbiAgY2hlY2tQYXJhbXMoe2FwcElkS2V5OiB0aGlzLmFwcElkS2V5LCBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5fSk7XG5cbiAgdGhpcy5fbmF2aWdhdGluZ1RvUGFnZSA9IHRydWU7XG5cbiAgdHJ5IHtcbiAgICBsb2cuZGVidWcoYE5hdmlnYXRpbmcgdG8gbmV3IFVSTDogJyR7dXJsfSdgKTtcblxuICAgIC8vIGJlZ2luIGxpc3RlbmluZyBmb3IgZnJhbWUgbmF2aWdhdGlvbiBldmVudCwgd2hpY2ggd2lsbCBiZSB3YWl0ZWQgZm9yIGxhdGVyXG4gICAgY29uc3Qgd2FpdEZvckZyYW1lUHJvbWlzZSA9IHRoaXMud2FpdEZvckZyYW1lTmF2aWdhdGVkKCk7XG5cbiAgICBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdQYWdlLm5hdmlnYXRlJywge1xuICAgICAgdXJsLFxuICAgICAgYXBwSWRLZXk6IHRoaXMuYXBwSWRLZXksXG4gICAgICBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5LFxuICAgIH0pO1xuXG4gICAgaWYgKCF0aGlzLnVzZU5ld1NhZmFyaSkge1xuICAgICAgLy8gYSBzbWFsbCBwYXVzZSBmb3IgdGhlIGJyb3dzZXIgdG8gY2F0Y2ggdXBcbiAgICAgIGF3YWl0IEIuZGVsYXkoMTAwMCk7XG4gICAgfVxuXG4gICAgLy8gd2FpdCB1bnRpbCB0aGUgcGFnZSBoYXMgYmVlbiBuYXZpZ2F0ZWRcbiAgICBhd2FpdCB3YWl0Rm9yRnJhbWVQcm9taXNlO1xuXG4gICAgYXdhaXQgdGhpcy53YWl0Rm9yRG9tKG5ldyB0aW1pbmcuVGltZXIoKS5zdGFydCgpLCBwYWdlTG9hZFZlcmlmeUhvb2spO1xuXG4gICAgLy8gZW5hYmxlIGNvbnNvbGUgbG9nZ2luZywgc28gd2UgZ2V0IHRoZSBldmVudHMgKG90aGVyd2lzZSB3ZSBvbmx5XG4gICAgLy8gZ2V0IG5vdGlmaWVkIHdoZW4gbmF2aWdhdGluZyB0byBhIGxvY2FsIHBhZ2VcbiAgICBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdDb25zb2xlLmVuYWJsZScsIHtcbiAgICAgIGFwcElkS2V5OiB0aGlzLmFwcElkS2V5LFxuICAgICAgcGFnZUlkS2V5OiB0aGlzLnBhZ2VJZEtleSxcbiAgICB9KTtcbiAgfSBmaW5hbGx5IHtcbiAgICB0aGlzLl9uYXZpZ2F0aW5nVG9QYWdlID0gZmFsc2U7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gd2FpdEZvckZyYW1lTmF2aWdhdGVkICgpIHtcbiAgbGV0IG5hdkV2ZW50TGlzdGVuZXI7XG4gIHJldHVybiBhd2FpdCBuZXcgQihhc3luYyAocmVzb2x2ZSkgPT4ge1xuICAgIGxvZy5kZWJ1ZygnV2FpdGluZyBmb3IgZnJhbWUgbmF2aWdhdGVkIG1lc3NhZ2UuLi4nKTtcbiAgICBjb25zdCBzdGFydCA9IG5ldyB0aW1pbmcuVGltZXIoKS5zdGFydCgpO1xuXG4gICAgLy8gYWRkIGEgaGFuZGxlciBmb3IgdGhlIGBQYWdlLmZyYW1lTmF2aWdhdGVkYCBtZXNzYWdlXG4gICAgLy8gZnJvbSB0aGUgcmVtb3RlIGRlYnVnZ2VyXG4gICAgbmF2RXZlbnRMaXN0ZW5lciA9IChlcnIsIHZhbHVlKSA9PiB7XG4gICAgICBsb2cuZGVidWcoYEZyYW1lIG5hdmlnYXRlZCBpbiAke3N0YXJ0LmdldER1cmF0aW9uKCkuYXNNaWxsaVNlY29uZHMudG9GaXhlZCgwKX1tcyBmcm9tOiAke3ZhbHVlfWApO1xuICAgICAgaWYgKCF0aGlzLmFsbG93TmF2aWdhdGlvbldpdGhvdXRSZWxvYWQgJiYgIXRoaXMucGFnZUxvYWRpbmcpIHtcbiAgICAgICAgcmVzb2x2ZSh2YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsb2cuZGVidWcoJ0ZyYW1lIG5hdmlnYXRlZCBidXQgd2Ugd2VyZSB3YXJuZWQgYWJvdXQgaXQsIG5vdCAnICtcbiAgICAgICAgICAgICAgICAgICdjb25zaWRlcmluZyBwYWdlIHN0YXRlIHVubG9hZGVkJyk7XG4gICAgICAgIHRoaXMuYWxsb3dOYXZpZ2F0aW9uV2l0aG91dFJlbG9hZCA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMubmF2aWdhdGlvbkRlbGF5KSB7XG4gICAgICAgIHRoaXMubmF2aWdhdGlvbkRlbGF5LmNhbmNlbCgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB0aGlzLnJwY0NsaWVudC5vbmNlKCdQYWdlLmZyYW1lTmF2aWdhdGVkJywgbmF2RXZlbnRMaXN0ZW5lcik7XG5cbiAgICAvLyB0aW1lb3V0LCBpbiBjYXNlIHJlbW90ZSBkZWJ1Z2dlciBkb2Vzbid0IHJlc3BvbmQsXG4gICAgLy8gb3IgdGFrZXMgYSBsb25nIHRpbWVcbiAgICBpZiAoIXRoaXMudXNlTmV3U2FmYXJpIHx8IHRoaXMucGFnZUxvYWRNcyA+PSAwKSB7XG4gICAgICAvLyB1c2UgcGFnZUxvYWRNcywgb3IgYSBzbWFsbCBhbW91bnQgb2YgdGltZVxuICAgICAgY29uc3QgdGltZW91dCA9IHRoaXMudXNlTmV3U2FmYXJpID8gdGhpcy5wYWdlTG9hZE1zIDogNTAwO1xuICAgICAgdGhpcy5uYXZpZ2F0aW9uRGVsYXkgPSB1dGlsLmNhbmNlbGxhYmxlRGVsYXkodGltZW91dCk7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCB0aGlzLm5hdmlnYXRpb25EZWxheTtcbiAgICAgICAgbmF2RXZlbnRMaXN0ZW5lcihudWxsLCBgJHt0aW1lb3V0fW1zIHRpbWVvdXRgKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAvLyBub3RoaW5nIHRvIGRvOiB3ZSBvbmx5IGdldCBoZXJlIGlmIHRoZSByZW1vdGUgZGVidWdnZXJcbiAgICAgICAgLy8gYWxyZWFkeSBub3RpZmllZCBvZiBmcmFtZSBuYXZpZ2F0aW9uLCBhbmQgdGhlIGRlbGF5XG4gICAgICAgIC8vIHdhcyBjYW5jZWxsZWRcbiAgICAgIH1cbiAgICB9XG4gIH0pLmZpbmFsbHkoKCkgPT4ge1xuICAgIGlmIChuYXZFdmVudExpc3RlbmVyKSB7XG4gICAgICB0aGlzLnJwY0NsaWVudC5vZmYoJ1BhZ2UuZnJhbWVOYXZpZ2F0ZWQnLCBuYXZFdmVudExpc3RlbmVyKTtcbiAgICB9XG4gIH0pO1xufVxuXG5cbmV4cG9ydCBkZWZhdWx0IHsgZnJhbWVEZXRhY2hlZCwgcGFnZUxvYWQsIGNhbmNlbFBhZ2VMb2FkLCBwYWdlVW5sb2FkLCB3YWl0Rm9yRG9tLCBjaGVja1BhZ2VJc1JlYWR5LCBuYXZUb1VybCwgd2FpdEZvckZyYW1lTmF2aWdhdGVkIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0EsU0FBU0EsYUFBVCxHQUEwQjtFQUN4QixLQUFLQyxJQUFMLENBQVVDLGVBQUEsQ0FBT0MscUJBQWpCO0FBQ0Q7O0FBRUQsZUFBZUMsUUFBZixDQUF5QkMsa0JBQXpCLEVBQTZDQyxrQkFBa0IsR0FBR0MsZUFBQSxDQUFFQyxJQUFwRSxFQUEwRTtFQUFBOztFQUN4RSxNQUFNQyxTQUFTLEdBQUcsR0FBbEI7O0VBQ0EsSUFBSSxDQUFDRixlQUFBLENBQUVHLFVBQUYsd0JBQWFMLGtCQUFiLHdEQUFhLG9CQUFvQk0sV0FBakMsQ0FBTCxFQUFvRDtJQUNsREMsZUFBQSxDQUFJQyxLQUFKLENBQVcsaURBQVg7O0lBQ0FSLGtCQUFrQixHQUFHLElBQUlTLGVBQUEsQ0FBT0MsS0FBWCxHQUFtQkMsS0FBbkIsRUFBckI7RUFDRDs7RUFFREosZUFBQSxDQUFJQyxLQUFKLENBQVUsc0NBQVY7O0VBQ0EsS0FBS0ksV0FBTCxHQUFtQixJQUFu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
|
|
171
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmcmFtZURldGFjaGVkIiwiZW1pdCIsImV2ZW50cyIsIkVWRU5UX0ZSQU1FU19ERVRBQ0hFRCIsInBhZ2VMb2FkIiwic3RhcnRQYWdlTG9hZFRpbWVyIiwicGFnZUxvYWRWZXJpZnlIb29rIiwiXyIsIm5vb3AiLCJ0aW1lb3V0TXMiLCJpc0Z1bmN0aW9uIiwiZ2V0RHVyYXRpb24iLCJsb2ciLCJkZWJ1ZyIsInRpbWluZyIsIlRpbWVyIiwic3RhcnQiLCJwYWdlTG9hZGluZyIsInZlcmlmeSIsInBhZ2VMb2FkRGVsYXkiLCJ1dGlsIiwiY2FuY2VsbGFibGVEZWxheSIsImVyciIsIkIiLCJDYW5jZWxsYXRpb25FcnJvciIsImFwcElkS2V5IiwiZWxhcHNlZE1zIiwiYXNNaWxsaVNlY29uZHMiLCJjaGVja1BhZ2VJc1JlYWR5IiwicGFnZUxvYWRNcyIsInRvRml4ZWQiLCJjYW5jZWxQYWdlTG9hZCIsImNhbmNlbCIsInBhZ2VVbmxvYWQiLCJ3YWl0Rm9yRG9tIiwiY2hlY2tQYXJhbXMiLCJyZWFkeUNtZCIsInJlYWR5U3RhdGUiLCJyZXNvbHZlIiwiZXhlY3V0ZSIsInRpbWVvdXQiLCJwYWdlUmVhZHlUaW1lb3V0IiwiVGltZW91dEVycm9yIiwibmF2VG9VcmwiLCJ1cmwiLCJwYWdlSWRLZXkiLCJfbmF2aWdhdGluZ1RvUGFnZSIsIndhaXRGb3JGcmFtZVByb21pc2UiLCJ3YWl0Rm9yRnJhbWVOYXZpZ2F0ZWQiLCJycGNDbGllbnQiLCJzZW5kIiwidXNlTmV3U2FmYXJpIiwiZGVsYXkiLCJuYXZFdmVudExpc3RlbmVyIiwidmFsdWUiLCJhbGxvd05hdmlnYXRpb25XaXRob3V0UmVsb2FkIiwibmF2aWdhdGlvbkRlbGF5Iiwib25jZSIsImZpbmFsbHkiLCJvZmYiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvbWl4aW5zL25hdmlnYXRlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCB7IGNoZWNrUGFyYW1zIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IGV2ZW50cyBmcm9tICcuL2V2ZW50cyc7XG5pbXBvcnQgeyB0aW1pbmcsIHV0aWwgfSBmcm9tICdAYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBCIGZyb20gJ2JsdWViaXJkJztcblxuXG5mdW5jdGlvbiBmcmFtZURldGFjaGVkICgpIHtcbiAgdGhpcy5lbWl0KGV2ZW50cy5FVkVOVF9GUkFNRVNfREVUQUNIRUQpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBwYWdlTG9hZCAoc3RhcnRQYWdlTG9hZFRpbWVyLCBwYWdlTG9hZFZlcmlmeUhvb2sgPSBfLm5vb3ApIHtcbiAgY29uc3QgdGltZW91dE1zID0gNTAwO1xuICBpZiAoIV8uaXNGdW5jdGlvbihzdGFydFBhZ2VMb2FkVGltZXI/LmdldER1cmF0aW9uKSkge1xuICAgIGxvZy5kZWJ1ZyhgUGFnZSBsb2FkIHRpbWVyIG5vdCBhIHRpbWVyLiBDcmVhdGluZyBuZXcgdGltZXJgKTtcbiAgICBzdGFydFBhZ2VMb2FkVGltZXIgPSBuZXcgdGltaW5nLlRpbWVyKCkuc3RhcnQoKTtcbiAgfVxuXG4gIGxvZy5kZWJ1ZygnUGFnZSBsb2FkZWQsIHZlcmlmeWluZyB3aGV0aGVyIHJlYWR5Jyk7XG4gIHRoaXMucGFnZUxvYWRpbmcgPSB0cnVlO1xuXG4gIGNvbnN0IHZlcmlmeSA9IGFzeW5jICgpID0+IHtcbiAgICB0aGlzLnBhZ2VMb2FkRGVsYXkgPSB1dGlsLmNhbmNlbGxhYmxlRGVsYXkodGltZW91dE1zKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5wYWdlTG9hZERlbGF5O1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEIuQ2FuY2VsbGF0aW9uRXJyb3IpIHtcbiAgICAgICAgLy8gaWYgdGhlIHByb21pc2UgaGFzIGJlZW4gY2FuY2VsbGVkXG4gICAgICAgIC8vIHdlIHdhbnQgdG8gc2tpcCBjaGVja2luZyB0aGUgcmVhZGluZXNzXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB3ZSBjYW4gZ2V0IHRoaXMgY2FsbGVkIGluIHRoZSBtaWRkbGUgb2YgdHJ5aW5nIHRvIGZpbmQgYSBuZXcgYXBwXG4gICAgaWYgKCF0aGlzLmFwcElkS2V5KSB7XG4gICAgICBsb2cuZGVidWcoJ05vdCBjb25uZWN0ZWQgdG8gYW4gYXBwbGljYXRpb24uIElnbm9yaW5nIHBhZ2UgbG9hZCcpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChfLmlzRnVuY3Rpb24ocGFnZUxvYWRWZXJpZnlIb29rKSkge1xuICAgICAgYXdhaXQgcGFnZUxvYWRWZXJpZnlIb29rKCk7XG4gICAgfVxuXG4gICAgLy8gaWYgd2UgYXJlIHJlYWR5LCBvciB3ZSd2ZSBzcGVuZCB0b28gbXVjaCB0aW1lIG9uIHRoaXNcbiAgICBjb25zdCBlbGFwc2VkTXMgPSBzdGFydFBhZ2VMb2FkVGltZXIuZ2V0RHVyYXRpb24oKS5hc01pbGxpU2Vjb25kcztcbiAgICBpZiAoYXdhaXQgdGhpcy5jaGVja1BhZ2VJc1JlYWR5KCkgfHwgKHRoaXMucGFnZUxvYWRNcyA+IDAgJiYgZWxhcHNlZE1zID4gdGhpcy5wYWdlTG9hZE1zKSkge1xuICAgICAgbG9nLmRlYnVnKCdQYWdlIGlzIHJlYWR5Jyk7XG4gICAgICB0aGlzLnBhZ2VMb2FkaW5nID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvZy5kZWJ1ZygnUGFnZSB3YXMgbm90IHJlYWR5LCByZXRyeWluZycpO1xuICAgICAgYXdhaXQgdmVyaWZ5KCk7XG4gICAgfVxuICB9O1xuICB0cnkge1xuICAgIGF3YWl0IHZlcmlmeSgpO1xuICB9IGZpbmFsbHkge1xuICAgIGxvZy5kZWJ1ZyhgUGFnZSBsb2FkIGNvbXBsZXRlZCBpbiAke3N0YXJ0UGFnZUxvYWRUaW1lci5nZXREdXJhdGlvbigpLmFzTWlsbGlTZWNvbmRzLnRvRml4ZWQoMCl9bXNgKTtcbiAgICB0aGlzLnBhZ2VMb2FkaW5nID0gZmFsc2U7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2FuY2VsUGFnZUxvYWQgKCkge1xuICBsb2cuZGVidWcoJ1VucmVnaXN0ZXJpbmcgZnJvbSBwYWdlIHJlYWRpbmVzcyBub3RpZmljYXRpb25zJyk7XG4gIHRoaXMucGFnZUxvYWRpbmcgPSBmYWxzZTtcbiAgaWYgKHRoaXMucGFnZUxvYWREZWxheSkge1xuICAgIHRoaXMucGFnZUxvYWREZWxheS5jYW5jZWwoKTtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBwYWdlVW5sb2FkICgpIHtcbiAgbG9nLmRlYnVnKCdQYWdlIHVubG9hZGluZycpO1xuICBhd2FpdCB0aGlzLndhaXRGb3JEb20oKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gd2FpdEZvckRvbSAoc3RhcnRQYWdlTG9hZFRpbWVyLCBwYWdlTG9hZFZlcmlmeUhvb2spIHtcbiAgbG9nLmRlYnVnKCdXYWl0aW5nIGZvciBkb20uLi4nKTtcbiAgYXdhaXQgdGhpcy5wYWdlTG9hZChzdGFydFBhZ2VMb2FkVGltZXIsIHBhZ2VMb2FkVmVyaWZ5SG9vayk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNoZWNrUGFnZUlzUmVhZHkgKCkge1xuICBjaGVja1BhcmFtcyh7YXBwSWRLZXk6IHRoaXMuYXBwSWRLZXl9KTtcblxuICBsb2cuZGVidWcoJ0NoZWNraW5nIGRvY3VtZW50IHJlYWR5U3RhdGUnKTtcbiAgY29uc3QgcmVhZHlDbWQgPSAnZG9jdW1lbnQucmVhZHlTdGF0ZTsnO1xuICBsZXQgcmVhZHlTdGF0ZSA9ICdsb2FkaW5nJztcbiAgdHJ5IHtcbiAgICByZWFkeVN0YXRlID0gYXdhaXQgQi5yZXNvbHZlKHRoaXMuZXhlY3V0ZShyZWFkeUNtZCwgdHJ1ZSkpLnRpbWVvdXQodGhpcy5wYWdlUmVhZHlUaW1lb3V0KTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgaWYgKCEoZXJyIGluc3RhbmNlb2YgQi5UaW1lb3V0RXJyb3IpKSB7XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfVxuICAgIGxvZy5kZWJ1ZyhgUGFnZSByZWFkaW5lc3MgY2hlY2sgdGltZWQgb3V0IGFmdGVyICR7dGhpcy5wYWdlUmVhZHlUaW1lb3V0fW1zYCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGxvZy5kZWJ1ZyhgRG9jdW1lbnQgcmVhZHlTdGF0ZSBpcyAnJHtyZWFkeVN0YXRlfSdgKTtcblxuICByZXR1cm4gcmVhZHlTdGF0ZSA9PT0gJ2NvbXBsZXRlJztcbn1cblxuYXN5bmMgZnVuY3Rpb24gbmF2VG9VcmwgKHVybCwgcGFnZUxvYWRWZXJpZnlIb29rKSB7XG4gIGNoZWNrUGFyYW1zKHthcHBJZEtleTogdGhpcy5hcHBJZEtleSwgcGFnZUlkS2V5OiB0aGlzLnBhZ2VJZEtleX0pO1xuXG4gIHRoaXMuX25hdmlnYXRpbmdUb1BhZ2UgPSB0cnVlO1xuXG4gIHRyeSB7XG4gICAgbG9nLmRlYnVnKGBOYXZpZ2F0aW5nIHRvIG5ldyBVUkw6ICcke3VybH0nYCk7XG5cbiAgICAvLyBiZWdpbiBsaXN0ZW5pbmcgZm9yIGZyYW1lIG5hdmlnYXRpb24gZXZlbnQsIHdoaWNoIHdpbGwgYmUgd2FpdGVkIGZvciBsYXRlclxuICAgIGNvbnN0IHdhaXRGb3JGcmFtZVByb21pc2UgPSB0aGlzLndhaXRGb3JGcmFtZU5hdmlnYXRlZCgpO1xuXG4gICAgYXdhaXQgdGhpcy5ycGNDbGllbnQuc2VuZCgnUGFnZS5uYXZpZ2F0ZScsIHtcbiAgICAgIHVybCxcbiAgICAgIGFwcElkS2V5OiB0aGlzLmFwcElkS2V5LFxuICAgICAgcGFnZUlkS2V5OiB0aGlzLnBhZ2VJZEtleSxcbiAgICB9KTtcblxuICAgIGlmICghdGhpcy51c2VOZXdTYWZhcmkpIHtcbiAgICAgIC8vIGEgc21hbGwgcGF1c2UgZm9yIHRoZSBicm93c2VyIHRvIGNhdGNoIHVwXG4gICAgICBhd2FpdCBCLmRlbGF5KDEwMDApO1xuICAgIH1cblxuICAgIC8vIHdhaXQgdW50aWwgdGhlIHBhZ2UgaGFzIGJlZW4gbmF2aWdhdGVkXG4gICAgYXdhaXQgd2FpdEZvckZyYW1lUHJvbWlzZTtcblxuICAgIGF3YWl0IHRoaXMud2FpdEZvckRvbShuZXcgdGltaW5nLlRpbWVyKCkuc3RhcnQoKSwgcGFnZUxvYWRWZXJpZnlIb29rKTtcblxuICAgIC8vIGVuYWJsZSBjb25zb2xlIGxvZ2dpbmcsIHNvIHdlIGdldCB0aGUgZXZlbnRzIChvdGhlcndpc2Ugd2Ugb25seVxuICAgIC8vIGdldCBub3RpZmllZCB3aGVuIG5hdmlnYXRpbmcgdG8gYSBsb2NhbCBwYWdlXG4gICAgYXdhaXQgdGhpcy5ycGNDbGllbnQuc2VuZCgnQ29uc29sZS5lbmFibGUnLCB7XG4gICAgICBhcHBJZEtleTogdGhpcy5hcHBJZEtleSxcbiAgICAgIHBhZ2VJZEtleTogdGhpcy5wYWdlSWRLZXksXG4gICAgfSk7XG4gIH0gZmluYWxseSB7XG4gICAgdGhpcy5fbmF2aWdhdGluZ1RvUGFnZSA9IGZhbHNlO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHdhaXRGb3JGcmFtZU5hdmlnYXRlZCAoKSB7XG4gIGxldCBuYXZFdmVudExpc3RlbmVyO1xuICByZXR1cm4gYXdhaXQgbmV3IEIoYXN5bmMgKHJlc29sdmUpID0+IHtcbiAgICBsb2cuZGVidWcoJ1dhaXRpbmcgZm9yIGZyYW1lIG5hdmlnYXRlZCBtZXNzYWdlLi4uJyk7XG4gICAgY29uc3Qgc3RhcnQgPSBuZXcgdGltaW5nLlRpbWVyKCkuc3RhcnQoKTtcblxuICAgIC8vIGFkZCBhIGhhbmRsZXIgZm9yIHRoZSBgUGFnZS5mcmFtZU5hdmlnYXRlZGAgbWVzc2FnZVxuICAgIC8vIGZyb20gdGhlIHJlbW90ZSBkZWJ1Z2dlclxuICAgIG5hdkV2ZW50TGlzdGVuZXIgPSAoZXJyLCB2YWx1ZSkgPT4ge1xuICAgICAgbG9nLmRlYnVnKGBGcmFtZSBuYXZpZ2F0ZWQgaW4gJHtzdGFydC5nZXREdXJhdGlvbigpLmFzTWlsbGlTZWNvbmRzLnRvRml4ZWQoMCl9bXMgZnJvbTogJHt2YWx1ZX1gKTtcbiAgICAgIGlmICghdGhpcy5hbGxvd05hdmlnYXRpb25XaXRob3V0UmVsb2FkICYmICF0aGlzLnBhZ2VMb2FkaW5nKSB7XG4gICAgICAgIHJlc29sdmUodmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9nLmRlYnVnKCdGcmFtZSBuYXZpZ2F0ZWQgYnV0IHdlIHdlcmUgd2FybmVkIGFib3V0IGl0LCBub3QgJyArXG4gICAgICAgICAgICAgICAgICAnY29uc2lkZXJpbmcgcGFnZSBzdGF0ZSB1bmxvYWRlZCcpO1xuICAgICAgICB0aGlzLmFsbG93TmF2aWdhdGlvbldpdGhvdXRSZWxvYWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLm5hdmlnYXRpb25EZWxheSkge1xuICAgICAgICB0aGlzLm5hdmlnYXRpb25EZWxheS5jYW5jZWwoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5ycGNDbGllbnQub25jZSgnUGFnZS5mcmFtZU5hdmlnYXRlZCcsIG5hdkV2ZW50TGlzdGVuZXIpO1xuXG4gICAgLy8gdGltZW91dCwgaW4gY2FzZSByZW1vdGUgZGVidWdnZXIgZG9lc24ndCByZXNwb25kLFxuICAgIC8vIG9yIHRha2VzIGEgbG9uZyB0aW1lXG4gICAgaWYgKCF0aGlzLnVzZU5ld1NhZmFyaSB8fCB0aGlzLnBhZ2VMb2FkTXMgPj0gMCkge1xuICAgICAgLy8gdXNlIHBhZ2VMb2FkTXMsIG9yIGEgc21hbGwgYW1vdW50IG9mIHRpbWVcbiAgICAgIGNvbnN0IHRpbWVvdXQgPSB0aGlzLnVzZU5ld1NhZmFyaSA/IHRoaXMucGFnZUxvYWRNcyA6IDUwMDtcbiAgICAgIHRoaXMubmF2aWdhdGlvbkRlbGF5ID0gdXRpbC5jYW5jZWxsYWJsZURlbGF5KHRpbWVvdXQpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5uYXZpZ2F0aW9uRGVsYXk7XG4gICAgICAgIG5hdkV2ZW50TGlzdGVuZXIobnVsbCwgYCR7dGltZW91dH1tcyB0aW1lb3V0YCk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgLy8gbm90aGluZyB0byBkbzogd2Ugb25seSBnZXQgaGVyZSBpZiB0aGUgcmVtb3RlIGRlYnVnZ2VyXG4gICAgICAgIC8vIGFscmVhZHkgbm90aWZpZWQgb2YgZnJhbWUgbmF2aWdhdGlvbiwgYW5kIHRoZSBkZWxheVxuICAgICAgICAvLyB3YXMgY2FuY2VsbGVkXG4gICAgICB9XG4gICAgfVxuICB9KS5maW5hbGx5KCgpID0+IHtcbiAgICBpZiAobmF2RXZlbnRMaXN0ZW5lcikge1xuICAgICAgdGhpcy5ycGNDbGllbnQub2ZmKCdQYWdlLmZyYW1lTmF2aWdhdGVkJywgbmF2RXZlbnRMaXN0ZW5lcik7XG4gICAgfVxuICB9KTtcbn1cblxuXG5leHBvcnQgZGVmYXVsdCB7IGZyYW1lRGV0YWNoZWQsIHBhZ2VMb2FkLCBjYW5jZWxQYWdlTG9hZCwgcGFnZVVubG9hZCwgd2FpdEZvckRvbSwgY2hlY2tQYWdlSXNSZWFkeSwgbmF2VG9VcmwsIHdhaXRGb3JGcmFtZU5hdmlnYXRlZCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBLFNBQVNBLGFBQWEsR0FBSTtFQUN4QixJQUFJLENBQUNDLElBQUksQ0FBQ0MsZUFBTSxDQUFDQyxxQkFBcUIsQ0FBQztBQUN6QztBQUVBLGVBQWVDLFFBQVEsQ0FBRUMsa0JBQWtCLEVBQUVDLGtCQUFrQixHQUFHQyxlQUFDLENBQUNDLElBQUksRUFBRTtFQUFBO0VBQ3hFLE1BQU1DLFNBQVMsR0FBRyxHQUFHO0VBQ3JCLElBQUksQ0FBQ0YsZUFBQyxDQUFDRyxVQUFVLHdCQUFDTCxrQkFBa0Isd0RBQWxCLG9CQUFvQk0sV0FBVyxDQUFDLEVBQUU7SUFDbERDLGVBQUcsQ0FBQ0MsS0FBSyxDQUFFLGlEQUFnRCxDQUFDO0lBQzVEUixrQkFBa0IsR0FBRyxJQUFJUyxlQUFNLENBQUNDLEtBQUssRUFBRSxDQUFDQyxLQUFLLEVBQUU7RUFDakQ7RUFFQUosZUFBRyxDQUFDQyxLQUFLLENBQUMsc0NBQXNDLENBQUM7RUFDakQsSUFBSSxDQUFDSSxX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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigate.js","names":["frameDetached","emit","events","EVENT_FRAMES_DETACHED","pageLoad","startPageLoadTimer","pageLoadVerifyHook","_","noop","timeoutMs","isFunction","getDuration","log","debug","timing","Timer","start","pageLoading","verify","pageLoadDelay","util","cancellableDelay","err","B","CancellationError","appIdKey","elapsedMs","asMilliSeconds","checkPageIsReady","pageLoadMs","toFixed","cancelPageLoad","cancel","pageUnload","waitForDom","checkParams","readyCmd","readyState","resolve","execute","timeout","pageReadyTimeout","TimeoutError","navToUrl","url","pageIdKey","_navigatingToPage","waitForFramePromise","waitForFrameNavigated","rpcClient","send","useNewSafari","delay","navEventListener","value","allowNavigationWithoutReload","navigationDelay","once","finally","off"],"sources":["../../../lib/mixins/navigate.js"],"sourcesContent":["import log from '../logger';\nimport { checkParams } from '../utils';\nimport events from './events';\nimport { timing, util } from '@appium/support';\nimport _ from 'lodash';\nimport B from 'bluebird';\n\n\nfunction frameDetached () {\n this.emit(events.EVENT_FRAMES_DETACHED);\n}\n\nasync function pageLoad (startPageLoadTimer, pageLoadVerifyHook = _.noop) {\n const timeoutMs = 500;\n if (!_.isFunction(startPageLoadTimer?.getDuration)) {\n log.debug(`Page load timer not a timer. Creating new timer`);\n startPageLoadTimer = new timing.Timer().start();\n }\n\n log.debug('Page loaded, verifying whether ready');\n this.pageLoading = true;\n\n const verify = async () => {\n this.pageLoadDelay = util.cancellableDelay(timeoutMs);\n try {\n await this.pageLoadDelay;\n } catch (err) {\n if (err instanceof B.CancellationError) {\n // if the promise has been cancelled\n // we want to skip checking the readiness\n return;\n }\n }\n\n // we can get this called in the middle of trying to find a new app\n if (!this.appIdKey) {\n log.debug('Not connected to an application. Ignoring page load');\n return;\n }\n\n if (_.isFunction(pageLoadVerifyHook)) {\n await pageLoadVerifyHook();\n }\n\n // if we are ready, or we've spend too much time on this\n const elapsedMs = startPageLoadTimer.getDuration().asMilliSeconds;\n if (await this.checkPageIsReady() || (this.pageLoadMs > 0 && elapsedMs > this.pageLoadMs)) {\n log.debug('Page is ready');\n this.pageLoading = false;\n } else {\n log.debug('Page was not ready, retrying');\n await verify();\n }\n };\n try {\n await verify();\n } finally {\n log.debug(`Page load completed in ${startPageLoadTimer.getDuration().asMilliSeconds.toFixed(0)}ms`);\n this.pageLoading = false;\n }\n}\n\nfunction cancelPageLoad () {\n log.debug('Unregistering from page readiness notifications');\n this.pageLoading = false;\n if (this.pageLoadDelay) {\n this.pageLoadDelay.cancel();\n }\n}\n\nasync function pageUnload () {\n log.debug('Page unloading');\n await this.waitForDom();\n}\n\nasync function waitForDom (startPageLoadTimer, pageLoadVerifyHook) {\n log.debug('Waiting for dom...');\n await this.pageLoad(startPageLoadTimer, pageLoadVerifyHook);\n}\n\nasync function checkPageIsReady () {\n checkParams({appIdKey: this.appIdKey});\n\n log.debug('Checking document readyState');\n const readyCmd = 'document.readyState;';\n let readyState = 'loading';\n try {\n readyState = await B.resolve(this.execute(readyCmd, true)).timeout(this.pageReadyTimeout);\n } catch (err) {\n if (!(err instanceof B.TimeoutError)) {\n throw err;\n }\n log.debug(`Page readiness check timed out after ${this.pageReadyTimeout}ms`);\n return false;\n }\n log.debug(`Document readyState is '${readyState}'`);\n\n return readyState === 'complete';\n}\n\nasync function navToUrl (url, pageLoadVerifyHook) {\n checkParams({appIdKey: this.appIdKey, pageIdKey: this.pageIdKey});\n\n this._navigatingToPage = true;\n\n try {\n log.debug(`Navigating to new URL: '${url}'`);\n\n // begin listening for frame navigation event, which will be waited for later\n const waitForFramePromise = this.waitForFrameNavigated();\n\n await this.rpcClient.send('Page.navigate', {\n url,\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n });\n\n if (!this.useNewSafari) {\n // a small pause for the browser to catch up\n await B.delay(1000);\n }\n\n // wait until the page has been navigated\n await waitForFramePromise;\n\n await this.waitForDom(new timing.Timer().start(), pageLoadVerifyHook);\n\n // enable console logging, so we get the events (otherwise we only\n // get notified when navigating to a local page\n await this.rpcClient.send('Console.enable', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n });\n } finally {\n this._navigatingToPage = false;\n }\n}\n\nasync function waitForFrameNavigated () {\n let navEventListener;\n return await new B(async (resolve) => {\n log.debug('Waiting for frame navigated message...');\n const start = new timing.Timer().start();\n\n // add a handler for the `Page.frameNavigated` message\n // from the remote debugger\n navEventListener = (err, value) => {\n log.debug(`Frame navigated in ${start.getDuration().asMilliSeconds.toFixed(0)}ms from: ${value}`);\n if (!this.allowNavigationWithoutReload && !this.pageLoading) {\n resolve(value);\n } else {\n log.debug('Frame navigated but we were warned about it, not ' +\n 'considering page state unloaded');\n this.allowNavigationWithoutReload = false;\n }\n if (this.navigationDelay) {\n this.navigationDelay.cancel();\n }\n };\n\n this.rpcClient.once('Page.frameNavigated', navEventListener);\n\n // timeout, in case remote debugger doesn't respond,\n // or takes a long time\n if (!this.useNewSafari || this.pageLoadMs >= 0) {\n // use pageLoadMs, or a small amount of time\n const timeout = this.useNewSafari ? this.pageLoadMs : 500;\n this.navigationDelay = util.cancellableDelay(timeout);\n try {\n await this.navigationDelay;\n navEventListener(null, `${timeout}ms timeout`);\n } catch (err) {\n // nothing to do: we only get here if the remote debugger\n // already notified of frame navigation, and the delay\n // was cancelled\n }\n }\n }).finally(() => {\n if (navEventListener) {\n this.rpcClient.off('Page.frameNavigated', navEventListener);\n }\n });\n}\n\n\nexport default { frameDetached, pageLoad, cancelPageLoad, pageUnload, waitForDom, checkPageIsReady, navToUrl, waitForFrameNavigated };\n"],"mappings":"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"}
|
|
@@ -5,52 +5,69 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
exports.getProtocolCommand = getProtocolCommand;
|
|
8
|
-
|
|
9
8
|
require("source-map-support/register");
|
|
10
|
-
|
|
11
9
|
const OBJECT_GROUP = 'console';
|
|
10
|
+
|
|
12
11
|
const COMMANDS = {
|
|
13
12
|
'ApplicationCache.enable': [],
|
|
14
13
|
'ApplicationCache.getFramesWithManifests': [],
|
|
14
|
+
|
|
15
15
|
'Canvas.enable': [],
|
|
16
|
+
|
|
16
17
|
'Console.disable': [],
|
|
17
18
|
'Console.enable': [],
|
|
18
19
|
'Console.getLoggingChannels': [],
|
|
19
20
|
'Console.setLoggingChannelLevel': ['source', 'level'],
|
|
21
|
+
|
|
20
22
|
'CSS.enable': [],
|
|
23
|
+
|
|
21
24
|
'Database.enable': [],
|
|
25
|
+
|
|
22
26
|
'Debugger.enable': [],
|
|
23
27
|
'Debugger.setAsyncStackTraceDepth': ['depth'],
|
|
24
28
|
'Debugger.setBreakpointsActive': ['active'],
|
|
25
29
|
'Debugger.setPauseForInternalScripts': ['shouldPause'],
|
|
26
30
|
'Debugger.setPauseOnAssertions': ['enabled'],
|
|
27
31
|
'Debugger.setPauseOnExceptions': ['state'],
|
|
32
|
+
|
|
28
33
|
'DOM.getDocument': [],
|
|
34
|
+
|
|
29
35
|
'DOMStorage.enable': [],
|
|
36
|
+
|
|
30
37
|
'Heap.enable': [],
|
|
31
38
|
'Heap.gc': [],
|
|
39
|
+
|
|
32
40
|
'IndexedDB.enable': [],
|
|
41
|
+
|
|
33
42
|
'Inspector.enable': [],
|
|
34
43
|
'Inspector.initialized': [],
|
|
44
|
+
|
|
35
45
|
'LayerTree.enable': [],
|
|
46
|
+
|
|
36
47
|
'Memory.enable': [],
|
|
48
|
+
|
|
37
49
|
'Network.disable': [],
|
|
38
50
|
'Network.enable': [],
|
|
39
51
|
'Network.setResourceCachingDisabled': ['disabled'],
|
|
52
|
+
|
|
40
53
|
'Page.deleteCookie': ['cookieName', 'url'],
|
|
41
54
|
'Page.enable': [],
|
|
42
55
|
'Page.getCookies': ['urls'],
|
|
43
56
|
'Page.getResourceTree': [],
|
|
44
57
|
'Page.navigate': ['url'],
|
|
58
|
+
|
|
45
59
|
'Runtime.awaitPromise': ['promiseObjectId', 'returnByValue', 'generatePreview', 'saveResult'],
|
|
46
60
|
'Runtime.callFunctionOn': ['objectId', 'functionDeclaration', 'arguments', 'returnByValue'],
|
|
47
61
|
'Runtime.enable': [],
|
|
48
62
|
'Runtime.evaluate': ['expression', 'returnByValue', 'contextId'],
|
|
63
|
+
|
|
49
64
|
'Target.exists': [],
|
|
65
|
+
|
|
50
66
|
'Timeline.setAutoCaptureEnabled': ['enabled'],
|
|
51
67
|
'Timeline.setInstruments': ['instruments'],
|
|
52
68
|
'Timeline.start': [],
|
|
53
69
|
'Timeline.stop': [],
|
|
70
|
+
|
|
54
71
|
'Worker.enable': []
|
|
55
72
|
};
|
|
56
73
|
|
|
@@ -68,21 +85,17 @@ function getCommand(id, method, params = {}) {
|
|
|
68
85
|
}, params)
|
|
69
86
|
};
|
|
70
87
|
}
|
|
71
|
-
|
|
72
88
|
function getProtocolCommand(id, method, opts = {}) {
|
|
73
89
|
const paramNames = COMMANDS[method];
|
|
74
|
-
|
|
75
90
|
if (!paramNames) {
|
|
76
91
|
throw new Error(`Unknown command: '${method}'`);
|
|
77
92
|
}
|
|
78
|
-
|
|
79
93
|
const params = paramNames.reduce(function (params, name) {
|
|
80
94
|
params[name] = opts[name];
|
|
81
95
|
return params;
|
|
82
96
|
}, {});
|
|
83
97
|
return getCommand(id, method, params);
|
|
84
98
|
}
|
|
85
|
-
|
|
86
99
|
var _default = getProtocolCommand;
|
|
87
100
|
exports.default = _default;
|
|
88
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPQkpFQ1RfR1JPVVAiLCJDT01NQU5EUyIsImdldENvbW1hbmQiLCJpZCIsIm1ldGhvZCIsInBhcmFtcyIsIk9iamVjdCIsImFzc2lnbiIsIm9iamVjdEdyb3VwIiwiaW5jbHVkZUNvbW1hbmRMaW5lQVBJIiwiZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlIiwiZW11bGF0ZVVzZXJHZXN0dXJlIiwiZ2VuZXJhdGVQcmV2aWV3Iiwic2F2ZVJlc3VsdCIsImdldFByb3RvY29sQ29tbWFuZCIsIm9wdHMiLCJwYXJhbU5hbWVzIiwiRXJyb3IiLCJyZWR1Y2UiLCJuYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3Byb3RvY29sL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IE9CSkVDVF9HUk9VUCA9ICdjb25zb2xlJztcblxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9XZWJLaXQvd2Via2l0L3RyZWUvbWFzdGVyL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2xcbmNvbnN0IENPTU1BTkRTID0ge1xuICAvLyNyZWdpb24gQVBQTElDQVRJT05DQUNIRSBET01BSU5cbiAgJ0FwcGxpY2F0aW9uQ2FjaGUuZW5hYmxlJzogW10sXG4gICdBcHBsaWNhdGlvbkNhY2hlLmdldEZyYW1lc1dpdGhNYW5pZmVzdHMnOiBbXSxcbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIENBTlZBUyBET01BSU5cbiAgJ0NhbnZhcy5lbmFibGUnOiBbXSxcbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIENPTlNPTEUgRE9NQUlOXG4gICdDb25zb2xlLmRpc2FibGUnOiBbXSxcbiAgJ0NvbnNvbGUuZW5hYmxlJzogW10sXG4gICdDb25zb2xlLmdldExvZ2dpbmdDaGFubmVscyc6IFtdLFxuICAnQ29uc29sZS5zZXRMb2dnaW5nQ2hhbm5lbExldmVsJzogWydzb3VyY2UnLCAnbGV2ZWwnXSxcbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIENTUyBET01BSU5cbiAgJ0NTUy5lbmFibGUnOiBbXSxcbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIERBVEFCQVNFIERPTUFJTlxuICAnRGF0YWJhc2UuZW5hYmxlJzogW10sXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBERUJVR0dFUiBET01BSU5cbiAgJ0RlYnVnZ2VyLmVuYWJsZSc6IFtdLFxuICAnRGVidWdnZXIuc2V0QXN5bmNTdGFja1RyYWNlRGVwdGgnOiBbJ2RlcHRoJ10sXG4gICdEZWJ1Z2dlci5zZXRCcmVha3BvaW50c0FjdGl2ZSc6IFsnYWN0aXZlJ10sXG4gICdEZWJ1Z2dlci5zZXRQYXVzZUZvckludGVybmFsU2NyaXB0cyc6IFsnc2hvdWxkUGF1c2UnXSxcbiAgJ0RlYnVnZ2VyLnNldFBhdXNlT25Bc3NlcnRpb25zJzogWydlbmFibGVkJ10sXG4gICdEZWJ1Z2dlci5zZXRQYXVzZU9uRXhjZXB0aW9ucyc6IFsnc3RhdGUnXSxcbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIERPTSBET01BSU5cbiAgJ0RPTS5nZXREb2N1bWVudCc6IFtdLFxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gRE9NU1RPUkFHRSBET01BSU5cbiAgJ0RPTVN0b3JhZ2UuZW5hYmxlJzogW10sXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBIRUFQIERPTUFJTlxuICAnSGVhcC5lbmFibGUnOiBbXSxcbiAgJ0hlYXAuZ2MnOiBbXSxcbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIElOREVYRUREQiBET01BSU5cbiAgJ0luZGV4ZWREQi5lbmFibGUnOiBbXSxcbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIElOU1BFQ1RPUiBET01BSU5cbiAgJ0luc3BlY3Rvci5lbmFibGUnOiBbXSxcbiAgJ0luc3BlY3Rvci5pbml0aWFsaXplZCc6IFtdLFxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gTEFZRVJUUkVFIERPTUFJTlxuICAnTGF5ZXJUcmVlLmVuYWJsZSc6IFtdLFxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gTUVNT1JZIERPTUFJTlxuICAnTWVtb3J5LmVuYWJsZSc6IFtdLFxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gTkVUV09SSyBET01BSU5cbiAgJ05ldHdvcmsuZGlzYWJsZSc6IFtdLFxuICAnTmV0d29yay5lbmFibGUnOiBbXSxcbiAgJ05ldHdvcmsuc2V0UmVzb3VyY2VDYWNoaW5nRGlzYWJsZWQnOiBbJ2Rpc2FibGVkJ10sXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBQQUdFIERPTUFJTlxuICAnUGFnZS5kZWxldGVDb29raWUnOiBbJ2Nvb2tpZU5hbWUnLCAndXJsJ10sXG4gICdQYWdlLmVuYWJsZSc6IFtdLFxuICAnUGFnZS5nZXRDb29raWVzJzogWyd1cmxzJ10sXG4gICdQYWdlLmdldFJlc291cmNlVHJlZSc6IFtdLFxuICAnUGFnZS5uYXZpZ2F0ZSc6IFsndXJsJ10sXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBSVU5USU1FIERPTUFJTlxuICAnUnVudGltZS5hd2FpdFByb21pc2UnOiBbJ3Byb21pc2VPYmplY3RJZCcsICdyZXR1cm5CeVZhbHVlJywgJ2dlbmVyYXRlUHJldmlldycsICdzYXZlUmVzdWx0J10sXG4gICdSdW50aW1lLmNhbGxGdW5jdGlvbk9uJzogWydvYmplY3RJZCcsICdmdW5jdGlvbkRlY2xhcmF0aW9uJywgJ2FyZ3VtZW50cycsICdyZXR1cm5CeVZhbHVlJ10sXG4gICdSdW50aW1lLmVuYWJsZSc6IFtdLFxuICAnUnVudGltZS5ldmFsdWF0ZSc6IFsnZXhwcmVzc2lvbicsICdyZXR1cm5CeVZhbHVlJywgJ2NvbnRleHRJZCddLFxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gVEFSR0VUIERPTUFJTlxuICAnVGFyZ2V0LmV4aXN0cyc6IFtdLFxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gVElNRUxJTkUgRE9NQUlOXG4gICdUaW1lbGluZS5zZXRBdXRvQ2FwdHVyZUVuYWJsZWQnOiBbJ2VuYWJsZWQnXSxcbiAgJ1RpbWVsaW5lLnNldEluc3RydW1lbnRzJzogWydpbnN0cnVtZW50cyddLFxuICAnVGltZWxpbmUuc3RhcnQnOiBbXSxcbiAgJ1RpbWVsaW5lLnN0b3AnOiBbXSxcbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIFdPUktFUiBET01BSU5cbiAgJ1dvcmtlci5lbmFibGUnOiBbXSxcbiAgLy8jZW5kcmVnaW9uXG59O1xuXG5mdW5jdGlvbiBnZXRDb21tYW5kIChpZCwgbWV0aG9kLCBwYXJhbXMgPSB7fSkge1xuICByZXR1cm4ge1xuICAgIGlkLFxuICAgIG1ldGhvZCxcbiAgICBwYXJhbXM6IE9iamVjdC5hc3NpZ24oe1xuICAgICAgb2JqZWN0R3JvdXA6IE9CSkVDVF9HUk9VUCxcbiAgICAgIGluY2x1ZGVDb21tYW5kTGluZUFQSTogdHJ1ZSxcbiAgICAgIGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29sZTogZmFsc2UsXG4gICAgICBlbXVsYXRlVXNlckdlc3R1cmU6IGZhbHNlLFxuICAgICAgZ2VuZXJhdGVQcmV2aWV3OiBmYWxzZSxcbiAgICAgIHNhdmVSZXN1bHQ6IGZhbHNlLFxuICAgIH0sIHBhcmFtcyksXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFByb3RvY29sQ29tbWFuZCAoaWQsIG1ldGhvZCwgb3B0cyA9IHt9KSB7XG4gIGNvbnN0IHBhcmFtTmFtZXMgPSBDT01NQU5EU1ttZXRob2RdO1xuICBpZiAoIXBhcmFtTmFtZXMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gY29tbWFuZDogJyR7bWV0aG9kfSdgKTtcbiAgfVxuXG4gIGNvbnN0IHBhcmFtcyA9IHBhcmFtTmFtZXMucmVkdWNlKGZ1bmN0aW9uIChwYXJhbXMsIG5hbWUpIHtcbiAgICBwYXJhbXNbbmFtZV0gPSBvcHRzW25hbWVdO1xuICAgIHJldHVybiBwYXJhbXM7XG4gIH0sIHt9KTtcbiAgcmV0dXJuIGdldENvbW1hbmQoaWQsIG1ldGhvZCwgcGFyYW1zKTtcbn1cblxuZXhwb3J0IHsgZ2V0UHJvdG9jb2xDb21tYW5kIH07XG5leHBvcnQgZGVmYXVsdCBnZXRQcm90b2NvbENvbW1hbmQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsTUFBTUEsWUFBWSxHQUFHLFNBQVM7O0FBRzlCLE1BQU1DLFFBQVEsR0FBRztFQUVmLHlCQUF5QixFQUFFLEVBQUU7RUFDN0IseUNBQXlDLEVBQUUsRUFBRTs7RUFJN0MsZUFBZSxFQUFFLEVBQUU7O0VBSW5CLGlCQUFpQixFQUFFLEVBQUU7RUFDckIsZ0JBQWdCLEVBQUUsRUFBRTtFQUNwQiw0QkFBNEIsRUFBRSxFQUFFO0VBQ2hDLGdDQUFnQyxFQUFFLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQzs7RUFJckQsWUFBWSxFQUFFLEVBQUU7O0VBSWhCLGlCQUFpQixFQUFFLEVBQUU7O0VBSXJCLGlCQUFpQixFQUFFLEVBQUU7RUFDckIsa0NBQWtDLEVBQUUsQ0FBQyxPQUFPLENBQUM7RUFDN0MsK0JBQStCLEVBQUUsQ0FBQyxRQUFRLENBQUM7RUFDM0MscUNBQXFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7RUFDdEQsK0JBQStCLEVBQUUsQ0FBQyxTQUFTLENBQUM7RUFDNUMsK0JBQStCLEVBQUUsQ0FBQyxPQUFPLENBQUM7O0VBSTFDLGlCQUFpQixFQUFFLEVBQUU7O0VBSXJCLG1CQUFtQixFQUFFLEVBQUU7O0VBSXZCLGFBQWEsRUFBRSxFQUFFO0VBQ2pCLFNBQVMsRUFBRSxFQUFFOztFQUliLGtCQUFrQixFQUFFLEVBQUU7O0VBSXRCLGtCQUFrQixFQUFFLEVBQUU7RUFDdEIsdUJBQXVCLEVBQUUsRUFBRTs7RUFJM0Isa0JBQWtCLEVBQUUsRUFBRTs7RUFJdEIsZUFBZSxFQUFFLEVBQUU7O0VBSW5CLGlCQUFpQixFQUFFLEVBQUU7RUFDckIsZ0JBQWdCLEVBQUUsRUFBRTtFQUNwQixvQ0FBb0MsRUFBRSxDQUFDLFVBQVUsQ0FBQzs7RUFJbEQsbUJBQW1CLEVBQUUsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDO0VBQzFDLGFBQWEsRUFBRSxFQUFFO0VBQ2pCLGlCQUFpQixFQUFFLENBQUMsTUFBTSxDQUFDO0VBQzNCLHNCQUFzQixFQUFFLEVBQUU7RUFDMUIsZUFBZSxFQUFFLENBQUMsS0FBSyxDQUFDOztFQUl4QixzQkFBc0IsRUFBRSxDQUFDLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxZQUFZLENBQUM7RUFDN0Ysd0JBQXdCLEVBQUUsQ0FBQyxVQUFVLEVBQUUscUJBQXFCLEVBQUUsV0FBVyxFQUFFLGVBQWUsQ0FBQztFQUMzRixnQkFBZ0IsRUFBRSxFQUFFO0VBQ3BCLGtCQUFrQixFQUFFLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxXQUFXLENBQUM7O0VBSWhFLGVBQWUsRUFBRSxFQUFFOztFQUluQixnQ0FBZ0MsRUFBRSxDQUFDLFNBQVMsQ0FBQztFQUM3Qyx5QkFBeUIsRUFBRSxDQUFDLGFBQWEsQ0FBQztFQUMxQyxnQkFBZ0IsRUFBRSxFQUFFO0VBQ3BCLGVBQWUsRUFBRSxFQUFFOztFQUluQixlQUFlLEVBQUU7QUFFbkIsQ0FBQzs7QUFFRCxTQUFTQyxVQUFVLENBQUVDLEVBQUUsRUFBRUMsTUFBTSxFQUFFQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUU7RUFDNUMsT0FBTztJQUNMRixFQUFFO0lBQ0ZDLE1BQU07SUFDTkMsTUFBTSxFQUFFQyxNQUFNLENBQUNDLE1BQU0sQ0FBQztNQUNwQkMsV0FBVyxFQUFFUixZQUFZO01BQ3pCUyxxQkFBcUIsRUFBRSxJQUFJO01BQzNCQyxvQ0FBb0MsRUFBRSxLQUFLO01BQzNDQyxrQkFBa0IsRUFBRSxLQUFLO01BQ3pCQyxlQUFlLEVBQUUsS0FBSztNQUN0QkMsVUFBVSxFQUFFO0lBQ2QsQ0FBQyxFQUFFUixNQUFNO0VBQ1gsQ0FBQztBQUNIO0FBRUEsU0FBU1Msa0JBQWtCLENBQUVYLEVBQUUsRUFBRUMsTUFBTSxFQUFFVyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUU7RUFDbEQsTUFBTUMsVUFBVSxHQUFHZixRQUFRLENBQUNHLE1BQU0sQ0FBQztFQUNuQyxJQUFJLENBQUNZLFVBQVUsRUFBRTtJQUNmLE1BQU0sSUFBSUMsS0FBSyxDQUFFLHFCQUFvQmIsTUFBTyxHQUFFLENBQUM7RUFDakQ7RUFFQSxNQUFNQyxNQUFNLEdBQUdXLFVBQVUsQ0FBQ0UsTUFBTSxDQUFDLFVBQVViLE1BQU0sRUFBRWMsSUFBSSxFQUFFO0lBQ3ZEZCxNQUFNLENBQUNjLElBQUksQ0FBQyxHQUFHSixJQUFJLENBQUNJLElBQUksQ0FBQztJQUN6QixPQUFPZCxNQUFNO0VBQ2YsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0VBQ04sT0FBT0gsVUFBVSxDQUFDQyxFQUFFLEVBQUVDLE1BQU0sRUFBRUMsTUFBTSxDQUFDO0FBQ3ZDO0FBQUMsZUFHY1Msa0JBQWtCO0FBQUEifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["OBJECT_GROUP","COMMANDS","getCommand","id","method","params","Object","assign","objectGroup","includeCommandLineAPI","doNotPauseOnExceptionsAndMuteConsole","emulateUserGesture","generatePreview","saveResult","getProtocolCommand","opts","paramNames","Error","reduce","name"],"sources":["../../../lib/protocol/index.js"],"sourcesContent":["const OBJECT_GROUP = 'console';\n\n// See https://github.com/WebKit/webkit/tree/master/Source/JavaScriptCore/inspector/protocol\nconst COMMANDS = {\n //#region APPLICATIONCACHE DOMAIN\n 'ApplicationCache.enable': [],\n 'ApplicationCache.getFramesWithManifests': [],\n //#endregion\n\n //#region CANVAS DOMAIN\n 'Canvas.enable': [],\n //#endregion\n\n //#region CONSOLE DOMAIN\n 'Console.disable': [],\n 'Console.enable': [],\n 'Console.getLoggingChannels': [],\n 'Console.setLoggingChannelLevel': ['source', 'level'],\n //#endregion\n\n //#region CSS DOMAIN\n 'CSS.enable': [],\n //#endregion\n\n //#region DATABASE DOMAIN\n 'Database.enable': [],\n //#endregion\n\n //#region DEBUGGER DOMAIN\n 'Debugger.enable': [],\n 'Debugger.setAsyncStackTraceDepth': ['depth'],\n 'Debugger.setBreakpointsActive': ['active'],\n 'Debugger.setPauseForInternalScripts': ['shouldPause'],\n 'Debugger.setPauseOnAssertions': ['enabled'],\n 'Debugger.setPauseOnExceptions': ['state'],\n //#endregion\n\n //#region DOM DOMAIN\n 'DOM.getDocument': [],\n //#endregion\n\n //#region DOMSTORAGE DOMAIN\n 'DOMStorage.enable': [],\n //#endregion\n\n //#region HEAP DOMAIN\n 'Heap.enable': [],\n 'Heap.gc': [],\n //#endregion\n\n //#region INDEXEDDB DOMAIN\n 'IndexedDB.enable': [],\n //#endregion\n\n //#region INSPECTOR DOMAIN\n 'Inspector.enable': [],\n 'Inspector.initialized': [],\n //#endregion\n\n //#region LAYERTREE DOMAIN\n 'LayerTree.enable': [],\n //#endregion\n\n //#region MEMORY DOMAIN\n 'Memory.enable': [],\n //#endregion\n\n //#region NETWORK DOMAIN\n 'Network.disable': [],\n 'Network.enable': [],\n 'Network.setResourceCachingDisabled': ['disabled'],\n //#endregion\n\n //#region PAGE DOMAIN\n 'Page.deleteCookie': ['cookieName', 'url'],\n 'Page.enable': [],\n 'Page.getCookies': ['urls'],\n 'Page.getResourceTree': [],\n 'Page.navigate': ['url'],\n //#endregion\n\n //#region RUNTIME DOMAIN\n 'Runtime.awaitPromise': ['promiseObjectId', 'returnByValue', 'generatePreview', 'saveResult'],\n 'Runtime.callFunctionOn': ['objectId', 'functionDeclaration', 'arguments', 'returnByValue'],\n 'Runtime.enable': [],\n 'Runtime.evaluate': ['expression', 'returnByValue', 'contextId'],\n //#endregion\n\n //#region TARGET DOMAIN\n 'Target.exists': [],\n //#endregion\n\n //#region TIMELINE DOMAIN\n 'Timeline.setAutoCaptureEnabled': ['enabled'],\n 'Timeline.setInstruments': ['instruments'],\n 'Timeline.start': [],\n 'Timeline.stop': [],\n //#endregion\n\n //#region WORKER DOMAIN\n 'Worker.enable': [],\n //#endregion\n};\n\nfunction getCommand (id, method, params = {}) {\n return {\n id,\n method,\n params: Object.assign({\n objectGroup: OBJECT_GROUP,\n includeCommandLineAPI: true,\n doNotPauseOnExceptionsAndMuteConsole: false,\n emulateUserGesture: false,\n generatePreview: false,\n saveResult: false,\n }, params),\n };\n}\n\nfunction getProtocolCommand (id, method, opts = {}) {\n const paramNames = COMMANDS[method];\n if (!paramNames) {\n throw new Error(`Unknown command: '${method}'`);\n }\n\n const params = paramNames.reduce(function (params, name) {\n params[name] = opts[name];\n return params;\n }, {});\n return getCommand(id, method, params);\n}\n\nexport { getProtocolCommand };\nexport default getProtocolCommand;\n"],"mappings":"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"}
|
|
@@ -1,25 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
require("source-map-support/register");
|
|
11
|
-
|
|
12
9
|
var _remoteDebugger = _interopRequireDefault(require("./remote-debugger"));
|
|
13
|
-
|
|
14
10
|
var _rpc = require("./rpc");
|
|
15
|
-
|
|
16
11
|
class RemoteDebuggerRealDevice extends _remoteDebugger.default {
|
|
17
12
|
constructor(opts = {}) {
|
|
18
13
|
super(opts);
|
|
19
14
|
this.udid = opts.udid;
|
|
20
15
|
this._skippedApps = ['lockdownd'];
|
|
21
16
|
}
|
|
22
|
-
|
|
23
17
|
initRpcClient() {
|
|
24
18
|
this.rpcClient = new _rpc.RpcClientRealDevice({
|
|
25
19
|
bundleId: this.bundleId,
|
|
@@ -36,8 +30,6 @@ class RemoteDebuggerRealDevice extends _remoteDebugger.default {
|
|
|
36
30
|
udid: this.udid
|
|
37
31
|
});
|
|
38
32
|
}
|
|
39
|
-
|
|
40
33
|
}
|
|
41
|
-
|
|
42
34
|
exports.default = RemoteDebuggerRealDevice;
|
|
43
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZW1vdGVEZWJ1Z2dlclJlYWxEZXZpY2UiLCJSZW1vdGVEZWJ1Z2dlciIsImNvbnN0cnVjdG9yIiwib3B0cyIsInVkaWQiLCJfc2tpcHBlZEFwcHMiLCJpbml0UnBjQ2xpZW50IiwicnBjQ2xpZW50IiwiUnBjQ2xpZW50UmVhbERldmljZSIsImJ1bmRsZUlkIiwicGxhdGZvcm1WZXJzaW9uIiwiaXNTYWZhcmkiLCJob3N0IiwicG9ydCIsInNvY2tldFBhdGgiLCJtZXNzYWdlUHJveHkiLCJyZW1vdGVEZWJ1Z1Byb3h5IiwibG9nQWxsQ29tbXVuaWNhdGlvbiIsImxvZ0FsbENvbW11bmljYXRpb25IZXhEdW1wIiwic29ja2V0Q2h1bmtTaXplIiwid2ViSW5zcGVjdG9yTWF4RnJhbWVMZW5ndGgiXSwic291cmNlcyI6WyIuLi8uLi9saWIvcmVtb3RlLWRlYnVnZ2VyLXJlYWwtZGV2aWNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZW1vdGVEZWJ1Z2dlciBmcm9tICcuL3JlbW90ZS1kZWJ1Z2dlcic7XG5pbXBvcnQgeyBScGNDbGllbnRSZWFsRGV2aWNlIH0gZnJvbSAnLi9ycGMnO1xuXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlbW90ZURlYnVnZ2VyUmVhbERldmljZSBleHRlbmRzIFJlbW90ZURlYnVnZ2VyIHtcbiAgY29uc3RydWN0b3IgKG9wdHMgPSB7fSkge1xuICAgIHN1cGVyKG9wdHMpO1xuXG4gICAgdGhpcy51ZGlkID0gb3B0cy51ZGlkO1xuXG4gICAgdGhpcy5fc2tpcHBlZEFwcHMgPSBbJ2xvY2tkb3duZCddO1xuICB9XG5cbiAgaW5pdFJwY0NsaWVudCAoKSB7XG4gICAgdGhpcy5ycGNDbGllbnQgPSBuZXcgUnBjQ2xpZW50UmVhbERldmljZSh7XG4gICAgICBidW5kbGVJZDogdGhpcy5idW5kbGVJZCxcbiAgICAgIHBsYXRmb3JtVmVyc2lvbjogdGhpcy5wbGF0Zm9ybVZlcnNpb24sXG4gICAgICBpc1NhZmFyaTogdGhpcy5pc1NhZmFyaSxcbiAgICAgIGhvc3Q6IHRoaXMuaG9zdCxcbiAgICAgIHBvcnQ6IHRoaXMucG9ydCxcbiAgICAgIHNvY2tldFBhdGg6IHRoaXMuc29ja2V0UGF0aCxcbiAgICAgIG1lc3NhZ2VQcm94eTogdGhpcy5yZW1vdGVEZWJ1Z1Byb3h5LFxuICAgICAgbG9nQWxsQ29tbXVuaWNhdGlvbjogdGhpcy5sb2dBbGxDb21tdW5pY2F0aW9uLFxuICAgICAgbG9nQWxsQ29tbXVuaWNhdGlvbkhleER1bXA6IHRoaXMubG9nQWxsQ29tbXVuaWNhdGlvbkhleER1bXAsXG4gICAgICBzb2NrZXRDaHVua1NpemU6IHRoaXMuc29ja2V0Q2h1bmtTaXplLFxuICAgICAgd2ViSW5zcGVjdG9yTWF4RnJhbWVMZW5ndGg6IHRoaXMud2ViSW5zcGVjdG9yTWF4RnJhbWVMZW5ndGgsXG4gICAgICB1ZGlkOiB0aGlzLnVkaWRcbiAgICB9KTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7QUFHZSxNQUFNQSx3QkFBd0IsU0FBU0MsdUJBQWMsQ0FBQztFQUNuRUMsV0FBVyxDQUFFQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUU7SUFDdEIsS0FBSyxDQUFDQSxJQUFJLENBQUM7SUFFWCxJQUFJLENBQUNDLElBQUksR0FBR0QsSUFBSSxDQUFDQyxJQUFJO0lBRXJCLElBQUksQ0FBQ0MsWUFBWSxHQUFHLENBQUMsV0FBVyxDQUFDO0VBQ25DO0VBRUFDLGFBQWEsR0FBSTtJQUNmLElBQUksQ0FBQ0MsU0FBUyxHQUFHLElBQUlDLHdCQUFtQixDQUFDO01BQ3ZDQyxRQUFRLEVBQUUsSUFBSSxDQUFDQSxRQUFRO01BQ3ZCQyxlQUFlLEVBQUUsSUFBSSxDQUFDQSxlQUFlO01BQ3JDQyxRQUFRLEVBQUUsSUFBSSxDQUFDQSxRQUFRO01BQ3ZCQyxJQUFJLEVBQUUsSUFBSSxDQUFDQSxJQUFJO01BQ2ZDLElBQUksRUFBRSxJQUFJLENBQUNBLElBQUk7TUFDZkMsVUFBVSxFQUFFLElBQUksQ0FBQ0EsVUFBVTtNQUMzQkMsWUFBWSxFQUFFLElBQUksQ0FBQ0MsZ0JBQWdCO01BQ25DQyxtQkFBbUIsRUFBRSxJQUFJLENBQUNBLG1CQUFtQjtNQUM3Q0MsMEJBQTBCLEVBQUUsSUFBSSxDQUFDQSwwQkFBMEI7TUFDM0RDLGVBQWUsRUFBRSxJQUFJLENBQUNBLGVBQWU7TUFDckNDLDBCQUEwQixFQUFFLElBQUksQ0FBQ0EsMEJBQTBCO01BQzNEaEIsSUFBSSxFQUFFLElBQUksQ0FBQ0E7SUFDYixDQUFDLENBQUM7RUFDSjtBQUNGO0FBQUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-debugger-real-device.js","names":["RemoteDebuggerRealDevice","RemoteDebugger","constructor","opts","udid","_skippedApps","initRpcClient","rpcClient","RpcClientRealDevice","bundleId","platformVersion","isSafari","host","port","socketPath","messageProxy","remoteDebugProxy","logAllCommunication","logAllCommunicationHexDump","socketChunkSize","webInspectorMaxFrameLength"],"sources":["../../lib/remote-debugger-real-device.js"],"sourcesContent":["import RemoteDebugger from './remote-debugger';\nimport { RpcClientRealDevice } from './rpc';\n\n\nexport default class RemoteDebuggerRealDevice extends RemoteDebugger {\n constructor (opts = {}) {\n super(opts);\n\n this.udid = opts.udid;\n\n this._skippedApps = ['lockdownd'];\n }\n\n initRpcClient () {\n this.rpcClient = new RpcClientRealDevice({\n bundleId: this.bundleId,\n platformVersion: this.platformVersion,\n isSafari: this.isSafari,\n host: this.host,\n port: this.port,\n socketPath: this.socketPath,\n messageProxy: this.remoteDebugProxy,\n logAllCommunication: this.logAllCommunication,\n logAllCommunicationHexDump: this.logAllCommunicationHexDump,\n socketChunkSize: this.socketChunkSize,\n webInspectorMaxFrameLength: this.webInspectorMaxFrameLength,\n udid: this.udid\n });\n }\n}\n"],"mappings":";;;;;;;;AAAA;AACA;AAGe,MAAMA,wBAAwB,SAASC,uBAAc,CAAC;EACnEC,WAAW,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAE;IACtB,KAAK,CAACA,IAAI,CAAC;IAEX,IAAI,CAACC,IAAI,GAAGD,IAAI,CAACC,IAAI;IAErB,IAAI,CAACC,YAAY,GAAG,CAAC,WAAW,CAAC;EACnC;EAEAC,aAAa,GAAI;IACf,IAAI,CAACC,SAAS,GAAG,IAAIC,wBAAmB,CAAC;MACvCC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,eAAe,EAAE,IAAI,CAACA,eAAe;MACrCC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,IAAI,EAAE,IAAI,CAACA,IAAI;MACfC,IAAI,EAAE,IAAI,CAACA,IAAI;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,YAAY,EAAE,IAAI,CAACC,gBAAgB;MACnCC,mBAAmB,EAAE,IAAI,CAACA,mBAAmB;MAC7CC,0BAA0B,EAAE,IAAI,CAACA,0BAA0B;MAC3DC,eAAe,EAAE,IAAI,CAACA,eAAe;MACrCC,0BAA0B,EAAE,IAAI,CAACA,0BAA0B;MAC3DhB,IAAI,EAAE,IAAI,CAACA;IACb,CAAC,CAAC;EACJ;AACF;AAAC"}
|