@openreplay/tracker 9.0.13 → 9.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/cjs/app/index.js +2 -2
  2. package/cjs/index.js +3 -2
  3. package/cjs/modules/mouse.js +1 -0
  4. package/cjs/modules/network.js +1 -0
  5. package/coverage/clover.xml +1802 -779
  6. package/coverage/coverage-final.json +27 -18
  7. package/coverage/lcov-report/index.html +60 -45
  8. package/coverage/lcov-report/main/app/canvas.ts.html +535 -0
  9. package/coverage/lcov-report/main/app/guards.ts.html +5 -2
  10. package/coverage/lcov-report/main/app/index.html +38 -23
  11. package/coverage/lcov-report/main/app/index.ts.html +1578 -108
  12. package/coverage/lcov-report/main/app/logger.ts.html +25 -91
  13. package/coverage/lcov-report/main/app/messages.gen.ts.html +263 -146
  14. package/coverage/lcov-report/main/app/nodes.ts.html +17 -5
  15. package/coverage/lcov-report/main/app/observer/iframe_observer.ts.html +2 -2
  16. package/coverage/lcov-report/main/app/observer/iframe_offsets.ts.html +1 -1
  17. package/coverage/lcov-report/main/app/observer/index.html +1 -1
  18. package/coverage/lcov-report/main/app/observer/shadow_root_observer.ts.html +2 -2
  19. package/coverage/lcov-report/main/app/observer/top_observer.ts.html +1 -1
  20. package/coverage/lcov-report/main/app/sanitizer.ts.html +1 -1
  21. package/coverage/lcov-report/main/app/session.ts.html +1 -1
  22. package/coverage/lcov-report/main/app/ticker.ts.html +1 -1
  23. package/coverage/lcov-report/main/index.html +20 -20
  24. package/coverage/lcov-report/main/index.ts.html +464 -98
  25. package/coverage/lcov-report/main/modules/Network/beaconProxy.ts.html +19 -19
  26. package/coverage/lcov-report/main/modules/Network/fetchProxy.ts.html +114 -99
  27. package/coverage/lcov-report/main/modules/Network/index.html +66 -66
  28. package/coverage/lcov-report/main/modules/Network/index.ts.html +33 -33
  29. package/coverage/lcov-report/main/modules/Network/networkMessage.ts.html +82 -73
  30. package/coverage/lcov-report/main/modules/Network/utils.ts.html +34 -34
  31. package/coverage/lcov-report/main/modules/Network/xhrProxy.ts.html +15 -15
  32. package/coverage/lcov-report/main/modules/attributeSender.ts.html +1 -1
  33. package/coverage/lcov-report/main/modules/axiosSpy.ts.html +1 -1
  34. package/coverage/lcov-report/main/modules/conditionsManager.ts.html +1399 -0
  35. package/coverage/lcov-report/main/modules/connection.ts.html +1 -1
  36. package/coverage/lcov-report/main/modules/console.ts.html +1 -1
  37. package/coverage/lcov-report/main/modules/constructedStyleSheets.ts.html +1 -1
  38. package/coverage/lcov-report/main/modules/cssrules.ts.html +1 -1
  39. package/coverage/lcov-report/main/modules/exception.ts.html +1 -1
  40. package/coverage/lcov-report/main/modules/featureFlags.ts.html +10 -7
  41. package/coverage/lcov-report/main/modules/focus.ts.html +1 -1
  42. package/coverage/lcov-report/main/modules/fonts.ts.html +1 -1
  43. package/coverage/lcov-report/main/modules/img.ts.html +1 -1
  44. package/coverage/lcov-report/main/modules/index.html +42 -12
  45. package/coverage/lcov-report/main/modules/input.ts.html +1 -1
  46. package/coverage/lcov-report/main/modules/mouse.ts.html +1 -1
  47. package/coverage/lcov-report/main/modules/network.ts.html +2 -2
  48. package/coverage/lcov-report/main/modules/performance.ts.html +1 -1
  49. package/coverage/lcov-report/main/modules/scroll.ts.html +1 -1
  50. package/coverage/lcov-report/main/modules/selection.ts.html +1 -1
  51. package/coverage/lcov-report/main/modules/tabs.ts.html +1 -1
  52. package/coverage/lcov-report/main/modules/tagWatcher.ts.html +334 -0
  53. package/coverage/lcov-report/main/modules/timing.ts.html +1 -1
  54. package/coverage/lcov-report/main/modules/userTesting/SignalManager.ts.html +370 -0
  55. package/coverage/lcov-report/main/modules/userTesting/dnd.ts.html +10 -22
  56. package/coverage/lcov-report/main/modules/userTesting/index.html +57 -27
  57. package/coverage/lcov-report/main/modules/userTesting/index.ts.html +814 -115
  58. package/coverage/lcov-report/main/modules/userTesting/recorder.ts.html +136 -67
  59. package/coverage/lcov-report/main/modules/userTesting/styles.ts.html +111 -39
  60. package/coverage/lcov-report/main/modules/userTesting/utils.ts.html +364 -0
  61. package/coverage/lcov-report/main/modules/viewport.ts.html +1 -1
  62. package/coverage/lcov-report/main/utils.ts.html +101 -59
  63. package/coverage/lcov-report/webworker/BatchWriter.ts.html +23 -5
  64. package/coverage/lcov-report/webworker/MessageEncoder.gen.ts.html +41 -5
  65. package/coverage/lcov-report/webworker/PrimitiveEncoder.ts.html +1 -1
  66. package/coverage/lcov-report/webworker/QueueSender.ts.html +18 -6
  67. package/coverage/lcov-report/webworker/index.html +17 -17
  68. package/coverage/lcov-report/webworker/index.ts.html +24 -15
  69. package/coverage/lcov.info +3267 -1349
  70. package/lib/app/index.js +2 -2
  71. package/lib/common/tsconfig.tsbuildinfo +1 -1
  72. package/lib/index.js +3 -2
  73. package/lib/modules/mouse.js +1 -0
  74. package/lib/modules/network.js +1 -0
  75. package/package.json +1 -1
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">11.32% </span>
26
+ <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>6/53</span>
28
+ <span class='fraction'>0/53</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">26.08% </span>
33
+ <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>6/23</span>
35
+ <span class='fraction'>0/23</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">11.32% </span>
47
+ <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>6/53</span>
49
+ <span class='fraction'>0/53</span>
50
50
  </div>
51
51
 
52
52
 
@@ -166,12 +166,12 @@
166
166
  <a name='L101'></a><a href='#L101'>101</a>
167
167
  <a name='L102'></a><a href='#L102'>102</a>
168
168
  <a name='L103'></a><a href='#L103'>103</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
169
- <span class="cline-any cline-yes">1x</span>
169
+ <span class="cline-any cline-no">&nbsp;</span>
170
170
  <span class="cline-any cline-neutral">&nbsp;</span>
171
- <span class="cline-any cline-yes">1x</span>
171
+ <span class="cline-any cline-no">&nbsp;</span>
172
172
  <span class="cline-any cline-neutral">&nbsp;</span>
173
173
  <span class="cline-any cline-neutral">&nbsp;</span>
174
- <span class="cline-any cline-yes">1x</span>
174
+ <span class="cline-any cline-no">&nbsp;</span>
175
175
  <span class="cline-any cline-no">&nbsp;</span>
176
176
  <span class="cline-any cline-no">&nbsp;</span>
177
177
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -184,7 +184,7 @@
184
184
  <span class="cline-any cline-no">&nbsp;</span>
185
185
  <span class="cline-any cline-neutral">&nbsp;</span>
186
186
  <span class="cline-any cline-neutral">&nbsp;</span>
187
- <span class="cline-any cline-yes">1x</span>
187
+ <span class="cline-any cline-no">&nbsp;</span>
188
188
  <span class="cline-any cline-neutral">&nbsp;</span>
189
189
  <span class="cline-any cline-no">&nbsp;</span>
190
190
  <span class="cline-any cline-no">&nbsp;</span>
@@ -238,8 +238,8 @@
238
238
  <span class="cline-any cline-neutral">&nbsp;</span>
239
239
  <span class="cline-any cline-neutral">&nbsp;</span>
240
240
  <span class="cline-any cline-neutral">&nbsp;</span>
241
- <span class="cline-any cline-yes">1x</span>
242
- <span class="cline-any cline-yes">1x</span>
241
+ <span class="cline-any cline-no">&nbsp;</span>
242
+ <span class="cline-any cline-no">&nbsp;</span>
243
243
  <span class="cline-any cline-neutral">&nbsp;</span>
244
244
  <span class="cline-any cline-neutral">&nbsp;</span>
245
245
  <span class="cline-any cline-no">&nbsp;</span>
@@ -268,12 +268,12 @@
268
268
  <span class="cline-any cline-neutral">&nbsp;</span>
269
269
  <span class="cline-any cline-neutral">&nbsp;</span>
270
270
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { NetworkRequest } from '../../../common/messages.gen.js'
271
- import NetworkMessage from './networkMessage.js'
271
+ <span class="cstat-no" title="statement not covered" >import NetworkMessage from './networkMessage.js'</span>
272
272
  import { RequestResponseData } from './types.js'
273
- import { genStringBody, getURL } from './utils.js'
273
+ <span class="cstat-no" title="statement not covered" >import { genStringBody, getURL } from './utils.js'</span>
274
274
  &nbsp;
275
275
  // https://fetch.spec.whatwg.org/#concept-bodyinit-extract
276
- const getContentType = <span class="fstat-no" title="function not covered" >(d</span>ata?: BodyInit) =&gt; {
276
+ const getContentType = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(d</span>ata?: BodyInit) =&gt; {</span>
277
277
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (data instanceof Blob) {</span>
278
278
  <span class="cstat-no" title="statement not covered" > return data.type</span>
279
279
  }
@@ -286,7 +286,7 @@ const getContentType = <span class="fstat-no" title="function not covered" >(d</
286
286
  <span class="cstat-no" title="statement not covered" > return 'text/plain;charset=UTF-8'</span>
287
287
  }
288
288
  &nbsp;
289
- export class BeaconProxyHandler&lt;T extends typeof navigator.sendBeacon&gt; implements ProxyHandler&lt;T&gt; {
289
+ <span class="cstat-no" title="statement not covered" >export class B</span>eaconProxyHandler&lt;T extends typeof navigator.sendBeacon&gt; implements ProxyHandler&lt;T&gt; {
290
290
  <span class="fstat-no" title="function not covered" > constructor(</span>
291
291
  private readonly <span class="cstat-no" title="statement not covered" >ignoredHeaders: boolean | string[],</span>
292
292
  private readonly <span class="cstat-no" title="statement not covered" >setSessionTokenHeader: (cb: (name: string, value: string) =&gt; void) =&gt; void,</span>
@@ -340,8 +340,8 @@ export class BeaconProxyHandler&lt;T extends typeof navigator.sendBeacon&gt; imp
340
340
  }
341
341
  }
342
342
  &nbsp;
343
- export default class BeaconProxy {
344
- public static origSendBeacon = window<span class="branch-0 cbranch-no" title="branch not covered" >?.n</span>avigator<span class="branch-0 cbranch-no" title="branch not covered" >?.s</span>endBeacon
343
+ <span class="cstat-no" title="statement not covered" >export default class B</span>eaconProxy {
344
+ public static <span class="cstat-no" title="statement not covered" >origSendBeacon = window?.navigator?.sendBeacon</span>
345
345
  &nbsp;
346
346
  public <span class="fstat-no" title="function not covered" >static </span>hasSendBeacon() {
347
347
  <span class="cstat-no" title="statement not covered" > return !!BeaconProxy.origSendBeacon</span>
@@ -376,7 +376,7 @@ export default class BeaconProxy {
376
376
  <div class='footer quiet pad2 space-top1 center small'>
377
377
  Code coverage generated by
378
378
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
379
- at 2023-11-03T09:39:08.430Z
379
+ at 2024-01-23T12:19:37.435Z
380
380
  </div>
381
381
  <script src="../../../prettify.js"></script>
382
382
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">27.51% </span>
26
+ <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>41/149</span>
28
+ <span class='fraction'>0/149</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">27.95% </span>
33
+ <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>26/93</span>
35
+ <span class='fraction'>0/94</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">20% </span>
40
+ <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>4/20</span>
42
+ <span class='fraction'>0/20</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">27.89% </span>
47
+ <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>41/147</span>
49
+ <span class='fraction'>0/148</span>
50
50
  </div>
51
51
 
52
52
 
@@ -379,19 +379,24 @@
379
379
  <a name='L314'></a><a href='#L314'>314</a>
380
380
  <a name='L315'></a><a href='#L315'>315</a>
381
381
  <a name='L316'></a><a href='#L316'>316</a>
382
- <a name='L317'></a><a href='#L317'>317</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
382
+ <a name='L317'></a><a href='#L317'>317</a>
383
+ <a name='L318'></a><a href='#L318'>318</a>
384
+ <a name='L319'></a><a href='#L319'>319</a>
385
+ <a name='L320'></a><a href='#L320'>320</a>
386
+ <a name='L321'></a><a href='#L321'>321</a>
387
+ <a name='L322'></a><a href='#L322'>322</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
383
388
  <span class="cline-any cline-neutral">&nbsp;</span>
384
389
  <span class="cline-any cline-neutral">&nbsp;</span>
385
390
  <span class="cline-any cline-neutral">&nbsp;</span>
386
391
  <span class="cline-any cline-neutral">&nbsp;</span>
387
392
  <span class="cline-any cline-neutral">&nbsp;</span>
388
393
  <span class="cline-any cline-neutral">&nbsp;</span>
389
- <span class="cline-any cline-yes">1x</span>
390
- <span class="cline-any cline-yes">1x</span>
394
+ <span class="cline-any cline-no">&nbsp;</span>
395
+ <span class="cline-any cline-no">&nbsp;</span>
391
396
  <span class="cline-any cline-neutral">&nbsp;</span>
392
397
  <span class="cline-any cline-neutral">&nbsp;</span>
393
398
  <span class="cline-any cline-neutral">&nbsp;</span>
394
- <span class="cline-any cline-yes">1x</span>
399
+ <span class="cline-any cline-no">&nbsp;</span>
395
400
  <span class="cline-any cline-neutral">&nbsp;</span>
396
401
  <span class="cline-any cline-neutral">&nbsp;</span>
397
402
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -499,35 +504,40 @@
499
504
  <span class="cline-any cline-neutral">&nbsp;</span>
500
505
  <span class="cline-any cline-neutral">&nbsp;</span>
501
506
  <span class="cline-any cline-neutral">&nbsp;</span>
502
- <span class="cline-any cline-yes">1x</span>
507
+ <span class="cline-any cline-no">&nbsp;</span>
508
+ <span class="cline-any cline-neutral">&nbsp;</span>
509
+ <span class="cline-any cline-no">&nbsp;</span>
510
+ <span class="cline-any cline-no">&nbsp;</span>
511
+ <span class="cline-any cline-no">&nbsp;</span>
512
+ <span class="cline-any cline-no">&nbsp;</span>
513
+ <span class="cline-any cline-no">&nbsp;</span>
514
+ <span class="cline-any cline-no">&nbsp;</span>
515
+ <span class="cline-any cline-neutral">&nbsp;</span>
516
+ <span class="cline-any cline-neutral">&nbsp;</span>
517
+ <span class="cline-any cline-neutral">&nbsp;</span>
518
+ <span class="cline-any cline-no">&nbsp;</span>
519
+ <span class="cline-any cline-no">&nbsp;</span>
520
+ <span class="cline-any cline-no">&nbsp;</span>
503
521
  <span class="cline-any cline-neutral">&nbsp;</span>
504
- <span class="cline-any cline-yes">1x</span>
505
- <span class="cline-any cline-yes">1x</span>
506
- <span class="cline-any cline-yes">1x</span>
507
- <span class="cline-any cline-yes">1x</span>
508
- <span class="cline-any cline-yes">1x</span>
509
- <span class="cline-any cline-yes">1x</span>
510
522
  <span class="cline-any cline-neutral">&nbsp;</span>
511
523
  <span class="cline-any cline-neutral">&nbsp;</span>
512
524
  <span class="cline-any cline-neutral">&nbsp;</span>
513
- <span class="cline-any cline-yes">1x</span>
514
- <span class="cline-any cline-yes">1x</span>
525
+ <span class="cline-any cline-no">&nbsp;</span>
515
526
  <span class="cline-any cline-neutral">&nbsp;</span>
516
- <span class="cline-any cline-yes">1x</span>
517
527
  <span class="cline-any cline-neutral">&nbsp;</span>
518
528
  <span class="cline-any cline-neutral">&nbsp;</span>
519
- <span class="cline-any cline-yes">1x</span>
529
+ <span class="cline-any cline-no">&nbsp;</span>
520
530
  <span class="cline-any cline-neutral">&nbsp;</span>
521
531
  <span class="cline-any cline-neutral">&nbsp;</span>
522
532
  <span class="cline-any cline-neutral">&nbsp;</span>
523
- <span class="cline-any cline-yes">1x</span>
533
+ <span class="cline-any cline-no">&nbsp;</span>
524
534
  <span class="cline-any cline-no">&nbsp;</span>
525
535
  <span class="cline-any cline-neutral">&nbsp;</span>
526
536
  <span class="cline-any cline-neutral">&nbsp;</span>
527
- <span class="cline-any cline-yes">1x</span>
528
- <span class="cline-any cline-yes">1x</span>
537
+ <span class="cline-any cline-no">&nbsp;</span>
538
+ <span class="cline-any cline-no">&nbsp;</span>
529
539
  <span class="cline-any cline-neutral">&nbsp;</span>
530
- <span class="cline-any cline-yes">1x</span>
540
+ <span class="cline-any cline-no">&nbsp;</span>
531
541
  <span class="cline-any cline-no">&nbsp;</span>
532
542
  <span class="cline-any cline-no">&nbsp;</span>
533
543
  <span class="cline-any cline-no">&nbsp;</span>
@@ -550,7 +560,7 @@
550
560
  <span class="cline-any cline-neutral">&nbsp;</span>
551
561
  <span class="cline-any cline-neutral">&nbsp;</span>
552
562
  <span class="cline-any cline-neutral">&nbsp;</span>
553
- <span class="cline-any cline-yes">1x</span>
563
+ <span class="cline-any cline-no">&nbsp;</span>
554
564
  <span class="cline-any cline-neutral">&nbsp;</span>
555
565
  <span class="cline-any cline-neutral">&nbsp;</span>
556
566
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -562,15 +572,15 @@
562
572
  <span class="cline-any cline-neutral">&nbsp;</span>
563
573
  <span class="cline-any cline-neutral">&nbsp;</span>
564
574
  <span class="cline-any cline-neutral">&nbsp;</span>
565
- <span class="cline-any cline-yes">1x</span>
566
- <span class="cline-any cline-yes">1x</span>
575
+ <span class="cline-any cline-no">&nbsp;</span>
576
+ <span class="cline-any cline-no">&nbsp;</span>
567
577
  <span class="cline-any cline-neutral">&nbsp;</span>
568
578
  <span class="cline-any cline-neutral">&nbsp;</span>
569
- <span class="cline-any cline-yes">1x</span>
579
+ <span class="cline-any cline-no">&nbsp;</span>
570
580
  <span class="cline-any cline-neutral">&nbsp;</span>
571
- <span class="cline-any cline-yes">1x</span>
572
- <span class="cline-any cline-yes">1x</span>
573
- <span class="cline-any cline-yes">1x</span>
581
+ <span class="cline-any cline-no">&nbsp;</span>
582
+ <span class="cline-any cline-no">&nbsp;</span>
583
+ <span class="cline-any cline-no">&nbsp;</span>
574
584
  <span class="cline-any cline-neutral">&nbsp;</span>
575
585
  <span class="cline-any cline-neutral">&nbsp;</span>
576
586
  <span class="cline-any cline-no">&nbsp;</span>
@@ -578,30 +588,30 @@
578
588
  <span class="cline-any cline-no">&nbsp;</span>
579
589
  <span class="cline-any cline-neutral">&nbsp;</span>
580
590
  <span class="cline-any cline-neutral">&nbsp;</span>
581
- <span class="cline-any cline-yes">1x</span>
582
- <span class="cline-any cline-yes">1x</span>
583
- <span class="cline-any cline-yes">1x</span>
584
- <span class="cline-any cline-yes">1x</span>
585
- <span class="cline-any cline-yes">1x</span>
586
- <span class="cline-any cline-yes">1x</span>
587
- <span class="cline-any cline-yes">1x</span>
588
- <span class="cline-any cline-yes">1x</span>
589
- <span class="cline-any cline-yes">1x</span>
591
+ <span class="cline-any cline-no">&nbsp;</span>
592
+ <span class="cline-any cline-no">&nbsp;</span>
593
+ <span class="cline-any cline-no">&nbsp;</span>
594
+ <span class="cline-any cline-no">&nbsp;</span>
595
+ <span class="cline-any cline-no">&nbsp;</span>
596
+ <span class="cline-any cline-no">&nbsp;</span>
597
+ <span class="cline-any cline-no">&nbsp;</span>
598
+ <span class="cline-any cline-no">&nbsp;</span>
599
+ <span class="cline-any cline-no">&nbsp;</span>
590
600
  <span class="cline-any cline-neutral">&nbsp;</span>
591
- <span class="cline-any cline-yes">1x</span>
601
+ <span class="cline-any cline-no">&nbsp;</span>
592
602
  <span class="cline-any cline-neutral">&nbsp;</span>
593
603
  <span class="cline-any cline-neutral">&nbsp;</span>
594
- <span class="cline-any cline-yes">1x</span>
604
+ <span class="cline-any cline-no">&nbsp;</span>
595
605
  <span class="cline-any cline-no">&nbsp;</span>
596
606
  <span class="cline-any cline-no">&nbsp;</span>
597
607
  <span class="cline-any cline-no">&nbsp;</span>
598
608
  <span class="cline-any cline-neutral">&nbsp;</span>
599
609
  <span class="cline-any cline-neutral">&nbsp;</span>
600
- <span class="cline-any cline-yes">1x</span>
610
+ <span class="cline-any cline-no">&nbsp;</span>
601
611
  <span class="cline-any cline-neutral">&nbsp;</span>
602
612
  <span class="cline-any cline-neutral">&nbsp;</span>
603
613
  <span class="cline-any cline-neutral">&nbsp;</span>
604
- <span class="cline-any cline-yes">1x</span>
614
+ <span class="cline-any cline-no">&nbsp;</span>
605
615
  <span class="cline-any cline-no">&nbsp;</span>
606
616
  <span class="cline-any cline-no">&nbsp;</span>
607
617
  <span class="cline-any cline-no">&nbsp;</span>
@@ -609,7 +619,7 @@
609
619
  <span class="cline-any cline-neutral">&nbsp;</span>
610
620
  <span class="cline-any cline-neutral">&nbsp;</span>
611
621
  <span class="cline-any cline-neutral">&nbsp;</span>
612
- <span class="cline-any cline-yes">1x</span>
622
+ <span class="cline-any cline-no">&nbsp;</span>
613
623
  <span class="cline-any cline-no">&nbsp;</span>
614
624
  <span class="cline-any cline-neutral">&nbsp;</span>
615
625
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -673,7 +683,7 @@
673
683
  <span class="cline-any cline-neutral">&nbsp;</span>
674
684
  <span class="cline-any cline-neutral">&nbsp;</span>
675
685
  <span class="cline-any cline-neutral">&nbsp;</span>
676
- <span class="cline-any cline-yes">1x</span>
686
+ <span class="cline-any cline-no">&nbsp;</span>
677
687
  <span class="cline-any cline-neutral">&nbsp;</span>
678
688
  <span class="cline-any cline-neutral">&nbsp;</span>
679
689
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -682,7 +692,7 @@
682
692
  <span class="cline-any cline-neutral">&nbsp;</span>
683
693
  <span class="cline-any cline-neutral">&nbsp;</span>
684
694
  <span class="cline-any cline-neutral">&nbsp;</span>
685
- <span class="cline-any cline-yes">1x</span>
695
+ <span class="cline-any cline-no">&nbsp;</span>
686
696
  <span class="cline-any cline-neutral">&nbsp;</span>
687
697
  <span class="cline-any cline-neutral">&nbsp;</span>
688
698
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -702,12 +712,12 @@
702
712
  * we can intercept the network requests
703
713
  * in not-so-hacky way
704
714
  * */
705
- import NetworkMessage, { RequestState } from './networkMessage.js'
706
- import { formatByteSize, genStringBody, getStringResponseByType, getURL } from './utils.js'
715
+ <span class="cstat-no" title="statement not covered" >import NetworkMessage, { RequestState } from './networkMessage.js'</span>
716
+ <span class="cstat-no" title="statement not covered" >import { formatByteSize, genStringBody, getStringResponseByType, getURL } from './utils.js'</span>
707
717
  import { RequestResponseData } from './types.js'
708
718
  import { NetworkRequest } from '../../../common/messages.gen.js'
709
719
  &nbsp;
710
- export class ResponseProxyHandler&lt;T extends Response&gt; implements ProxyHandler&lt;T&gt; {
720
+ <span class="cstat-no" title="statement not covered" >export class R</span>esponseProxyHandler&lt;T extends Response&gt; implements ProxyHandler&lt;T&gt; {
711
721
  public resp: Response
712
722
  public item: NetworkMessage
713
723
  &nbsp;
@@ -815,35 +825,40 @@ export class ResponseProxyHandler&lt;T extends Response&gt; implements ProxyHand
815
825
  }
816
826
  }
817
827
  &nbsp;
818
- export class FetchProxyHandler&lt;T extends typeof fetch&gt; implements ProxyHandler&lt;T&gt; {
819
- constructor(
820
- private readonly ignoredHeaders: boolean | string[],
821
- private readonly setSessionTokenHeader: (cb: (name: string, value: string) =&gt; void) =&gt; void,
822
- private readonly sanitize: (data: RequestResponseData) =&gt; RequestResponseData,
823
- private readonly sendMessage: (item: NetworkRequest) =&gt; void,
824
- private readonly isServiceUrl: (url: string) =&gt; boolean,
825
- private readonly tokenUrlMatcher?: (url: string) =&gt; boolean,
828
+ <span class="cstat-no" title="statement not covered" >export class F</span>etchProxyHandler&lt;T extends typeof fetch&gt; implements ProxyHandler&lt;T&gt; {
829
+ <span class="fstat-no" title="function not covered" > constructor(</span>
830
+ private readonly <span class="cstat-no" title="statement not covered" >ignoredHeaders: boolean | string[],</span>
831
+ private readonly <span class="cstat-no" title="statement not covered" >setSessionTokenHeader: (cb: (name: string, value: string) =&gt; void) =&gt; void,</span>
832
+ private readonly <span class="cstat-no" title="statement not covered" >sanitize: (data: RequestResponseData) =&gt; RequestResponseData,</span>
833
+ private readonly <span class="cstat-no" title="statement not covered" >sendMessage: (item: NetworkRequest) =&gt; void,</span>
834
+ private readonly <span class="cstat-no" title="statement not covered" >isServiceUrl: (url: string) =&gt; boolean,</span>
835
+ private readonly <span class="cstat-no" title="statement not covered" >tokenUrlMatcher?: (url: string) =&gt; boolean,</span>
826
836
  ) {}
827
837
  &nbsp;
828
- public apply(target: T, _: typeof window, argsList: [RequestInfo | URL, RequestInit]) {
829
- const input = argsList[0]
830
- const init = argsList[1]
831
- // @ts-ignore
832
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!input<span class="branch-0 cbranch-no" title="branch not covered" >?.u</span>rl &amp;&amp; !input) <span class="cstat-no" title="statement not covered" >return &lt;ReturnType&lt;T&gt;&gt;target.apply(window, argsList)</span>
838
+ public <span class="fstat-no" title="function not covered" >apply(</span>target: T, _: typeof window, argsList: [RequestInfo | URL, RequestInit]) {
839
+ const input = <span class="cstat-no" title="statement not covered" >argsList[0]</span>
840
+ const init = <span class="cstat-no" title="statement not covered" >argsList[1]</span>
841
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (</span>
842
+ !input ||
843
+ // @ts-ignore
844
+ (typeof input !== 'string' &amp;&amp; !input?.url)
845
+ ) {
846
+ <span class="cstat-no" title="statement not covered" > return &lt;ReturnType&lt;T&gt;&gt;target.apply(window, argsList)</span>
847
+ }
833
848
  &nbsp;
834
849
  const isORUrl =
835
- input instanceof URL || typeof input === 'string'
850
+ <span class="cstat-no" title="statement not covered" > input instanceof URL || typeof input === 'string'</span>
836
851
  ? this.isServiceUrl(String(input))
837
- : <span class="branch-1 cbranch-no" title="branch not covered" >this.isServiceUrl(String(input.url))</span>
852
+ : this.isServiceUrl(String(input.url))
838
853
  &nbsp;
839
- <span class="missing-if-branch" title="if path not taken" >I</span>if (isORUrl) {
854
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (isORUrl) {</span>
840
855
  <span class="cstat-no" title="statement not covered" > return target.apply(window, argsList)</span>
841
856
  }
842
857
  &nbsp;
843
- const item = new NetworkMessage(this.ignoredHeaders, this.setSessionTokenHeader, this.sanitize)
844
- this.beforeFetch(item, input as RequestInfo, init)
858
+ const item = <span class="cstat-no" title="statement not covered" >new NetworkMessage(this.ignoredHeaders, this.setSessionTokenHeader, this.sanitize)</span>
859
+ <span class="cstat-no" title="statement not covered" > this.beforeFetch(item, input as RequestInfo, init)</span>
845
860
  &nbsp;
846
- this.setSessionTokenHeader(<span class="fstat-no" title="function not covered" >(n</span>ame, value) =&gt; {
861
+ <span class="cstat-no" title="statement not covered" > this.setSessionTokenHeader(<span class="fstat-no" title="function not covered" >(n</span>ame, value) =&gt; {</span>
847
862
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (this.tokenUrlMatcher !== undefined) {</span>
848
863
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!this.tokenUrlMatcher(item.url)) {</span>
849
864
  <span class="cstat-no" title="statement not covered" > return</span>
@@ -866,7 +881,7 @@ export class FetchProxyHandler&lt;T extends typeof fetch&gt; implements ProxyHan
866
881
  }
867
882
  }
868
883
  })
869
- return (&lt;ReturnType&lt;T&gt;&gt;target.apply(window, argsList))
884
+ <span class="cstat-no" title="statement not covered" > return (&lt;ReturnType&lt;T&gt;&gt;target.apply(window, argsList))</span>
870
885
  .then(this.afterFetch(item))
871
886
  .catch(<span class="fstat-no" title="function not covered" >(e</span>) =&gt; {
872
887
  // mock finally
@@ -876,48 +891,48 @@ export class FetchProxyHandler&lt;T extends typeof fetch&gt; implements ProxyHan
876
891
  })
877
892
  }
878
893
  &nbsp;
879
- protected beforeFetch(item: NetworkMessage, input: RequestInfo, init?: RequestInit) {
894
+ protected <span class="fstat-no" title="function not covered" >beforeFetch(</span>item: NetworkMessage, input: RequestInfo | string, init?: RequestInit) {
880
895
  let url: URL,
881
- method = 'GET',
882
- requestHeader: HeadersInit = {}
896
+ method = <span class="cstat-no" title="statement not covered" >'GET',</span>
897
+ requestHeader: HeadersInit = <span class="cstat-no" title="statement not covered" >{}</span>
883
898
  &nbsp;
884
899
  // handle `input` content
885
- if (typeof input === 'string') {
900
+ <span class="cstat-no" title="statement not covered" > if (typeof input === 'string') {</span>
886
901
  // when `input` is a string
887
- method = init<span class="branch-0 cbranch-no" title="branch not covered" >?.m</span>ethod || 'GET'
888
- url = getURL(input)
889
- requestHeader = init<span class="branch-0 cbranch-no" title="branch not covered" >?.h</span>eaders || <span class="branch-1 cbranch-no" title="branch not covered" >{}</span>
890
- } else <span class="missing-if-branch" title="else path not taken" >E</span>{
902
+ <span class="cstat-no" title="statement not covered" > method = init?.method || 'GET'</span>
903
+ <span class="cstat-no" title="statement not covered" > url = getURL(input)</span>
904
+ <span class="cstat-no" title="statement not covered" > requestHeader = init?.headers || {}</span>
905
+ } else {
891
906
  // when `input` is a `Request` object
892
907
  <span class="cstat-no" title="statement not covered" > method = input.method || 'GET'</span>
893
908
  <span class="cstat-no" title="statement not covered" > url = getURL(input.url)</span>
894
909
  <span class="cstat-no" title="statement not covered" > requestHeader = input.headers</span>
895
910
  }
896
911
  &nbsp;
897
- item.method = &lt;NetworkMessage['method']&gt;method
898
- item.requestType = 'fetch'
899
- item.requestHeader = requestHeader
900
- item.url = url.toString()
901
- item.name = (url.pathname.split('/').pop() || '') + url.search
902
- item.status = 0
903
- item.statusText = 'Pending'
904
- item.readyState = 1
905
- if (!item.startTime) {
912
+ <span class="cstat-no" title="statement not covered" > item.method = &lt;NetworkMessage['method']&gt;method</span>
913
+ <span class="cstat-no" title="statement not covered" > item.requestType = 'fetch'</span>
914
+ <span class="cstat-no" title="statement not covered" > item.requestHeader = requestHeader</span>
915
+ <span class="cstat-no" title="statement not covered" > item.url = url.toString()</span>
916
+ <span class="cstat-no" title="statement not covered" > item.name = (url.pathname.split('/').pop() || '') + url.search</span>
917
+ <span class="cstat-no" title="statement not covered" > item.status = 0</span>
918
+ <span class="cstat-no" title="statement not covered" > item.statusText = 'Pending'</span>
919
+ <span class="cstat-no" title="statement not covered" > item.readyState = 1</span>
920
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!item.startTime) {</span>
906
921
  // UNSENT
907
- item.startTime = performance.now()
922
+ <span class="cstat-no" title="statement not covered" > item.startTime = performance.now()</span>
908
923
  }
909
924
  &nbsp;
910
- <span class="missing-if-branch" title="if path not taken" >I</span>if (Object.prototype.toString.call(requestHeader) === '[object Headers]') {
925
+ <span class="cstat-no" title="statement not covered" > if (Object.prototype.toString.call(requestHeader) === '[object Headers]') {</span>
911
926
  <span class="cstat-no" title="statement not covered" > item.requestHeader = {}</span>
912
927
  <span class="cstat-no" title="statement not covered" > for (const [key, value] of &lt;Headers&gt;requestHeader) {</span>
913
928
  <span class="cstat-no" title="statement not covered" > item.requestHeader[key] = value</span>
914
929
  }
915
930
  } else {
916
- item.requestHeader = requestHeader
931
+ <span class="cstat-no" title="statement not covered" > item.requestHeader = requestHeader</span>
917
932
  }
918
933
  &nbsp;
919
934
  // save GET data
920
- <span class="missing-if-branch" title="if path not taken" >I</span>if (url.search &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >url.searchParams)</span> {
935
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (url.search &amp;&amp; url.searchParams) {</span>
921
936
  <span class="cstat-no" title="statement not covered" > item.getData = {}</span>
922
937
  <span class="cstat-no" title="statement not covered" > for (const [key, value] of url.searchParams) {</span>
923
938
  <span class="cstat-no" title="statement not covered" > item.getData[key] = value</span>
@@ -925,7 +940,7 @@ export class FetchProxyHandler&lt;T extends typeof fetch&gt; implements ProxyHan
925
940
  }
926
941
  &nbsp;
927
942
  // save POST data
928
- <span class="missing-if-branch" title="if path not taken" >I</span>if (init<span class="branch-0 cbranch-no" title="branch not covered" >?.b</span>ody) {
943
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (init?.body) {</span>
929
944
  <span class="cstat-no" title="statement not covered" > item.requestData = genStringBody(init.body)</span>
930
945
  }
931
946
  }
@@ -989,8 +1004,8 @@ export class FetchProxyHandler&lt;T extends typeof fetch&gt; implements ProxyHan
989
1004
  }
990
1005
  }
991
1006
  &nbsp;
992
- export default class FetchProxy {
993
- public static create(
1007
+ <span class="cstat-no" title="statement not covered" >export default class F</span>etchProxy {
1008
+ public <span class="fstat-no" title="function not covered" >static </span>create(
994
1009
  ignoredHeaders: boolean | string[],
995
1010
  setSessionTokenHeader: (cb: (name: string, value: string) =&gt; void) =&gt; void,
996
1011
  sanitize: (data: RequestResponseData) =&gt; RequestResponseData,
@@ -998,7 +1013,7 @@ export default class FetchProxy {
998
1013
  isServiceUrl: (url: string) =&gt; boolean,
999
1014
  tokenUrlMatcher?: (url: string) =&gt; boolean,
1000
1015
  ) {
1001
- return new Proxy(
1016
+ <span class="cstat-no" title="statement not covered" > return new Proxy(</span>
1002
1017
  fetch,
1003
1018
  new FetchProxyHandler(
1004
1019
  ignoredHeaders,
@@ -1018,7 +1033,7 @@ export default class FetchProxy {
1018
1033
  <div class='footer quiet pad2 space-top1 center small'>
1019
1034
  Code coverage generated by
1020
1035
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1021
- at 2023-11-03T09:39:08.430Z
1036
+ at 2024-01-23T12:19:37.435Z
1022
1037
  </div>
1023
1038
  <script src="../../../prettify.js"></script>
1024
1039
  <script>