@openreplay/tracker 3.5.16-beta.1 → 3.5.16

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.
@@ -46,8 +46,6 @@ declare type AppOptions = {
46
46
  __debug__?: LoggerOptions;
47
47
  localStorage: Storage;
48
48
  sessionStorage: Storage;
49
- maxMemorySize: number;
50
- memoryCheckInterval: number;
51
49
  onStart?: StartCallback;
52
50
  } & WebworkerOptions;
53
51
  export declare type Options = AppOptions & ObserverOptions & SanitizerOptions;
@@ -62,7 +60,6 @@ export default class App {
62
60
  readonly session: Session;
63
61
  readonly localStorage: Storage;
64
62
  readonly sessionStorage: Storage;
65
- private gc;
66
63
  private readonly messages;
67
64
  private readonly observer;
68
65
  private readonly startCallbacks;
package/cjs/app/index.js CHANGED
@@ -32,7 +32,7 @@ class App {
32
32
  this.stopCallbacks = [];
33
33
  this.commitCallbacks = [];
34
34
  this.activityState = ActivityState.NotActive;
35
- this.version = '3.5.16-beta.1'; // TODO: version compatability check inside each plugin.
35
+ this.version = '3.5.16'; // TODO: version compatability check inside each plugin.
36
36
  this.projectKey = projectKey;
37
37
  this.options = Object.assign({
38
38
  revID: '',
@@ -48,8 +48,6 @@ class App {
48
48
  __debug_report_edp: null,
49
49
  localStorage: window.localStorage,
50
50
  sessionStorage: window.sessionStorage,
51
- maxMemorySize: 650 * 1e6,
52
- memoryCheckInterval: 2 * 60 * 1000,
53
51
  }, options);
54
52
  this.revID = this.options.revID;
55
53
  this.sanitizer = new sanitizer_js_1.default(this, options);
@@ -318,16 +316,6 @@ class App {
318
316
  this.observer.observe();
319
317
  this.ticker.start();
320
318
  this.notify.log("OpenReplay tracking started.");
321
- // GC
322
- if (this.gc) {
323
- clearInterval(this.gc);
324
- }
325
- this.gc = setInterval(() => {
326
- // @ts-ignore
327
- if (window.performance.memory.usedJSHeapSize > this.options.maxMemorySize) {
328
- this.restart();
329
- }
330
- }, this.options.memoryCheckInterval);
331
319
  // get rid of onStart ?
332
320
  if (typeof this.options.onStart === 'function') {
333
321
  this.options.onStart(onStartInfo);
@@ -9,9 +9,10 @@ export default class Nodes {
9
9
  attachElementListener(type: string, node: Element, elementListener: EventListener): void;
10
10
  registerNode(node: Node): [id: number, isNew: boolean];
11
11
  unregisterNode(node: Node): number | undefined;
12
+ cleanTree(): void;
12
13
  callNodeCallbacks(node: Node, isStart: boolean): void;
13
14
  getID(node: Node): number | undefined;
14
- getNode(id: number): Node | undefined;
15
+ getNode(id: number): void | Node;
15
16
  clear(): void;
16
17
  }
17
18
  export {};
package/cjs/app/nodes.js CHANGED
@@ -38,7 +38,7 @@ class Nodes {
38
38
  const id = node[this.node_id];
39
39
  if (id !== undefined) {
40
40
  delete node[this.node_id];
41
- this.nodes[id] = undefined;
41
+ delete this.nodes[id];
42
42
  const listeners = this.elementListeners.get(id);
43
43
  if (listeners !== undefined) {
44
44
  this.elementListeners.delete(id);
@@ -47,12 +47,18 @@ class Nodes {
47
47
  }
48
48
  return id;
49
49
  }
50
- // cleanTree() {
51
- // if (this.nodes.length > 10000) {
52
- // this.nodes = this.nodes.filter((n) => n !== undefined && document.contains(n))
53
- // }
54
- // return;
55
- // }
50
+ cleanTree() {
51
+ // sadly we keep empty items in array here resulting in some memory still being used
52
+ // but its still better than keeping dead nodes or undef elements
53
+ // plus we keep our index positions for new/alive nodes
54
+ // performance test: 3ms for 30k nodes with 17k dead ones
55
+ for (let i = 0; i < this.nodes.length; i++) {
56
+ const node = this.nodes[i];
57
+ if (node && !document.contains(node)) {
58
+ this.unregisterNode(node);
59
+ }
60
+ }
61
+ }
56
62
  callNodeCallbacks(node, isStart) {
57
63
  this.nodeCallbacks.forEach((cb) => cb(node, isStart));
58
64
  }
@@ -13,6 +13,7 @@ export default abstract class Observer {
13
13
  private sendNodeAttribute;
14
14
  private sendNodeData;
15
15
  private bindNode;
16
+ private unbindChildNode;
16
17
  private bindTree;
17
18
  private unbindNode;
18
19
  private _commitNode;
@@ -32,11 +32,17 @@ function isObservable(node) {
32
32
  - fix unbinding logic + send all removals first (ensure sequence is correct)
33
33
  - use document as a 0-node in the upper context (should be updated in player at first)
34
34
  */
35
+ /*
36
+ Nikita:
37
+ - rn we only send unbind event for parent (all child nodes will be cut in the live replay anyways)
38
+ to prevent sending 1k+ unbinds for child nodes and making replay file bigger than it should be
39
+ */
35
40
  var RecentsType;
36
41
  (function (RecentsType) {
37
42
  RecentsType[RecentsType["New"] = 0] = "New";
38
43
  RecentsType[RecentsType["Removed"] = 1] = "Removed";
39
44
  RecentsType[RecentsType["Changed"] = 2] = "Changed";
45
+ RecentsType[RecentsType["RemovedChild"] = 3] = "RemovedChild";
40
46
  })(RecentsType || (RecentsType = {}));
41
47
  class Observer {
42
48
  constructor(app, isTopContext = false) {
@@ -56,7 +62,7 @@ class Observer {
56
62
  }
57
63
  if (type === 'childList') {
58
64
  for (let i = 0; i < mutation.removedNodes.length; i++) {
59
- this.bindTree(mutation.removedNodes[i]);
65
+ this.bindTree(mutation.removedNodes[i], true);
60
66
  }
61
67
  for (let i = 0; i < mutation.addedNodes.length; i++) {
62
68
  this.bindTree(mutation.addedNodes[i]);
@@ -161,20 +167,30 @@ class Observer {
161
167
  this.recents.set(id, RecentsType.Removed);
162
168
  }
163
169
  }
164
- bindTree(node) {
170
+ unbindChildNode(node) {
171
+ const [id] = this.app.nodes.registerNode(node);
172
+ this.recents.set(id, RecentsType.RemovedChild);
173
+ }
174
+ bindTree(node, isChildUnbinding = false) {
165
175
  if (!isObservable(node)) {
166
176
  return;
167
177
  }
168
178
  this.bindNode(node);
169
179
  const walker = document.createTreeWalker(node, NodeFilter.SHOW_ELEMENT + NodeFilter.SHOW_TEXT, {
170
- acceptNode: (node) => isIgnored(node) || this.app.nodes.getID(node) !== undefined
180
+ acceptNode: (node) => isIgnored(node)
181
+ || (this.app.nodes.getID(node) !== undefined && !isChildUnbinding)
171
182
  ? NodeFilter.FILTER_REJECT
172
183
  : NodeFilter.FILTER_ACCEPT,
173
184
  },
174
185
  // @ts-ignore
175
186
  false);
176
187
  while (walker.nextNode()) {
177
- this.bindNode(walker.currentNode);
188
+ if (isChildUnbinding) {
189
+ this.unbindChildNode(walker.currentNode);
190
+ }
191
+ else {
192
+ this.bindNode(walker.currentNode);
193
+ }
178
194
  }
179
195
  }
180
196
  unbindNode(node) {
@@ -182,7 +198,6 @@ class Observer {
182
198
  if (id !== undefined && this.recents.get(id) === RecentsType.Removed) {
183
199
  this.app.send(new messages_js_1.RemoveNode(id));
184
200
  }
185
- return id;
186
201
  }
187
202
  // A top-consumption function on the infinite lists test. (~1% of performance resources)
188
203
  _commitNode(id, node) {
package/cjs/index.js CHANGED
@@ -127,7 +127,7 @@ class API {
127
127
  // no-cors issue only with text/plain or not-set Content-Type
128
128
  // req.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
129
129
  req.send(JSON.stringify({
130
- trackerVersion: '3.5.16-beta.1',
130
+ trackerVersion: '3.5.16',
131
131
  projectKey: options.projectKey,
132
132
  doNotTrack,
133
133
  // TODO: add precise reason (an exact API missing)
@@ -67,7 +67,7 @@ function default_1(app, opts) {
67
67
  const options = Object.assign({
68
68
  obscureInputNumbers: true,
69
69
  obscureInputEmails: true,
70
- defaultInputMode: 0 /* InputMode.Plain */,
70
+ defaultInputMode: 0 /* Plain */,
71
71
  obscureInputDates: false,
72
72
  }, opts);
73
73
  function sendInputTarget(id, node) {
@@ -80,23 +80,23 @@ function default_1(app, opts) {
80
80
  let value = node.value;
81
81
  let inputMode = options.defaultInputMode;
82
82
  if (node.type === 'password' || (0, utils_js_1.hasOpenreplayAttribute)(node, 'hidden')) {
83
- inputMode = 2 /* InputMode.Hidden */;
83
+ inputMode = 2 /* Hidden */;
84
84
  }
85
85
  else if ((0, utils_js_1.hasOpenreplayAttribute)(node, 'obscured') ||
86
- (inputMode === 0 /* InputMode.Plain */ &&
86
+ (inputMode === 0 /* Plain */ &&
87
87
  ((options.obscureInputNumbers && node.type !== 'date' && /\d\d\d\d/.test(value)) ||
88
88
  (options.obscureInputDates && node.type === 'date') ||
89
89
  (options.obscureInputEmails &&
90
90
  (node.type === 'email' || !!~value.indexOf('@')))))) {
91
- inputMode = 1 /* InputMode.Obscured */;
91
+ inputMode = 1 /* Obscured */;
92
92
  }
93
93
  let mask = 0;
94
94
  switch (inputMode) {
95
- case 2 /* InputMode.Hidden */:
95
+ case 2 /* Hidden */:
96
96
  mask = -1;
97
97
  value = '';
98
98
  break;
99
- case 1 /* InputMode.Obscured */:
99
+ case 1 /* Obscured */:
100
100
  mask = value.length;
101
101
  value = '';
102
102
  break;
@@ -114,6 +114,8 @@ function default_1(app, opts) {
114
114
  app.ticker.attach(() => {
115
115
  inputValues.forEach((value, id) => {
116
116
  const node = app.nodes.getNode(id);
117
+ if (!node)
118
+ return;
117
119
  if (!isTextEditable(node)) {
118
120
  inputValues.delete(id);
119
121
  return;
@@ -129,6 +131,8 @@ function default_1(app, opts) {
129
131
  });
130
132
  checkableValues.forEach((checked, id) => {
131
133
  const node = app.nodes.getNode(id);
134
+ if (!node)
135
+ return;
132
136
  if (!isCheckable(node)) {
133
137
  checkableValues.delete(id);
134
138
  return;
@@ -46,8 +46,6 @@ declare type AppOptions = {
46
46
  __debug__?: LoggerOptions;
47
47
  localStorage: Storage;
48
48
  sessionStorage: Storage;
49
- maxMemorySize: number;
50
- memoryCheckInterval: number;
51
49
  onStart?: StartCallback;
52
50
  } & WebworkerOptions;
53
51
  export declare type Options = AppOptions & ObserverOptions & SanitizerOptions;
@@ -62,7 +60,6 @@ export default class App {
62
60
  readonly session: Session;
63
61
  readonly localStorage: Storage;
64
62
  readonly sessionStorage: Storage;
65
- private gc;
66
63
  private readonly messages;
67
64
  private readonly observer;
68
65
  private readonly startCallbacks;
package/lib/app/index.js CHANGED
@@ -29,7 +29,7 @@ export default class App {
29
29
  this.stopCallbacks = [];
30
30
  this.commitCallbacks = [];
31
31
  this.activityState = ActivityState.NotActive;
32
- this.version = '3.5.16-beta.1'; // TODO: version compatability check inside each plugin.
32
+ this.version = '3.5.16'; // TODO: version compatability check inside each plugin.
33
33
  this.projectKey = projectKey;
34
34
  this.options = Object.assign({
35
35
  revID: '',
@@ -45,8 +45,6 @@ export default class App {
45
45
  __debug_report_edp: null,
46
46
  localStorage: window.localStorage,
47
47
  sessionStorage: window.sessionStorage,
48
- maxMemorySize: 650 * 1e6,
49
- memoryCheckInterval: 2 * 60 * 1000,
50
48
  }, options);
51
49
  this.revID = this.options.revID;
52
50
  this.sanitizer = new Sanitizer(this, options);
@@ -315,16 +313,6 @@ export default class App {
315
313
  this.observer.observe();
316
314
  this.ticker.start();
317
315
  this.notify.log("OpenReplay tracking started.");
318
- // GC
319
- if (this.gc) {
320
- clearInterval(this.gc);
321
- }
322
- this.gc = setInterval(() => {
323
- // @ts-ignore
324
- if (window.performance.memory.usedJSHeapSize > this.options.maxMemorySize) {
325
- this.restart();
326
- }
327
- }, this.options.memoryCheckInterval);
328
316
  // get rid of onStart ?
329
317
  if (typeof this.options.onStart === 'function') {
330
318
  this.options.onStart(onStartInfo);
@@ -9,9 +9,10 @@ export default class Nodes {
9
9
  attachElementListener(type: string, node: Element, elementListener: EventListener): void;
10
10
  registerNode(node: Node): [id: number, isNew: boolean];
11
11
  unregisterNode(node: Node): number | undefined;
12
+ cleanTree(): void;
12
13
  callNodeCallbacks(node: Node, isStart: boolean): void;
13
14
  getID(node: Node): number | undefined;
14
- getNode(id: number): Node | undefined;
15
+ getNode(id: number): void | Node;
15
16
  clear(): void;
16
17
  }
17
18
  export {};
package/lib/app/nodes.js CHANGED
@@ -36,7 +36,7 @@ export default class Nodes {
36
36
  const id = node[this.node_id];
37
37
  if (id !== undefined) {
38
38
  delete node[this.node_id];
39
- this.nodes[id] = undefined;
39
+ delete this.nodes[id];
40
40
  const listeners = this.elementListeners.get(id);
41
41
  if (listeners !== undefined) {
42
42
  this.elementListeners.delete(id);
@@ -45,12 +45,18 @@ export default class Nodes {
45
45
  }
46
46
  return id;
47
47
  }
48
- // cleanTree() {
49
- // if (this.nodes.length > 10000) {
50
- // this.nodes = this.nodes.filter((n) => n !== undefined && document.contains(n))
51
- // }
52
- // return;
53
- // }
48
+ cleanTree() {
49
+ // sadly we keep empty items in array here resulting in some memory still being used
50
+ // but its still better than keeping dead nodes or undef elements
51
+ // plus we keep our index positions for new/alive nodes
52
+ // performance test: 3ms for 30k nodes with 17k dead ones
53
+ for (let i = 0; i < this.nodes.length; i++) {
54
+ const node = this.nodes[i];
55
+ if (node && !document.contains(node)) {
56
+ this.unregisterNode(node);
57
+ }
58
+ }
59
+ }
54
60
  callNodeCallbacks(node, isStart) {
55
61
  this.nodeCallbacks.forEach((cb) => cb(node, isStart));
56
62
  }
@@ -13,6 +13,7 @@ export default abstract class Observer {
13
13
  private sendNodeAttribute;
14
14
  private sendNodeData;
15
15
  private bindNode;
16
+ private unbindChildNode;
16
17
  private bindTree;
17
18
  private unbindNode;
18
19
  private _commitNode;
@@ -30,11 +30,17 @@ function isObservable(node) {
30
30
  - fix unbinding logic + send all removals first (ensure sequence is correct)
31
31
  - use document as a 0-node in the upper context (should be updated in player at first)
32
32
  */
33
+ /*
34
+ Nikita:
35
+ - rn we only send unbind event for parent (all child nodes will be cut in the live replay anyways)
36
+ to prevent sending 1k+ unbinds for child nodes and making replay file bigger than it should be
37
+ */
33
38
  var RecentsType;
34
39
  (function (RecentsType) {
35
40
  RecentsType[RecentsType["New"] = 0] = "New";
36
41
  RecentsType[RecentsType["Removed"] = 1] = "Removed";
37
42
  RecentsType[RecentsType["Changed"] = 2] = "Changed";
43
+ RecentsType[RecentsType["RemovedChild"] = 3] = "RemovedChild";
38
44
  })(RecentsType || (RecentsType = {}));
39
45
  export default class Observer {
40
46
  constructor(app, isTopContext = false) {
@@ -54,7 +60,7 @@ export default class Observer {
54
60
  }
55
61
  if (type === 'childList') {
56
62
  for (let i = 0; i < mutation.removedNodes.length; i++) {
57
- this.bindTree(mutation.removedNodes[i]);
63
+ this.bindTree(mutation.removedNodes[i], true);
58
64
  }
59
65
  for (let i = 0; i < mutation.addedNodes.length; i++) {
60
66
  this.bindTree(mutation.addedNodes[i]);
@@ -159,20 +165,30 @@ export default class Observer {
159
165
  this.recents.set(id, RecentsType.Removed);
160
166
  }
161
167
  }
162
- bindTree(node) {
168
+ unbindChildNode(node) {
169
+ const [id] = this.app.nodes.registerNode(node);
170
+ this.recents.set(id, RecentsType.RemovedChild);
171
+ }
172
+ bindTree(node, isChildUnbinding = false) {
163
173
  if (!isObservable(node)) {
164
174
  return;
165
175
  }
166
176
  this.bindNode(node);
167
177
  const walker = document.createTreeWalker(node, NodeFilter.SHOW_ELEMENT + NodeFilter.SHOW_TEXT, {
168
- acceptNode: (node) => isIgnored(node) || this.app.nodes.getID(node) !== undefined
178
+ acceptNode: (node) => isIgnored(node)
179
+ || (this.app.nodes.getID(node) !== undefined && !isChildUnbinding)
169
180
  ? NodeFilter.FILTER_REJECT
170
181
  : NodeFilter.FILTER_ACCEPT,
171
182
  },
172
183
  // @ts-ignore
173
184
  false);
174
185
  while (walker.nextNode()) {
175
- this.bindNode(walker.currentNode);
186
+ if (isChildUnbinding) {
187
+ this.unbindChildNode(walker.currentNode);
188
+ }
189
+ else {
190
+ this.bindNode(walker.currentNode);
191
+ }
176
192
  }
177
193
  }
178
194
  unbindNode(node) {
@@ -180,7 +196,6 @@ export default class Observer {
180
196
  if (id !== undefined && this.recents.get(id) === RecentsType.Removed) {
181
197
  this.app.send(new RemoveNode(id));
182
198
  }
183
- return id;
184
199
  }
185
200
  // A top-consumption function on the infinite lists test. (~1% of performance resources)
186
201
  _commitNode(id, node) {
@@ -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.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":"baec8b4c43740360bd330f9d1870063a421f4c0070580f329777c0df8604bc72","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"}
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.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.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":"ca3c1cd7464b613bf148a1422cb3201fe083e08565a02dc99eaad0d2977c16a7","affectsGlobalScope":true,"impliedFormat":1},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"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":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true,"impliedFormat":1},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true,"impliedFormat":1},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","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":"ca06fa264234f5895ebfe13ec1f578ee1c18a0d02219a54c3cdad296686251cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true,"impliedFormat":1},"8f2ce078b846e85a1e1d9608ee441d1b01babad7059966dafb3fb203c0be58b3","57f6a26ef13806a81f4fd41f0afc9745f8133850172d593bd8a873f8ac8ef8e1","f7bf98d3ccfb7f6ef1048b3e7a947df1494dd7a5ee1013745450814613920c51","89ccbe04e737ce613f5f04990271cfa84901446350b8551b0555ddf19319723b","9122ed7070e054b73ebab37c2373a196def2d90e7d1a9a7fcd9d46b0e51fae78","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"77f0b5c6a193a699c9f7d7fb0578e64e562d271afa740783665d2a827104a873","affectsGlobalScope":true,"impliedFormat":1},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"3e4624c306340ad303cc536a07004e81336c3f088308a9e4a9f4c957a3cda2fd","affectsGlobalScope":true,"impliedFormat":1},"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true,"impliedFormat":1},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","34ec1daf3566f26c43dbab380af0de1aac29166e57e4f9ef379a2f154e0cb290","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","75ecef44f126e2ae018b4abbd85b6e8a2e2ba1638ebec56cc64274643ce3567b","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"249a2b90439cdfd51709539fbfa4dfe0791cbae6efce1e9b327ba8f8cd703f49","affectsGlobalScope":true,"impliedFormat":1},"2f60ac046e587e917d739f1edc77540eb0ec34f83090dae4ebd5f96c1c9578d4","a9b6b0f7b1e30359283b131ba6d1c51ee2d3601a2f12e1623141e6a1a60c92a5","aeee0090b38de0dd47ca9a79ad5c2d156e3e09d92306719b0b45a3e96098e564","7bac475dcdd9f7e4e9da934d32c305bc889c4ce3c8ac0ef45a93a8d670fff607","09416dd69576b03a3f485adf329a02f043e4a481e060ef5b208194e488d31fd9","8acf99b1c8682276a63ea5bb68433782715892726b97e4604a415e4e56bce41c",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true,"impliedFormat":1},"3b145a2351f5cf16abf999c8d5f4481c74dffdc54ec1e9a89992e2622e1226c5","a907bf91df26df2400858ef75f749498fb5cf00062bf90a737ac3949cc07978d","d270fd4b565eda11a0a737c181892316b7a1ace06c7988d0246219c3df11db06","4275d5f964e7fc7afc18538e26b3748c207dd772998346d17f409749aa1f3a63",{"version":"59a638a504490fecaacf0020b9814b6abee37edb66047eb1ab9f7c2274bf1da0","affectsGlobalScope":true,"impliedFormat":1},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","d1a78a3c5708807e8de3e399f91df4797c62e44b02195eefc2209b2e713e54ee","8c4c1a64db28930732033c31418f817dcb9d09d706766707ae6d38f23faf0c53","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","556bf5c36deb62cffa1bf697c1789fe008ec82db0273025001db66732714e9d9","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true,"impliedFormat":1},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","653968fc1b35c5eb3d273d36fac1c1dc66f9537edf28f33485b8776bd956e23d",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true,"impliedFormat":1},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","a381f079c4804442f179d742fdb2e495fe28d67a47cac673485f75ae2e77aeca","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"bfe39beb986d2a2e512c091cbe924f1c415bc65de54de0e2f6a0dc6f84c183d9","affectsGlobalScope":true,"impliedFormat":1},"2af17363f8a062e3a8cd1b26030af0058b3f86e783f4fc6aa9f57247f240ebaa","06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","dfe08140492cdc135fb7fd9c4a652c05207b61a436906079b87da1d3111314bf","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa","089e1f8603cbc35ab977c8dcc662eb754b82fca32ed1dfb16bd682726c2d5432","8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},"64d5585e08ad1ab194b18bf4e851f22a626eae33ac7312ca4ba90bb7ea7daf64","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","8a19491eba2108d5c333c249699f40aff05ad312c04a17504573b27d91f0aede"],"options":{"composite":true,"declaration":true,"module":5,"noImplicitAny":true,"noImplicitThis":true,"outDir":"..","rootDir":"../../src","strictNullChecks":true,"target":2},"fileIdsList":[[87],[58,59,87,94,95],[43,87],[46,87],[47,52,87],[48,58,59,66,75,86,87],[48,49,58,66,87],[50,87],[51,52,59,67,87],[52,75,83,87],[53,55,58,66,87],[54,87],[55,56,87],[57,58,87],[58,87],[58,59,60,75,86,87],[58,59,60,75,78,87],[87,91],[61,66,75,86,87],[58,59,61,62,66,75,83,86,87],[61,63,75,83,86,87],[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,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93],[58,64,87],[65,86,87],[55,58,66,75,87],[67,87],[68,87],[46,69,87],[70,85,87,91],[71,87],[72,87],[58,73,87],[73,74,87,89],[58,75,76,77,78,87],[75,77,87],[75,76,87],[78,87],[79,87],[58,81,82,87],[81,82,87],[52,66,75,83,87],[84,87],[66,85,87],[47,61,72,86,87],[52,87],[75,87,88],[87,89],[87,90],[47,52,58,60,69,75,86,87,89,91],[75,87,92],[87,94],[39,87]],"referencedMap":[[42,1],[96,2],[97,1],[95,1],[43,3],[44,3],[46,4],[47,5],[48,6],[49,7],[50,8],[51,9],[52,10],[53,11],[54,12],[55,13],[56,13],[57,14],[58,15],[59,16],[60,17],[45,18],[93,1],[61,19],[62,20],[63,21],[94,22],[64,23],[65,24],[66,25],[67,26],[68,27],[69,28],[70,29],[71,30],[72,31],[73,32],[74,33],[75,34],[77,35],[76,36],[78,37],[79,38],[80,1],[81,39],[82,40],[83,41],[84,42],[85,43],[86,44],[87,45],[88,46],[89,47],[90,48],[91,49],[92,50],[98,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],[37,1],[33,1],[34,1],[35,1],[36,1],[1,1],[38,1],[40,52],[39,1],[41,1]],"exportedModulesMap":[[42,1],[96,2],[97,1],[95,1],[43,3],[44,3],[46,4],[47,5],[48,6],[49,7],[50,8],[51,9],[52,10],[53,11],[54,12],[55,13],[56,13],[57,14],[58,15],[59,16],[60,17],[45,18],[93,1],[61,19],[62,20],[63,21],[94,22],[64,23],[65,24],[66,25],[67,26],[68,27],[69,28],[70,29],[71,30],[72,31],[73,32],[74,33],[75,34],[77,35],[76,36],[78,37],[79,38],[80,1],[81,39],[82,40],[83,41],[84,42],[85,43],[86,44],[87,45],[88,46],[89,47],[90,48],[91,49],[92,50],[98,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],[37,1],[33,1],[34,1],[35,1],[36,1],[1,1],[38,1],[40,52],[39,1],[41,1]],"semanticDiagnosticsPerFile":[42,96,97,95,43,44,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,45,93,61,62,63,94,64,65,66,67,68,69,70,71,72,73,74,75,77,76,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,98,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,37,33,34,35,36,1,38,40,39,41]},"version":"4.6.0-dev.20211126"}
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.16-beta.1',
126
+ trackerVersion: '3.5.16',
127
127
  projectKey: options.projectKey,
128
128
  doNotTrack,
129
129
  // TODO: add precise reason (an exact API missing)
@@ -63,7 +63,7 @@ export default function (app, opts) {
63
63
  const options = Object.assign({
64
64
  obscureInputNumbers: true,
65
65
  obscureInputEmails: true,
66
- defaultInputMode: 0 /* InputMode.Plain */,
66
+ defaultInputMode: 0 /* Plain */,
67
67
  obscureInputDates: false,
68
68
  }, opts);
69
69
  function sendInputTarget(id, node) {
@@ -76,23 +76,23 @@ export default function (app, opts) {
76
76
  let value = node.value;
77
77
  let inputMode = options.defaultInputMode;
78
78
  if (node.type === 'password' || hasOpenreplayAttribute(node, 'hidden')) {
79
- inputMode = 2 /* InputMode.Hidden */;
79
+ inputMode = 2 /* Hidden */;
80
80
  }
81
81
  else if (hasOpenreplayAttribute(node, 'obscured') ||
82
- (inputMode === 0 /* InputMode.Plain */ &&
82
+ (inputMode === 0 /* Plain */ &&
83
83
  ((options.obscureInputNumbers && node.type !== 'date' && /\d\d\d\d/.test(value)) ||
84
84
  (options.obscureInputDates && node.type === 'date') ||
85
85
  (options.obscureInputEmails &&
86
86
  (node.type === 'email' || !!~value.indexOf('@')))))) {
87
- inputMode = 1 /* InputMode.Obscured */;
87
+ inputMode = 1 /* Obscured */;
88
88
  }
89
89
  let mask = 0;
90
90
  switch (inputMode) {
91
- case 2 /* InputMode.Hidden */:
91
+ case 2 /* Hidden */:
92
92
  mask = -1;
93
93
  value = '';
94
94
  break;
95
- case 1 /* InputMode.Obscured */:
95
+ case 1 /* Obscured */:
96
96
  mask = value.length;
97
97
  value = '';
98
98
  break;
@@ -110,6 +110,8 @@ export default function (app, opts) {
110
110
  app.ticker.attach(() => {
111
111
  inputValues.forEach((value, id) => {
112
112
  const node = app.nodes.getNode(id);
113
+ if (!node)
114
+ return;
113
115
  if (!isTextEditable(node)) {
114
116
  inputValues.delete(id);
115
117
  return;
@@ -125,6 +127,8 @@ export default function (app, opts) {
125
127
  });
126
128
  checkableValues.forEach((checked, id) => {
127
129
  const node = app.nodes.getNode(id);
130
+ if (!node)
131
+ return;
128
132
  if (!isCheckable(node)) {
129
133
  checkableValues.delete(id);
130
134
  return;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@openreplay/tracker",
3
3
  "description": "The OpenReplay tracker main package",
4
- "version": "3.5.16-beta.1",
4
+ "version": "3.5.16",
5
5
  "keywords": [
6
6
  "logging",
7
7
  "replay"