@openreplay/tracker 3.6.3 → 4.0.0

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.
Files changed (128) hide show
  1. package/.eslintignore +8 -0
  2. package/.prettierignore +1 -0
  3. package/LICENSE +1 -1
  4. package/cjs/app/guards.d.ts +2 -1
  5. package/cjs/app/guards.js +6 -3
  6. package/cjs/app/index.d.ts +28 -23
  7. package/cjs/app/index.js +101 -83
  8. package/cjs/app/logger.js +6 -3
  9. package/cjs/app/messages.d.ts +52 -0
  10. package/cjs/app/messages.gen.d.ts +57 -0
  11. package/cjs/app/messages.gen.js +493 -0
  12. package/cjs/app/messages.js +234 -0
  13. package/cjs/app/nodes.d.ts +1 -1
  14. package/cjs/app/nodes.js +2 -0
  15. package/cjs/app/observer/iframe_observer.d.ts +1 -1
  16. package/cjs/app/observer/iframe_observer.js +3 -3
  17. package/cjs/app/observer/observer.d.ts +2 -3
  18. package/cjs/app/observer/observer.js +50 -52
  19. package/cjs/app/observer/shadow_root_observer.d.ts +1 -1
  20. package/cjs/app/observer/shadow_root_observer.js +3 -3
  21. package/cjs/app/observer/top_observer.d.ts +13 -2
  22. package/cjs/app/observer/top_observer.js +58 -23
  23. package/cjs/app/sanitizer.d.ts +1 -1
  24. package/cjs/app/sanitizer.js +5 -5
  25. package/cjs/app/session.d.ts +20 -2
  26. package/cjs/app/session.js +65 -6
  27. package/cjs/app/ticker.d.ts +1 -1
  28. package/cjs/common/{webworker.d.ts → interaction.d.ts} +5 -5
  29. package/cjs/common/{types.js → interaction.js} +0 -0
  30. package/cjs/common/messages.gen.d.ts +382 -0
  31. package/cjs/common/{webworker.js → messages.gen.js} +1 -0
  32. package/cjs/index.d.ts +10 -9
  33. package/cjs/index.js +47 -36
  34. package/cjs/modules/adoptedStyleSheets.d.ts +2 -0
  35. package/cjs/modules/adoptedStyleSheets.js +127 -0
  36. package/cjs/modules/connection.d.ts +1 -1
  37. package/cjs/modules/connection.js +2 -2
  38. package/cjs/modules/console.d.ts +1 -1
  39. package/cjs/modules/console.js +7 -21
  40. package/cjs/modules/cssrules.d.ts +1 -1
  41. package/cjs/modules/cssrules.js +18 -14
  42. package/cjs/modules/exception.d.ts +3 -3
  43. package/cjs/modules/exception.js +23 -18
  44. package/cjs/modules/img.d.ts +1 -1
  45. package/cjs/modules/img.js +39 -26
  46. package/cjs/modules/input.d.ts +1 -1
  47. package/cjs/modules/input.js +21 -21
  48. package/cjs/modules/mouse.d.ts +1 -1
  49. package/cjs/modules/mouse.js +50 -43
  50. package/cjs/modules/performance.d.ts +1 -1
  51. package/cjs/modules/performance.js +2 -2
  52. package/cjs/modules/scroll.d.ts +1 -1
  53. package/cjs/modules/scroll.js +16 -7
  54. package/cjs/modules/timing.d.ts +1 -1
  55. package/cjs/modules/timing.js +14 -26
  56. package/cjs/modules/viewport.d.ts +1 -1
  57. package/cjs/modules/viewport.js +4 -4
  58. package/cjs/utils.js +7 -7
  59. package/cjs/vendors/finder/finder.js +53 -48
  60. package/lib/app/guards.d.ts +2 -1
  61. package/lib/app/guards.js +4 -2
  62. package/lib/app/index.d.ts +28 -23
  63. package/lib/app/index.js +109 -91
  64. package/lib/app/logger.js +6 -3
  65. package/lib/app/messages.d.ts +52 -0
  66. package/lib/app/messages.gen.d.ts +57 -0
  67. package/lib/app/messages.gen.js +434 -0
  68. package/lib/app/messages.js +181 -0
  69. package/lib/app/nodes.d.ts +1 -1
  70. package/lib/app/nodes.js +2 -0
  71. package/lib/app/observer/iframe_observer.d.ts +1 -1
  72. package/lib/app/observer/iframe_observer.js +3 -3
  73. package/lib/app/observer/observer.d.ts +2 -3
  74. package/lib/app/observer/observer.js +51 -53
  75. package/lib/app/observer/shadow_root_observer.d.ts +1 -1
  76. package/lib/app/observer/shadow_root_observer.js +3 -3
  77. package/lib/app/observer/top_observer.d.ts +13 -2
  78. package/lib/app/observer/top_observer.js +62 -27
  79. package/lib/app/sanitizer.d.ts +1 -1
  80. package/lib/app/sanitizer.js +7 -7
  81. package/lib/app/session.d.ts +20 -2
  82. package/lib/app/session.js +65 -6
  83. package/lib/app/ticker.d.ts +1 -1
  84. package/lib/common/{webworker.d.ts → interaction.d.ts} +5 -5
  85. package/lib/common/{types.js → interaction.js} +0 -0
  86. package/lib/common/messages.gen.d.ts +382 -0
  87. package/lib/common/messages.gen.js +2 -0
  88. package/lib/common/tsconfig.tsbuildinfo +1 -1
  89. package/lib/index.d.ts +10 -9
  90. package/lib/index.js +60 -49
  91. package/lib/modules/adoptedStyleSheets.d.ts +2 -0
  92. package/lib/modules/adoptedStyleSheets.js +124 -0
  93. package/lib/modules/connection.d.ts +1 -1
  94. package/lib/modules/connection.js +2 -2
  95. package/lib/modules/console.d.ts +1 -1
  96. package/lib/modules/console.js +8 -22
  97. package/lib/modules/cssrules.d.ts +1 -1
  98. package/lib/modules/cssrules.js +19 -15
  99. package/lib/modules/exception.d.ts +3 -3
  100. package/lib/modules/exception.js +23 -18
  101. package/lib/modules/img.d.ts +1 -1
  102. package/lib/modules/img.js +41 -28
  103. package/lib/modules/input.d.ts +1 -1
  104. package/lib/modules/input.js +23 -23
  105. package/lib/modules/mouse.d.ts +1 -1
  106. package/lib/modules/mouse.js +53 -46
  107. package/lib/modules/performance.d.ts +1 -1
  108. package/lib/modules/performance.js +3 -3
  109. package/lib/modules/scroll.d.ts +1 -1
  110. package/lib/modules/scroll.js +17 -8
  111. package/lib/modules/timing.d.ts +1 -1
  112. package/lib/modules/timing.js +16 -28
  113. package/lib/modules/viewport.d.ts +1 -1
  114. package/lib/modules/viewport.js +4 -4
  115. package/lib/utils.js +7 -7
  116. package/lib/vendors/finder/finder.js +53 -48
  117. package/package.json +27 -10
  118. package/cjs/common/messages.d.ts +0 -444
  119. package/cjs/common/messages.js +0 -794
  120. package/cjs/common/types.d.ts +0 -9
  121. package/cjs/modules/longtasks.d.ts +0 -2
  122. package/cjs/modules/longtasks.js +0 -26
  123. package/lib/common/messages.d.ts +0 -444
  124. package/lib/common/messages.js +0 -790
  125. package/lib/common/types.d.ts +0 -9
  126. package/lib/common/webworker.js +0 -1
  127. package/lib/modules/longtasks.d.ts +0 -2
  128. package/lib/modules/longtasks.js +0 -23
@@ -0,0 +1,434 @@
1
+ // Auto-generated, do not edit
2
+ export function BatchMetadata(version, pageNo, firstIndex, timestamp, location) {
3
+ return [
4
+ 81 /* BatchMetadata */,
5
+ version,
6
+ pageNo,
7
+ firstIndex,
8
+ timestamp,
9
+ location,
10
+ ];
11
+ }
12
+ export function PartitionedMessage(partNo, partTotal) {
13
+ return [
14
+ 82 /* PartitionedMessage */,
15
+ partNo,
16
+ partTotal,
17
+ ];
18
+ }
19
+ export function Timestamp(timestamp) {
20
+ return [
21
+ 0 /* Timestamp */,
22
+ timestamp,
23
+ ];
24
+ }
25
+ export function SetPageLocation(url, referrer, navigationStart) {
26
+ return [
27
+ 4 /* SetPageLocation */,
28
+ url,
29
+ referrer,
30
+ navigationStart,
31
+ ];
32
+ }
33
+ export function SetViewportSize(width, height) {
34
+ return [
35
+ 5 /* SetViewportSize */,
36
+ width,
37
+ height,
38
+ ];
39
+ }
40
+ export function SetViewportScroll(x, y) {
41
+ return [
42
+ 6 /* SetViewportScroll */,
43
+ x,
44
+ y,
45
+ ];
46
+ }
47
+ export function CreateDocument() {
48
+ return [
49
+ 7 /* CreateDocument */,
50
+ ];
51
+ }
52
+ export function CreateElementNode(id, parentID, index, tag, svg) {
53
+ return [
54
+ 8 /* CreateElementNode */,
55
+ id,
56
+ parentID,
57
+ index,
58
+ tag,
59
+ svg,
60
+ ];
61
+ }
62
+ export function CreateTextNode(id, parentID, index) {
63
+ return [
64
+ 9 /* CreateTextNode */,
65
+ id,
66
+ parentID,
67
+ index,
68
+ ];
69
+ }
70
+ export function MoveNode(id, parentID, index) {
71
+ return [
72
+ 10 /* MoveNode */,
73
+ id,
74
+ parentID,
75
+ index,
76
+ ];
77
+ }
78
+ export function RemoveNode(id) {
79
+ return [
80
+ 11 /* RemoveNode */,
81
+ id,
82
+ ];
83
+ }
84
+ export function SetNodeAttribute(id, name, value) {
85
+ return [
86
+ 12 /* SetNodeAttribute */,
87
+ id,
88
+ name,
89
+ value,
90
+ ];
91
+ }
92
+ export function RemoveNodeAttribute(id, name) {
93
+ return [
94
+ 13 /* RemoveNodeAttribute */,
95
+ id,
96
+ name,
97
+ ];
98
+ }
99
+ export function SetNodeData(id, data) {
100
+ return [
101
+ 14 /* SetNodeData */,
102
+ id,
103
+ data,
104
+ ];
105
+ }
106
+ export function SetNodeScroll(id, x, y) {
107
+ return [
108
+ 16 /* SetNodeScroll */,
109
+ id,
110
+ x,
111
+ y,
112
+ ];
113
+ }
114
+ export function SetInputTarget(id, label) {
115
+ return [
116
+ 17 /* SetInputTarget */,
117
+ id,
118
+ label,
119
+ ];
120
+ }
121
+ export function SetInputValue(id, value, mask) {
122
+ return [
123
+ 18 /* SetInputValue */,
124
+ id,
125
+ value,
126
+ mask,
127
+ ];
128
+ }
129
+ export function SetInputChecked(id, checked) {
130
+ return [
131
+ 19 /* SetInputChecked */,
132
+ id,
133
+ checked,
134
+ ];
135
+ }
136
+ export function MouseMove(x, y) {
137
+ return [
138
+ 20 /* MouseMove */,
139
+ x,
140
+ y,
141
+ ];
142
+ }
143
+ export function ConsoleLog(level, value) {
144
+ return [
145
+ 22 /* ConsoleLog */,
146
+ level,
147
+ value,
148
+ ];
149
+ }
150
+ export function PageLoadTiming(requestStart, responseStart, responseEnd, domContentLoadedEventStart, domContentLoadedEventEnd, loadEventStart, loadEventEnd, firstPaint, firstContentfulPaint) {
151
+ return [
152
+ 23 /* PageLoadTiming */,
153
+ requestStart,
154
+ responseStart,
155
+ responseEnd,
156
+ domContentLoadedEventStart,
157
+ domContentLoadedEventEnd,
158
+ loadEventStart,
159
+ loadEventEnd,
160
+ firstPaint,
161
+ firstContentfulPaint,
162
+ ];
163
+ }
164
+ export function PageRenderTiming(speedIndex, visuallyComplete, timeToInteractive) {
165
+ return [
166
+ 24 /* PageRenderTiming */,
167
+ speedIndex,
168
+ visuallyComplete,
169
+ timeToInteractive,
170
+ ];
171
+ }
172
+ export function JSException(name, message, payload) {
173
+ return [
174
+ 25 /* JSException */,
175
+ name,
176
+ message,
177
+ payload,
178
+ ];
179
+ }
180
+ export function RawCustomEvent(name, payload) {
181
+ return [
182
+ 27 /* RawCustomEvent */,
183
+ name,
184
+ payload,
185
+ ];
186
+ }
187
+ export function UserID(id) {
188
+ return [
189
+ 28 /* UserID */,
190
+ id,
191
+ ];
192
+ }
193
+ export function UserAnonymousID(id) {
194
+ return [
195
+ 29 /* UserAnonymousID */,
196
+ id,
197
+ ];
198
+ }
199
+ export function Metadata(key, value) {
200
+ return [
201
+ 30 /* Metadata */,
202
+ key,
203
+ value,
204
+ ];
205
+ }
206
+ export function CSSInsertRule(id, rule, index) {
207
+ return [
208
+ 37 /* CSSInsertRule */,
209
+ id,
210
+ rule,
211
+ index,
212
+ ];
213
+ }
214
+ export function CSSDeleteRule(id, index) {
215
+ return [
216
+ 38 /* CSSDeleteRule */,
217
+ id,
218
+ index,
219
+ ];
220
+ }
221
+ export function Fetch(method, url, request, response, status, timestamp, duration) {
222
+ return [
223
+ 39 /* Fetch */,
224
+ method,
225
+ url,
226
+ request,
227
+ response,
228
+ status,
229
+ timestamp,
230
+ duration,
231
+ ];
232
+ }
233
+ export function Profiler(name, duration, args, result) {
234
+ return [
235
+ 40 /* Profiler */,
236
+ name,
237
+ duration,
238
+ args,
239
+ result,
240
+ ];
241
+ }
242
+ export function OTable(key, value) {
243
+ return [
244
+ 41 /* OTable */,
245
+ key,
246
+ value,
247
+ ];
248
+ }
249
+ export function StateAction(type) {
250
+ return [
251
+ 42 /* StateAction */,
252
+ type,
253
+ ];
254
+ }
255
+ export function Redux(action, state, duration) {
256
+ return [
257
+ 44 /* Redux */,
258
+ action,
259
+ state,
260
+ duration,
261
+ ];
262
+ }
263
+ export function Vuex(mutation, state) {
264
+ return [
265
+ 45 /* Vuex */,
266
+ mutation,
267
+ state,
268
+ ];
269
+ }
270
+ export function MobX(type, payload) {
271
+ return [
272
+ 46 /* MobX */,
273
+ type,
274
+ payload,
275
+ ];
276
+ }
277
+ export function NgRx(action, state, duration) {
278
+ return [
279
+ 47 /* NgRx */,
280
+ action,
281
+ state,
282
+ duration,
283
+ ];
284
+ }
285
+ export function GraphQL(operationKind, operationName, variables, response) {
286
+ return [
287
+ 48 /* GraphQL */,
288
+ operationKind,
289
+ operationName,
290
+ variables,
291
+ response,
292
+ ];
293
+ }
294
+ export function PerformanceTrack(frames, ticks, totalJSHeapSize, usedJSHeapSize) {
295
+ return [
296
+ 49 /* PerformanceTrack */,
297
+ frames,
298
+ ticks,
299
+ totalJSHeapSize,
300
+ usedJSHeapSize,
301
+ ];
302
+ }
303
+ export function ResourceTiming(timestamp, duration, ttfb, headerSize, encodedBodySize, decodedBodySize, url, initiator) {
304
+ return [
305
+ 53 /* ResourceTiming */,
306
+ timestamp,
307
+ duration,
308
+ ttfb,
309
+ headerSize,
310
+ encodedBodySize,
311
+ decodedBodySize,
312
+ url,
313
+ initiator,
314
+ ];
315
+ }
316
+ export function ConnectionInformation(downlink, type) {
317
+ return [
318
+ 54 /* ConnectionInformation */,
319
+ downlink,
320
+ type,
321
+ ];
322
+ }
323
+ export function SetPageVisibility(hidden) {
324
+ return [
325
+ 55 /* SetPageVisibility */,
326
+ hidden,
327
+ ];
328
+ }
329
+ export function LongTask(timestamp, duration, context, containerType, containerSrc, containerId, containerName) {
330
+ return [
331
+ 59 /* LongTask */,
332
+ timestamp,
333
+ duration,
334
+ context,
335
+ containerType,
336
+ containerSrc,
337
+ containerId,
338
+ containerName,
339
+ ];
340
+ }
341
+ export function SetNodeAttributeURLBased(id, name, value, baseURL) {
342
+ return [
343
+ 60 /* SetNodeAttributeURLBased */,
344
+ id,
345
+ name,
346
+ value,
347
+ baseURL,
348
+ ];
349
+ }
350
+ export function SetCSSDataURLBased(id, data, baseURL) {
351
+ return [
352
+ 61 /* SetCSSDataURLBased */,
353
+ id,
354
+ data,
355
+ baseURL,
356
+ ];
357
+ }
358
+ export function TechnicalInfo(type, value) {
359
+ return [
360
+ 63 /* TechnicalInfo */,
361
+ type,
362
+ value,
363
+ ];
364
+ }
365
+ export function CustomIssue(name, payload) {
366
+ return [
367
+ 64 /* CustomIssue */,
368
+ name,
369
+ payload,
370
+ ];
371
+ }
372
+ export function CSSInsertRuleURLBased(id, rule, index, baseURL) {
373
+ return [
374
+ 67 /* CSSInsertRuleURLBased */,
375
+ id,
376
+ rule,
377
+ index,
378
+ baseURL,
379
+ ];
380
+ }
381
+ export function MouseClick(id, hesitationTime, label, selector) {
382
+ return [
383
+ 69 /* MouseClick */,
384
+ id,
385
+ hesitationTime,
386
+ label,
387
+ selector,
388
+ ];
389
+ }
390
+ export function CreateIFrameDocument(frameID, id) {
391
+ return [
392
+ 70 /* CreateIFrameDocument */,
393
+ frameID,
394
+ id,
395
+ ];
396
+ }
397
+ export function AdoptedSSReplaceURLBased(sheetID, text, baseURL) {
398
+ return [
399
+ 71 /* AdoptedSSReplaceURLBased */,
400
+ sheetID,
401
+ text,
402
+ baseURL,
403
+ ];
404
+ }
405
+ export function AdoptedSSInsertRuleURLBased(sheetID, rule, index, baseURL) {
406
+ return [
407
+ 73 /* AdoptedSSInsertRuleURLBased */,
408
+ sheetID,
409
+ rule,
410
+ index,
411
+ baseURL,
412
+ ];
413
+ }
414
+ export function AdoptedSSDeleteRule(sheetID, index) {
415
+ return [
416
+ 75 /* AdoptedSSDeleteRule */,
417
+ sheetID,
418
+ index,
419
+ ];
420
+ }
421
+ export function AdoptedSSAddOwner(sheetID, id) {
422
+ return [
423
+ 76 /* AdoptedSSAddOwner */,
424
+ sheetID,
425
+ id,
426
+ ];
427
+ }
428
+ export function AdoptedSSRemoveOwner(sheetID, id) {
429
+ return [
430
+ 77 /* AdoptedSSRemoveOwner */,
431
+ sheetID,
432
+ id,
433
+ ];
434
+ }
@@ -0,0 +1,181 @@
1
+ // Auto-generated, do not edit
2
+ export function BatchMetadata(version, pageNo, firstIndex, timestamp, location) {
3
+ return [81 /* BatchMetadata */, version, pageNo, firstIndex, timestamp, location];
4
+ }
5
+ export function PartitionedMessage(partNo, partTotal) {
6
+ return [82 /* PartitionedMessage */, partNo, partTotal];
7
+ }
8
+ export function Timestamp(timestamp) {
9
+ return [0 /* Timestamp */, timestamp];
10
+ }
11
+ export function SetPageLocation(url, referrer, navigationStart) {
12
+ return [4 /* SetPageLocation */, url, referrer, navigationStart];
13
+ }
14
+ export function SetViewportSize(width, height) {
15
+ return [5 /* SetViewportSize */, width, height];
16
+ }
17
+ export function SetViewportScroll(x, y) {
18
+ return [6 /* SetViewportScroll */, x, y];
19
+ }
20
+ export function CreateDocument() {
21
+ return [7 /* CreateDocument */];
22
+ }
23
+ export function CreateElementNode(id, parentID, index, tag, svg) {
24
+ return [8 /* CreateElementNode */, id, parentID, index, tag, svg];
25
+ }
26
+ export function CreateTextNode(id, parentID, index) {
27
+ return [9 /* CreateTextNode */, id, parentID, index];
28
+ }
29
+ export function MoveNode(id, parentID, index) {
30
+ return [10 /* MoveNode */, id, parentID, index];
31
+ }
32
+ export function RemoveNode(id) {
33
+ return [11 /* RemoveNode */, id];
34
+ }
35
+ export function SetNodeAttribute(id, name, value) {
36
+ return [12 /* SetNodeAttribute */, id, name, value];
37
+ }
38
+ export function RemoveNodeAttribute(id, name) {
39
+ return [13 /* RemoveNodeAttribute */, id, name];
40
+ }
41
+ export function SetNodeData(id, data) {
42
+ return [14 /* SetNodeData */, id, data];
43
+ }
44
+ export function SetNodeScroll(id, x, y) {
45
+ return [16 /* SetNodeScroll */, id, x, y];
46
+ }
47
+ export function SetInputTarget(id, label) {
48
+ return [17 /* SetInputTarget */, id, label];
49
+ }
50
+ export function SetInputValue(id, value, mask) {
51
+ return [18 /* SetInputValue */, id, value, mask];
52
+ }
53
+ export function SetInputChecked(id, checked) {
54
+ return [19 /* SetInputChecked */, id, checked];
55
+ }
56
+ export function MouseMove(x, y) {
57
+ return [20 /* MouseMove */, x, y];
58
+ }
59
+ export function ConsoleLog(level, value) {
60
+ return [22 /* ConsoleLog */, level, value];
61
+ }
62
+ export function PageLoadTiming(requestStart, responseStart, responseEnd, domContentLoadedEventStart, domContentLoadedEventEnd, loadEventStart, loadEventEnd, firstPaint, firstContentfulPaint) {
63
+ return [
64
+ 23 /* PageLoadTiming */,
65
+ requestStart,
66
+ responseStart,
67
+ responseEnd,
68
+ domContentLoadedEventStart,
69
+ domContentLoadedEventEnd,
70
+ loadEventStart,
71
+ loadEventEnd,
72
+ firstPaint,
73
+ firstContentfulPaint,
74
+ ];
75
+ }
76
+ export function PageRenderTiming(speedIndex, visuallyComplete, timeToInteractive) {
77
+ return [24 /* PageRenderTiming */, speedIndex, visuallyComplete, timeToInteractive];
78
+ }
79
+ export function JSException(name, message, payload) {
80
+ return [25 /* JSException */, name, message, payload];
81
+ }
82
+ export function RawCustomEvent(name, payload) {
83
+ return [27 /* RawCustomEvent */, name, payload];
84
+ }
85
+ export function UserID(id) {
86
+ return [28 /* UserID */, id];
87
+ }
88
+ export function UserAnonymousID(id) {
89
+ return [29 /* UserAnonymousID */, id];
90
+ }
91
+ export function Metadata(key, value) {
92
+ return [30 /* Metadata */, key, value];
93
+ }
94
+ export function CSSInsertRule(id, rule, index) {
95
+ return [37 /* CSSInsertRule */, id, rule, index];
96
+ }
97
+ export function CSSDeleteRule(id, index) {
98
+ return [38 /* CSSDeleteRule */, id, index];
99
+ }
100
+ export function Fetch(method, url, request, response, status, timestamp, duration) {
101
+ return [39 /* Fetch */, method, url, request, response, status, timestamp, duration];
102
+ }
103
+ export function Profiler(name, duration, args, result) {
104
+ return [40 /* Profiler */, name, duration, args, result];
105
+ }
106
+ export function OTable(key, value) {
107
+ return [41 /* OTable */, key, value];
108
+ }
109
+ export function StateAction(type) {
110
+ return [42 /* StateAction */, type];
111
+ }
112
+ export function Redux(action, state, duration) {
113
+ return [44 /* Redux */, action, state, duration];
114
+ }
115
+ export function Vuex(mutation, state) {
116
+ return [45 /* Vuex */, mutation, state];
117
+ }
118
+ export function MobX(type, payload) {
119
+ return [46 /* MobX */, type, payload];
120
+ }
121
+ export function NgRx(action, state, duration) {
122
+ return [47 /* NgRx */, action, state, duration];
123
+ }
124
+ export function GraphQL(operationKind, operationName, variables, response) {
125
+ return [48 /* GraphQL */, operationKind, operationName, variables, response];
126
+ }
127
+ export function PerformanceTrack(frames, ticks, totalJSHeapSize, usedJSHeapSize) {
128
+ return [49 /* PerformanceTrack */, frames, ticks, totalJSHeapSize, usedJSHeapSize];
129
+ }
130
+ export function ResourceTiming(timestamp, duration, ttfb, headerSize, encodedBodySize, decodedBodySize, url, initiator) {
131
+ return [
132
+ 53 /* ResourceTiming */,
133
+ timestamp,
134
+ duration,
135
+ ttfb,
136
+ headerSize,
137
+ encodedBodySize,
138
+ decodedBodySize,
139
+ url,
140
+ initiator,
141
+ ];
142
+ }
143
+ export function ConnectionInformation(downlink, type) {
144
+ return [54 /* ConnectionInformation */, downlink, type];
145
+ }
146
+ export function SetPageVisibility(hidden) {
147
+ return [55 /* SetPageVisibility */, hidden];
148
+ }
149
+ export function LongTask(timestamp, duration, context, containerType, containerSrc, containerId, containerName) {
150
+ return [
151
+ 59 /* LongTask */,
152
+ timestamp,
153
+ duration,
154
+ context,
155
+ containerType,
156
+ containerSrc,
157
+ containerId,
158
+ containerName,
159
+ ];
160
+ }
161
+ export function SetNodeAttributeURLBased(id, name, value, baseURL) {
162
+ return [60 /* SetNodeAttributeURLBased */, id, name, value, baseURL];
163
+ }
164
+ export function SetCSSDataURLBased(id, data, baseURL) {
165
+ return [61 /* SetCSSDataURLBased */, id, data, baseURL];
166
+ }
167
+ export function TechnicalInfo(type, value) {
168
+ return [63 /* TechnicalInfo */, type, value];
169
+ }
170
+ export function CustomIssue(name, payload) {
171
+ return [64 /* CustomIssue */, name, payload];
172
+ }
173
+ export function CSSInsertRuleURLBased(id, rule, index, baseURL) {
174
+ return [67 /* CSSInsertRuleURLBased */, id, rule, index, baseURL];
175
+ }
176
+ export function MouseClick(id, hesitationTime, label, selector) {
177
+ return [69 /* MouseClick */, id, hesitationTime, label, selector];
178
+ }
179
+ export function CreateIFrameDocument(frameID, id) {
180
+ return [70 /* CreateIFrameDocument */, frameID, id];
181
+ }
@@ -7,7 +7,7 @@ export default class Nodes {
7
7
  constructor(node_id: string);
8
8
  attachNodeCallback(nodeCallback: NodeCallback): void;
9
9
  attachElementListener(type: string, node: Element, elementListener: EventListener): void;
10
- registerNode(node: Node): [id: number, isNew: boolean];
10
+ registerNode(node: Node): [/*id:*/ number, /*isNew:*/ boolean];
11
11
  unregisterNode(node: Node): number | undefined;
12
12
  cleanTree(): void;
13
13
  callNodeCallbacks(node: Node, isStart: boolean): void;
package/lib/app/nodes.js CHANGED
@@ -5,9 +5,11 @@ export default class Nodes {
5
5
  this.nodeCallbacks = [];
6
6
  this.elementListeners = new Map();
7
7
  }
8
+ // Attached once per Tracker instance
8
9
  attachNodeCallback(nodeCallback) {
9
10
  this.nodeCallbacks.push(nodeCallback);
10
11
  }
12
+ // TODO: what is the difference with app.attachEventListener. can we use only one of those?
11
13
  attachElementListener(type, node, elementListener) {
12
14
  const id = this.getID(node);
13
15
  if (id === undefined) {
@@ -1,4 +1,4 @@
1
- import Observer from "./observer.js";
1
+ import Observer from './observer.js';
2
2
  export default class IFrameObserver extends Observer {
3
3
  observe(iframe: HTMLIFrameElement): void;
4
4
  }
@@ -1,5 +1,5 @@
1
- import Observer from "./observer.js";
2
- import { CreateIFrameDocument } from "../../common/messages.js";
1
+ import Observer from './observer.js';
2
+ import { CreateIFrameDocument } from '../messages.gen.js';
3
3
  export default class IFrameObserver extends Observer {
4
4
  observe(iframe) {
5
5
  const doc = iframe.contentDocument;
@@ -10,7 +10,7 @@ export default class IFrameObserver extends Observer {
10
10
  // Have to observe document, because the inner <html> might be changed
11
11
  this.observeRoot(doc, (docID) => {
12
12
  if (docID === undefined) {
13
- console.log("OpenReplay: Iframe document not bound");
13
+ console.log('OpenReplay: Iframe document not bound');
14
14
  return;
15
15
  }
16
16
  this.app.send(CreateIFrameDocument(hostID, docID));
@@ -1,4 +1,4 @@
1
- import App from "../index.js";
1
+ import App from '../index.js';
2
2
  export default abstract class Observer {
3
3
  protected readonly app: App;
4
4
  protected readonly isTopContext: boolean;
@@ -13,9 +13,8 @@ export default abstract class Observer {
13
13
  private sendNodeAttribute;
14
14
  private sendNodeData;
15
15
  private bindNode;
16
- private unbindChildNode;
17
16
  private bindTree;
18
- private unbindNode;
17
+ private unbindTree;
19
18
  private _commitNode;
20
19
  private commitNode;
21
20
  private commitNodes;