@openreplay/tracker 7.0.3 → 7.0.4
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/index.d.ts +1 -0
- package/cjs/app/index.js +4 -2
- package/cjs/common/interaction.d.ts +1 -0
- package/cjs/index.js +1 -1
- package/coverage/clover.xml +1412 -900
- package/coverage/coverage-final.json +22 -16
- package/coverage/lcov-report/index.html +58 -43
- package/coverage/lcov-report/main/app/guards.ts.html +42 -42
- package/coverage/lcov-report/main/app/index.html +46 -46
- package/coverage/lcov-report/main/app/index.ts.html +104 -8
- package/coverage/lcov-report/main/app/logger.ts.html +1 -1
- package/coverage/lcov-report/main/app/messages.gen.ts.html +146 -146
- package/coverage/lcov-report/main/app/observer/iframe_observer.ts.html +1 -1
- package/coverage/lcov-report/main/app/observer/iframe_offsets.ts.html +1 -1
- package/coverage/lcov-report/main/app/observer/index.html +1 -1
- package/coverage/lcov-report/main/app/observer/shadow_root_observer.ts.html +1 -1
- package/coverage/lcov-report/main/app/observer/top_observer.ts.html +1 -1
- package/coverage/lcov-report/main/app/sanitizer.ts.html +98 -98
- package/coverage/lcov-report/main/app/session.ts.html +47 -5
- package/coverage/lcov-report/main/app/ticker.ts.html +1 -1
- package/coverage/lcov-report/main/index.html +24 -24
- package/coverage/lcov-report/main/index.ts.html +138 -6
- package/coverage/lcov-report/main/modules/Network/fetchProxy.ts.html +949 -0
- package/coverage/lcov-report/main/{vendors/finder → modules/Network}/index.html +72 -12
- package/coverage/lcov-report/main/modules/Network/index.ts.html +169 -0
- package/coverage/lcov-report/main/{app/nodes.ts.html → modules/Network/networkMessage.ts.html} +130 -115
- package/coverage/lcov-report/main/modules/Network/utils.ts.html +700 -0
- package/coverage/lcov-report/main/modules/Network/xhrProxy.ts.html +823 -0
- package/coverage/lcov-report/main/modules/attributeSender.ts.html +217 -0
- package/coverage/lcov-report/main/modules/axiosSpy.ts.html +1 -1
- package/coverage/lcov-report/main/modules/connection.ts.html +1 -1
- package/coverage/lcov-report/main/modules/console.ts.html +174 -147
- package/coverage/lcov-report/main/modules/constructedStyleSheets.ts.html +1 -1
- package/coverage/lcov-report/main/modules/cssrules.ts.html +1 -1
- package/coverage/lcov-report/main/modules/exception.ts.html +1 -1
- package/coverage/lcov-report/main/modules/featureFlags.ts.html +415 -0
- package/coverage/lcov-report/main/modules/focus.ts.html +1 -1
- package/coverage/lcov-report/main/modules/fonts.ts.html +1 -1
- package/coverage/lcov-report/main/modules/img.ts.html +6 -6
- package/coverage/lcov-report/main/modules/index.html +54 -24
- package/coverage/lcov-report/main/modules/input.ts.html +1 -1
- package/coverage/lcov-report/main/modules/mouse.ts.html +1 -1
- package/coverage/lcov-report/main/modules/network.ts.html +70 -70
- package/coverage/lcov-report/main/modules/performance.ts.html +1 -1
- package/coverage/lcov-report/main/modules/scroll.ts.html +1 -1
- package/coverage/lcov-report/main/modules/selection.ts.html +1 -1
- package/coverage/lcov-report/main/modules/tabs.ts.html +1 -1
- package/coverage/lcov-report/main/modules/timing.ts.html +1 -1
- package/coverage/lcov-report/main/modules/viewport.ts.html +1 -1
- package/coverage/lcov-report/main/utils.ts.html +97 -97
- package/coverage/lcov-report/webworker/BatchWriter.ts.html +125 -176
- package/coverage/lcov-report/webworker/MessageEncoder.gen.ts.html +88 -88
- package/coverage/lcov-report/webworker/PrimitiveEncoder.ts.html +110 -110
- package/coverage/lcov-report/webworker/QueueSender.ts.html +140 -110
- package/coverage/lcov-report/webworker/index.html +56 -71
- package/coverage/lcov-report/webworker/index.ts.html +34 -10
- package/coverage/lcov.info +2525 -1553
- package/lib/app/index.d.ts +1 -0
- package/lib/app/index.js +4 -2
- package/lib/common/interaction.d.ts +1 -0
- package/lib/common/tsconfig.tsbuildinfo +1 -1
- package/lib/index.js +1 -1
- package/package.json +1 -1
- package/coverage/lcov-report/main/app/observer/observer.ts.html +0 -1282
- package/coverage/lcov-report/main/vendors/finder/finder.ts.html +0 -1381
- package/coverage/lcov-report/webworker/StringDictionary.ts.html +0 -124
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">81.48% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>66/81</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">53.12% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>17/32</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">80% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>12/15</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">84.41% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>65/77</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
</div>
|
|
62
62
|
</template>
|
|
63
63
|
</div>
|
|
64
|
-
<div class='status-line
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
65
|
<pre><table class="coverage">
|
|
66
66
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
67
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -204,95 +204,103 @@
|
|
|
204
204
|
<a name='L139'></a><a href='#L139'>139</a>
|
|
205
205
|
<a name='L140'></a><a href='#L140'>140</a>
|
|
206
206
|
<a name='L141'></a><a href='#L141'>141</a>
|
|
207
|
-
<a name='L142'></a><a href='#L142'>142</a
|
|
208
|
-
<
|
|
209
|
-
<
|
|
210
|
-
<
|
|
207
|
+
<a name='L142'></a><a href='#L142'>142</a>
|
|
208
|
+
<a name='L143'></a><a href='#L143'>143</a>
|
|
209
|
+
<a name='L144'></a><a href='#L144'>144</a>
|
|
210
|
+
<a name='L145'></a><a href='#L145'>145</a>
|
|
211
|
+
<a name='L146'></a><a href='#L146'>146</a>
|
|
212
|
+
<a name='L147'></a><a href='#L147'>147</a>
|
|
213
|
+
<a name='L148'></a><a href='#L148'>148</a>
|
|
214
|
+
<a name='L149'></a><a href='#L149'>149</a>
|
|
215
|
+
<a name='L150'></a><a href='#L150'>150</a>
|
|
216
|
+
<a name='L151'></a><a href='#L151'>151</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
217
|
+
<span class="cline-any cline-yes">1x</span>
|
|
218
|
+
<span class="cline-any cline-yes">1x</span>
|
|
211
219
|
<span class="cline-any cline-neutral"> </span>
|
|
212
220
|
<span class="cline-any cline-neutral"> </span>
|
|
213
|
-
<span class="cline-any cline-
|
|
221
|
+
<span class="cline-any cline-yes">1x</span>
|
|
214
222
|
<span class="cline-any cline-no"> </span>
|
|
215
223
|
<span class="cline-any cline-no"> </span>
|
|
216
224
|
<span class="cline-any cline-neutral"> </span>
|
|
217
225
|
<span class="cline-any cline-neutral"> </span>
|
|
218
|
-
<span class="cline-any cline-
|
|
226
|
+
<span class="cline-any cline-yes">7x</span>
|
|
219
227
|
<span class="cline-any cline-no"> </span>
|
|
220
228
|
<span class="cline-any cline-neutral"> </span>
|
|
221
|
-
<span class="cline-any cline-
|
|
229
|
+
<span class="cline-any cline-yes">7x</span>
|
|
222
230
|
<span class="cline-any cline-no"> </span>
|
|
223
231
|
<span class="cline-any cline-neutral"> </span>
|
|
224
|
-
<span class="cline-any cline-
|
|
232
|
+
<span class="cline-any cline-yes">7x</span>
|
|
225
233
|
<span class="cline-any cline-no"> </span>
|
|
226
234
|
<span class="cline-any cline-neutral"> </span>
|
|
227
|
-
<span class="cline-any cline-
|
|
235
|
+
<span class="cline-any cline-yes">7x</span>
|
|
228
236
|
<span class="cline-any cline-no"> </span>
|
|
229
237
|
<span class="cline-any cline-neutral"> </span>
|
|
230
|
-
<span class="cline-any cline-
|
|
238
|
+
<span class="cline-any cline-yes">7x</span>
|
|
231
239
|
<span class="cline-any cline-neutral"> </span>
|
|
232
240
|
<span class="cline-any cline-neutral"> </span>
|
|
233
241
|
<span class="cline-any cline-neutral"> </span>
|
|
234
|
-
<span class="cline-any cline-
|
|
235
|
-
<span class="cline-any cline-
|
|
242
|
+
<span class="cline-any cline-yes">1x</span>
|
|
243
|
+
<span class="cline-any cline-yes">1x</span>
|
|
236
244
|
<span class="cline-any cline-neutral"> </span>
|
|
237
245
|
<span class="cline-any cline-neutral"> </span>
|
|
238
246
|
<span class="cline-any cline-neutral"> </span>
|
|
239
|
-
<span class="cline-any cline-
|
|
240
|
-
<span class="cline-any cline-
|
|
247
|
+
<span class="cline-any cline-yes">1x</span>
|
|
248
|
+
<span class="cline-any cline-yes">1x</span>
|
|
241
249
|
<span class="cline-any cline-neutral"> </span>
|
|
242
250
|
<span class="cline-any cline-neutral"> </span>
|
|
243
251
|
<span class="cline-any cline-neutral"> </span>
|
|
244
|
-
<span class="cline-any cline-
|
|
252
|
+
<span class="cline-any cline-yes">6x</span>
|
|
245
253
|
<span class="cline-any cline-no"> </span>
|
|
246
254
|
<span class="cline-any cline-neutral"> </span>
|
|
247
|
-
<span class="cline-any cline-
|
|
255
|
+
<span class="cline-any cline-yes">6x</span>
|
|
248
256
|
<span class="cline-any cline-no"> </span>
|
|
249
257
|
<span class="cline-any cline-neutral"> </span>
|
|
250
|
-
<span class="cline-any cline-
|
|
258
|
+
<span class="cline-any cline-yes">6x</span>
|
|
251
259
|
<span class="cline-any cline-no"> </span>
|
|
252
260
|
<span class="cline-any cline-neutral"> </span>
|
|
253
|
-
<span class="cline-any cline-
|
|
254
|
-
<span class="cline-any cline-
|
|
255
|
-
<span class="cline-any cline-
|
|
256
|
-
<span class="cline-any cline-
|
|
261
|
+
<span class="cline-any cline-yes">6x</span>
|
|
262
|
+
<span class="cline-any cline-yes">1x</span>
|
|
263
|
+
<span class="cline-any cline-yes">1x</span>
|
|
264
|
+
<span class="cline-any cline-yes">1x</span>
|
|
257
265
|
<span class="cline-any cline-neutral"> </span>
|
|
258
|
-
<span class="cline-any cline-
|
|
259
|
-
<span class="cline-any cline-
|
|
260
|
-
<span class="cline-any cline-
|
|
261
|
-
<span class="cline-any cline-
|
|
262
|
-
<span class="cline-any cline-
|
|
266
|
+
<span class="cline-any cline-yes">5x</span>
|
|
267
|
+
<span class="cline-any cline-yes">2x</span>
|
|
268
|
+
<span class="cline-any cline-yes">2x</span>
|
|
269
|
+
<span class="cline-any cline-yes">2x</span>
|
|
270
|
+
<span class="cline-any cline-yes">3x</span>
|
|
263
271
|
<span class="cline-any cline-no"> </span>
|
|
264
272
|
<span class="cline-any cline-neutral"> </span>
|
|
265
|
-
<span class="cline-any cline-
|
|
266
|
-
<span class="cline-any cline-
|
|
273
|
+
<span class="cline-any cline-yes">3x</span>
|
|
274
|
+
<span class="cline-any cline-yes">3x</span>
|
|
267
275
|
<span class="cline-any cline-neutral"> </span>
|
|
268
|
-
<span class="cline-any cline-
|
|
276
|
+
<span class="cline-any cline-yes">2x</span>
|
|
269
277
|
<span class="cline-any cline-neutral"> </span>
|
|
270
|
-
<span class="cline-any cline-
|
|
278
|
+
<span class="cline-any cline-yes">3x</span>
|
|
271
279
|
<span class="cline-any cline-neutral"> </span>
|
|
272
280
|
<span class="cline-any cline-neutral"> </span>
|
|
273
281
|
<span class="cline-any cline-neutral"> </span>
|
|
274
|
-
<span class="cline-any cline-
|
|
275
|
-
<span class="cline-any cline-
|
|
282
|
+
<span class="cline-any cline-yes">4x</span>
|
|
283
|
+
<span class="cline-any cline-yes">3x</span>
|
|
276
284
|
<span class="cline-any cline-neutral"> </span>
|
|
277
|
-
<span class="cline-any cline-
|
|
278
|
-
<span class="cline-any cline-
|
|
279
|
-
<span class="cline-any cline-
|
|
285
|
+
<span class="cline-any cline-yes">4x</span>
|
|
286
|
+
<span class="cline-any cline-yes">4x</span>
|
|
287
|
+
<span class="cline-any cline-yes">4x</span>
|
|
280
288
|
<span class="cline-any cline-neutral"> </span>
|
|
281
|
-
<span class="cline-any cline-
|
|
289
|
+
<span class="cline-any cline-yes">1x</span>
|
|
282
290
|
<span class="cline-any cline-neutral"> </span>
|
|
283
|
-
<span class="cline-any cline-
|
|
291
|
+
<span class="cline-any cline-yes">1x</span>
|
|
284
292
|
<span class="cline-any cline-neutral"> </span>
|
|
285
|
-
<span class="cline-any cline-
|
|
293
|
+
<span class="cline-any cline-yes">1x</span>
|
|
286
294
|
<span class="cline-any cline-neutral"> </span>
|
|
287
295
|
<span class="cline-any cline-neutral"> </span>
|
|
288
|
-
<span class="cline-any cline-
|
|
296
|
+
<span class="cline-any cline-yes">1x</span>
|
|
289
297
|
<span class="cline-any cline-neutral"> </span>
|
|
290
298
|
<span class="cline-any cline-no"> </span>
|
|
291
299
|
<span class="cline-any cline-neutral"> </span>
|
|
292
300
|
<span class="cline-any cline-neutral"> </span>
|
|
293
301
|
<span class="cline-any cline-neutral"> </span>
|
|
294
302
|
<span class="cline-any cline-neutral"> </span>
|
|
295
|
-
<span class="cline-any cline-
|
|
303
|
+
<span class="cline-any cline-yes">4x</span>
|
|
296
304
|
<span class="cline-any cline-neutral"> </span>
|
|
297
305
|
<span class="cline-any cline-neutral"> </span>
|
|
298
306
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -300,140 +308,149 @@
|
|
|
300
308
|
<span class="cline-any cline-neutral"> </span>
|
|
301
309
|
<span class="cline-any cline-neutral"> </span>
|
|
302
310
|
<span class="cline-any cline-neutral"> </span>
|
|
303
|
-
<span class="cline-any cline-
|
|
311
|
+
<span class="cline-any cline-yes">1x</span>
|
|
304
312
|
<span class="cline-any cline-neutral"> </span>
|
|
305
|
-
<span class="cline-any cline-
|
|
306
|
-
<span class="cline-any cline-
|
|
313
|
+
<span class="cline-any cline-yes">1x</span>
|
|
314
|
+
<span class="cline-any cline-yes">7x</span>
|
|
307
315
|
<span class="cline-any cline-neutral"> </span>
|
|
308
316
|
<span class="cline-any cline-neutral"> </span>
|
|
309
317
|
<span class="cline-any cline-neutral"> </span>
|
|
310
318
|
<span class="cline-any cline-neutral"> </span>
|
|
311
319
|
<span class="cline-any cline-neutral"> </span>
|
|
312
320
|
<span class="cline-any cline-neutral"> </span>
|
|
313
|
-
<span class="cline-any cline-no"> </span>
|
|
314
|
-
<span class="cline-any cline-no"> </span>
|
|
315
321
|
<span class="cline-any cline-neutral"> </span>
|
|
322
|
+
<span class="cline-any cline-yes">7x</span>
|
|
323
|
+
<span class="cline-any cline-yes">2x</span>
|
|
316
324
|
<span class="cline-any cline-neutral"> </span>
|
|
317
|
-
<span class="cline-any cline-no"> </span>
|
|
318
|
-
<span class="cline-any cline-no"> </span>
|
|
319
325
|
<span class="cline-any cline-neutral"> </span>
|
|
326
|
+
<span class="cline-any cline-yes">5x</span>
|
|
327
|
+
<span class="cline-any cline-yes">4x</span>
|
|
320
328
|
<span class="cline-any cline-neutral"> </span>
|
|
321
329
|
<span class="cline-any cline-neutral"> </span>
|
|
322
|
-
<span class="cline-any cline-
|
|
330
|
+
<span class="cline-any cline-yes">5x</span>
|
|
331
|
+
<span class="cline-any cline-yes">5x</span>
|
|
323
332
|
<span class="cline-any cline-no"> </span>
|
|
324
333
|
<span class="cline-any cline-neutral"> </span>
|
|
325
|
-
<span class="cline-any cline-
|
|
326
|
-
<span class="cline-any cline-
|
|
334
|
+
<span class="cline-any cline-yes">5x</span>
|
|
335
|
+
<span class="cline-any cline-yes">5x</span>
|
|
327
336
|
<span class="cline-any cline-neutral"> </span>
|
|
328
|
-
<span class="cline-any cline-
|
|
329
|
-
<span class="cline-any cline-
|
|
330
|
-
<span class="cline-any cline-no"> </span>
|
|
331
|
-
<span class="cline-any cline-no"> </span>
|
|
332
|
-
<span class="cline-any cline-no"> </span>
|
|
337
|
+
<span class="cline-any cline-yes">5x</span>
|
|
338
|
+
<span class="cline-any cline-yes">5x</span>
|
|
333
339
|
<span class="cline-any cline-neutral"> </span>
|
|
334
|
-
<span class="cline-any cline-
|
|
335
|
-
<span class="cline-any cline-
|
|
336
|
-
<span class="cline-any cline-
|
|
337
|
-
<span class="cline-any cline-
|
|
338
|
-
<span class="cline-any cline-no"> </span>
|
|
340
|
+
<span class="cline-any cline-yes">7x</span>
|
|
341
|
+
<span class="cline-any cline-yes">7x</span>
|
|
342
|
+
<span class="cline-any cline-yes">7x</span>
|
|
343
|
+
<span class="cline-any cline-yes">3x</span>
|
|
339
344
|
<span class="cline-any cline-neutral"> </span>
|
|
340
|
-
<span class="cline-any cline-
|
|
345
|
+
<span class="cline-any cline-yes">4x</span>
|
|
341
346
|
<span class="cline-any cline-neutral"> </span>
|
|
342
347
|
<span class="cline-any cline-neutral"> </span>
|
|
343
|
-
<span class="cline-any cline-no"> </span>
|
|
344
348
|
<span class="cline-any cline-neutral"> </span>
|
|
345
|
-
<span class="cline-any cline-
|
|
346
|
-
<span class="cline-any cline-
|
|
349
|
+
<span class="cline-any cline-neutral"> </span>
|
|
350
|
+
<span class="cline-any cline-yes">5x</span>
|
|
351
|
+
<span class="cline-any cline-yes">10x</span>
|
|
352
|
+
<span class="cline-any cline-yes">1x</span>
|
|
353
|
+
<span class="cline-any cline-yes">1x</span>
|
|
354
|
+
<span class="cline-any cline-neutral"> </span>
|
|
355
|
+
<span class="cline-any cline-yes">9x</span>
|
|
356
|
+
<span class="cline-any cline-neutral"> </span>
|
|
357
|
+
<span class="cline-any cline-yes">9x</span>
|
|
358
|
+
<span class="cline-any cline-neutral"> </span>
|
|
359
|
+
<span class="cline-any cline-neutral"> </span>
|
|
360
|
+
<span class="cline-any cline-neutral"> </span>
|
|
361
|
+
<span class="cline-any cline-yes">5x</span>
|
|
362
|
+
<span class="cline-any cline-neutral"> </span>
|
|
363
|
+
<span class="cline-any cline-yes">5x</span>
|
|
364
|
+
<span class="cline-any cline-yes">5x</span>
|
|
347
365
|
<span class="cline-any cline-neutral"> </span>
|
|
348
366
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import type App from '../app/index.js'
|
|
349
|
-
import {
|
|
350
|
-
|
|
351
|
-
<span class="cstat-no" title="statement not covered" >import { ConsoleLog } from '../app/messages.gen.js'</span>
|
|
367
|
+
import { IN_BROWSER } from '../utils.js'
|
|
368
|
+
import { ConsoleLog } from '../app/messages.gen.js'
|
|
352
369
|
|
|
353
370
|
const printError: (e: Error) => string =
|
|
354
|
-
|
|
355
|
-
? <span class="fstat-no" title="function not covered" >(e</span>: Error): string => <span class="cstat-no" title="statement not covered" >e.message + '\n' + e.stack</span>
|
|
371
|
+
IN_BROWSER && 'InstallTrigger' in window // detect Firefox
|
|
372
|
+
? <span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" >(e</span>: Error): string => <span class="cstat-no" title="statement not covered" >e.message + '\n' + e.stack</span></span>
|
|
356
373
|
: <span class="fstat-no" title="function not covered" >(e</span>: Error): string => <span class="cstat-no" title="statement not covered" >e.stack || e.message</span>
|
|
357
374
|
|
|
358
|
-
function
|
|
359
|
-
|
|
375
|
+
function printString(arg: any): string {
|
|
376
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (arg === undefined) {
|
|
360
377
|
<span class="cstat-no" title="statement not covered" > return 'undefined'</span>
|
|
361
378
|
}
|
|
362
|
-
|
|
379
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (arg === null) {
|
|
363
380
|
<span class="cstat-no" title="statement not covered" > return 'null'</span>
|
|
364
381
|
}
|
|
365
|
-
|
|
382
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (arg instanceof Error) {
|
|
366
383
|
<span class="cstat-no" title="statement not covered" > return printError(arg)</span>
|
|
367
384
|
}
|
|
368
|
-
|
|
385
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (Array.isArray(arg)) {
|
|
369
386
|
<span class="cstat-no" title="statement not covered" > return `Array(${arg.length})`</span>
|
|
370
387
|
}
|
|
371
|
-
|
|
388
|
+
return String(arg)
|
|
372
389
|
}
|
|
373
390
|
|
|
374
|
-
function
|
|
375
|
-
|
|
376
|
-
|
|
391
|
+
function printFloat(arg: any): string {
|
|
392
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (typeof arg !== 'number') <span class="cstat-no" title="statement not covered" >return 'NaN'</span>
|
|
393
|
+
return arg.toString()
|
|
377
394
|
}
|
|
378
395
|
|
|
379
|
-
function
|
|
380
|
-
|
|
381
|
-
|
|
396
|
+
function printInt(arg: any): string {
|
|
397
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (typeof arg !== 'number') <span class="cstat-no" title="statement not covered" >return 'NaN'</span>
|
|
398
|
+
return Math.floor(arg).toString()
|
|
382
399
|
}
|
|
383
400
|
|
|
384
|
-
function
|
|
385
|
-
|
|
401
|
+
function printObject(arg: any): string {
|
|
402
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (arg === undefined) {
|
|
386
403
|
<span class="cstat-no" title="statement not covered" > return 'undefined'</span>
|
|
387
404
|
}
|
|
388
|
-
|
|
405
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (arg === null) {
|
|
389
406
|
<span class="cstat-no" title="statement not covered" > return 'null'</span>
|
|
390
407
|
}
|
|
391
|
-
|
|
408
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (arg instanceof Error) {
|
|
392
409
|
<span class="cstat-no" title="statement not covered" > return printError(arg)</span>
|
|
393
410
|
}
|
|
394
|
-
|
|
395
|
-
const length =
|
|
396
|
-
const values =
|
|
397
|
-
|
|
411
|
+
if (Array.isArray(arg)) {
|
|
412
|
+
const length = arg.length
|
|
413
|
+
const values = arg.slice(0, 10).map(printString).join(', ')
|
|
414
|
+
return `Array(${length})[${values}]`
|
|
398
415
|
}
|
|
399
|
-
|
|
400
|
-
const res =
|
|
401
|
-
let i =
|
|
402
|
-
|
|
403
|
-
|
|
416
|
+
if (typeof arg === 'object') {
|
|
417
|
+
const res = []
|
|
418
|
+
let i = 0
|
|
419
|
+
for (const k in arg) {
|
|
420
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (++i === 10) {
|
|
404
421
|
<span class="cstat-no" title="statement not covered" > break</span>
|
|
405
422
|
}
|
|
406
|
-
const v =
|
|
407
|
-
|
|
423
|
+
const v = arg[k]
|
|
424
|
+
res.push(k + ': ' + printString(v))
|
|
408
425
|
}
|
|
409
|
-
|
|
426
|
+
return '{' + res.join(', ') + '}'
|
|
410
427
|
}
|
|
411
|
-
|
|
428
|
+
return arg.toString()
|
|
412
429
|
}
|
|
413
430
|
|
|
414
|
-
function
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
args.shift().replace(/%(o|s|f|d|i)/g,
|
|
418
|
-
const arg =
|
|
419
|
-
|
|
420
|
-
|
|
431
|
+
function printf(args: any[]): string {
|
|
432
|
+
if (typeof args[0] === 'string') {
|
|
433
|
+
args.unshift(
|
|
434
|
+
args.shift().replace(/%(o|s|f|d|i)/g, (s: string, t: string): string => {
|
|
435
|
+
const arg = args.shift()
|
|
436
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (arg === undefined) <span class="cstat-no" title="statement not covered" >return s</span>
|
|
437
|
+
switch (t) {
|
|
421
438
|
case 'o':
|
|
422
|
-
|
|
439
|
+
return printObject(arg)
|
|
423
440
|
case 's':
|
|
424
|
-
|
|
441
|
+
return printString(arg)
|
|
425
442
|
case 'f':
|
|
426
|
-
|
|
443
|
+
return printFloat(arg)
|
|
427
444
|
case 'd':
|
|
428
445
|
case 'i':
|
|
429
|
-
|
|
430
|
-
default
|
|
446
|
+
return printInt(arg)
|
|
447
|
+
<span class="branch-5 cbranch-no" title="branch not covered" > default:</span>
|
|
431
448
|
<span class="cstat-no" title="statement not covered" > return s</span>
|
|
432
449
|
}
|
|
433
450
|
}),
|
|
434
451
|
)
|
|
435
452
|
}
|
|
436
|
-
|
|
453
|
+
return args.map(printObject).join(' ')
|
|
437
454
|
}
|
|
438
455
|
|
|
439
456
|
export interface Options {
|
|
@@ -441,50 +458,60 @@ export interface Options {
|
|
|
441
458
|
consoleThrottling: number
|
|
442
459
|
}
|
|
443
460
|
|
|
444
|
-
const consoleMethods =
|
|
461
|
+
const consoleMethods = ['log', 'info', 'warn', 'error', 'debug', 'assert']
|
|
445
462
|
|
|
446
|
-
|
|
447
|
-
const options: Options =
|
|
463
|
+
export default function (app: App, opts: Partial<Options>): void {
|
|
464
|
+
const options: Options = Object.assign(
|
|
448
465
|
{
|
|
449
466
|
consoleMethods,
|
|
450
467
|
consoleThrottling: 30,
|
|
451
468
|
},
|
|
452
469
|
opts,
|
|
453
470
|
)
|
|
454
|
-
|
|
455
|
-
|
|
471
|
+
|
|
472
|
+
if (!Array.isArray(options.consoleMethods) || options.consoleMethods.length === 0) {
|
|
473
|
+
return
|
|
456
474
|
}
|
|
457
475
|
|
|
458
|
-
const sendConsoleLog =
|
|
459
|
-
|
|
476
|
+
const sendConsoleLog = app.safe((level: string, args: unknown[]): void =>
|
|
477
|
+
app.send(ConsoleLog(level, printf(args))),
|
|
460
478
|
)
|
|
461
479
|
|
|
462
|
-
let n
|
|
463
|
-
const reset = <span class="
|
|
480
|
+
let n = 0
|
|
481
|
+
const reset = <span class="fstat-no" title="function not covered" >(): void =</span>> {
|
|
464
482
|
<span class="cstat-no" title="statement not covered" > n = 0</span>
|
|
465
483
|
}
|
|
466
|
-
|
|
467
|
-
|
|
484
|
+
app.attachStartCallback(reset)
|
|
485
|
+
app.ticker.attach(reset, 33, false)
|
|
468
486
|
|
|
469
|
-
const patchConsole =
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (n++ > options.consoleThrottling) {</span>
|
|
479
|
-
<span class="cstat-no" title="statement not covered" > return</span>
|
|
487
|
+
const patchConsole = (console: Console, ctx: typeof globalThis) => {
|
|
488
|
+
const handler = {
|
|
489
|
+
apply: function (target: Console['log'], thisArg: typeof this, argumentsList: unknown[]) {
|
|
490
|
+
Reflect.apply(target, ctx, argumentsList)
|
|
491
|
+
n = n + 1
|
|
492
|
+
if (n > options.consoleThrottling) {
|
|
493
|
+
return
|
|
494
|
+
} else {
|
|
495
|
+
sendConsoleLog(target.name, argumentsList)
|
|
480
496
|
}
|
|
481
|
-
|
|
497
|
+
},
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
options.consoleMethods!.forEach((method) => {
|
|
501
|
+
if (consoleMethods.indexOf(method) === -1) {
|
|
502
|
+
app.debug.error(`OpenReplay: unsupported console method "${method}"`)
|
|
503
|
+
return
|
|
482
504
|
}
|
|
505
|
+
const fn = (ctx.console as any)[method]
|
|
506
|
+
// is there any way to preserve the original console trace?
|
|
507
|
+
;(console as any)[method] = new Proxy(fn, handler)
|
|
483
508
|
})
|
|
484
|
-
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
const patchContext = app.safe((context: typeof globalThis) => patchConsole(context.console, context))
|
|
485
512
|
|
|
486
|
-
|
|
487
|
-
|
|
513
|
+
patchContext(window)
|
|
514
|
+
app.observer.attachContextCallback(patchContext)
|
|
488
515
|
}
|
|
489
516
|
</pre></td></tr></table></pre>
|
|
490
517
|
|
|
@@ -493,7 +520,7 @@ const consoleMethods = <span class="cstat-no" title="statement not covered" >['l
|
|
|
493
520
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
494
521
|
Code coverage generated by
|
|
495
522
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
496
|
-
at 2023-
|
|
523
|
+
at 2023-06-28T10:44:28.733Z
|
|
497
524
|
</div>
|
|
498
525
|
<script src="../../prettify.js"></script>
|
|
499
526
|
<script>
|
|
@@ -544,7 +544,7 @@ export const <span class="cstat-no" title="statement not covered" >styleSheetIDM
|
|
|
544
544
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
545
545
|
Code coverage generated by
|
|
546
546
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
547
|
-
at 2023-
|
|
547
|
+
at 2023-06-28T10:44:28.733Z
|
|
548
548
|
</div>
|
|
549
549
|
<script src="../../prettify.js"></script>
|
|
550
550
|
<script>
|
|
@@ -403,7 +403,7 @@
|
|
|
403
403
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
404
404
|
Code coverage generated by
|
|
405
405
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
406
|
-
at 2023-
|
|
406
|
+
at 2023-06-28T10:44:28.733Z
|
|
407
407
|
</div>
|
|
408
408
|
<script src="../../prettify.js"></script>
|
|
409
409
|
<script>
|
|
@@ -370,7 +370,7 @@ function <span class="fstat-no" title="function not covered" >getDefaultStack(</
|
|
|
370
370
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
371
371
|
Code coverage generated by
|
|
372
372
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
373
|
-
at 2023-
|
|
373
|
+
at 2023-06-28T10:44:28.733Z
|
|
374
374
|
</div>
|
|
375
375
|
<script src="../../prettify.js"></script>
|
|
376
376
|
<script>
|