@openreplay/tracker 11.0.6 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/CHANGELOG.md +4 -2
  2. package/cjs/app/index.d.ts +84 -6
  3. package/cjs/app/index.js +427 -58
  4. package/cjs/app/logger.d.ts +7 -17
  5. package/cjs/app/logger.js +11 -19
  6. package/cjs/app/messages.gen.d.ts +2 -0
  7. package/cjs/app/messages.gen.js +20 -1
  8. package/cjs/app/observer/iframe_observer.js +4 -1
  9. package/cjs/app/observer/shadow_root_observer.js +4 -1
  10. package/cjs/app/observer/top_observer.js +7 -4
  11. package/cjs/common/interaction.d.ts +5 -2
  12. package/cjs/common/messages.gen.d.ts +17 -2
  13. package/cjs/index.d.ts +45 -2
  14. package/cjs/index.js +237 -106
  15. package/cjs/modules/Network/beaconProxy.js +4 -1
  16. package/cjs/modules/Network/fetchProxy.js +24 -1
  17. package/cjs/modules/Network/index.js +6 -3
  18. package/cjs/modules/Network/xhrProxy.js +24 -1
  19. package/cjs/modules/conditionsManager.d.ts +84 -0
  20. package/cjs/modules/conditionsManager.js +343 -0
  21. package/cjs/modules/exception.js +4 -1
  22. package/cjs/modules/featureFlags.d.ts +1 -1
  23. package/cjs/modules/featureFlags.js +36 -46
  24. package/cjs/modules/network.js +5 -2
  25. package/cjs/modules/tagWatcher.d.ts +21 -0
  26. package/cjs/modules/tagWatcher.js +77 -0
  27. package/cjs/modules/userTesting/index.js +30 -4
  28. package/cjs/modules/userTesting/recorder.js +71 -88
  29. package/coverage/clover.xml +577 -544
  30. package/coverage/coverage-final.json +8 -8
  31. package/coverage/lcov-report/index.html +28 -28
  32. package/coverage/lcov-report/main/app/canvas.ts.html +97 -46
  33. package/coverage/lcov-report/main/app/guards.ts.html +1 -1
  34. package/coverage/lcov-report/main/app/index.html +19 -19
  35. package/coverage/lcov-report/main/app/index.ts.html +62 -35
  36. package/coverage/lcov-report/main/app/logger.ts.html +1 -1
  37. package/coverage/lcov-report/main/app/messages.gen.ts.html +32 -5
  38. package/coverage/lcov-report/main/app/nodes.ts.html +17 -5
  39. package/coverage/lcov-report/main/app/observer/iframe_observer.ts.html +1 -1
  40. package/coverage/lcov-report/main/app/observer/iframe_offsets.ts.html +1 -1
  41. package/coverage/lcov-report/main/app/observer/index.html +1 -1
  42. package/coverage/lcov-report/main/app/observer/shadow_root_observer.ts.html +1 -1
  43. package/coverage/lcov-report/main/app/observer/top_observer.ts.html +1 -1
  44. package/coverage/lcov-report/main/app/sanitizer.ts.html +1 -1
  45. package/coverage/lcov-report/main/app/session.ts.html +1 -1
  46. package/coverage/lcov-report/main/app/ticker.ts.html +1 -1
  47. package/coverage/lcov-report/main/index.html +9 -9
  48. package/coverage/lcov-report/main/index.ts.html +27 -6
  49. package/coverage/lcov-report/main/modules/Network/beaconProxy.ts.html +1 -1
  50. package/coverage/lcov-report/main/modules/Network/fetchProxy.ts.html +1 -1
  51. package/coverage/lcov-report/main/modules/Network/index.html +1 -1
  52. package/coverage/lcov-report/main/modules/Network/index.ts.html +1 -1
  53. package/coverage/lcov-report/main/modules/Network/networkMessage.ts.html +1 -1
  54. package/coverage/lcov-report/main/modules/Network/utils.ts.html +1 -1
  55. package/coverage/lcov-report/main/modules/Network/xhrProxy.ts.html +1 -1
  56. package/coverage/lcov-report/main/modules/attributeSender.ts.html +1 -1
  57. package/coverage/lcov-report/main/modules/axiosSpy.ts.html +1 -1
  58. package/coverage/lcov-report/main/modules/conditionsManager.ts.html +92 -38
  59. package/coverage/lcov-report/main/modules/connection.ts.html +1 -1
  60. package/coverage/lcov-report/main/modules/console.ts.html +1 -1
  61. package/coverage/lcov-report/main/modules/constructedStyleSheets.ts.html +1 -1
  62. package/coverage/lcov-report/main/modules/cssrules.ts.html +1 -1
  63. package/coverage/lcov-report/main/modules/exception.ts.html +1 -1
  64. package/coverage/lcov-report/main/modules/featureFlags.ts.html +1 -1
  65. package/coverage/lcov-report/main/modules/focus.ts.html +1 -1
  66. package/coverage/lcov-report/main/modules/fonts.ts.html +1 -1
  67. package/coverage/lcov-report/main/modules/img.ts.html +1 -1
  68. package/coverage/lcov-report/main/modules/index.html +21 -21
  69. package/coverage/lcov-report/main/modules/input.ts.html +1 -1
  70. package/coverage/lcov-report/main/modules/mouse.ts.html +1 -1
  71. package/coverage/lcov-report/main/modules/network.ts.html +1 -1
  72. package/coverage/lcov-report/main/modules/performance.ts.html +1 -1
  73. package/coverage/lcov-report/main/modules/scroll.ts.html +1 -1
  74. package/coverage/lcov-report/main/modules/selection.ts.html +1 -1
  75. package/coverage/lcov-report/main/modules/tabs.ts.html +1 -1
  76. package/coverage/lcov-report/main/modules/tagWatcher.ts.html +54 -27
  77. package/coverage/lcov-report/main/modules/timing.ts.html +1 -1
  78. package/coverage/lcov-report/main/modules/userTesting/SignalManager.ts.html +1 -1
  79. package/coverage/lcov-report/main/modules/userTesting/dnd.ts.html +1 -1
  80. package/coverage/lcov-report/main/modules/userTesting/index.html +1 -1
  81. package/coverage/lcov-report/main/modules/userTesting/index.ts.html +1 -1
  82. package/coverage/lcov-report/main/modules/userTesting/recorder.ts.html +1 -1
  83. package/coverage/lcov-report/main/modules/userTesting/styles.ts.html +1 -1
  84. package/coverage/lcov-report/main/modules/userTesting/utils.ts.html +1 -1
  85. package/coverage/lcov-report/main/modules/viewport.ts.html +1 -1
  86. package/coverage/lcov-report/main/utils.ts.html +1 -1
  87. package/coverage/lcov-report/webworker/BatchWriter.ts.html +1 -1
  88. package/coverage/lcov-report/webworker/MessageEncoder.gen.ts.html +17 -5
  89. package/coverage/lcov-report/webworker/PrimitiveEncoder.ts.html +1 -1
  90. package/coverage/lcov-report/webworker/QueueSender.ts.html +1 -1
  91. package/coverage/lcov-report/webworker/index.html +7 -7
  92. package/coverage/lcov-report/webworker/index.ts.html +1 -1
  93. package/coverage/lcov.info +1100 -1033
  94. package/lib/app/index.d.ts +84 -6
  95. package/lib/app/index.js +387 -44
  96. package/lib/app/logger.d.ts +7 -17
  97. package/lib/app/logger.js +11 -19
  98. package/lib/app/messages.gen.d.ts +2 -0
  99. package/lib/app/messages.gen.js +17 -0
  100. package/lib/common/interaction.d.ts +5 -2
  101. package/lib/common/messages.gen.d.ts +17 -2
  102. package/lib/common/tsconfig.tsbuildinfo +1 -1
  103. package/lib/index.d.ts +45 -2
  104. package/lib/index.js +191 -86
  105. package/lib/modules/conditionsManager.d.ts +84 -0
  106. package/lib/modules/conditionsManager.js +340 -0
  107. package/lib/modules/featureFlags.d.ts +1 -1
  108. package/lib/modules/featureFlags.js +36 -46
  109. package/lib/modules/tagWatcher.d.ts +21 -0
  110. package/lib/modules/tagWatcher.js +74 -0
  111. package/lib/modules/userTesting/recorder.js +71 -88
  112. package/package.json +1 -1
  113. package/tsconfig-base.json +3 -2
@@ -25,28 +25,28 @@
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/294</span>
28
+ <span class='fraction'>0/298</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/149</span>
35
+ <span class='fraction'>0/150</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/62</span>
42
+ <span class='fraction'>0/63</span>
43
43
  </div>
44
44
 
45
45
 
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/292</span>
49
+ <span class='fraction'>0/296</span>
50
50
  </div>
51
51
 
52
52
 
@@ -84,13 +84,13 @@
84
84
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
85
85
  </td>
86
86
  <td data-value="0" class="pct low">0%</td>
87
- <td data-value="213" class="abs low">0/213</td>
87
+ <td data-value="217" class="abs low">0/217</td>
88
88
  <td data-value="0" class="pct low">0%</td>
89
- <td data-value="119" class="abs low">0/119</td>
89
+ <td data-value="120" class="abs low">0/120</td>
90
90
  <td data-value="0" class="pct low">0%</td>
91
- <td data-value="40" class="abs low">0/40</td>
91
+ <td data-value="41" class="abs low">0/41</td>
92
92
  <td data-value="0" class="pct low">0%</td>
93
- <td data-value="211" class="abs low">0/211</td>
93
+ <td data-value="215" class="abs low">0/215</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2024-01-09T16:51:30.347Z
119
+ at 2024-01-23T12:19:37.435Z
120
120
  </div>
121
121
  <script src="../prettify.js"></script>
122
122
  <script>
@@ -25,28 +25,28 @@
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/213</span>
28
+ <span class='fraction'>0/217</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/119</span>
35
+ <span class='fraction'>0/120</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/40</span>
42
+ <span class='fraction'>0/41</span>
43
43
  </div>
44
44
 
45
45
 
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/211</span>
49
+ <span class='fraction'>0/215</span>
50
50
  </div>
51
51
 
52
52
 
@@ -554,7 +554,14 @@
554
554
  <a name='L489'></a><a href='#L489'>489</a>
555
555
  <a name='L490'></a><a href='#L490'>490</a>
556
556
  <a name='L491'></a><a href='#L491'>491</a>
557
- <a name='L492'></a><a href='#L492'>492</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
557
+ <a name='L492'></a><a href='#L492'>492</a>
558
+ <a name='L493'></a><a href='#L493'>493</a>
559
+ <a name='L494'></a><a href='#L494'>494</a>
560
+ <a name='L495'></a><a href='#L495'>495</a>
561
+ <a name='L496'></a><a href='#L496'>496</a>
562
+ <a name='L497'></a><a href='#L497'>497</a>
563
+ <a name='L498'></a><a href='#L498'>498</a>
564
+ <a name='L499'></a><a href='#L499'>499</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
558
565
  <span class="cline-any cline-neutral">&nbsp;</span>
559
566
  <span class="cline-any cline-no">&nbsp;</span>
560
567
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -810,6 +817,13 @@
810
817
  <span class="cline-any cline-no">&nbsp;</span>
811
818
  <span class="cline-any cline-neutral">&nbsp;</span>
812
819
  <span class="cline-any cline-neutral">&nbsp;</span>
820
+ <span class="cline-any cline-no">&nbsp;</span>
821
+ <span class="cline-any cline-no">&nbsp;</span>
822
+ <span class="cline-any cline-no">&nbsp;</span>
823
+ <span class="cline-any cline-neutral">&nbsp;</span>
824
+ <span class="cline-any cline-no">&nbsp;</span>
825
+ <span class="cline-any cline-neutral">&nbsp;</span>
826
+ <span class="cline-any cline-neutral">&nbsp;</span>
813
827
  <span class="cline-any cline-neutral">&nbsp;</span>
814
828
  <span class="cline-any cline-no">&nbsp;</span>
815
829
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1300,6 +1314,13 @@ function <span class="fstat-no" title="function not covered" >processOptions(</s
1300
1314
  <span class="fstat-no" title="function not covered" > getAllFeatureFlags(</span>) {
1301
1315
  <span class="cstat-no" title="statement not covered" > return this.app?.featureFlags.flags</span>
1302
1316
  }
1317
+ &nbsp;
1318
+ public <span class="cstat-no" title="statement not covered" >restartCanvasTracking = <span class="fstat-no" title="function not covered" >() =</span>&gt; {</span>
1319
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (this.app === null) {</span>
1320
+ <span class="cstat-no" title="statement not covered" > return</span>
1321
+ }
1322
+ <span class="cstat-no" title="statement not covered" > this.app.restartCanvasTracking()</span>
1323
+ }
1303
1324
  &nbsp;
1304
1325
  <span class="fstat-no" title="function not covered" > use&lt;</span>T&gt;(fn: (app: App | null, options?: Options) =&gt; T): T {
1305
1326
  <span class="cstat-no" title="statement not covered" > return fn(this.app, this.options)</span>
@@ -1543,7 +1564,7 @@ function <span class="fstat-no" title="function not covered" >processOptions(</s
1543
1564
  <div class='footer quiet pad2 space-top1 center small'>
1544
1565
  Code coverage generated by
1545
1566
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1546
- at 2024-01-09T16:51:30.347Z
1567
+ at 2024-01-23T12:19:37.435Z
1547
1568
  </div>
1548
1569
  <script src="../prettify.js"></script>
1549
1570
  <script>
@@ -376,7 +376,7 @@ const getContentType = <span class="cstat-no" title="statement not covered" ><sp
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 2024-01-09T16:51:30.347Z
379
+ at 2024-01-23T12:19:37.435Z
380
380
  </div>
381
381
  <script src="../../../prettify.js"></script>
382
382
  <script>
@@ -1033,7 +1033,7 @@ import { NetworkRequest } from '../../../common/messages.gen.js'
1033
1033
  <div class='footer quiet pad2 space-top1 center small'>
1034
1034
  Code coverage generated by
1035
1035
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1036
- at 2024-01-09T16:51:30.347Z
1036
+ at 2024-01-23T12:19:37.435Z
1037
1037
  </div>
1038
1038
  <script src="../../../prettify.js"></script>
1039
1039
  <script>
@@ -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 2024-01-09T16:51:30.347Z
179
+ at 2024-01-23T12:19:37.435Z
180
180
  </div>
181
181
  <script src="../../../prettify.js"></script>
182
182
  <script>
@@ -229,7 +229,7 @@ If you're using serverside rendering in your app, make sure that tracker is load
229
229
  <div class='footer quiet pad2 space-top1 center small'>
230
230
  Code coverage generated by
231
231
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
232
- at 2024-01-09T16:51:30.347Z
232
+ at 2024-01-23T12:19:37.435Z
233
233
  </div>
234
234
  <script src="../../../prettify.js"></script>
235
235
  <script>
@@ -379,7 +379,7 @@ export type httpMethod =
379
379
  <div class='footer quiet pad2 space-top1 center small'>
380
380
  Code coverage generated by
381
381
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
382
- at 2024-01-09T16:51:30.347Z
382
+ at 2024-01-23T12:19:37.435Z
383
383
  </div>
384
384
  <script src="../../../prettify.js"></script>
385
385
  <script>
@@ -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 2024-01-09T16:51:30.347Z
688
+ at 2024-01-23T12:19:37.435Z
689
689
  </div>
690
690
  <script src="../../../prettify.js"></script>
691
691
  <script>
@@ -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 2024-01-09T16:51:30.347Z
838
+ at 2024-01-23T12:19:37.435Z
839
839
  </div>
840
840
  <script src="../../../prettify.js"></script>
841
841
  <script>
@@ -226,7 +226,7 @@ import App from '../app/index.js'
226
226
  <div class='footer quiet pad2 space-top1 center small'>
227
227
  Code coverage generated by
228
228
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
229
- at 2024-01-09T16:51:30.347Z
229
+ at 2024-01-23T12:19:37.435Z
230
230
  </div>
231
231
  <script src="../../prettify.js"></script>
232
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 2024-01-09T16:51:30.347Z
697
+ at 2024-01-23T12:19:37.435Z
698
698
  </div>
699
699
  <script src="../../prettify.js"></script>
700
700
  <script>
@@ -25,28 +25,28 @@
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/165</span>
28
+ <span class='fraction'>0/172</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/63</span>
35
+ <span class='fraction'>0/67</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/52</span>
42
+ <span class='fraction'>0/53</span>
43
43
  </div>
44
44
 
45
45
 
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/150</span>
49
+ <span class='fraction'>0/156</span>
50
50
  </div>
51
51
 
52
52
 
@@ -483,7 +483,25 @@
483
483
  <a name='L418'></a><a href='#L418'>418</a>
484
484
  <a name='L419'></a><a href='#L419'>419</a>
485
485
  <a name='L420'></a><a href='#L420'>420</a>
486
- <a name='L421'></a><a href='#L421'>421</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
486
+ <a name='L421'></a><a href='#L421'>421</a>
487
+ <a name='L422'></a><a href='#L422'>422</a>
488
+ <a name='L423'></a><a href='#L423'>423</a>
489
+ <a name='L424'></a><a href='#L424'>424</a>
490
+ <a name='L425'></a><a href='#L425'>425</a>
491
+ <a name='L426'></a><a href='#L426'>426</a>
492
+ <a name='L427'></a><a href='#L427'>427</a>
493
+ <a name='L428'></a><a href='#L428'>428</a>
494
+ <a name='L429'></a><a href='#L429'>429</a>
495
+ <a name='L430'></a><a href='#L430'>430</a>
496
+ <a name='L431'></a><a href='#L431'>431</a>
497
+ <a name='L432'></a><a href='#L432'>432</a>
498
+ <a name='L433'></a><a href='#L433'>433</a>
499
+ <a name='L434'></a><a href='#L434'>434</a>
500
+ <a name='L435'></a><a href='#L435'>435</a>
501
+ <a name='L436'></a><a href='#L436'>436</a>
502
+ <a name='L437'></a><a href='#L437'>437</a>
503
+ <a name='L438'></a><a href='#L438'>438</a>
504
+ <a name='L439'></a><a href='#L439'>439</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
487
505
  <span class="cline-any cline-neutral">&nbsp;</span>
488
506
  <span class="cline-any cline-neutral">&nbsp;</span>
489
507
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -542,7 +560,17 @@
542
560
  <span class="cline-any cline-neutral">&nbsp;</span>
543
561
  <span class="cline-any cline-no">&nbsp;</span>
544
562
  <span class="cline-any cline-no">&nbsp;</span>
563
+ <span class="cline-any cline-neutral">&nbsp;</span>
564
+ <span class="cline-any cline-neutral">&nbsp;</span>
565
+ <span class="cline-any cline-neutral">&nbsp;</span>
566
+ <span class="cline-any cline-neutral">&nbsp;</span>
567
+ <span class="cline-any cline-no">&nbsp;</span>
545
568
  <span class="cline-any cline-no">&nbsp;</span>
569
+ <span class="cline-any cline-no">&nbsp;</span>
570
+ <span class="cline-any cline-no">&nbsp;</span>
571
+ <span class="cline-any cline-neutral">&nbsp;</span>
572
+ <span class="cline-any cline-neutral">&nbsp;</span>
573
+ <span class="cline-any cline-neutral">&nbsp;</span>
546
574
  <span class="cline-any cline-neutral">&nbsp;</span>
547
575
  <span class="cline-any cline-neutral">&nbsp;</span>
548
576
  <span class="cline-any cline-no">&nbsp;</span>
@@ -643,6 +671,8 @@
643
671
  <span class="cline-any cline-no">&nbsp;</span>
644
672
  <span class="cline-any cline-no">&nbsp;</span>
645
673
  <span class="cline-any cline-no">&nbsp;</span>
674
+ <span class="cline-any cline-no">&nbsp;</span>
675
+ <span class="cline-any cline-no">&nbsp;</span>
646
676
  <span class="cline-any cline-neutral">&nbsp;</span>
647
677
  <span class="cline-any cline-no">&nbsp;</span>
648
678
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -666,6 +696,8 @@
666
696
  <span class="cline-any cline-no">&nbsp;</span>
667
697
  <span class="cline-any cline-neutral">&nbsp;</span>
668
698
  <span class="cline-any cline-neutral">&nbsp;</span>
699
+ <span class="cline-any cline-no">&nbsp;</span>
700
+ <span class="cline-any cline-no">&nbsp;</span>
669
701
  <span class="cline-any cline-neutral">&nbsp;</span>
670
702
  <span class="cline-any cline-no">&nbsp;</span>
671
703
  <span class="cline-any cline-no">&nbsp;</span>
@@ -674,7 +706,7 @@
674
706
  <span class="cline-any cline-neutral">&nbsp;</span>
675
707
  <span class="cline-any cline-neutral">&nbsp;</span>
676
708
  <span class="cline-any cline-neutral">&nbsp;</span>
677
- <span class="cline-any cline-no">&nbsp;</span>
709
+ <span class="cline-any cline-neutral">&nbsp;</span>
678
710
  <span class="cline-any cline-no">&nbsp;</span>
679
711
  <span class="cline-any cline-no">&nbsp;</span>
680
712
  <span class="cline-any cline-no">&nbsp;</span>
@@ -776,6 +808,10 @@
776
808
  <span class="cline-any cline-neutral">&nbsp;</span>
777
809
  <span class="cline-any cline-neutral">&nbsp;</span>
778
810
  <span class="cline-any cline-neutral">&nbsp;</span>
811
+ <span class="cline-any cline-neutral">&nbsp;</span>
812
+ <span class="cline-any cline-neutral">&nbsp;</span>
813
+ <span class="cline-any cline-neutral">&nbsp;</span>
814
+ <span class="cline-any cline-neutral">&nbsp;</span>
779
815
  <span class="cline-any cline-no">&nbsp;</span>
780
816
  <span class="cline-any cline-no">&nbsp;</span>
781
817
  <span class="cline-any cline-no">&nbsp;</span>
@@ -961,8 +997,18 @@ interface ApiResponse {
961
997
  <span class="cstat-no" title="statement not covered" > filters.forEach(<span class="fstat-no" title="function not covered" >(f</span>ilter) =&gt; {</span>
962
998
  let cond: Condition | undefined
963
999
  <span class="cstat-no" title="statement not covered" > if (filter.type === 'fetch') {</span>
1000
+ <span class="cstat-no" title="statement not covered" > cond = {</span>
1001
+ type: 'network_request',
1002
+ subConditions: [],
1003
+ name: c.name,
1004
+ }
964
1005
  <span class="cstat-no" title="statement not covered" > filter.filters.forEach(<span class="fstat-no" title="function not covered" >(f</span>) =&gt; {</span>
965
- <span class="cstat-no" title="statement not covered" > cond = this.createConditionFromFilter(f as unknown as Filter)</span>
1006
+ const subCond = <span class="cstat-no" title="statement not covered" >this.createConditionFromFilter(f as unknown as Filter)</span>
1007
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (subCond) {</span>
1008
+ ;(<span class="cstat-no" title="statement not covered" >cond as unknown as NetworkRequestCondition).subConditions.push(</span>
1009
+ subCond as unknown as SubCondition,
1010
+ )
1011
+ }
966
1012
  })
967
1013
  } else {
968
1014
  <span class="cstat-no" title="statement not covered" > cond = this.createConditionFromFilter(filter)</span>
@@ -1060,42 +1106,46 @@ interface ApiResponse {
1060
1106
  const reqConds = <span class="cstat-no" title="statement not covered" >this.conditions.filter(</span>
1061
1107
  <span class="fstat-no" title="function not covered" > (c</span>) =&gt; <span class="cstat-no" title="statement not covered" >c.type === 'network_request',</span>
1062
1108
  ) as NetworkRequestCondition[]
1063
- const withoutAny = <span class="cstat-no" title="statement not covered" >reqConds.filter(<span class="fstat-no" title="function not covered" >(c</span>) =&gt; <span class="cstat-no" title="statement not covered" >c.operator !== 'isAny')</span></span>
1064
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (withoutAny.length) {</span>
1065
- <span class="cstat-no" title="statement not covered" > withoutAny.forEach(<span class="fstat-no" title="function not covered" >(r</span>eqCond) =&gt; {</span>
1066
- let value
1067
- <span class="cstat-no" title="statement not covered" > switch (reqCond.key) {</span>
1068
- case 'url':
1069
- <span class="cstat-no" title="statement not covered" > value = message[3]</span>
1070
- <span class="cstat-no" title="statement not covered" > break</span>
1071
- case 'status':
1072
- <span class="cstat-no" title="statement not covered" > value = message[6]</span>
1073
- <span class="cstat-no" title="statement not covered" > break</span>
1074
- case 'method':
1075
- <span class="cstat-no" title="statement not covered" > value = message[2]</span>
1076
- <span class="cstat-no" title="statement not covered" > break</span>
1077
- case 'duration':
1078
- <span class="cstat-no" title="statement not covered" > value = message[8]</span>
1079
- <span class="cstat-no" title="statement not covered" > break</span>
1080
- default:
1081
- <span class="cstat-no" title="statement not covered" > break</span>
1082
- }
1083
- const operator = <span class="cstat-no" title="statement not covered" >operators[reqCond.operator] as (a: string, b: string[]) =&gt; boolean</span>
1084
- // @ts-ignore
1085
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (operator &amp;&amp; operator(value, reqCond.value)) {</span>
1109
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!reqConds.length) <span class="cstat-no" title="statement not covered" >return</span></span>
1110
+ <span class="cstat-no" title="statement not covered" > reqConds.forEach(<span class="fstat-no" title="function not covered" >(r</span>eqCond) =&gt; {</span>
1111
+ const validSubConditions = <span class="cstat-no" title="statement not covered" >reqCond.subConditions.filter(<span class="fstat-no" title="function not covered" >(c</span>) =&gt; <span class="cstat-no" title="statement not covered" >c.operator !== 'isAny')</span></span>
1112
+ <span class="cstat-no" title="statement not covered" > if (validSubConditions.length) {</span>
1113
+ const allPass = <span class="cstat-no" title="statement not covered" >validSubConditions.every(<span class="fstat-no" title="function not covered" >(s</span>ubCond) =&gt; {</span>
1114
+ let value
1115
+ <span class="cstat-no" title="statement not covered" > switch (subCond.key) {</span>
1116
+ case 'url':
1117
+ <span class="cstat-no" title="statement not covered" > value = message[3]</span>
1118
+ <span class="cstat-no" title="statement not covered" > break</span>
1119
+ case 'status':
1120
+ <span class="cstat-no" title="statement not covered" > value = message[6]</span>
1121
+ <span class="cstat-no" title="statement not covered" > break</span>
1122
+ case 'method':
1123
+ <span class="cstat-no" title="statement not covered" > value = message[2]</span>
1124
+ <span class="cstat-no" title="statement not covered" > break</span>
1125
+ case 'duration':
1126
+ <span class="cstat-no" title="statement not covered" > value = message[8]</span>
1127
+ <span class="cstat-no" title="statement not covered" > break</span>
1128
+ default:
1129
+ <span class="cstat-no" title="statement not covered" > break</span>
1130
+ }
1131
+ const operator = <span class="cstat-no" title="statement not covered" >operators[subCond.operator] as (a: string, b: string[]) =&gt; boolean</span>
1132
+ // @ts-ignore
1133
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (operator &amp;&amp; operator(value, subCond.value)) {</span>
1134
+ <span class="cstat-no" title="statement not covered" > return true</span>
1135
+ }
1136
+ })
1137
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (allPass) {</span>
1086
1138
  <span class="cstat-no" title="statement not covered" > this.trigger(reqCond.name)</span>
1087
1139
  }
1088
- })
1089
- }
1090
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (withoutAny.length === 0 &amp;&amp; reqConds.length) {</span>
1091
- <span class="cstat-no" title="statement not covered" > this.trigger(reqConds[0].name)</span>
1092
- }
1140
+ } else <span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="if path not taken" >I</span>if (validSubConditions.length === 0 &amp;&amp; reqCond.subConditions.length) {</span>
1141
+ <span class="cstat-no" title="statement not covered" > this.trigger(reqCond.name)</span>
1142
+ }
1143
+ })
1093
1144
  }
1094
1145
  &nbsp;
1095
1146
  <span class="fstat-no" title="function not covered" > customEvent(</span>message: CustomEvent) {
1096
1147
  // name - 1, payload - 2
1097
1148
  const evConds = <span class="cstat-no" title="statement not covered" >this.conditions.filter(<span class="fstat-no" title="function not covered" >(c</span>) =&gt; <span class="cstat-no" title="statement not covered" >c.type === 'custom_event')</span> as CommonCondition[]</span>
1098
- <span class="cstat-no" title="statement not covered" > console.log(message, evConds)</span>
1099
1149
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (evConds.length) {</span>
1100
1150
  <span class="cstat-no" title="statement not covered" > evConds.forEach(<span class="fstat-no" title="function not covered" >(e</span>vCond) =&gt; {</span>
1101
1151
  const operator = <span class="cstat-no" title="statement not covered" >operators[evCond.operator] as (a: string, b: string[]) =&gt; boolean</span>
@@ -1182,11 +1232,15 @@ type SessionDurationCondition = {
1182
1232
  value: number[]
1183
1233
  name: string
1184
1234
  }
1185
- type NetworkRequestCondition = {
1235
+ type SubCondition = {
1186
1236
  type: 'network_request'
1187
1237
  key: 'url' | 'status' | 'method' | 'duration'
1188
1238
  operator: keyof typeof operators
1189
1239
  value: string[]
1240
+ }
1241
+ type NetworkRequestCondition = {
1242
+ type: 'network_request'
1243
+ subConditions: SubCondition[]
1190
1244
  name: string
1191
1245
  }
1192
1246
  type Condition =
@@ -1330,7 +1384,7 @@ const mapCondition = <span class="cstat-no" title="statement not covered" ><span
1330
1384
  <div class='footer quiet pad2 space-top1 center small'>
1331
1385
  Code coverage generated by
1332
1386
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1333
- at 2024-01-09T16:51:30.347Z
1387
+ at 2024-01-23T12:19:37.435Z
1334
1388
  </div>
1335
1389
  <script src="../../prettify.js"></script>
1336
1390
  <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 2024-01-09T16:51:30.347Z
148
+ at 2024-01-23T12:19:37.435Z
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 2024-01-09T16:51:30.347Z
529
+ at 2024-01-23T12:19:37.435Z
530
530
  </div>
531
531
  <script src="../../prettify.js"></script>
532
532
  <script>
@@ -556,7 +556,7 @@ export const <span class="cstat-no" title="statement not covered" >styleSheetIDM
556
556
  <div class='footer quiet pad2 space-top1 center small'>
557
557
  Code coverage generated by
558
558
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
559
- at 2024-01-09T16:51:30.347Z
559
+ at 2024-01-23T12:19:37.435Z
560
560
  </div>
561
561
  <script src="../../prettify.js"></script>
562
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 2024-01-09T16:51:30.347Z
406
+ at 2024-01-23T12:19:37.435Z
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 2024-01-09T16:51:30.347Z
373
+ at 2024-01-23T12:19:37.435Z
374
374
  </div>
375
375
  <script src="../../prettify.js"></script>
376
376
  <script>
@@ -400,7 +400,7 @@ export interface FetchPersistFlagsData {
400
400
  <div class='footer quiet pad2 space-top1 center small'>
401
401
  Code coverage generated by
402
402
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
403
- at 2024-01-09T16:51:30.347Z
403
+ at 2024-01-23T12:19:37.435Z
404
404
  </div>
405
405
  <script src="../../prettify.js"></script>
406
406
  <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 2024-01-09T16:51:30.347Z
208
+ at 2024-01-23T12:19:37.435Z
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 2024-01-09T16:51:30.347Z
277
+ at 2024-01-23T12:19:37.435Z
278
278
  </div>
279
279
  <script src="../../prettify.js"></script>
280
280
  <script>
@@ -421,7 +421,7 @@ const PLACEHOLDER_SRC = <span class="cstat-no" title="statement not covered" >'h
421
421
  <div class='footer quiet pad2 space-top1 center small'>
422
422
  Code coverage generated by
423
423
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
424
- at 2024-01-09T16:51:30.347Z
424
+ at 2024-01-23T12:19:37.435Z
425
425
  </div>
426
426
  <script src="../../prettify.js"></script>
427
427
  <script>