@openreplay/tracker 10.0.0 → 10.0.2

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 (67) hide show
  1. package/CHANGELOG.md +10 -2
  2. package/cjs/app/index.js +1 -1
  3. package/cjs/index.js +1 -1
  4. package/cjs/modules/Network/fetchProxy.js +3 -0
  5. package/cjs/modules/Network/networkMessage.js +6 -3
  6. package/cjs/modules/network.js +2 -2
  7. package/coverage/clover.xml +436 -432
  8. package/coverage/coverage-final.json +13 -13
  9. package/coverage/lcov-report/index.html +38 -38
  10. package/coverage/lcov-report/main/app/guards.ts.html +1 -1
  11. package/coverage/lcov-report/main/app/index.html +13 -13
  12. package/coverage/lcov-report/main/app/index.ts.html +18 -3
  13. package/coverage/lcov-report/main/app/logger.ts.html +2 -2
  14. package/coverage/lcov-report/main/app/messages.gen.ts.html +144 -144
  15. package/coverage/lcov-report/main/app/nodes.ts.html +1 -1
  16. package/coverage/lcov-report/main/app/observer/iframe_observer.ts.html +1 -1
  17. package/coverage/lcov-report/main/app/observer/iframe_offsets.ts.html +1 -1
  18. package/coverage/lcov-report/main/app/observer/index.html +1 -1
  19. package/coverage/lcov-report/main/app/observer/shadow_root_observer.ts.html +1 -1
  20. package/coverage/lcov-report/main/app/observer/top_observer.ts.html +1 -1
  21. package/coverage/lcov-report/main/app/sanitizer.ts.html +12 -3
  22. package/coverage/lcov-report/main/app/session.ts.html +13 -4
  23. package/coverage/lcov-report/main/app/ticker.ts.html +1 -1
  24. package/coverage/lcov-report/main/index.html +19 -19
  25. package/coverage/lcov-report/main/index.ts.html +1 -1
  26. package/coverage/lcov-report/main/modules/Network/beaconProxy.ts.html +19 -19
  27. package/coverage/lcov-report/main/modules/Network/fetchProxy.ts.html +102 -96
  28. package/coverage/lcov-report/main/modules/Network/index.html +65 -65
  29. package/coverage/lcov-report/main/modules/Network/index.ts.html +33 -33
  30. package/coverage/lcov-report/main/modules/Network/networkMessage.ts.html +71 -71
  31. package/coverage/lcov-report/main/modules/Network/utils.ts.html +34 -34
  32. package/coverage/lcov-report/main/modules/Network/xhrProxy.ts.html +13 -13
  33. package/coverage/lcov-report/main/modules/attributeSender.ts.html +13 -4
  34. package/coverage/lcov-report/main/modules/axiosSpy.ts.html +1 -1
  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 +1 -1
  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 +8 -8
  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/timing.ts.html +19 -7
  53. package/coverage/lcov-report/main/modules/viewport.ts.html +1 -1
  54. package/coverage/lcov-report/main/utils.ts.html +54 -63
  55. package/coverage/lcov-report/webworker/BatchWriter.ts.html +1 -1
  56. package/coverage/lcov-report/webworker/MessageEncoder.gen.ts.html +1 -1
  57. package/coverage/lcov-report/webworker/PrimitiveEncoder.ts.html +1 -1
  58. package/coverage/lcov-report/webworker/QueueSender.ts.html +1 -1
  59. package/coverage/lcov-report/webworker/index.html +1 -1
  60. package/coverage/lcov-report/webworker/index.ts.html +1 -1
  61. package/coverage/lcov.info +704 -692
  62. package/lib/app/index.js +1 -1
  63. package/lib/index.js +1 -1
  64. package/lib/modules/Network/fetchProxy.js +3 -0
  65. package/lib/modules/Network/networkMessage.js +6 -3
  66. package/lib/modules/network.js +2 -2
  67. package/package.json +1 -1
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">0% </span>
26
+ <span class="strong">27.51% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/147</span>
28
+ <span class='fraction'>41/149</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
33
+ <span class="strong">27.95% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/86</span>
35
+ <span class='fraction'>26/93</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
40
+ <span class="strong">20% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/20</span>
42
+ <span class='fraction'>4/20</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">0% </span>
47
+ <span class="strong">27.89% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/146</span>
49
+ <span class='fraction'>41/147</span>
50
50
  </div>
51
51
 
52
52
 
@@ -377,19 +377,21 @@
377
377
  <a name='L312'></a><a href='#L312'>312</a>
378
378
  <a name='L313'></a><a href='#L313'>313</a>
379
379
  <a name='L314'></a><a href='#L314'>314</a>
380
- <a name='L315'></a><a href='#L315'>315</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
380
+ <a name='L315'></a><a href='#L315'>315</a>
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>
381
383
  <span class="cline-any cline-neutral">&nbsp;</span>
382
384
  <span class="cline-any cline-neutral">&nbsp;</span>
383
385
  <span class="cline-any cline-neutral">&nbsp;</span>
384
386
  <span class="cline-any cline-neutral">&nbsp;</span>
385
387
  <span class="cline-any cline-neutral">&nbsp;</span>
386
388
  <span class="cline-any cline-neutral">&nbsp;</span>
387
- <span class="cline-any cline-no">&nbsp;</span>
388
- <span class="cline-any cline-no">&nbsp;</span>
389
+ <span class="cline-any cline-yes">1x</span>
390
+ <span class="cline-any cline-yes">1x</span>
389
391
  <span class="cline-any cline-neutral">&nbsp;</span>
390
392
  <span class="cline-any cline-neutral">&nbsp;</span>
391
393
  <span class="cline-any cline-neutral">&nbsp;</span>
392
- <span class="cline-any cline-no">&nbsp;</span>
394
+ <span class="cline-any cline-yes">1x</span>
393
395
  <span class="cline-any cline-neutral">&nbsp;</span>
394
396
  <span class="cline-any cline-neutral">&nbsp;</span>
395
397
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -497,33 +499,35 @@
497
499
  <span class="cline-any cline-neutral">&nbsp;</span>
498
500
  <span class="cline-any cline-neutral">&nbsp;</span>
499
501
  <span class="cline-any cline-neutral">&nbsp;</span>
500
- <span class="cline-any cline-no">&nbsp;</span>
502
+ <span class="cline-any cline-yes">1x</span>
501
503
  <span class="cline-any cline-neutral">&nbsp;</span>
502
- <span class="cline-any cline-no">&nbsp;</span>
503
- <span class="cline-any cline-no">&nbsp;</span>
504
- <span class="cline-any cline-no">&nbsp;</span>
505
- <span class="cline-any cline-no">&nbsp;</span>
506
- <span class="cline-any cline-no">&nbsp;</span>
507
- <span class="cline-any cline-no">&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>
508
510
  <span class="cline-any cline-neutral">&nbsp;</span>
509
511
  <span class="cline-any cline-neutral">&nbsp;</span>
510
512
  <span class="cline-any cline-neutral">&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-yes">1x</span>
514
+ <span class="cline-any cline-yes">1x</span>
513
515
  <span class="cline-any cline-neutral">&nbsp;</span>
516
+ <span class="cline-any cline-yes">1x</span>
514
517
  <span class="cline-any cline-neutral">&nbsp;</span>
515
- <span class="cline-any cline-no">&nbsp;</span>
516
518
  <span class="cline-any cline-neutral">&nbsp;</span>
519
+ <span class="cline-any cline-yes">1x</span>
517
520
  <span class="cline-any cline-neutral">&nbsp;</span>
518
521
  <span class="cline-any cline-neutral">&nbsp;</span>
519
- <span class="cline-any cline-no">&nbsp;</span>
522
+ <span class="cline-any cline-neutral">&nbsp;</span>
523
+ <span class="cline-any cline-yes">1x</span>
520
524
  <span class="cline-any cline-no">&nbsp;</span>
521
525
  <span class="cline-any cline-neutral">&nbsp;</span>
522
526
  <span class="cline-any cline-neutral">&nbsp;</span>
523
- <span class="cline-any cline-no">&nbsp;</span>
524
- <span class="cline-any cline-no">&nbsp;</span>
527
+ <span class="cline-any cline-yes">1x</span>
528
+ <span class="cline-any cline-yes">1x</span>
525
529
  <span class="cline-any cline-neutral">&nbsp;</span>
526
- <span class="cline-any cline-no">&nbsp;</span>
530
+ <span class="cline-any cline-yes">1x</span>
527
531
  <span class="cline-any cline-no">&nbsp;</span>
528
532
  <span class="cline-any cline-no">&nbsp;</span>
529
533
  <span class="cline-any cline-no">&nbsp;</span>
@@ -546,7 +550,7 @@
546
550
  <span class="cline-any cline-neutral">&nbsp;</span>
547
551
  <span class="cline-any cline-neutral">&nbsp;</span>
548
552
  <span class="cline-any cline-neutral">&nbsp;</span>
549
- <span class="cline-any cline-no">&nbsp;</span>
553
+ <span class="cline-any cline-yes">1x</span>
550
554
  <span class="cline-any cline-neutral">&nbsp;</span>
551
555
  <span class="cline-any cline-neutral">&nbsp;</span>
552
556
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -558,15 +562,15 @@
558
562
  <span class="cline-any cline-neutral">&nbsp;</span>
559
563
  <span class="cline-any cline-neutral">&nbsp;</span>
560
564
  <span class="cline-any cline-neutral">&nbsp;</span>
561
- <span class="cline-any cline-no">&nbsp;</span>
562
- <span class="cline-any cline-no">&nbsp;</span>
565
+ <span class="cline-any cline-yes">1x</span>
566
+ <span class="cline-any cline-yes">1x</span>
563
567
  <span class="cline-any cline-neutral">&nbsp;</span>
564
568
  <span class="cline-any cline-neutral">&nbsp;</span>
565
- <span class="cline-any cline-no">&nbsp;</span>
569
+ <span class="cline-any cline-yes">1x</span>
566
570
  <span class="cline-any cline-neutral">&nbsp;</span>
567
- <span class="cline-any cline-no">&nbsp;</span>
568
- <span class="cline-any cline-no">&nbsp;</span>
569
- <span class="cline-any cline-no">&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>
570
574
  <span class="cline-any cline-neutral">&nbsp;</span>
571
575
  <span class="cline-any cline-neutral">&nbsp;</span>
572
576
  <span class="cline-any cline-no">&nbsp;</span>
@@ -574,30 +578,30 @@
574
578
  <span class="cline-any cline-no">&nbsp;</span>
575
579
  <span class="cline-any cline-neutral">&nbsp;</span>
576
580
  <span class="cline-any cline-neutral">&nbsp;</span>
577
- <span class="cline-any cline-no">&nbsp;</span>
578
- <span class="cline-any cline-no">&nbsp;</span>
579
- <span class="cline-any cline-no">&nbsp;</span>
580
- <span class="cline-any cline-no">&nbsp;</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>
584
- <span class="cline-any cline-no">&nbsp;</span>
585
- <span class="cline-any cline-no">&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>
586
590
  <span class="cline-any cline-neutral">&nbsp;</span>
587
- <span class="cline-any cline-no">&nbsp;</span>
591
+ <span class="cline-any cline-yes">1x</span>
588
592
  <span class="cline-any cline-neutral">&nbsp;</span>
589
593
  <span class="cline-any cline-neutral">&nbsp;</span>
590
- <span class="cline-any cline-no">&nbsp;</span>
594
+ <span class="cline-any cline-yes">1x</span>
591
595
  <span class="cline-any cline-no">&nbsp;</span>
592
596
  <span class="cline-any cline-no">&nbsp;</span>
593
597
  <span class="cline-any cline-no">&nbsp;</span>
594
598
  <span class="cline-any cline-neutral">&nbsp;</span>
595
599
  <span class="cline-any cline-neutral">&nbsp;</span>
596
- <span class="cline-any cline-no">&nbsp;</span>
600
+ <span class="cline-any cline-yes">1x</span>
597
601
  <span class="cline-any cline-neutral">&nbsp;</span>
598
602
  <span class="cline-any cline-neutral">&nbsp;</span>
599
603
  <span class="cline-any cline-neutral">&nbsp;</span>
600
- <span class="cline-any cline-no">&nbsp;</span>
604
+ <span class="cline-any cline-yes">1x</span>
601
605
  <span class="cline-any cline-no">&nbsp;</span>
602
606
  <span class="cline-any cline-no">&nbsp;</span>
603
607
  <span class="cline-any cline-no">&nbsp;</span>
@@ -605,7 +609,7 @@
605
609
  <span class="cline-any cline-neutral">&nbsp;</span>
606
610
  <span class="cline-any cline-neutral">&nbsp;</span>
607
611
  <span class="cline-any cline-neutral">&nbsp;</span>
608
- <span class="cline-any cline-no">&nbsp;</span>
612
+ <span class="cline-any cline-yes">1x</span>
609
613
  <span class="cline-any cline-no">&nbsp;</span>
610
614
  <span class="cline-any cline-neutral">&nbsp;</span>
611
615
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -669,7 +673,7 @@
669
673
  <span class="cline-any cline-neutral">&nbsp;</span>
670
674
  <span class="cline-any cline-neutral">&nbsp;</span>
671
675
  <span class="cline-any cline-neutral">&nbsp;</span>
672
- <span class="cline-any cline-no">&nbsp;</span>
676
+ <span class="cline-any cline-yes">1x</span>
673
677
  <span class="cline-any cline-neutral">&nbsp;</span>
674
678
  <span class="cline-any cline-neutral">&nbsp;</span>
675
679
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -678,7 +682,7 @@
678
682
  <span class="cline-any cline-neutral">&nbsp;</span>
679
683
  <span class="cline-any cline-neutral">&nbsp;</span>
680
684
  <span class="cline-any cline-neutral">&nbsp;</span>
681
- <span class="cline-any cline-no">&nbsp;</span>
685
+ <span class="cline-any cline-yes">1x</span>
682
686
  <span class="cline-any cline-neutral">&nbsp;</span>
683
687
  <span class="cline-any cline-neutral">&nbsp;</span>
684
688
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -698,12 +702,12 @@
698
702
  * we can intercept the network requests
699
703
  * in not-so-hacky way
700
704
  * */
701
- <span class="cstat-no" title="statement not covered" >import NetworkMessage, { RequestState } from './networkMessage.js'</span>
702
- <span class="cstat-no" title="statement not covered" >import { formatByteSize, genStringBody, getStringResponseByType, getURL } from './utils.js'</span>
705
+ import NetworkMessage, { RequestState } from './networkMessage.js'
706
+ import { formatByteSize, genStringBody, getStringResponseByType, getURL } from './utils.js'
703
707
  import { RequestResponseData } from './types.js'
704
708
  import { NetworkRequest } from '../../../common/messages.gen.js'
705
709
  &nbsp;
706
- <span class="cstat-no" title="statement not covered" >export class R</span>esponseProxyHandler&lt;T extends Response&gt; implements ProxyHandler&lt;T&gt; {
710
+ export class ResponseProxyHandler&lt;T extends Response&gt; implements ProxyHandler&lt;T&gt; {
707
711
  public resp: Response
708
712
  public item: NetworkMessage
709
713
  &nbsp;
@@ -811,33 +815,35 @@ import { NetworkRequest } from '../../../common/messages.gen.js'
811
815
  }
812
816
  }
813
817
  &nbsp;
814
- <span class="cstat-no" title="statement not covered" >export class F</span>etchProxyHandler&lt;T extends typeof fetch&gt; implements ProxyHandler&lt;T&gt; {
815
- <span class="fstat-no" title="function not covered" > constructor(</span>
816
- private readonly <span class="cstat-no" title="statement not covered" >ignoredHeaders: boolean | string[],</span>
817
- private readonly <span class="cstat-no" title="statement not covered" >setSessionTokenHeader: (cb: (name: string, value: string) =&gt; void) =&gt; void,</span>
818
- private readonly <span class="cstat-no" title="statement not covered" >sanitize: (data: RequestResponseData) =&gt; RequestResponseData,</span>
819
- private readonly <span class="cstat-no" title="statement not covered" >sendMessage: (item: NetworkRequest) =&gt; void,</span>
820
- private readonly <span class="cstat-no" title="statement not covered" >isServiceUrl: (url: string) =&gt; boolean,</span>
821
- private readonly <span class="cstat-no" title="statement not covered" >tokenUrlMatcher?: (url: string) =&gt; boolean,</span>
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,
822
826
  ) {}
823
827
  &nbsp;
824
- public <span class="fstat-no" title="function not covered" >apply(</span>target: T, _: typeof window, argsList: [RequestInfo | URL, RequestInit]) {
825
- const input = <span class="cstat-no" title="statement not covered" >argsList[0]</span>
826
- const init = <span class="cstat-no" title="statement not covered" >argsList[1]</span>
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>
827
833
  &nbsp;
828
834
  const isORUrl =
829
- <span class="cstat-no" title="statement not covered" > input instanceof URL || typeof input === 'string'</span>
835
+ input instanceof URL || typeof input === 'string'
830
836
  ? this.isServiceUrl(String(input))
831
- : this.isServiceUrl(String(input.url))
837
+ : <span class="branch-1 cbranch-no" title="branch not covered" >this.isServiceUrl(String(input.url))</span>
832
838
  &nbsp;
833
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (isORUrl) {</span>
839
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (isORUrl) {
834
840
  <span class="cstat-no" title="statement not covered" > return target.apply(window, argsList)</span>
835
841
  }
836
842
  &nbsp;
837
- const item = <span class="cstat-no" title="statement not covered" >new NetworkMessage(this.ignoredHeaders, this.setSessionTokenHeader, this.sanitize)</span>
838
- <span class="cstat-no" title="statement not covered" > this.beforeFetch(item, input as RequestInfo, init)</span>
843
+ const item = new NetworkMessage(this.ignoredHeaders, this.setSessionTokenHeader, this.sanitize)
844
+ this.beforeFetch(item, input as RequestInfo, init)
839
845
  &nbsp;
840
- <span class="cstat-no" title="statement not covered" > this.setSessionTokenHeader(<span class="fstat-no" title="function not covered" >(n</span>ame, value) =&gt; {</span>
846
+ this.setSessionTokenHeader(<span class="fstat-no" title="function not covered" >(n</span>ame, value) =&gt; {
841
847
  <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>
842
848
  <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>
843
849
  <span class="cstat-no" title="statement not covered" > return</span>
@@ -860,7 +866,7 @@ import { NetworkRequest } from '../../../common/messages.gen.js'
860
866
  }
861
867
  }
862
868
  })
863
- <span class="cstat-no" title="statement not covered" > return (&lt;ReturnType&lt;T&gt;&gt;target.apply(window, argsList))</span>
869
+ return (&lt;ReturnType&lt;T&gt;&gt;target.apply(window, argsList))
864
870
  .then(this.afterFetch(item))
865
871
  .catch(<span class="fstat-no" title="function not covered" >(e</span>) =&gt; {
866
872
  // mock finally
@@ -870,48 +876,48 @@ import { NetworkRequest } from '../../../common/messages.gen.js'
870
876
  })
871
877
  }
872
878
  &nbsp;
873
- protected <span class="fstat-no" title="function not covered" >beforeFetch(</span>item: NetworkMessage, input: RequestInfo, init?: RequestInit) {
879
+ protected beforeFetch(item: NetworkMessage, input: RequestInfo, init?: RequestInit) {
874
880
  let url: URL,
875
- method = <span class="cstat-no" title="statement not covered" >'GET',</span>
876
- requestHeader: HeadersInit = <span class="cstat-no" title="statement not covered" >{}</span>
881
+ method = 'GET',
882
+ requestHeader: HeadersInit = {}
877
883
  &nbsp;
878
884
  // handle `input` content
879
- <span class="cstat-no" title="statement not covered" > if (typeof input === 'string') {</span>
885
+ if (typeof input === 'string') {
880
886
  // when `input` is a string
881
- <span class="cstat-no" title="statement not covered" > method = init?.method || 'GET'</span>
882
- <span class="cstat-no" title="statement not covered" > url = getURL(input)</span>
883
- <span class="cstat-no" title="statement not covered" > requestHeader = init?.headers || {}</span>
884
- } else {
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>{
885
891
  // when `input` is a `Request` object
886
892
  <span class="cstat-no" title="statement not covered" > method = input.method || 'GET'</span>
887
893
  <span class="cstat-no" title="statement not covered" > url = getURL(input.url)</span>
888
894
  <span class="cstat-no" title="statement not covered" > requestHeader = input.headers</span>
889
895
  }
890
896
  &nbsp;
891
- <span class="cstat-no" title="statement not covered" > item.method = &lt;NetworkMessage['method']&gt;method</span>
892
- <span class="cstat-no" title="statement not covered" > item.requestType = 'fetch'</span>
893
- <span class="cstat-no" title="statement not covered" > item.requestHeader = requestHeader</span>
894
- <span class="cstat-no" title="statement not covered" > item.url = url.toString()</span>
895
- <span class="cstat-no" title="statement not covered" > item.name = (url.pathname.split('/').pop() || '') + url.search</span>
896
- <span class="cstat-no" title="statement not covered" > item.status = 0</span>
897
- <span class="cstat-no" title="statement not covered" > item.statusText = 'Pending'</span>
898
- <span class="cstat-no" title="statement not covered" > item.readyState = 1</span>
899
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!item.startTime) {</span>
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) {
900
906
  // UNSENT
901
- <span class="cstat-no" title="statement not covered" > item.startTime = performance.now()</span>
907
+ item.startTime = performance.now()
902
908
  }
903
909
  &nbsp;
904
- <span class="cstat-no" title="statement not covered" > if (Object.prototype.toString.call(requestHeader) === '[object Headers]') {</span>
910
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (Object.prototype.toString.call(requestHeader) === '[object Headers]') {
905
911
  <span class="cstat-no" title="statement not covered" > item.requestHeader = {}</span>
906
912
  <span class="cstat-no" title="statement not covered" > for (const [key, value] of &lt;Headers&gt;requestHeader) {</span>
907
913
  <span class="cstat-no" title="statement not covered" > item.requestHeader[key] = value</span>
908
914
  }
909
915
  } else {
910
- <span class="cstat-no" title="statement not covered" > item.requestHeader = requestHeader</span>
916
+ item.requestHeader = requestHeader
911
917
  }
912
918
  &nbsp;
913
919
  // save GET data
914
- <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>
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> {
915
921
  <span class="cstat-no" title="statement not covered" > item.getData = {}</span>
916
922
  <span class="cstat-no" title="statement not covered" > for (const [key, value] of url.searchParams) {</span>
917
923
  <span class="cstat-no" title="statement not covered" > item.getData[key] = value</span>
@@ -919,7 +925,7 @@ import { NetworkRequest } from '../../../common/messages.gen.js'
919
925
  }
920
926
  &nbsp;
921
927
  // save POST data
922
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (init?.body) {</span>
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) {
923
929
  <span class="cstat-no" title="statement not covered" > item.requestData = genStringBody(init.body)</span>
924
930
  }
925
931
  }
@@ -983,8 +989,8 @@ import { NetworkRequest } from '../../../common/messages.gen.js'
983
989
  }
984
990
  }
985
991
  &nbsp;
986
- <span class="cstat-no" title="statement not covered" >export default class F</span>etchProxy {
987
- public <span class="fstat-no" title="function not covered" >static </span>create(
992
+ export default class FetchProxy {
993
+ public static create(
988
994
  ignoredHeaders: boolean | string[],
989
995
  setSessionTokenHeader: (cb: (name: string, value: string) =&gt; void) =&gt; void,
990
996
  sanitize: (data: RequestResponseData) =&gt; RequestResponseData,
@@ -992,7 +998,7 @@ import { NetworkRequest } from '../../../common/messages.gen.js'
992
998
  isServiceUrl: (url: string) =&gt; boolean,
993
999
  tokenUrlMatcher?: (url: string) =&gt; boolean,
994
1000
  ) {
995
- <span class="cstat-no" title="statement not covered" > return new Proxy(</span>
1001
+ return new Proxy(
996
1002
  fetch,
997
1003
  new FetchProxyHandler(
998
1004
  ignoredHeaders,
@@ -1012,7 +1018,7 @@ import { NetworkRequest } from '../../../common/messages.gen.js'
1012
1018
  <div class='footer quiet pad2 space-top1 center small'>
1013
1019
  Code coverage generated by
1014
1020
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1015
- at 2023-10-24T10:53:06.602Z
1021
+ at 2023-11-03T09:39:08.430Z
1016
1022
  </div>
1017
1023
  <script src="../../../prettify.js"></script>
1018
1024
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">0% </span>
26
+ <span class="strong">21.86% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/501</span>
28
+ <span class='fraction'>110/503</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
33
+ <span class="strong">16.28% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/257</span>
35
+ <span class='fraction'>43/264</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
40
+ <span class="strong">12.85% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/70</span>
42
+ <span class='fraction'>9/70</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">0% </span>
47
+ <span class="strong">21.22% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/489</span>
49
+ <span class='fraction'>104/490</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,92 +80,92 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file low" data-value="beaconProxy.ts"><a href="beaconProxy.ts.html">beaconProxy.ts</a></td>
83
- <td data-value="0" class="pic low">
84
- <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
83
+ <td data-value="11.32" class="pic low">
84
+ <div class="chart"><div class="cover-fill" style="width: 11%"></div><div class="cover-empty" style="width: 89%"></div></div>
85
85
  </td>
86
- <td data-value="0" class="pct low">0%</td>
87
- <td data-value="53" class="abs low">0/53</td>
88
- <td data-value="0" class="pct low">0%</td>
89
- <td data-value="23" class="abs low">0/23</td>
86
+ <td data-value="11.32" class="pct low">11.32%</td>
87
+ <td data-value="53" class="abs low">6/53</td>
88
+ <td data-value="26.08" class="pct low">26.08%</td>
89
+ <td data-value="23" class="abs low">6/23</td>
90
90
  <td data-value="0" class="pct low">0%</td>
91
91
  <td data-value="5" class="abs low">0/5</td>
92
- <td data-value="0" class="pct low">0%</td>
93
- <td data-value="53" class="abs low">0/53</td>
92
+ <td data-value="11.32" class="pct low">11.32%</td>
93
+ <td data-value="53" class="abs low">6/53</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
97
97
  <td class="file low" data-value="fetchProxy.ts"><a href="fetchProxy.ts.html">fetchProxy.ts</a></td>
98
- <td data-value="0" class="pic low">
99
- <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
98
+ <td data-value="27.51" class="pic low">
99
+ <div class="chart"><div class="cover-fill" style="width: 27%"></div><div class="cover-empty" style="width: 73%"></div></div>
100
100
  </td>
101
- <td data-value="0" class="pct low">0%</td>
102
- <td data-value="147" class="abs low">0/147</td>
103
- <td data-value="0" class="pct low">0%</td>
104
- <td data-value="86" class="abs low">0/86</td>
105
- <td data-value="0" class="pct low">0%</td>
106
- <td data-value="20" class="abs low">0/20</td>
107
- <td data-value="0" class="pct low">0%</td>
108
- <td data-value="146" class="abs low">0/146</td>
101
+ <td data-value="27.51" class="pct low">27.51%</td>
102
+ <td data-value="149" class="abs low">41/149</td>
103
+ <td data-value="27.95" class="pct low">27.95%</td>
104
+ <td data-value="93" class="abs low">26/93</td>
105
+ <td data-value="20" class="pct low">20%</td>
106
+ <td data-value="20" class="abs low">4/20</td>
107
+ <td data-value="27.89" class="pct low">27.89%</td>
108
+ <td data-value="147" class="abs low">41/147</td>
109
109
  </tr>
110
110
 
111
111
  <tr>
112
- <td class="file low" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
113
- <td data-value="0" class="pic low">
114
- <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
112
+ <td class="file medium" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
113
+ <td data-value="78.57" class="pic medium">
114
+ <div class="chart"><div class="cover-fill" style="width: 78%"></div><div class="cover-empty" style="width: 22%"></div></div>
115
115
  </td>
116
- <td data-value="0" class="pct low">0%</td>
117
- <td data-value="14" class="abs low">0/14</td>
118
- <td data-value="0" class="pct low">0%</td>
119
- <td data-value="13" class="abs low">0/13</td>
120
- <td data-value="0" class="pct low">0%</td>
121
- <td data-value="2" class="abs low">0/2</td>
122
- <td data-value="0" class="pct low">0%</td>
123
- <td data-value="14" class="abs low">0/14</td>
116
+ <td data-value="78.57" class="pct medium">78.57%</td>
117
+ <td data-value="14" class="abs medium">11/14</td>
118
+ <td data-value="61.53" class="pct medium">61.53%</td>
119
+ <td data-value="13" class="abs medium">8/13</td>
120
+ <td data-value="100" class="pct high">100%</td>
121
+ <td data-value="2" class="abs high">2/2</td>
122
+ <td data-value="78.57" class="pct medium">78.57%</td>
123
+ <td data-value="14" class="abs medium">11/14</td>
124
124
  </tr>
125
125
 
126
126
  <tr>
127
- <td class="file low" data-value="networkMessage.ts"><a href="networkMessage.ts.html">networkMessage.ts</a></td>
128
- <td data-value="0" class="pic low">
129
- <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
127
+ <td class="file medium" data-value="networkMessage.ts"><a href="networkMessage.ts.html">networkMessage.ts</a></td>
128
+ <td data-value="58.82" class="pic medium">
129
+ <div class="chart"><div class="cover-fill" style="width: 58%"></div><div class="cover-empty" style="width: 42%"></div></div>
130
130
  </td>
131
- <td data-value="0" class="pct low">0%</td>
132
- <td data-value="51" class="abs low">0/51</td>
133
- <td data-value="0" class="pct low">0%</td>
134
- <td data-value="8" class="abs low">0/8</td>
135
- <td data-value="0" class="pct low">0%</td>
136
- <td data-value="8" class="abs low">0/8</td>
137
- <td data-value="0" class="pct low">0%</td>
138
- <td data-value="48" class="abs low">0/48</td>
131
+ <td data-value="58.82" class="pct medium">58.82%</td>
132
+ <td data-value="51" class="abs medium">30/51</td>
133
+ <td data-value="25" class="pct low">25%</td>
134
+ <td data-value="8" class="abs low">2/8</td>
135
+ <td data-value="25" class="pct low">25%</td>
136
+ <td data-value="8" class="abs low">2/8</td>
137
+ <td data-value="62.5" class="pct medium">62.5%</td>
138
+ <td data-value="48" class="abs medium">30/48</td>
139
139
  </tr>
140
140
 
141
141
  <tr>
142
142
  <td class="file low" data-value="utils.ts"><a href="utils.ts.html">utils.ts</a></td>
143
- <td data-value="0" class="pic low">
144
- <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
143
+ <td data-value="16.07" class="pic low">
144
+ <div class="chart"><div class="cover-fill" style="width: 16%"></div><div class="cover-empty" style="width: 84%"></div></div>
145
145
  </td>
146
- <td data-value="0" class="pct low">0%</td>
147
- <td data-value="112" class="abs low">0/112</td>
148
- <td data-value="0" class="pct low">0%</td>
149
- <td data-value="83" class="abs low">0/83</td>
150
- <td data-value="0" class="pct low">0%</td>
151
- <td data-value="9" class="abs low">0/9</td>
152
- <td data-value="0" class="pct low">0%</td>
153
- <td data-value="106" class="abs low">0/106</td>
146
+ <td data-value="16.07" class="pct low">16.07%</td>
147
+ <td data-value="112" class="abs low">18/112</td>
148
+ <td data-value="1.2" class="pct low">1.2%</td>
149
+ <td data-value="83" class="abs low">1/83</td>
150
+ <td data-value="11.11" class="pct low">11.11%</td>
151
+ <td data-value="9" class="abs low">1/9</td>
152
+ <td data-value="11.32" class="pct low">11.32%</td>
153
+ <td data-value="106" class="abs low">12/106</td>
154
154
  </tr>
155
155
 
156
156
  <tr>
157
157
  <td class="file low" data-value="xhrProxy.ts"><a href="xhrProxy.ts.html">xhrProxy.ts</a></td>
158
- <td data-value="0" class="pic low">
159
- <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
158
+ <td data-value="3.22" class="pic low">
159
+ <div class="chart"><div class="cover-fill" style="width: 3%"></div><div class="cover-empty" style="width: 97%"></div></div>
160
160
  </td>
161
- <td data-value="0" class="pct low">0%</td>
162
- <td data-value="124" class="abs low">0/124</td>
161
+ <td data-value="3.22" class="pct low">3.22%</td>
162
+ <td data-value="124" class="abs low">4/124</td>
163
163
  <td data-value="0" class="pct low">0%</td>
164
164
  <td data-value="44" class="abs low">0/44</td>
165
165
  <td data-value="0" class="pct low">0%</td>
166
166
  <td data-value="26" class="abs low">0/26</td>
167
- <td data-value="0" class="pct low">0%</td>
168
- <td data-value="122" class="abs low">0/122</td>
167
+ <td data-value="3.27" class="pct low">3.27%</td>
168
+ <td data-value="122" class="abs low">4/122</td>
169
169
  </tr>
170
170
 
171
171
  </tbody>
@@ -176,7 +176,7 @@
176
176
  <div class='footer quiet pad2 space-top1 center small'>
177
177
  Code coverage generated by
178
178
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
179
- at 2023-10-24T10:53:06.602Z
179
+ at 2023-11-03T09:39:08.430Z
180
180
  </div>
181
181
  <script src="../../../prettify.js"></script>
182
182
  <script>