@openreplay/tracker 9.0.11 → 9.0.13

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/cjs/app/index.js +3 -3
  2. package/cjs/index.js +1 -1
  3. package/cjs/modules/Network/fetchProxy.d.ts +1 -1
  4. package/cjs/modules/Network/fetchProxy.js +2 -0
  5. package/cjs/modules/timing.js +5 -0
  6. package/coverage/clover.xml +829 -1064
  7. package/coverage/coverage-final.json +17 -21
  8. package/coverage/lcov-report/index.html +40 -55
  9. package/coverage/lcov-report/main/app/guards.ts.html +1 -1
  10. package/coverage/lcov-report/main/app/index.html +23 -23
  11. package/coverage/lcov-report/main/app/index.ts.html +212 -29
  12. package/coverage/lcov-report/main/app/logger.ts.html +2 -2
  13. package/coverage/lcov-report/main/app/messages.gen.ts.html +144 -144
  14. package/coverage/lcov-report/main/app/nodes.ts.html +13 -7
  15. package/coverage/lcov-report/main/app/observer/iframe_observer.ts.html +1 -1
  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 +1 -1
  19. package/coverage/lcov-report/main/app/observer/top_observer.ts.html +1 -1
  20. package/coverage/lcov-report/main/app/sanitizer.ts.html +12 -3
  21. package/coverage/lcov-report/main/app/session.ts.html +30 -9
  22. package/coverage/lcov-report/main/app/ticker.ts.html +1 -1
  23. package/coverage/lcov-report/main/index.html +21 -21
  24. package/coverage/lcov-report/main/index.ts.html +26 -26
  25. package/coverage/lcov-report/main/modules/Network/beaconProxy.ts.html +19 -19
  26. package/coverage/lcov-report/main/modules/Network/fetchProxy.ts.html +102 -96
  27. package/coverage/lcov-report/main/modules/Network/index.html +65 -65
  28. package/coverage/lcov-report/main/modules/Network/index.ts.html +33 -33
  29. package/coverage/lcov-report/main/modules/Network/networkMessage.ts.html +71 -71
  30. package/coverage/lcov-report/main/modules/Network/utils.ts.html +34 -34
  31. package/coverage/lcov-report/main/modules/Network/xhrProxy.ts.html +13 -13
  32. package/coverage/lcov-report/main/modules/attributeSender.ts.html +13 -4
  33. package/coverage/lcov-report/main/modules/axiosSpy.ts.html +1 -1
  34. package/coverage/lcov-report/main/modules/connection.ts.html +1 -1
  35. package/coverage/lcov-report/main/modules/console.ts.html +1 -1
  36. package/coverage/lcov-report/main/modules/constructedStyleSheets.ts.html +42 -30
  37. package/coverage/lcov-report/main/modules/cssrules.ts.html +1 -1
  38. package/coverage/lcov-report/main/modules/exception.ts.html +1 -1
  39. package/coverage/lcov-report/main/modules/featureFlags.ts.html +1 -1
  40. package/coverage/lcov-report/main/modules/focus.ts.html +1 -1
  41. package/coverage/lcov-report/main/modules/fonts.ts.html +1 -1
  42. package/coverage/lcov-report/main/modules/img.ts.html +23 -20
  43. package/coverage/lcov-report/main/modules/index.html +13 -13
  44. package/coverage/lcov-report/main/modules/input.ts.html +1 -1
  45. package/coverage/lcov-report/main/modules/mouse.ts.html +1 -1
  46. package/coverage/lcov-report/main/modules/network.ts.html +2 -2
  47. package/coverage/lcov-report/main/modules/performance.ts.html +1 -1
  48. package/coverage/lcov-report/main/modules/scroll.ts.html +1 -1
  49. package/coverage/lcov-report/main/modules/selection.ts.html +1 -1
  50. package/coverage/lcov-report/main/modules/tabs.ts.html +1 -1
  51. package/coverage/lcov-report/main/modules/timing.ts.html +42 -6
  52. package/coverage/lcov-report/main/modules/viewport.ts.html +1 -1
  53. package/coverage/lcov-report/main/utils.ts.html +255 -39
  54. package/coverage/lcov-report/webworker/BatchWriter.ts.html +1 -1
  55. package/coverage/lcov-report/webworker/MessageEncoder.gen.ts.html +1 -1
  56. package/coverage/lcov-report/webworker/PrimitiveEncoder.ts.html +1 -1
  57. package/coverage/lcov-report/webworker/QueueSender.ts.html +1 -1
  58. package/coverage/lcov-report/webworker/index.html +1 -1
  59. package/coverage/lcov-report/webworker/index.ts.html +1 -1
  60. package/coverage/lcov.info +1376 -1729
  61. package/lib/app/index.js +3 -3
  62. package/lib/common/tsconfig.tsbuildinfo +1 -1
  63. package/lib/index.js +1 -1
  64. package/lib/modules/Network/fetchProxy.d.ts +1 -1
  65. package/lib/modules/Network/fetchProxy.js +2 -0
  66. package/lib/modules/timing.js +5 -0
  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">16.07% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/112</span>
28
+ <span class='fraction'>18/112</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">1.2% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/83</span>
35
+ <span class='fraction'>1/83</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">11.11% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/9</span>
42
+ <span class='fraction'>1/9</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">11.32% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/106</span>
49
+ <span class='fraction'>12/106</span>
50
50
  </div>
51
51
 
52
52
 
@@ -268,7 +268,7 @@
268
268
  <a name='L203'></a><a href='#L203'>203</a>
269
269
  <a name='L204'></a><a href='#L204'>204</a>
270
270
  <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
271
+ <a name='L206'></a><a href='#L206'>206</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
272
272
  <span class="cline-any cline-neutral">&nbsp;</span>
273
273
  <span class="cline-any cline-neutral">&nbsp;</span>
274
274
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -303,7 +303,7 @@
303
303
  <span class="cline-any cline-no">&nbsp;</span>
304
304
  <span class="cline-any cline-neutral">&nbsp;</span>
305
305
  <span class="cline-any cline-neutral">&nbsp;</span>
306
- <span class="cline-any cline-no">&nbsp;</span>
306
+ <span class="cline-any cline-yes">3x</span>
307
307
  <span class="cline-any cline-neutral">&nbsp;</span>
308
308
  <span class="cline-any cline-neutral">&nbsp;</span>
309
309
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -332,7 +332,7 @@
332
332
  <span class="cline-any cline-no">&nbsp;</span>
333
333
  <span class="cline-any cline-neutral">&nbsp;</span>
334
334
  <span class="cline-any cline-neutral">&nbsp;</span>
335
- <span class="cline-any cline-no">&nbsp;</span>
335
+ <span class="cline-any cline-yes">3x</span>
336
336
  <span class="cline-any cline-no">&nbsp;</span>
337
337
  <span class="cline-any cline-no">&nbsp;</span>
338
338
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -373,7 +373,7 @@
373
373
  <span class="cline-any cline-no">&nbsp;</span>
374
374
  <span class="cline-any cline-neutral">&nbsp;</span>
375
375
  <span class="cline-any cline-neutral">&nbsp;</span>
376
- <span class="cline-any cline-no">&nbsp;</span>
376
+ <span class="cline-any cline-yes">3x</span>
377
377
  <span class="cline-any cline-no">&nbsp;</span>
378
378
  <span class="cline-any cline-no">&nbsp;</span>
379
379
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -396,7 +396,7 @@
396
396
  <span class="cline-any cline-no">&nbsp;</span>
397
397
  <span class="cline-any cline-neutral">&nbsp;</span>
398
398
  <span class="cline-any cline-neutral">&nbsp;</span>
399
- <span class="cline-any cline-no">&nbsp;</span>
399
+ <span class="cline-any cline-yes">3x</span>
400
400
  <span class="cline-any cline-no">&nbsp;</span>
401
401
  <span class="cline-any cline-no">&nbsp;</span>
402
402
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -437,18 +437,18 @@
437
437
  <span class="cline-any cline-no">&nbsp;</span>
438
438
  <span class="cline-any cline-neutral">&nbsp;</span>
439
439
  <span class="cline-any cline-neutral">&nbsp;</span>
440
- <span class="cline-any cline-no">&nbsp;</span>
440
+ <span class="cline-any cline-yes">3x</span>
441
441
  <span class="cline-any cline-no">&nbsp;</span>
442
442
  <span class="cline-any cline-neutral">&nbsp;</span>
443
443
  <span class="cline-any cline-neutral">&nbsp;</span>
444
- <span class="cline-any cline-no">&nbsp;</span>
444
+ <span class="cline-any cline-yes">3x</span>
445
445
  <span class="cline-any cline-no">&nbsp;</span>
446
446
  <span class="cline-any cline-no">&nbsp;</span>
447
447
  <span class="cline-any cline-neutral">&nbsp;</span>
448
448
  <span class="cline-any cline-no">&nbsp;</span>
449
449
  <span class="cline-any cline-neutral">&nbsp;</span>
450
450
  <span class="cline-any cline-neutral">&nbsp;</span>
451
- <span class="cline-any cline-no">&nbsp;</span>
451
+ <span class="cline-any cline-yes">3x</span>
452
452
  <span class="cline-any cline-no">&nbsp;</span>
453
453
  <span class="cline-any cline-neutral">&nbsp;</span>
454
454
  <span class="cline-any cline-no">&nbsp;</span>
@@ -462,18 +462,18 @@
462
462
  <span class="cline-any cline-no">&nbsp;</span>
463
463
  <span class="cline-any cline-neutral">&nbsp;</span>
464
464
  <span class="cline-any cline-neutral">&nbsp;</span>
465
- <span class="cline-any cline-no">&nbsp;</span>
466
- <span class="cline-any cline-no">&nbsp;</span>
465
+ <span class="cline-any cline-yes">3x</span>
466
+ <span class="cline-any cline-yes">1x</span>
467
467
  <span class="cline-any cline-no">&nbsp;</span>
468
468
  <span class="cline-any cline-no">&nbsp;</span>
469
469
  <span class="cline-any cline-neutral">&nbsp;</span>
470
- <span class="cline-any cline-no">&nbsp;</span>
471
- <span class="cline-any cline-no">&nbsp;</span>
470
+ <span class="cline-any cline-yes">1x</span>
471
+ <span class="cline-any cline-yes">1x</span>
472
472
  <span class="cline-any cline-neutral">&nbsp;</span>
473
473
  <span class="cline-any cline-no">&nbsp;</span>
474
474
  <span class="cline-any cline-neutral">&nbsp;</span>
475
475
  <span class="cline-any cline-neutral">&nbsp;</span>
476
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">export const <span class="cstat-no" title="statement not covered" >genResponseByType = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(</span></span></span>
476
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">export const genResponseByType = <span class="fstat-no" title="function not covered" >(</span>
477
477
  responseType: XMLHttpRequest['responseType'],
478
478
  response: any,
479
479
  ): string | Record&lt;string, any&gt; =&gt; {
@@ -508,7 +508,7 @@
508
508
  <span class="cstat-no" title="statement not covered" > return result</span>
509
509
  }
510
510
  &nbsp;
511
- export const <span class="cstat-no" title="statement not covered" >getStringResponseByType = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(</span></span></span>
511
+ export const getStringResponseByType = <span class="fstat-no" title="function not covered" >(</span>
512
512
  responseType: XMLHttpRequest['responseType'],
513
513
  response: any,
514
514
  ) =&gt; {
@@ -537,7 +537,7 @@ export const <span class="cstat-no" title="statement not covered" >getStringResp
537
537
  <span class="cstat-no" title="statement not covered" > return result</span>
538
538
  }
539
539
  &nbsp;
540
- export const <span class="cstat-no" title="statement not covered" >genStringBody = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(</span>b</span>ody?: BodyInit) =&gt; {</span>
540
+ export const genStringBody = <span class="fstat-no" title="function not covered" >(b</span>ody?: BodyInit) =&gt; {
541
541
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!body) {</span>
542
542
  <span class="cstat-no" title="statement not covered" > return null</span>
543
543
  }
@@ -578,7 +578,7 @@ export const <span class="cstat-no" title="statement not covered" >genStringBody
578
578
  <span class="cstat-no" title="statement not covered" > return result</span>
579
579
  }
580
580
  &nbsp;
581
- export const <span class="cstat-no" title="statement not covered" >genGetDataByUrl = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(</span>u</span>rl: string, getData: Record&lt;string, any&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> =&gt; {</span>
581
+ export const genGetDataByUrl = <span class="fstat-no" title="function not covered" >(u</span>rl: string, getData: Record&lt;string, any&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> =&gt; {
582
582
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!isPureObject(getData)) {</span>
583
583
  <span class="cstat-no" title="statement not covered" > getData = {}</span>
584
584
  }
@@ -601,7 +601,7 @@ export const <span class="cstat-no" title="statement not covered" >genGetDataByU
601
601
  <span class="cstat-no" title="statement not covered" > return getData</span>
602
602
  }
603
603
  &nbsp;
604
- export const <span class="cstat-no" title="statement not covered" >genFormattedBody = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(</span>b</span>ody?: BodyInit) =&gt; {</span>
604
+ export const genFormattedBody = <span class="fstat-no" title="function not covered" >(b</span>ody?: BodyInit) =&gt; {
605
605
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!body) {</span>
606
606
  <span class="cstat-no" title="statement not covered" > return null</span>
607
607
  }
@@ -642,18 +642,18 @@ export const <span class="cstat-no" title="statement not covered" >genFormattedB
642
642
  <span class="cstat-no" title="statement not covered" > return result</span>
643
643
  }
644
644
  &nbsp;
645
- <span class="cstat-no" title="statement not covered" >export function <span class="fstat-no" title="function not covered" >i</span>sPureObject(</span>input: any): input is Record&lt;any, any&gt; {
645
+ export function <span class="fstat-no" title="function not covered" >isPureObject(</span>input: any): input is Record&lt;any, any&gt; {
646
646
  <span class="cstat-no" title="statement not covered" > return null !== input &amp;&amp; typeof input === 'object'</span>
647
647
  }
648
648
  &nbsp;
649
- <span class="cstat-no" title="statement not covered" >export function <span class="fstat-no" title="function not covered" >i</span>sIterable(</span>value: any) {
649
+ export function <span class="fstat-no" title="function not covered" >isIterable(</span>value: any) {
650
650
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (value === null || value === undefined) {</span>
651
651
  <span class="cstat-no" title="statement not covered" > return false</span>
652
652
  }
653
653
  <span class="cstat-no" title="statement not covered" > return typeof Symbol !== 'undefined' &amp;&amp; typeof value[Symbol.iterator] === 'function'</span>
654
654
  }
655
655
  &nbsp;
656
- <span class="cstat-no" title="statement not covered" >export function <span class="fstat-no" title="function not covered" >f</span>ormatByteSize(</span>bytes: number) {
656
+ export function <span class="fstat-no" title="function not covered" >formatByteSize(</span>bytes: number) {
657
657
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (bytes &lt;= 0) {</span>
658
658
  // shouldn't happen?
659
659
  <span class="cstat-no" title="statement not covered" > return ''</span>
@@ -667,14 +667,14 @@ export const <span class="cstat-no" title="statement not covered" >genFormattedB
667
667
  <span class="cstat-no" title="statement not covered" > return `${bytes}B`</span>
668
668
  }
669
669
  &nbsp;
670
- export const <span class="cstat-no" title="statement not covered" >getURL = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(</span>u</span>rlString: string) =&gt; {</span>
671
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (urlString.startsWith('//')) {</span>
670
+ export const getURL = (urlString: string) =&gt; {
671
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (urlString.startsWith('//')) {
672
672
  const baseUrl = <span class="cstat-no" title="statement not covered" >new URL(window.location.href)</span>
673
673
  <span class="cstat-no" title="statement not covered" > urlString = `${baseUrl.protocol}${urlString}`</span>
674
674
  }
675
- <span class="cstat-no" title="statement not covered" > if (urlString.startsWith('http')) {</span>
676
- <span class="cstat-no" title="statement not covered" > return new URL(urlString)</span>
677
- } else {
675
+ if (urlString.startsWith('http')) {
676
+ return new URL(urlString)
677
+ } else <span class="missing-if-branch" title="else path not taken" >E</span>{
678
678
  <span class="cstat-no" title="statement not covered" > return new URL(urlString, window.location.href)</span>
679
679
  }
680
680
  }
@@ -685,7 +685,7 @@ export const <span class="cstat-no" title="statement not covered" >getURL = <spa
685
685
  <div class='footer quiet pad2 space-top1 center small'>
686
686
  Code coverage generated by
687
687
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
688
- at 2023-10-17T13:37:58.420Z
688
+ at 2023-11-03T09:39:08.430Z
689
689
  </div>
690
690
  <script src="../../../prettify.js"></script>
691
691
  <script>
@@ -23,9 +23,9 @@
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">3.22% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/124</span>
28
+ <span class='fraction'>4/124</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">0% </span>
47
+ <span class="strong">3.27% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/122</span>
49
+ <span class='fraction'>4/122</span>
50
50
  </div>
51
51
 
52
52
 
@@ -326,12 +326,12 @@
326
326
  <span class="cline-any cline-neutral">&nbsp;</span>
327
327
  <span class="cline-any cline-neutral">&nbsp;</span>
328
328
  <span class="cline-any cline-neutral">&nbsp;</span>
329
- <span class="cline-any cline-no">&nbsp;</span>
330
- <span class="cline-any cline-no">&nbsp;</span>
329
+ <span class="cline-any cline-yes">1x</span>
330
+ <span class="cline-any cline-yes">1x</span>
331
331
  <span class="cline-any cline-neutral">&nbsp;</span>
332
332
  <span class="cline-any cline-neutral">&nbsp;</span>
333
333
  <span class="cline-any cline-neutral">&nbsp;</span>
334
- <span class="cline-any cline-no">&nbsp;</span>
334
+ <span class="cline-any cline-yes">1x</span>
335
335
  <span class="cline-any cline-neutral">&nbsp;</span>
336
336
  <span class="cline-any cline-neutral">&nbsp;</span>
337
337
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -545,7 +545,7 @@
545
545
  <span class="cline-any cline-neutral">&nbsp;</span>
546
546
  <span class="cline-any cline-neutral">&nbsp;</span>
547
547
  <span class="cline-any cline-neutral">&nbsp;</span>
548
- <span class="cline-any cline-no">&nbsp;</span>
548
+ <span class="cline-any cline-yes">1x</span>
549
549
  <span class="cline-any cline-neutral">&nbsp;</span>
550
550
  <span class="cline-any cline-neutral">&nbsp;</span>
551
551
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -581,12 +581,12 @@
581
581
  * in not-so-hacky way
582
582
  * */
583
583
  &nbsp;
584
- <span class="cstat-no" title="statement not covered" >import NetworkMessage, { RequestState } from './networkMessage.js'</span>
585
- <span class="cstat-no" title="statement not covered" >import { genGetDataByUrl, formatByteSize, genStringBody, getStringResponseByType } from './utils.js'</span>
584
+ import NetworkMessage, { RequestState } from './networkMessage.js'
585
+ import { genGetDataByUrl, formatByteSize, genStringBody, getStringResponseByType } from './utils.js'
586
586
  import { RequestResponseData } from './types.js'
587
587
  import { NetworkRequest } from '../../../common/messages.gen.js'
588
588
  &nbsp;
589
- <span class="cstat-no" title="statement not covered" >export class X</span>HRProxyHandler&lt;T extends XMLHttpRequest&gt; implements ProxyHandler&lt;T&gt; {
589
+ export class XHRProxyHandler&lt;T extends XMLHttpRequest&gt; implements ProxyHandler&lt;T&gt; {
590
590
  public XMLReq: XMLHttpRequest
591
591
  public item: NetworkMessage
592
592
  &nbsp;
@@ -800,7 +800,7 @@ import { NetworkRequest } from '../../../common/messages.gen.js'
800
800
  }
801
801
  }
802
802
  &nbsp;
803
- <span class="cstat-no" title="statement not covered" >export default class X</span>HRProxy {
803
+ export default class XHRProxy {
804
804
  public <span class="fstat-no" title="function not covered" >static </span>create(
805
805
  ignoredHeaders: boolean | string[],
806
806
  setSessionTokenHeader: (cb: (name: string, value: string) =&gt; void) =&gt; void,
@@ -835,7 +835,7 @@ import { NetworkRequest } from '../../../common/messages.gen.js'
835
835
  <div class='footer quiet pad2 space-top1 center small'>
836
836
  Code coverage generated by
837
837
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
838
- at 2023-10-17T13:37:58.420Z
838
+ at 2023-11-03T09:39:08.430Z
839
839
  </div>
840
840
  <script src="../../../prettify.js"></script>
841
841
  <script>
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/21</span>
49
+ <span class='fraction'>0/22</span>
50
50
  </div>
51
51
 
52
52
 
@@ -112,7 +112,10 @@
112
112
  <a name='L47'></a><a href='#L47'>47</a>
113
113
  <a name='L48'></a><a href='#L48'>48</a>
114
114
  <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
116
119
  <span class="cline-any cline-neutral">&nbsp;</span>
117
120
  <span class="cline-any cline-neutral">&nbsp;</span>
118
121
  <span class="cline-any cline-no">&nbsp;</span>
@@ -132,7 +135,10 @@
132
135
  <span class="cline-any cline-no">&nbsp;</span>
133
136
  <span class="cline-any cline-no">&nbsp;</span>
134
137
  <span class="cline-any cline-neutral">&nbsp;</span>
138
+ <span class="cline-any cline-neutral">&nbsp;</span>
135
139
  <span class="cline-any cline-no">&nbsp;</span>
140
+ <span class="cline-any cline-no">&nbsp;</span>
141
+ <span class="cline-any cline-neutral">&nbsp;</span>
136
142
  <span class="cline-any cline-neutral">&nbsp;</span>
137
143
  <span class="cline-any cline-neutral">&nbsp;</span>
138
144
  <span class="cline-any cline-no">&nbsp;</span>
@@ -181,7 +187,10 @@ import App from '../app/index.js'
181
187
  <span class="cstat-no" title="statement not covered" >export default class A</span>ttributeSender {
182
188
  private <span class="cstat-no" title="statement not covered" >dict = new StringDictionary()</span>
183
189
  &nbsp;
184
- <span class="fstat-no" title="function not covered" > constructor(private readonly <span class="cstat-no" title="statement not covered" >a</span>pp: App,</span> private readonly <span class="cstat-no" title="statement not covered" >isDictDisabled: boolean)</span> {}
190
+ <span class="fstat-no" title="function not covered" > constructor(</span>
191
+ private readonly <span class="cstat-no" title="statement not covered" >app: App,</span>
192
+ private readonly <span class="cstat-no" title="statement not covered" >isDictDisabled: boolean,</span>
193
+ ) {}
185
194
  &nbsp;
186
195
  public <span class="fstat-no" title="function not covered" >sendSetAttribute(</span>id: number, name: string, value: string) {
187
196
  <span class="cstat-no" title="statement not covered" > if (this.isDictDisabled) {</span>
@@ -217,7 +226,7 @@ import App from '../app/index.js'
217
226
  <div class='footer quiet pad2 space-top1 center small'>
218
227
  Code coverage generated by
219
228
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
220
- at 2023-10-17T13:37:58.420Z
229
+ at 2023-11-03T09:39:08.430Z
221
230
  </div>
222
231
  <script src="../../prettify.js"></script>
223
232
  <script>
@@ -694,7 +694,7 @@ function <span class="fstat-no" title="function not covered" >isObject(</span>th
694
694
  <div class='footer quiet pad2 space-top1 center small'>
695
695
  Code coverage generated by
696
696
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
697
- at 2023-10-17T13:37:58.420Z
697
+ at 2023-11-03T09:39:08.430Z
698
698
  </div>
699
699
  <script src="../../prettify.js"></script>
700
700
  <script>
@@ -145,7 +145,7 @@
145
145
  <div class='footer quiet pad2 space-top1 center small'>
146
146
  Code coverage generated by
147
147
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
148
- at 2023-10-17T13:37:58.420Z
148
+ at 2023-11-03T09:39:08.430Z
149
149
  </div>
150
150
  <script src="../../prettify.js"></script>
151
151
  <script>
@@ -526,7 +526,7 @@ const consoleMethods = <span class="cstat-no" title="statement not covered" >['l
526
526
  <div class='footer quiet pad2 space-top1 center small'>
527
527
  Code coverage generated by
528
528
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
529
- at 2023-10-17T13:37:58.420Z
529
+ at 2023-11-03T09:39:08.430Z
530
530
  </div>
531
531
  <script src="../../prettify.js"></script>
532
532
  <script>
@@ -25,14 +25,14 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/78</span>
28
+ <span class='fraction'>0/80</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/17</span>
35
+ <span class='fraction'>0/19</span>
36
36
  </div>
37
37
 
38
38
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/77</span>
49
+ <span class='fraction'>0/79</span>
50
50
  </div>
51
51
 
52
52
 
@@ -221,15 +221,17 @@
221
221
  <a name='L156'></a><a href='#L156'>156</a>
222
222
  <a name='L157'></a><a href='#L157'>157</a>
223
223
  <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
225
229
  <span class="cline-any cline-no">&nbsp;</span>
226
230
  <span class="cline-any cline-neutral">&nbsp;</span>
227
231
  <span class="cline-any cline-neutral">&nbsp;</span>
228
232
  <span class="cline-any cline-neutral">&nbsp;</span>
229
233
  <span class="cline-any cline-neutral">&nbsp;</span>
230
234
  <span class="cline-any cline-neutral">&nbsp;</span>
231
- <span class="cline-any cline-neutral">&nbsp;</span>
232
- <span class="cline-any cline-neutral">&nbsp;</span>
233
235
  <span class="cline-any cline-no">&nbsp;</span>
234
236
  <span class="cline-any cline-neutral">&nbsp;</span>
235
237
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -244,9 +246,11 @@
244
246
  <span class="cline-any cline-neutral">&nbsp;</span>
245
247
  <span class="cline-any cline-neutral">&nbsp;</span>
246
248
  <span class="cline-any cline-no">&nbsp;</span>
249
+ <span class="cline-any cline-neutral">&nbsp;</span>
247
250
  <span class="cline-any cline-no">&nbsp;</span>
248
251
  <span class="cline-any cline-no">&nbsp;</span>
249
252
  <span class="cline-any cline-neutral">&nbsp;</span>
253
+ <span class="cline-any cline-neutral">&nbsp;</span>
250
254
  <span class="cline-any cline-no">&nbsp;</span>
251
255
  <span class="cline-any cline-neutral">&nbsp;</span>
252
256
  <span class="cline-any cline-no">&nbsp;</span>
@@ -281,6 +285,7 @@
281
285
  <span class="cline-any cline-no">&nbsp;</span>
282
286
  <span class="cline-any cline-no">&nbsp;</span>
283
287
  <span class="cline-any cline-no">&nbsp;</span>
288
+ <span class="cline-any cline-no">&nbsp;</span>
284
289
  <span class="cline-any cline-neutral">&nbsp;</span>
285
290
  <span class="cline-any cline-no">&nbsp;</span>
286
291
  <span class="cline-any cline-no">&nbsp;</span>
@@ -293,9 +298,12 @@
293
298
  <span class="cline-any cline-neutral">&nbsp;</span>
294
299
  <span class="cline-any cline-no">&nbsp;</span>
295
300
  <span class="cline-any cline-neutral">&nbsp;</span>
301
+ <span class="cline-any cline-neutral">&nbsp;</span>
296
302
  <span class="cline-any cline-no">&nbsp;</span>
297
303
  <span class="cline-any cline-no">&nbsp;</span>
298
304
  <span class="cline-any cline-no">&nbsp;</span>
305
+ <span class="cline-any cline-no">&nbsp;</span>
306
+ <span class="cline-any cline-neutral">&nbsp;</span>
299
307
  <span class="cline-any cline-neutral">&nbsp;</span>
300
308
  <span class="cline-any cline-neutral">&nbsp;</span>
301
309
  <span class="cline-any cline-no">&nbsp;</span>
@@ -381,10 +389,8 @@
381
389
  <span class="cline-any cline-neutral">&nbsp;</span>
382
390
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type App from '../app/index.js'
383
391
  <span class="cstat-no" title="statement not covered" >import {</span>
384
- TechnicalInfo,
385
392
  AdoptedSSReplaceURLBased,
386
393
  AdoptedSSInsertRuleURLBased,
387
- AdoptedSSDeleteRule,
388
394
  AdoptedSSAddOwner,
389
395
  AdoptedSSRemoveOwner,
390
396
  } from '../app/messages.gen.js'
@@ -400,11 +406,13 @@ function <span class="fstat-no" title="function not covered" >hasAdoptedSS(</spa
400
406
  )
401
407
  }
402
408
  &nbsp;
403
- // TODO: incapsulate to be init-ed on-start and join with cssrules.ts under one folder
409
+ // TODO: encapsulate to be init-ed on-start and join with cssrules.ts under one folder
404
410
  let _id = <span class="cstat-no" title="statement not covered" >0xf</span>
411
+ &nbsp;
405
412
  <span class="cstat-no" title="statement not covered" >export function <span class="fstat-no" title="function not covered" >n</span>extID(</span>): number {
406
413
  <span class="cstat-no" title="statement not covered" > return _id++</span>
407
414
  }
415
+ &nbsp;
408
416
  export const <span class="cstat-no" title="statement not covered" >styleSheetIDMap: Map&lt;CSSStyleSheet, number&gt; = new Map()</span>
409
417
  &nbsp;
410
418
  <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >export default function (a</span></span>pp: App | null) {
@@ -433,35 +441,39 @@ export const <span class="cstat-no" title="statement not covered" >styleSheetIDM
433
441
  }
434
442
  const nowOwning: number[] = <span class="cstat-no" title="statement not covered" >[]</span>
435
443
  const styleSheets = <span class="cstat-no" title="statement not covered" >root.adoptedStyleSheets</span>
436
- <span class="cstat-no" title="statement not covered" > for (const s of styleSheets) {</span>
437
- let sheetID = <span class="cstat-no" title="statement not covered" >styleSheetIDMap.get(s)</span>
438
- const init = <span class="cstat-no" title="statement not covered" >!sheetID</span>
439
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!sheetID) {</span>
440
- <span class="cstat-no" title="statement not covered" > sheetID = nextID()</span>
441
- <span class="cstat-no" title="statement not covered" > styleSheetIDMap.set(s, sheetID)</span>
442
- }
443
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!pastOwning.includes(sheetID)) {</span>
444
- <span class="cstat-no" title="statement not covered" > app.send(AdoptedSSAddOwner(sheetID, nodeID))</span>
445
- }
446
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (init) {</span>
447
- const rules = <span class="cstat-no" title="statement not covered" >s.cssRules</span>
448
- <span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0;</span> i &lt; rules.length; i++) {</span>
449
- <span class="cstat-no" title="statement not covered" > app.send(AdoptedSSInsertRuleURLBased(sheetID, rules[i].cssText, i, app.getBaseHref()))</span>
444
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (Symbol.iterator in styleSheets) {</span>
445
+ <span class="cstat-no" title="statement not covered" > for (const s of styleSheets) {</span>
446
+ let sheetID = <span class="cstat-no" title="statement not covered" >styleSheetIDMap.get(s)</span>
447
+ const init = <span class="cstat-no" title="statement not covered" >!sheetID</span>
448
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!sheetID) {</span>
449
+ <span class="cstat-no" title="statement not covered" > sheetID = nextID()</span>
450
+ <span class="cstat-no" title="statement not covered" > styleSheetIDMap.set(s, sheetID)</span>
450
451
  }
452
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!pastOwning.includes(sheetID)) {</span>
453
+ <span class="cstat-no" title="statement not covered" > app.send(AdoptedSSAddOwner(sheetID, nodeID))</span>
454
+ }
455
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (init) {</span>
456
+ const rules = <span class="cstat-no" title="statement not covered" >s.cssRules</span>
457
+ <span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0;</span> i &lt; rules.length; i++) {</span>
458
+ <span class="cstat-no" title="statement not covered" > app.send(AdoptedSSInsertRuleURLBased(sheetID, rules[i].cssText, i, app.getBaseHref()))</span>
459
+ }
460
+ }
461
+ <span class="cstat-no" title="statement not covered" > nowOwning.push(sheetID)</span>
451
462
  }
452
- <span class="cstat-no" title="statement not covered" > nowOwning.push(sheetID)</span>
453
463
  }
454
- <span class="cstat-no" title="statement not covered" > for (const sheetID of pastOwning) {</span>
455
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!nowOwning.includes(sheetID)) {</span>
456
- <span class="cstat-no" title="statement not covered" > app.send(AdoptedSSRemoveOwner(sheetID, nodeID))</span>
464
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (Symbol.iterator in pastOwning) {</span>
465
+ <span class="cstat-no" title="statement not covered" > for (const sheetID of pastOwning) {</span>
466
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!nowOwning.includes(sheetID)) {</span>
467
+ <span class="cstat-no" title="statement not covered" > app.send(AdoptedSSRemoveOwner(sheetID, nodeID))</span>
468
+ }
457
469
  }
458
470
  }
459
471
  <span class="cstat-no" title="statement not covered" > adoptedStyleSheetsOwnings.set(nodeID, nowOwning)</span>
460
- }, 20) // Misterious bug:
472
+ }, 20) // Mysterious bug:
461
473
  /* On the page https://explore.fast.design/components/fast-accordion
462
474
  the only rule inside the only adoptedStyleSheet of the iframe-s document
463
475
  gets changed during first milliseconds after the load.
464
- Howerer, none of the documented methods (replace, insertRule) is triggered.
476
+ However, none of the documented methods (replace, insertRule) is triggered.
465
477
  The rule is not substituted (remains the same object), however the text gets changed.
466
478
  */
467
479
  &nbsp;
@@ -544,7 +556,7 @@ export const <span class="cstat-no" title="statement not covered" >styleSheetIDM
544
556
  <div class='footer quiet pad2 space-top1 center small'>
545
557
  Code coverage generated by
546
558
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
547
- at 2023-10-17T13:37:58.420Z
559
+ at 2023-11-03T09:39:08.430Z
548
560
  </div>
549
561
  <script src="../../prettify.js"></script>
550
562
  <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-10-17T13:37:58.420Z
406
+ at 2023-11-03T09:39:08.430Z
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-10-17T13:37:58.420Z
373
+ at 2023-11-03T09:39:08.430Z
374
374
  </div>
375
375
  <script src="../../prettify.js"></script>
376
376
  <script>
@@ -397,7 +397,7 @@ export interface FetchPersistFlagsData {
397
397
  <div class='footer quiet pad2 space-top1 center small'>
398
398
  Code coverage generated by
399
399
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
400
- at 2023-10-17T13:37:58.420Z
400
+ at 2023-11-03T09:39:08.430Z
401
401
  </div>
402
402
  <script src="../../prettify.js"></script>
403
403
  <script>
@@ -205,7 +205,7 @@
205
205
  <div class='footer quiet pad2 space-top1 center small'>
206
206
  Code coverage generated by
207
207
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
208
- at 2023-10-17T13:37:58.420Z
208
+ at 2023-11-03T09:39:08.430Z
209
209
  </div>
210
210
  <script src="../../prettify.js"></script>
211
211
  <script>
@@ -274,7 +274,7 @@ type FFData = [string, string, string]
274
274
  <div class='footer quiet pad2 space-top1 center small'>
275
275
  Code coverage generated by
276
276
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
277
- at 2023-10-17T13:37:58.420Z
277
+ at 2023-11-03T09:39:08.430Z
278
278
  </div>
279
279
  <script src="../../prettify.js"></script>
280
280
  <script>