@openreplay/tracker 3.5.12 → 3.5.14
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/cjs/app/guards.d.ts +18 -0
- package/cjs/app/guards.js +24 -0
- package/cjs/app/index.d.ts +5 -1
- package/cjs/app/index.js +55 -32
- package/cjs/app/nodes.d.ts +3 -3
- package/cjs/app/nodes.js +2 -2
- package/cjs/app/observer/observer.d.ts +1 -2
- package/cjs/app/observer/observer.js +73 -60
- package/cjs/app/observer/top_observer.js +3 -3
- package/cjs/app/sanitizer.d.ts +3 -1
- package/cjs/app/sanitizer.js +13 -2
- package/cjs/app/session.d.ts +2 -7
- package/cjs/app/session.js +24 -37
- package/cjs/index.js +2 -2
- package/cjs/modules/console.d.ts +1 -1
- package/cjs/modules/console.js +2 -1
- package/cjs/modules/cssrules.d.ts +1 -1
- package/cjs/modules/cssrules.js +2 -4
- package/cjs/modules/exception.d.ts +1 -1
- package/cjs/modules/img.d.ts +1 -1
- package/cjs/modules/img.js +14 -6
- package/cjs/modules/input.d.ts +2 -1
- package/cjs/modules/input.js +18 -20
- package/cjs/modules/longtasks.d.ts +1 -1
- package/cjs/modules/mouse.d.ts +1 -1
- package/cjs/modules/mouse.js +3 -2
- package/cjs/modules/performance.d.ts +1 -1
- package/cjs/modules/scroll.d.ts +1 -1
- package/cjs/modules/scroll.js +3 -2
- package/cjs/modules/timing.d.ts +1 -1
- package/cjs/modules/timing.js +2 -1
- package/cjs/modules/viewport.d.ts +1 -1
- package/lib/app/guards.d.ts +18 -0
- package/lib/app/guards.js +16 -0
- package/lib/app/index.d.ts +5 -1
- package/lib/app/index.js +56 -33
- package/lib/app/nodes.d.ts +3 -3
- package/lib/app/nodes.js +2 -2
- package/lib/app/observer/observer.d.ts +1 -2
- package/lib/app/observer/observer.js +70 -57
- package/lib/app/observer/top_observer.js +3 -3
- package/lib/app/sanitizer.d.ts +3 -1
- package/lib/app/sanitizer.js +13 -2
- package/lib/app/session.d.ts +2 -7
- package/lib/app/session.js +24 -37
- package/lib/common/tsconfig.tsbuildinfo +1 -1
- package/lib/index.js +2 -2
- package/lib/modules/console.d.ts +1 -1
- package/lib/modules/console.js +2 -1
- package/lib/modules/cssrules.d.ts +1 -1
- package/lib/modules/cssrules.js +2 -4
- package/lib/modules/exception.d.ts +1 -1
- package/lib/modules/img.d.ts +1 -1
- package/lib/modules/img.js +14 -6
- package/lib/modules/input.d.ts +2 -1
- package/lib/modules/input.js +18 -20
- package/lib/modules/longtasks.d.ts +1 -1
- package/lib/modules/mouse.d.ts +1 -1
- package/lib/modules/mouse.js +3 -2
- package/lib/modules/performance.d.ts +1 -1
- package/lib/modules/scroll.d.ts +1 -1
- package/lib/modules/scroll.js +3 -2
- package/lib/modules/timing.d.ts +1 -1
- package/lib/modules/timing.js +2 -1
- package/lib/modules/viewport.d.ts +1 -1
- package/package.json +7 -7
- package/cjs/app/context.d.ts +0 -18
- package/cjs/app/context.js +0 -73
- package/lib/app/context.d.ts +0 -18
- package/lib/app/context.js +0 -68
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { RemoveNodeAttribute, SetNodeAttribute, SetNodeAttributeURLBased, SetCSSDataURLBased, SetNodeData, CreateTextNode, CreateElementNode, MoveNode, RemoveNode, } from "../../common/messages.js";
|
|
2
|
-
import {
|
|
3
|
-
function isSVGElement(node) {
|
|
4
|
-
return node.namespaceURI === 'http://www.w3.org/2000/svg';
|
|
5
|
-
}
|
|
2
|
+
import { isRootNode, isTextNode, isElementNode, isSVGElement, hasTag, } from "../guards.js";
|
|
6
3
|
function isIgnored(node) {
|
|
7
|
-
if (
|
|
4
|
+
if (isTextNode(node)) {
|
|
8
5
|
return false;
|
|
9
6
|
}
|
|
10
|
-
if (!
|
|
7
|
+
if (!isElementNode(node)) {
|
|
11
8
|
return true;
|
|
12
9
|
}
|
|
13
10
|
const tag = node.tagName.toUpperCase();
|
|
@@ -22,30 +19,37 @@ function isIgnored(node) {
|
|
|
22
19
|
tag === 'TITLE' ||
|
|
23
20
|
tag === 'BASE');
|
|
24
21
|
}
|
|
25
|
-
function isRootNode(node) {
|
|
26
|
-
return isInstance(node, Document) || isInstance(node, ShadowRoot);
|
|
27
|
-
}
|
|
28
22
|
function isObservable(node) {
|
|
29
23
|
if (isRootNode(node)) {
|
|
30
24
|
return true;
|
|
31
25
|
}
|
|
32
26
|
return !isIgnored(node);
|
|
33
27
|
}
|
|
28
|
+
/*
|
|
29
|
+
TODO:
|
|
30
|
+
- fix unbinding logic + send all removals first (ensure sequence is correct)
|
|
31
|
+
- use document as a 0-node in the upper context (should be updated in player at first)
|
|
32
|
+
*/
|
|
33
|
+
var RecentsType;
|
|
34
|
+
(function (RecentsType) {
|
|
35
|
+
RecentsType[RecentsType["New"] = 0] = "New";
|
|
36
|
+
RecentsType[RecentsType["Removed"] = 1] = "Removed";
|
|
37
|
+
RecentsType[RecentsType["Changed"] = 2] = "Changed";
|
|
38
|
+
})(RecentsType || (RecentsType = {}));
|
|
34
39
|
export default class Observer {
|
|
35
40
|
constructor(app, isTopContext = false) {
|
|
36
41
|
this.app = app;
|
|
37
42
|
this.isTopContext = isTopContext;
|
|
38
43
|
this.commited = [];
|
|
39
|
-
this.recents =
|
|
40
|
-
this.myNodes = [];
|
|
44
|
+
this.recents = new Map();
|
|
41
45
|
this.indexes = [];
|
|
42
|
-
this.
|
|
46
|
+
this.attributesMap = new Map();
|
|
43
47
|
this.textSet = new Set();
|
|
44
48
|
this.observer = new MutationObserver(this.app.safe((mutations) => {
|
|
45
|
-
for (const mutation of mutations) {
|
|
49
|
+
for (const mutation of mutations) { // mutations order is sequential
|
|
46
50
|
const target = mutation.target;
|
|
47
51
|
const type = mutation.type;
|
|
48
|
-
if (!isObservable(target)
|
|
52
|
+
if (!isObservable(target)) {
|
|
49
53
|
continue;
|
|
50
54
|
}
|
|
51
55
|
if (type === 'childList') {
|
|
@@ -61,17 +65,17 @@ export default class Observer {
|
|
|
61
65
|
if (id === undefined) {
|
|
62
66
|
continue;
|
|
63
67
|
}
|
|
64
|
-
if (
|
|
65
|
-
this.recents
|
|
68
|
+
if (!this.recents.has(id)) {
|
|
69
|
+
this.recents.set(id, RecentsType.Changed); // TODO only when altered
|
|
66
70
|
}
|
|
67
71
|
if (type === 'attributes') {
|
|
68
72
|
const name = mutation.attributeName;
|
|
69
73
|
if (name === null) {
|
|
70
74
|
continue;
|
|
71
75
|
}
|
|
72
|
-
let attr = this.
|
|
76
|
+
let attr = this.attributesMap.get(id);
|
|
73
77
|
if (attr === undefined) {
|
|
74
|
-
this.
|
|
78
|
+
this.attributesMap.set(id, attr = new Set());
|
|
75
79
|
}
|
|
76
80
|
attr.add(name);
|
|
77
81
|
continue;
|
|
@@ -86,9 +90,9 @@ export default class Observer {
|
|
|
86
90
|
}
|
|
87
91
|
clear() {
|
|
88
92
|
this.commited.length = 0;
|
|
89
|
-
this.recents.
|
|
93
|
+
this.recents.clear();
|
|
90
94
|
this.indexes.length = 1;
|
|
91
|
-
this.
|
|
95
|
+
this.attributesMap.clear();
|
|
92
96
|
this.textSet.clear();
|
|
93
97
|
}
|
|
94
98
|
sendNodeAttribute(id, node, name, value) {
|
|
@@ -119,7 +123,7 @@ export default class Observer {
|
|
|
119
123
|
return;
|
|
120
124
|
}
|
|
121
125
|
if (name === 'value' &&
|
|
122
|
-
|
|
126
|
+
hasTag(node, "INPUT") &&
|
|
123
127
|
node.type !== 'button' &&
|
|
124
128
|
node.type !== 'reset' &&
|
|
125
129
|
node.type !== 'submit') {
|
|
@@ -129,7 +133,7 @@ export default class Observer {
|
|
|
129
133
|
this.app.send(new RemoveNodeAttribute(id, name));
|
|
130
134
|
return;
|
|
131
135
|
}
|
|
132
|
-
if (name === 'style' || name === 'href' &&
|
|
136
|
+
if (name === 'style' || name === 'href' && hasTag(node, "LINK")) {
|
|
133
137
|
this.app.send(new SetNodeAttributeURLBased(id, name, value, this.app.getBaseHref()));
|
|
134
138
|
return;
|
|
135
139
|
}
|
|
@@ -139,7 +143,7 @@ export default class Observer {
|
|
|
139
143
|
this.app.send(new SetNodeAttribute(id, name, value));
|
|
140
144
|
}
|
|
141
145
|
sendNodeData(id, parentElement, data) {
|
|
142
|
-
if (
|
|
146
|
+
if (hasTag(parentElement, "STYLE") || hasTag(parentElement, "style")) {
|
|
143
147
|
this.app.send(new SetCSSDataURLBased(id, data, this.app.getBaseHref()));
|
|
144
148
|
return;
|
|
145
149
|
}
|
|
@@ -147,10 +151,13 @@ export default class Observer {
|
|
|
147
151
|
this.app.send(new SetNodeData(id, data));
|
|
148
152
|
}
|
|
149
153
|
bindNode(node) {
|
|
150
|
-
const
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
+
const [id, isNew] = this.app.nodes.registerNode(node);
|
|
155
|
+
if (isNew) {
|
|
156
|
+
this.recents.set(id, RecentsType.New);
|
|
157
|
+
}
|
|
158
|
+
else if (!this.recents.has(id)) {
|
|
159
|
+
this.recents.set(id, RecentsType.Removed);
|
|
160
|
+
}
|
|
154
161
|
}
|
|
155
162
|
bindTree(node) {
|
|
156
163
|
if (!isObservable(node)) {
|
|
@@ -170,10 +177,11 @@ export default class Observer {
|
|
|
170
177
|
}
|
|
171
178
|
unbindNode(node) {
|
|
172
179
|
const id = this.app.nodes.unregisterNode(node);
|
|
173
|
-
if (id !== undefined && this.recents
|
|
180
|
+
if (id !== undefined && this.recents.get(id) === RecentsType.Removed) {
|
|
174
181
|
this.app.send(new RemoveNode(id));
|
|
175
182
|
}
|
|
176
183
|
}
|
|
184
|
+
// A top-consumption function on the infinite lists test. (~1% of performance resources)
|
|
177
185
|
_commitNode(id, node) {
|
|
178
186
|
if (isRootNode(node)) {
|
|
179
187
|
return true;
|
|
@@ -182,8 +190,8 @@ export default class Observer {
|
|
|
182
190
|
let parentID;
|
|
183
191
|
// Disable parent check for the upper context HTMLHtmlElement, because it is root there... (before)
|
|
184
192
|
// TODO: get rid of "special" cases (there is an issue with CreateDocument altered behaviour though)
|
|
185
|
-
// TODO: Clean the logic (though now it workd fine)
|
|
186
|
-
if (!
|
|
193
|
+
// TODO: Clean the logic (though now it workd fine)
|
|
194
|
+
if (!hasTag(node, "HTML") || !this.isTopContext) {
|
|
187
195
|
if (parent === null) {
|
|
188
196
|
this.unbindNode(node);
|
|
189
197
|
return false;
|
|
@@ -198,7 +206,11 @@ export default class Observer {
|
|
|
198
206
|
return false;
|
|
199
207
|
}
|
|
200
208
|
this.app.sanitizer.handleNode(id, parentID, node);
|
|
209
|
+
if (this.app.sanitizer.isMaskedContainer(parentID)) {
|
|
210
|
+
return false;
|
|
211
|
+
}
|
|
201
212
|
}
|
|
213
|
+
// From here parentID === undefined if node is top context HTML node
|
|
202
214
|
let sibling = node.previousSibling;
|
|
203
215
|
while (sibling !== null) {
|
|
204
216
|
const siblingID = this.app.nodes.getID(sibling);
|
|
@@ -210,36 +222,45 @@ export default class Observer {
|
|
|
210
222
|
sibling = sibling.previousSibling;
|
|
211
223
|
}
|
|
212
224
|
if (sibling === null) {
|
|
213
|
-
this.indexes[id] = 0;
|
|
225
|
+
this.indexes[id] = 0;
|
|
214
226
|
}
|
|
215
|
-
const
|
|
227
|
+
const recentsType = this.recents.get(id);
|
|
228
|
+
const isNew = recentsType === RecentsType.New;
|
|
216
229
|
const index = this.indexes[id];
|
|
217
230
|
if (index === undefined) {
|
|
218
231
|
throw 'commitNode: missing node index';
|
|
219
232
|
}
|
|
220
|
-
if (isNew
|
|
221
|
-
if (
|
|
233
|
+
if (isNew) {
|
|
234
|
+
if (isElementNode(node)) {
|
|
235
|
+
let el = node;
|
|
222
236
|
if (parentID !== undefined) {
|
|
223
|
-
this.app.
|
|
237
|
+
if (this.app.sanitizer.isMaskedContainer(id)) {
|
|
238
|
+
const width = el.clientWidth;
|
|
239
|
+
const height = el.clientHeight;
|
|
240
|
+
el = node.cloneNode();
|
|
241
|
+
el.style.width = width + 'px';
|
|
242
|
+
el.style.height = height + 'px';
|
|
243
|
+
}
|
|
244
|
+
this.app.send(new CreateElementNode(id, parentID, index, el.tagName, isSVGElement(node)));
|
|
224
245
|
}
|
|
225
|
-
for (let i = 0; i <
|
|
226
|
-
const attr =
|
|
227
|
-
this.sendNodeAttribute(id,
|
|
246
|
+
for (let i = 0; i < el.attributes.length; i++) {
|
|
247
|
+
const attr = el.attributes[i];
|
|
248
|
+
this.sendNodeAttribute(id, el, attr.nodeName, attr.value);
|
|
228
249
|
}
|
|
229
250
|
}
|
|
230
|
-
else if (
|
|
251
|
+
else if (isTextNode(node)) {
|
|
231
252
|
// for text node id != 0, hence parentID !== undefined and parent is Element
|
|
232
253
|
this.app.send(new CreateTextNode(id, parentID, index));
|
|
233
254
|
this.sendNodeData(id, parent, node.data);
|
|
234
255
|
}
|
|
235
256
|
return true;
|
|
236
257
|
}
|
|
237
|
-
if (
|
|
258
|
+
if (recentsType === RecentsType.Removed && parentID !== undefined) {
|
|
238
259
|
this.app.send(new MoveNode(id, parentID, index));
|
|
239
260
|
}
|
|
240
|
-
const attr = this.
|
|
261
|
+
const attr = this.attributesMap.get(id);
|
|
241
262
|
if (attr !== undefined) {
|
|
242
|
-
if (!
|
|
263
|
+
if (!isElementNode(node)) {
|
|
243
264
|
throw 'commitNode: node is not an element';
|
|
244
265
|
}
|
|
245
266
|
for (const name of attr) {
|
|
@@ -247,7 +268,7 @@ export default class Observer {
|
|
|
247
268
|
}
|
|
248
269
|
}
|
|
249
270
|
if (this.textSet.has(id)) {
|
|
250
|
-
if (!
|
|
271
|
+
if (!isTextNode(node)) {
|
|
251
272
|
throw 'commitNode: node is not a text';
|
|
252
273
|
}
|
|
253
274
|
// for text node id != 0, hence parent is Element
|
|
@@ -266,21 +287,14 @@ export default class Observer {
|
|
|
266
287
|
}
|
|
267
288
|
return (this.commited[id] = this._commitNode(id, node));
|
|
268
289
|
}
|
|
269
|
-
commitNodes() {
|
|
290
|
+
commitNodes(isStart = false) {
|
|
270
291
|
let node;
|
|
271
|
-
|
|
272
|
-
// TODO: make things/logic nice here.
|
|
273
|
-
// commit required in any case if recents[id] true or false (in case of unbinding) or undefined (in case of attr change).
|
|
274
|
-
// Possible solution: separate new node commit (recents) and new attribute/move node commit
|
|
275
|
-
// Otherwise commitNode is called on each node, which might be a lot
|
|
276
|
-
if (!this.myNodes[id]) {
|
|
277
|
-
continue;
|
|
278
|
-
}
|
|
292
|
+
this.recents.forEach((type, id) => {
|
|
279
293
|
this.commitNode(id);
|
|
280
|
-
if (
|
|
281
|
-
this.app.nodes.callNodeCallbacks(node);
|
|
294
|
+
if (type === RecentsType.New && (node = this.app.nodes.getNode(id))) {
|
|
295
|
+
this.app.nodes.callNodeCallbacks(node, isStart);
|
|
282
296
|
}
|
|
283
|
-
}
|
|
297
|
+
});
|
|
284
298
|
this.clear();
|
|
285
299
|
}
|
|
286
300
|
// ISSSUE
|
|
@@ -295,11 +309,10 @@ export default class Observer {
|
|
|
295
309
|
});
|
|
296
310
|
this.bindTree(nodeToBind);
|
|
297
311
|
beforeCommit(this.app.nodes.getID(node));
|
|
298
|
-
this.commitNodes();
|
|
312
|
+
this.commitNodes(true);
|
|
299
313
|
}
|
|
300
314
|
disconnect() {
|
|
301
315
|
this.observer.disconnect();
|
|
302
316
|
this.clear();
|
|
303
|
-
this.myNodes.length = 0;
|
|
304
317
|
}
|
|
305
318
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Observer from "./observer.js";
|
|
2
|
-
import {
|
|
2
|
+
import { isElementNode, hasTag, } from "../guards.js";
|
|
3
3
|
import IFrameObserver from "./iframe_observer.js";
|
|
4
4
|
import ShadowRootObserver from "./shadow_root_observer.js";
|
|
5
5
|
import { CreateDocument } from "../../common/messages.js";
|
|
@@ -15,7 +15,7 @@ export default class TopObserver extends Observer {
|
|
|
15
15
|
}, options);
|
|
16
16
|
// IFrames
|
|
17
17
|
this.app.nodes.attachNodeCallback(node => {
|
|
18
|
-
if (
|
|
18
|
+
if (hasTag(node, "IFRAME") &&
|
|
19
19
|
((this.options.captureIFrames && !hasOpenreplayAttribute(node, "obscured"))
|
|
20
20
|
|| hasOpenreplayAttribute(node, "capture"))) {
|
|
21
21
|
this.handleIframe(node);
|
|
@@ -23,7 +23,7 @@ export default class TopObserver extends Observer {
|
|
|
23
23
|
});
|
|
24
24
|
// ShadowDOM
|
|
25
25
|
this.app.nodes.attachNodeCallback(node => {
|
|
26
|
-
if (
|
|
26
|
+
if (isElementNode(node) && node.shadowRoot !== null) {
|
|
27
27
|
this.handleShadowRoot(node.shadowRoot);
|
|
28
28
|
}
|
|
29
29
|
});
|
package/lib/app/sanitizer.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import App from "./index.js";
|
|
1
|
+
import type App from "./index.js";
|
|
2
2
|
export interface Options {
|
|
3
3
|
obscureTextEmails: boolean;
|
|
4
4
|
obscureTextNumbers: boolean;
|
|
@@ -6,11 +6,13 @@ export interface Options {
|
|
|
6
6
|
export default class Sanitizer {
|
|
7
7
|
private readonly app;
|
|
8
8
|
private readonly masked;
|
|
9
|
+
private readonly maskedContainers;
|
|
9
10
|
private readonly options;
|
|
10
11
|
constructor(app: App, options: Partial<Options>);
|
|
11
12
|
handleNode(id: number, parentID: number, node: Node): void;
|
|
12
13
|
sanitize(id: number, data: string): string;
|
|
13
14
|
isMasked(id: number): boolean;
|
|
15
|
+
isMaskedContainer(id: number): boolean;
|
|
14
16
|
getInnerTextSecure(el: HTMLElement): string;
|
|
15
17
|
clear(): void;
|
|
16
18
|
}
|
package/lib/app/sanitizer.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { stars, hasOpenreplayAttribute } from "../utils.js";
|
|
2
|
-
import {
|
|
2
|
+
import { isElementNode } from "./guards.js";
|
|
3
3
|
export default class Sanitizer {
|
|
4
4
|
constructor(app, options) {
|
|
5
5
|
this.app = app;
|
|
6
6
|
this.masked = new Set();
|
|
7
|
+
this.maskedContainers = new Set();
|
|
7
8
|
this.options = Object.assign({
|
|
8
9
|
obscureTextEmails: true,
|
|
9
10
|
obscureTextNumbers: false,
|
|
@@ -11,9 +12,15 @@ export default class Sanitizer {
|
|
|
11
12
|
}
|
|
12
13
|
handleNode(id, parentID, node) {
|
|
13
14
|
if (this.masked.has(parentID) ||
|
|
14
|
-
(
|
|
15
|
+
(isElementNode(node) &&
|
|
16
|
+
hasOpenreplayAttribute(node, 'masked'))) {
|
|
15
17
|
this.masked.add(id);
|
|
16
18
|
}
|
|
19
|
+
if (this.maskedContainers.has(parentID) ||
|
|
20
|
+
(isElementNode(node) &&
|
|
21
|
+
hasOpenreplayAttribute(node, 'htmlmasked'))) {
|
|
22
|
+
this.maskedContainers.add(id);
|
|
23
|
+
}
|
|
17
24
|
}
|
|
18
25
|
sanitize(id, data) {
|
|
19
26
|
if (this.masked.has(id)) {
|
|
@@ -31,6 +38,9 @@ export default class Sanitizer {
|
|
|
31
38
|
isMasked(id) {
|
|
32
39
|
return this.masked.has(id);
|
|
33
40
|
}
|
|
41
|
+
isMaskedContainer(id) {
|
|
42
|
+
return this.maskedContainers.has(id);
|
|
43
|
+
}
|
|
34
44
|
getInnerTextSecure(el) {
|
|
35
45
|
const id = this.app.nodes.getID(el);
|
|
36
46
|
if (!id) {
|
|
@@ -40,5 +50,6 @@ export default class Sanitizer {
|
|
|
40
50
|
}
|
|
41
51
|
clear() {
|
|
42
52
|
this.masked.clear();
|
|
53
|
+
this.maskedContainers.clear();
|
|
43
54
|
}
|
|
44
55
|
}
|
package/lib/app/session.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import App from "./index.js";
|
|
2
1
|
interface SessionInfo {
|
|
3
2
|
sessionID: string | null;
|
|
4
3
|
metadata: Record<string, string>;
|
|
@@ -6,20 +5,16 @@ interface SessionInfo {
|
|
|
6
5
|
}
|
|
7
6
|
declare type OnUpdateCallback = (i: Partial<SessionInfo>) => void;
|
|
8
7
|
export default class Session {
|
|
9
|
-
private app;
|
|
10
8
|
private metadata;
|
|
11
9
|
private userID;
|
|
12
10
|
private sessionID;
|
|
13
|
-
private activityState;
|
|
14
11
|
private callbacks;
|
|
15
|
-
constructor(app: App);
|
|
16
12
|
attachUpdateCallback(cb: OnUpdateCallback): void;
|
|
17
13
|
private handleUpdate;
|
|
18
|
-
update(
|
|
19
|
-
private _setMetadata;
|
|
20
|
-
private _setUserID;
|
|
14
|
+
update(newInfo: Partial<SessionInfo>): void;
|
|
21
15
|
setMetadata(key: string, value: string): void;
|
|
22
16
|
setUserID(userID: string): void;
|
|
23
17
|
getInfo(): SessionInfo;
|
|
18
|
+
reset(): void;
|
|
24
19
|
}
|
|
25
20
|
export {};
|
package/lib/app/session.js
CHANGED
|
@@ -1,59 +1,41 @@
|
|
|
1
|
-
import { UserID, Metadata } from "../common/messages.js";
|
|
2
|
-
var ActivityState;
|
|
3
|
-
(function (ActivityState) {
|
|
4
|
-
ActivityState[ActivityState["NotActive"] = 0] = "NotActive";
|
|
5
|
-
ActivityState[ActivityState["Starting"] = 1] = "Starting";
|
|
6
|
-
ActivityState[ActivityState["Active"] = 2] = "Active";
|
|
7
|
-
})(ActivityState || (ActivityState = {}));
|
|
8
1
|
export default class Session {
|
|
9
|
-
constructor(
|
|
10
|
-
this.app = app;
|
|
2
|
+
constructor() {
|
|
11
3
|
this.metadata = {};
|
|
12
4
|
this.userID = null;
|
|
13
5
|
this.sessionID = null;
|
|
14
|
-
this.activityState = ActivityState.NotActive;
|
|
15
6
|
this.callbacks = [];
|
|
16
7
|
}
|
|
17
8
|
attachUpdateCallback(cb) {
|
|
18
9
|
this.callbacks.push(cb);
|
|
19
10
|
}
|
|
20
|
-
handleUpdate() {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
delete sessInfo.userID;
|
|
11
|
+
handleUpdate(newInfo) {
|
|
12
|
+
if (newInfo.userID == null) {
|
|
13
|
+
delete newInfo.userID;
|
|
24
14
|
}
|
|
25
|
-
if (
|
|
26
|
-
delete
|
|
15
|
+
if (newInfo.sessionID == null) {
|
|
16
|
+
delete newInfo.sessionID;
|
|
27
17
|
}
|
|
28
|
-
this.callbacks.forEach(cb => cb(
|
|
18
|
+
this.callbacks.forEach(cb => cb(newInfo));
|
|
29
19
|
}
|
|
30
|
-
update(
|
|
31
|
-
if (userID
|
|
32
|
-
this.
|
|
20
|
+
update(newInfo) {
|
|
21
|
+
if (newInfo.userID !== undefined) { // TODO clear nullable/undefinable types
|
|
22
|
+
this.userID = newInfo.userID;
|
|
33
23
|
}
|
|
34
|
-
if (metadata !== undefined) {
|
|
35
|
-
Object.entries(metadata).forEach(
|
|
24
|
+
if (newInfo.metadata !== undefined) {
|
|
25
|
+
Object.entries(newInfo.metadata).forEach(([k, v]) => this.metadata[k] = v);
|
|
36
26
|
}
|
|
37
|
-
if (sessionID !== undefined) {
|
|
38
|
-
this.sessionID = sessionID;
|
|
27
|
+
if (newInfo.sessionID !== undefined) {
|
|
28
|
+
this.sessionID = newInfo.sessionID;
|
|
39
29
|
}
|
|
40
|
-
this.handleUpdate();
|
|
41
|
-
}
|
|
42
|
-
_setMetadata(key, value) {
|
|
43
|
-
this.app.send(new Metadata(key, value));
|
|
44
|
-
this.metadata[key] = value;
|
|
45
|
-
}
|
|
46
|
-
_setUserID(userID) {
|
|
47
|
-
this.app.send(new UserID(userID));
|
|
48
|
-
this.userID = userID;
|
|
30
|
+
this.handleUpdate(newInfo);
|
|
49
31
|
}
|
|
50
32
|
setMetadata(key, value) {
|
|
51
|
-
this.
|
|
52
|
-
this.handleUpdate();
|
|
33
|
+
this.metadata[key] = value;
|
|
34
|
+
this.handleUpdate({ metadata: { [key]: value } });
|
|
53
35
|
}
|
|
54
36
|
setUserID(userID) {
|
|
55
|
-
this.
|
|
56
|
-
this.handleUpdate();
|
|
37
|
+
this.userID = userID;
|
|
38
|
+
this.handleUpdate({ userID });
|
|
57
39
|
}
|
|
58
40
|
getInfo() {
|
|
59
41
|
return {
|
|
@@ -62,4 +44,9 @@ export default class Session {
|
|
|
62
44
|
userID: this.userID,
|
|
63
45
|
};
|
|
64
46
|
}
|
|
47
|
+
reset() {
|
|
48
|
+
this.metadata = {};
|
|
49
|
+
this.userID = null;
|
|
50
|
+
this.sessionID = null;
|
|
51
|
+
}
|
|
65
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../src/common/types.ts","../../src/common/messages.ts","../../src/common/webworker.ts","../../node_modules/@types/eslint-visitor-keys/index.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/base.d.ts","../../node_modules/@types/node/ts3.2/fs.d.ts","../../node_modules/@types/node/ts3.2/util.d.ts","../../node_modules/@types/node/ts3.2/globals.d.ts","../../node_modules/@types/node/ts3.2/base.d.ts","../../node_modules/@types/node/ts3.5/globals.global.d.ts","../../node_modules/@types/node/ts3.5/wasi.d.ts","../../node_modules/@types/node/ts3.5/base.d.ts","../../node_modules/@types/node/ts3.7/assert.d.ts","../../node_modules/@types/node/ts3.7/base.d.ts","../../node_modules/@types/node/ts3.7/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/resolve/index.d.ts"],"fileInfos":[{"version":"ca3c1cd7464b613bf148a1422cb3201fe083e08565a02dc99eaad0d2977c16a7","affectsGlobalScope":true,"impliedFormat":1},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06",{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true,"impliedFormat":1},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true,"impliedFormat":1},{"version":"4378fc8122ec9d1a685b01eb66c46f62aba6b239ca7228bb6483bcf8259ee493","affectsGlobalScope":true,"impliedFormat":1},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true,"impliedFormat":1},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true,"impliedFormat":1},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true,"impliedFormat":1},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true,"impliedFormat":1},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true,"impliedFormat":1},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true,"impliedFormat":1},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true,"impliedFormat":1},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true,"impliedFormat":1},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true,"impliedFormat":1},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true,"impliedFormat":1},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true,"impliedFormat":1},"8f2ce078b846e85a1e1d9608ee441d1b01babad7059966dafb3fb203c0be58b3","57f6a26ef13806a81f4fd41f0afc9745f8133850172d593bd8a873f8ac8ef8e1","7aca4d4f46ed6db51ccb2c75e628f7bef921529e89bd4b5b96bebaf66647e517","725d9be2fd48440256f4deb00649adffdbc5ecd282b09e89d4e200663792c34c","89ccbe04e737ce613f5f04990271cfa84901446350b8551b0555ddf19319723b",{"version":"2dd7dbacbd70cc156185235140b7b6682c002c1ea678dd87d7a20589d4555fc0","affectsGlobalScope":true,"impliedFormat":1},"4ed9f71ddbb5753771ee391f64297078a88f7dfd1480646dcf08c31395778682","61215c1a376bbe8f51cab4cc4ddbf3746387015113c37a84d981d4738c21b878","465150173a56b943b2f6d8918e35c89d8386ffd37aa466e486ca54db54d6cee7","123ec69e4b3a686eb49afd94ebe3292a5c84a867ecbcb6bb84bdd720a12af803","525c8fc510d9632d2a0a9de2d41c3ac1cdd79ff44d3b45c6d81cacabb683528d","90c85ddbb8de82cd19198bda062065fc51b7407c0f206f2e399e65a52e979720","d4dd0b19ee0338dd4f1603eacb41859b9d5371bfef2b2849cb870d6fd6602bcb","7ecfe97b43aa6c8b8f90caa599d5648bb559962e74e6f038f73a77320569dd78","aad3237c3f99480041cad7ca04d64307c98933996f822342b7c0ee4a78553346","4d4c83f77ac21a72252785baa5328a5612b0b6598d512f68b8cb14f7966d059e","eaa8136bb11fbea5bdaf29e06aa45a1969ddd39fbfb5fe58a01f00d7f1562cd9","e253cd3c7d10c4f600308d0528dd371d7e4165d8295b37a1f38d0ef6c0dfaf60","fb28748ff8d015f52e99daee4f454e57cec1a22141f1257c317f3630a15edeb7","9440dcf960685f7ec10856891a6cebb52a5ae8cef6a2e85daf9476dafd346cbe","5d9394b829cfd504b2fe17287aaad8ce1dcfb2a2183c962a90a85b96da2c1c90","c969bf4c7cdfe4d5dd28aa09432f99d09ad1d8d8b839959646579521d0467d1a","6c3857edaeeaaf43812f527830ebeece9266b6e8eb5271ab6d2f0008306c9947","bc6a77e750f4d34584e46b1405b771fb69a224197dd6bafe5b0392a29a70b665","46cac76114704902baa535b30fb66a26aeaf9430f3b3ab44746e329f12e85498","ed4ae81196cccc10f297d228bca8d02e31058e6d723a3c5bc4be5fb3c61c6a34","84044697c8b3e08ef24e4b32cfe6440143d07e469a5e34bda0635276d32d9f35","0b6098fedb648cab8091cca2b022a5c729b6ef18da923852033f495907cb1a45",{"version":"0e0d58f5e90c0a270dac052b9c5ad8ccdfc8271118c2105b361063218d528d6e","affectsGlobalScope":true,"impliedFormat":1},"30ec6f9c683b988c3cfaa0c4690692049c4e7ed7dc6f6e94f56194c06b86f5e1","9f633ecf3e065ff82c19eccab35c8aa1d6d5d1a49af282dc29ef5a64cca34164","6b2bb67b0942bcfce93e1d6fad5f70afd54940a2b13df7f311201fba54b2cbe9","dd3706b25d06fe23c73d16079e8c66ac775831ef419da00716bf2aee530a04a4","406a63c7e94107394341e97dbdc3312a1ecea75571d067a69eaa213786d9f154","d67e08745494b000da9410c1ae2fdc9965fc6d593fe0f381a47491f75417d457","b40652bf8ce4a18133b31349086523b219724dca8df3448c1a0742528e7ad5b9","424bc64b2794d9280c1e1f4a3518ba9d285385a16d84753a6427bb469e582eca","a77fdb357c78b70142b2fdbbfb72958d69e8f765fd2a3c69946c1018e89d4638","3c2ac350c3baa61fd2b1925844109e098f4376d0768a4643abc82754fd752748","826d48e49c905cedb906cbde6ccaf758827ff5867d4daa006b5a79e0fb489357","baa711b17f67390c60eac3c70a1391b23a8e3833cb723b2d7336d4817a22455c","289be113bad7ee27ee7fa5b1e373c964c9789a5e9ed7db5ddcb631371120b953","e4abb8eaa8a7d78236be0f8342404aab076668d20590209e32fdeb924588531e","086bfc0710b044ce1586108ee56c6e1c0d9ca2d325c153bb026cbc850169f593","f409183966a1dd93d3a9cd1d54fbeb85c73101e87cd5b19467c5e37b252f3fd8","b46af749e3574b83bccc0ec829322b15e834ae90b45760eebc75a189c28c0868","12b2608d6074167c331c9c3c6994a57819f6ff934c7fd4527e23aabf56d4c8d1","ffc1cd688606ad1ddb59a40e8f3defbde907af2a3402d1d9ddf69accb2903f07",{"version":"4926e99d2ad39c0bbd36f2d37cc8f52756bc7a5661ad7b12815df871a4b07ba1","affectsGlobalScope":true,"impliedFormat":1},"4cef33b2997388559c39b2f98c37e8319ad61e30a1f0edc55c53913f2250bade",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true,"impliedFormat":1},"0b3fef11ea6208c4cb3715c9aa108766ce98fc726bfba68cc23b25ce944ce9c0","255dbc5a5acef2b83b47145042aa0127ebf7fe24cd5ce6afaaaf5c8fc2c5eb96","a8b842671d535d14f533fd8dbfacebceacf5195069d720425d572d5cc5ab3dc4","9779312cffccce68e3ffbaa3a876381dc54a8240d9bdaa448f7eba222ec19392","d522314e80ed71b57e3c2939d3c9594eaae63a4adf028559e6574f6b270b0fee","1d1e6bd176eee5970968423d7e215bfd66828b6db8d54d17afec05a831322633","64ef5112114bdd77304acb548f93777b263bbf57272776139425a58f68a10775","ecdf947a5111318568ba99f2a87b8498382d8871207f1bc6271ff3b9536a2448","2880728492d6a6baa55411d14cc42fa55714a24b1d1d27ff9a8a610abd47c761"],"options":{"composite":true,"declaration":true,"module":5,"noImplicitAny":true,"noImplicitThis":true,"outDir":"..","rootDir":"../../src","strictNullChecks":true,"target":2},"fileIdsList":[[45,68,74,75],[44,45,68,74,75,83,84],[33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,74,75],[44,45,52,61,68,74,75],[36,44,45,52,68,74,75],[40,45,53,68,74,75],[45,61,68,74,75],[42,44,45,52,68,74,75],[44,45,68,74,75],[44,46,61,67,68,74,75],[44,45,52,61,67,68,74,75],[44,45,47,52,61,64,67,68,74,75],[44,45,47,64,67,68,74,75],[45,67,68,74,75],[42,44,45,61,68,74,75],[34,45,68,74,75],[45,66,68,74,75],[44,45,61,68,74,75],[45,59,68,70,74,75],[40,42,45,52,61,68,74,75],[45,68,73,74,75,76],[45,68,75],[33,45,68,74,75],[45,68,74],[45,68,74,75,77,78,79],[45,68,74,75,80,81],[45,68,74,75,82],[45,52,68,74,75],[45,58,68,74,75],[45,74,75],[44,45,61,67,68,70,74,75],[45,68,74,75,83],[28,45,68,74,75]],"referencedMap":[[31,1],[32,1],[85,2],[86,1],[84,1],[34,1],[73,3],[35,1],[36,4],[37,5],[38,1],[39,6],[40,7],[41,8],[42,1],[43,9],[44,1],[45,10],[46,1],[33,1],[47,11],[48,12],[49,13],[50,9],[51,14],[52,15],[53,1],[54,1],[55,16],[56,17],[57,1],[58,1],[59,18],[60,19],[61,9],[62,1],[63,1],[64,20],[65,1],[77,21],[74,22],[76,23],[75,24],[80,25],[78,1],[79,1],[81,1],[82,26],[83,27],[66,28],[67,29],[68,30],[69,7],[70,1],[71,31],[72,7],[87,32],[7,1],[6,1],[2,1],[8,1],[9,1],[10,1],[11,1],[12,1],[13,1],[14,1],[15,1],[3,1],[4,1],[19,1],[16,1],[17,1],[18,1],[20,1],[21,1],[22,1],[5,1],[23,1],[24,1],[25,1],[26,1],[1,1],[27,1],[29,33],[28,1],[30,1]],"exportedModulesMap":[[31,1],[32,1],[85,2],[86,1],[84,1],[34,1],[73,3],[35,1],[36,4],[37,5],[38,1],[39,6],[40,7],[41,8],[42,1],[43,9],[44,1],[45,10],[46,1],[33,1],[47,11],[48,12],[49,13],[50,9],[51,14],[52,15],[53,1],[54,1],[55,16],[56,17],[57,1],[58,1],[59,18],[60,19],[61,9],[62,1],[63,1],[64,20],[65,1],[77,21],[74,22],[76,23],[75,24],[80,25],[78,1],[79,1],[81,1],[82,26],[83,27],[66,28],[67,29],[68,30],[69,7],[70,1],[71,31],[72,7],[87,32],[7,1],[6,1],[2,1],[8,1],[9,1],[10,1],[11,1],[12,1],[13,1],[14,1],[15,1],[3,1],[4,1],[19,1],[16,1],[17,1],[18,1],[20,1],[21,1],[22,1],[5,1],[23,1],[24,1],[25,1],[26,1],[1,1],[27,1],[29,33],[28,1],[30,1]],"semanticDiagnosticsPerFile":[31,32,85,86,84,34,73,35,36,37,38,39,40,41,42,43,44,45,46,33,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,77,74,76,75,80,78,79,81,82,83,66,67,68,69,70,71,72,87,7,6,2,8,9,10,11,12,13,14,15,3,4,19,16,17,18,20,21,22,5,23,24,25,26,1,27,29,28,30]},"version":"4.6.0-dev.20211126"}
|
|
1
|
+
{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../src/common/types.ts","../../src/common/messages.ts","../../src/common/webworker.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/resolve/index.d.ts"],"fileInfos":[{"version":"f5c28122bee592cfaf5c72ed7bcc47f453b79778ffa6e301f45d21a0970719d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","impliedFormat":1},{"version":"7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","impliedFormat":1},{"version":"8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","impliedFormat":1},{"version":"5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","impliedFormat":1},{"version":"e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","impliedFormat":1},{"version":"1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","impliedFormat":1},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true,"impliedFormat":1},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true,"impliedFormat":1},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true,"impliedFormat":1},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true,"impliedFormat":1},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true,"impliedFormat":1},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true,"impliedFormat":1},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true,"impliedFormat":1},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true,"impliedFormat":1},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true,"impliedFormat":1},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true,"impliedFormat":1},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true,"impliedFormat":1},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true,"impliedFormat":1},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true,"impliedFormat":1},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true,"impliedFormat":1},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true,"impliedFormat":1},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd483c056da900716879771893a3c9772b66c3c88f8943b4205aec738a94b1d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true,"impliedFormat":1},{"version":"c37f8a49593a0030eecb51bbfa270e709bec9d79a6cc3bb851ef348d4e6b26f8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f2ce078b846e85a1e1d9608ee441d1b01babad7059966dafb3fb203c0be58b3","signature":"bb0fa248710a48974d667db1160c447703c893e03215d4ce4f459dae1808b37f","impliedFormat":99},{"version":"57f6a26ef13806a81f4fd41f0afc9745f8133850172d593bd8a873f8ac8ef8e1","signature":"d3b3836cbf2ca0d996b56065e5b66dd5c2e483e2aed61f11fc17e99b1d002411","impliedFormat":99},{"version":"f7bf98d3ccfb7f6ef1048b3e7a947df1494dd7a5ee1013745450814613920c51","signature":"fa1298efbba0e5b532e59a74af1681ea116ae8fb8ef9673f257fd72cd56a9690","impliedFormat":99},{"version":"89ccbe04e737ce613f5f04990271cfa84901446350b8551b0555ddf19319723b","impliedFormat":1},{"version":"9122ed7070e054b73ebab37c2373a196def2d90e7d1a9a7fcd9d46b0e51fae78","impliedFormat":1},{"version":"a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a","impliedFormat":1},{"version":"bd62cf55d89484b34824808701fc0f4daca629878817bf65eec98a9bbdb1223a","affectsGlobalScope":true,"impliedFormat":1},{"version":"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9","impliedFormat":1},{"version":"3e4624c306340ad303cc536a07004e81336c3f088308a9e4a9f4c957a3cda2fd","affectsGlobalScope":true,"impliedFormat":1},{"version":"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","impliedFormat":1},{"version":"5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713","impliedFormat":1},{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true,"impliedFormat":1},{"version":"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","impliedFormat":1},{"version":"025fc13211ed47d2798269017af3ec869122a050d5431a6ad3c1997900e65c58","impliedFormat":1},{"version":"bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","impliedFormat":1},{"version":"75ecef44f126e2ae018b4abbd85b6e8a2e2ba1638ebec56cc64274643ce3567b","impliedFormat":1},{"version":"f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","impliedFormat":1},{"version":"14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","impliedFormat":1},{"version":"5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea","impliedFormat":1},{"version":"249a2b90439cdfd51709539fbfa4dfe0791cbae6efce1e9b327ba8f8cd703f49","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f60ac046e587e917d739f1edc77540eb0ec34f83090dae4ebd5f96c1c9578d4","impliedFormat":1},{"version":"a9b6b0f7b1e30359283b131ba6d1c51ee2d3601a2f12e1623141e6a1a60c92a5","impliedFormat":1},{"version":"74f2bb83d1ccf390f48681be57a30c09e85b4c7a801267746e382b2386fc667e","impliedFormat":1},{"version":"7bac475dcdd9f7e4e9da934d32c305bc889c4ce3c8ac0ef45a93a8d670fff607","impliedFormat":1},{"version":"5d357e7965026197a3152fa4e990fa7a4cbaf1578a17dff920ff1a71a325e198","impliedFormat":1},{"version":"8acf99b1c8682276a63ea5bb68433782715892726b97e4604a415e4e56bce41c","impliedFormat":1},{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true,"impliedFormat":1},{"version":"3b145a2351f5cf16abf999c8d5f4481c74dffdc54ec1e9a89992e2622e1226c5","impliedFormat":1},{"version":"a907bf91df26df2400858ef75f749498fb5cf00062bf90a737ac3949cc07978d","impliedFormat":1},{"version":"d270fd4b565eda11a0a737c181892316b7a1ace06c7988d0246219c3df11db06","impliedFormat":1},{"version":"70caef0271088abc5f5ae7ff6d84421d35bb192b690fbaa1b2ecf2b0ef01deb6","impliedFormat":1},{"version":"59a638a504490fecaacf0020b9814b6abee37edb66047eb1ab9f7c2274bf1da0","affectsGlobalScope":true,"impliedFormat":1},{"version":"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","impliedFormat":1},{"version":"d1a78a3c5708807e8de3e399f91df4797c62e44b02195eefc2209b2e713e54ee","impliedFormat":1},{"version":"8c4c1a64db28930732033c31418f817dcb9d09d706766707ae6d38f23faf0c53","impliedFormat":1},{"version":"25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","impliedFormat":1},{"version":"12a70315c8281e46d65696086dd25827408e967b305a22276ae2779fe519e0fe","impliedFormat":1},{"version":"1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","impliedFormat":1},{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true,"impliedFormat":1},{"version":"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","impliedFormat":1},{"version":"23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","impliedFormat":1},{"version":"29d613c3964ea75b2b4e0d17098245c34529282e9cc72b7e4eeb2a7b12c27cb7","impliedFormat":1},{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","impliedFormat":1},{"version":"a381f079c4804442f179d742fdb2e495fe28d67a47cac673485f75ae2e77aeca","impliedFormat":1},{"version":"3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","impliedFormat":1},{"version":"5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2","impliedFormat":1},{"version":"bfe39beb986d2a2e512c091cbe924f1c415bc65de54de0e2f6a0dc6f84c183d9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2af17363f8a062e3a8cd1b26030af0058b3f86e783f4fc6aa9f57247f240ebaa","impliedFormat":1},{"version":"06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","impliedFormat":1},{"version":"dfe08140492cdc135fb7fd9c4a652c05207b61a436906079b87da1d3111314bf","impliedFormat":1},{"version":"e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa","impliedFormat":1},{"version":"089e1f8603cbc35ab977c8dcc662eb754b82fca32ed1dfb16bd682726c2d5432","impliedFormat":1},{"version":"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"82fc37849846a3a0264047621d5beb6ce2ddeb2f83bdee2c79523af3c3282d97","impliedFormat":1},{"version":"8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","impliedFormat":1},{"version":"fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","impliedFormat":1},{"version":"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","impliedFormat":1},{"version":"8a19491eba2108d5c333c249699f40aff05ad312c04a17504573b27d91f0aede","impliedFormat":1}],"options":{"composite":true,"declaration":true,"module":5,"noImplicitAny":true,"noImplicitThis":true,"outDir":"..","rootDir":"../../src","strictNullChecks":true,"target":2},"fileIdsList":[[89],[60,61,89,96,97],[45,89],[48,89],[49,54,89],[50,60,61,68,77,88,89],[50,51,60,68,89],[52,89],[53,54,61,69,89],[54,77,85,89],[55,57,60,68,89],[56,89],[57,58,89],[59,60,89],[60,89],[60,61,62,77,88,89],[60,61,62,77,80,89],[89,93],[63,68,77,88,89],[60,61,63,64,68,77,85,88,89],[63,65,77,85,88,89],[45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],[60,66,89],[67,88,89],[57,60,68,77,89],[69,89],[70,89],[48,71,89],[72,87,89,93],[73,89],[74,89],[60,75,89],[75,76,89,91],[60,77,78,79,80,89],[77,79,89],[77,78,89],[80,89],[81,89],[60,83,84,89],[83,84,89],[54,68,77,85,89],[86,89],[68,87,89],[49,63,74,88,89],[54,89],[77,89,90],[89,91],[89,92],[49,54,60,62,71,77,88,89,91,93],[77,89,94],[89,96],[41,89],[41]],"referencedMap":[[44,1],[98,2],[99,1],[97,1],[45,3],[46,3],[48,4],[49,5],[50,6],[51,7],[52,8],[53,9],[54,10],[55,11],[56,12],[57,13],[58,13],[59,14],[60,15],[61,16],[62,17],[47,18],[95,1],[63,19],[64,20],[65,21],[96,22],[66,23],[67,24],[68,25],[69,26],[70,27],[71,28],[72,29],[73,30],[74,31],[75,32],[76,33],[77,34],[79,35],[78,36],[80,37],[81,38],[82,1],[83,39],[84,40],[85,41],[86,42],[87,43],[88,44],[89,45],[90,46],[91,47],[92,48],[93,49],[94,50],[100,51],[9,1],[8,1],[2,1],[10,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[3,1],[4,1],[21,1],[18,1],[19,1],[20,1],[22,1],[23,1],[24,1],[5,1],[25,1],[26,1],[27,1],[28,1],[6,1],[29,1],[30,1],[31,1],[32,1],[7,1],[33,1],[38,1],[39,1],[34,1],[35,1],[36,1],[37,1],[1,1],[40,1],[42,52],[41,1],[43,1]],"exportedModulesMap":[[44,1],[98,2],[99,1],[97,1],[45,3],[46,3],[48,4],[49,5],[50,6],[51,7],[52,8],[53,9],[54,10],[55,11],[56,12],[57,13],[58,13],[59,14],[60,15],[61,16],[62,17],[47,18],[95,1],[63,19],[64,20],[65,21],[96,22],[66,23],[67,24],[68,25],[69,26],[70,27],[71,28],[72,29],[73,30],[74,31],[75,32],[76,33],[77,34],[79,35],[78,36],[80,37],[81,38],[82,1],[83,39],[84,40],[85,41],[86,42],[87,43],[88,44],[89,45],[90,46],[91,47],[92,48],[93,49],[94,50],[100,51],[9,1],[8,1],[2,1],[10,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[3,1],[4,1],[21,1],[18,1],[19,1],[20,1],[22,1],[23,1],[24,1],[5,1],[25,1],[26,1],[27,1],[28,1],[6,1],[29,1],[30,1],[31,1],[32,1],[7,1],[33,1],[38,1],[39,1],[34,1],[35,1],[36,1],[37,1],[1,1],[40,1],[42,53]],"semanticDiagnosticsPerFile":[44,98,99,97,45,46,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,47,95,63,64,65,96,66,67,68,69,70,71,72,73,74,75,76,77,79,78,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,100,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,29,30,31,32,7,33,38,39,34,35,36,37,1,40,42,41,43]},"version":"4.7.4"}
|
package/lib/index.js
CHANGED
|
@@ -123,7 +123,7 @@ export default class API {
|
|
|
123
123
|
// no-cors issue only with text/plain or not-set Content-Type
|
|
124
124
|
// req.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
|
|
125
125
|
req.send(JSON.stringify({
|
|
126
|
-
trackerVersion: '3.5.
|
|
126
|
+
trackerVersion: '3.5.14',
|
|
127
127
|
projectKey: options.projectKey,
|
|
128
128
|
doNotTrack,
|
|
129
129
|
// TODO: add precise reason (an exact API missing)
|
|
@@ -154,7 +154,7 @@ export default class API {
|
|
|
154
154
|
if (this.app === null) {
|
|
155
155
|
return;
|
|
156
156
|
}
|
|
157
|
-
this.app.stop();
|
|
157
|
+
this.app.stop(true);
|
|
158
158
|
}
|
|
159
159
|
getSessionToken() {
|
|
160
160
|
if (this.app === null) {
|
package/lib/modules/console.d.ts
CHANGED
package/lib/modules/console.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { hasTag } from "../app/guards.js";
|
|
1
2
|
import { IN_BROWSER } from "../utils.js";
|
|
2
3
|
import { ConsoleLog } from "../common/messages.js";
|
|
3
4
|
const printError = IN_BROWSER && 'InstallTrigger' in window // detect Firefox
|
|
@@ -113,7 +114,7 @@ export default function (app, opts) {
|
|
|
113
114
|
});
|
|
114
115
|
patchConsole(window.console);
|
|
115
116
|
app.nodes.attachNodeCallback(app.safe(node => {
|
|
116
|
-
if (node
|
|
117
|
+
if (hasTag(node, "IFRAME")) { // TODO: newContextCallback
|
|
117
118
|
let context = node.contentWindow;
|
|
118
119
|
if (context) {
|
|
119
120
|
patchConsole(context.console);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import App from "../app/index.js";
|
|
1
|
+
import type App from "../app/index.js";
|
|
2
2
|
export default function (app: App | null): void;
|