@openreplay/tracker 13.0.0 → 13.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 (79) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/bun.lockb +0 -0
  3. package/cjs/app/canvas.d.ts +4 -1
  4. package/cjs/app/canvas.js +28 -13
  5. package/cjs/app/index.d.ts +23 -0
  6. package/cjs/app/index.js +23 -4
  7. package/cjs/index.js +1 -1
  8. package/coverage/clover.xml +1054 -964
  9. package/coverage/coverage-final.json +21 -21
  10. package/coverage/lcov-report/index.html +43 -43
  11. package/coverage/lcov-report/main/app/canvas.ts.html +224 -47
  12. package/coverage/lcov-report/main/app/guards.ts.html +26 -26
  13. package/coverage/lcov-report/main/app/index.html +42 -42
  14. package/coverage/lcov-report/main/app/index.ts.html +157 -37
  15. package/coverage/lcov-report/main/app/logger.ts.html +1 -1
  16. package/coverage/lcov-report/main/app/messages.gen.ts.html +244 -154
  17. package/coverage/lcov-report/main/app/nodes.ts.html +7 -4
  18. package/coverage/lcov-report/main/app/observer/iframe_observer.ts.html +1 -1
  19. package/coverage/lcov-report/main/app/observer/iframe_offsets.ts.html +1 -1
  20. package/coverage/lcov-report/main/app/observer/index.html +5 -5
  21. package/coverage/lcov-report/main/app/observer/shadow_root_observer.ts.html +1 -1
  22. package/coverage/lcov-report/main/app/observer/top_observer.ts.html +7 -4
  23. package/coverage/lcov-report/main/app/sanitizer.ts.html +2 -2
  24. package/coverage/lcov-report/main/app/session.ts.html +2 -2
  25. package/coverage/lcov-report/main/app/ticker.ts.html +1 -1
  26. package/coverage/lcov-report/main/index.html +13 -13
  27. package/coverage/lcov-report/main/index.ts.html +32 -14
  28. package/coverage/lcov-report/main/modules/Network/beaconProxy.ts.html +17 -8
  29. package/coverage/lcov-report/main/modules/Network/fetchProxy.ts.html +40 -13
  30. package/coverage/lcov-report/main/modules/Network/index.html +21 -21
  31. package/coverage/lcov-report/main/modules/Network/index.ts.html +2 -2
  32. package/coverage/lcov-report/main/modules/Network/networkMessage.ts.html +12 -6
  33. package/coverage/lcov-report/main/modules/Network/utils.ts.html +17 -8
  34. package/coverage/lcov-report/main/modules/Network/xhrProxy.ts.html +39 -12
  35. package/coverage/lcov-report/main/modules/attributeSender.ts.html +1 -1
  36. package/coverage/lcov-report/main/modules/axiosSpy.ts.html +1 -1
  37. package/coverage/lcov-report/main/modules/conditionsManager.ts.html +4 -22
  38. package/coverage/lcov-report/main/modules/connection.ts.html +1 -1
  39. package/coverage/lcov-report/main/modules/console.ts.html +1 -1
  40. package/coverage/lcov-report/main/modules/constructedStyleSheets.ts.html +3 -3
  41. package/coverage/lcov-report/main/modules/cssrules.ts.html +1 -1
  42. package/coverage/lcov-report/main/modules/exception.ts.html +1 -1
  43. package/coverage/lcov-report/main/modules/featureFlags.ts.html +1 -1
  44. package/coverage/lcov-report/main/modules/focus.ts.html +1 -1
  45. package/coverage/lcov-report/main/modules/fonts.ts.html +1 -1
  46. package/coverage/lcov-report/main/modules/img.ts.html +4 -4
  47. package/coverage/lcov-report/main/modules/index.html +24 -24
  48. package/coverage/lcov-report/main/modules/input.ts.html +1 -1
  49. package/coverage/lcov-report/main/modules/mouse.ts.html +1 -1
  50. package/coverage/lcov-report/main/modules/network.ts.html +2 -2
  51. package/coverage/lcov-report/main/modules/performance.ts.html +1 -1
  52. package/coverage/lcov-report/main/modules/scroll.ts.html +1 -1
  53. package/coverage/lcov-report/main/modules/selection.ts.html +1 -1
  54. package/coverage/lcov-report/main/modules/tabs.ts.html +1 -1
  55. package/coverage/lcov-report/main/modules/tagWatcher.ts.html +95 -92
  56. package/coverage/lcov-report/main/modules/timing.ts.html +1 -1
  57. package/coverage/lcov-report/main/modules/userTesting/SignalManager.ts.html +1 -1
  58. package/coverage/lcov-report/main/modules/userTesting/dnd.ts.html +1 -1
  59. package/coverage/lcov-report/main/modules/userTesting/index.html +1 -1
  60. package/coverage/lcov-report/main/modules/userTesting/index.ts.html +1 -1
  61. package/coverage/lcov-report/main/modules/userTesting/recorder.ts.html +1 -1
  62. package/coverage/lcov-report/main/modules/userTesting/styles.ts.html +1 -1
  63. package/coverage/lcov-report/main/modules/userTesting/utils.ts.html +1 -1
  64. package/coverage/lcov-report/main/modules/viewport.ts.html +4 -4
  65. package/coverage/lcov-report/main/utils.ts.html +181 -31
  66. package/coverage/lcov-report/webworker/BatchWriter.ts.html +1 -1
  67. package/coverage/lcov-report/webworker/MessageEncoder.gen.ts.html +31 -7
  68. package/coverage/lcov-report/webworker/PrimitiveEncoder.ts.html +1 -1
  69. package/coverage/lcov-report/webworker/QueueSender.ts.html +48 -18
  70. package/coverage/lcov-report/webworker/index.html +14 -14
  71. package/coverage/lcov-report/webworker/index.ts.html +51 -21
  72. package/coverage/lcov.info +1882 -1653
  73. package/lib/app/canvas.d.ts +4 -1
  74. package/lib/app/canvas.js +28 -13
  75. package/lib/app/index.d.ts +23 -0
  76. package/lib/app/index.js +23 -4
  77. package/lib/common/tsconfig.tsbuildinfo +1 -1
  78. package/lib/index.js +1 -1
  79. package/package.json +1 -1
@@ -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/149</span>
28
+ <span class='fraction'>0/153</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/94</span>
35
+ <span class='fraction'>0/97</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/20</span>
42
+ <span class='fraction'>0/21</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/148</span>
49
+ <span class='fraction'>0/152</span>
50
50
  </div>
51
51
 
52
52
 
@@ -384,7 +384,16 @@
384
384
  <a name='L319'></a><a href='#L319'>319</a>
385
385
  <a name='L320'></a><a href='#L320'>320</a>
386
386
  <a name='L321'></a><a href='#L321'>321</a>
387
- <a name='L322'></a><a href='#L322'>322</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
387
+ <a name='L322'></a><a href='#L322'>322</a>
388
+ <a name='L323'></a><a href='#L323'>323</a>
389
+ <a name='L324'></a><a href='#L324'>324</a>
390
+ <a name='L325'></a><a href='#L325'>325</a>
391
+ <a name='L326'></a><a href='#L326'>326</a>
392
+ <a name='L327'></a><a href='#L327'>327</a>
393
+ <a name='L328'></a><a href='#L328'>328</a>
394
+ <a name='L329'></a><a href='#L329'>329</a>
395
+ <a name='L330'></a><a href='#L330'>330</a>
396
+ <a name='L331'></a><a href='#L331'>331</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
388
397
  <span class="cline-any cline-neutral">&nbsp;</span>
389
398
  <span class="cline-any cline-neutral">&nbsp;</span>
390
399
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -656,6 +665,15 @@
656
665
  <span class="cline-any cline-no">&nbsp;</span>
657
666
  <span class="cline-any cline-neutral">&nbsp;</span>
658
667
  <span class="cline-any cline-no">&nbsp;</span>
668
+ <span class="cline-any cline-no">&nbsp;</span>
669
+ <span class="cline-any cline-no">&nbsp;</span>
670
+ <span class="cline-any cline-neutral">&nbsp;</span>
671
+ <span class="cline-any cline-neutral">&nbsp;</span>
672
+ <span class="cline-any cline-neutral">&nbsp;</span>
673
+ <span class="cline-any cline-no">&nbsp;</span>
674
+ <span class="cline-any cline-no">&nbsp;</span>
675
+ <span class="cline-any cline-neutral">&nbsp;</span>
676
+ <span class="cline-any cline-neutral">&nbsp;</span>
659
677
  <span class="cline-any cline-neutral">&nbsp;</span>
660
678
  <span class="cline-any cline-neutral">&nbsp;</span>
661
679
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -829,7 +847,7 @@ import { NetworkRequest } from '../../../common/messages.gen.js'
829
847
  <span class="fstat-no" title="function not covered" > constructor(</span>
830
848
  private readonly <span class="cstat-no" title="statement not covered" >ignoredHeaders: boolean | string[],</span>
831
849
  private readonly <span class="cstat-no" title="statement not covered" >setSessionTokenHeader: (cb: (name: string, value: string) =&gt; void) =&gt; void,</span>
832
- private readonly <span class="cstat-no" title="statement not covered" >sanitize: (data: RequestResponseData) =&gt; RequestResponseData,</span>
850
+ private readonly <span class="cstat-no" title="statement not covered" >sanitize: (data: RequestResponseData) =&gt; RequestResponseData | null,</span>
833
851
  private readonly <span class="cstat-no" title="statement not covered" >sendMessage: (item: NetworkRequest) =&gt; void,</span>
834
852
  private readonly <span class="cstat-no" title="statement not covered" >isServiceUrl: (url: string) =&gt; boolean,</span>
835
853
  private readonly <span class="cstat-no" title="statement not covered" >tokenUrlMatcher?: (url: string) =&gt; boolean,</span>
@@ -969,16 +987,25 @@ import { NetworkRequest } from '../../../common/messages.gen.js'
969
987
  // so it's completed and can be cloned for `text()` calling.
970
988
  <span class="cstat-no" title="statement not covered" > item.readyState = 4</span>
971
989
  &nbsp;
972
- <span class="cstat-no" title="statement not covered" > void this.handleResponseBody(resp.clone(), item).then(</span>
973
- <span class="fstat-no" title="function not covered" > (r</span>esponseValue: string | ArrayBuffer) =&gt; {
990
+ <span class="cstat-no" title="statement not covered" > this.handleResponseBody(resp.clone(), item)</span>
991
+ .then(<span class="fstat-no" title="function not covered" >(r</span>esponseValue: string | ArrayBuffer) =&gt; {
974
992
  <span class="cstat-no" title="statement not covered" > item.responseSize =</span>
975
993
  typeof responseValue === 'string' ? responseValue.length : responseValue.byteLength
976
994
  <span class="cstat-no" title="statement not covered" > item.responseSizeText = formatByteSize(item.responseSize)</span>
977
995
  <span class="cstat-no" title="statement not covered" > item.response = getStringResponseByType(item.responseType, responseValue)</span>
978
996
  &nbsp;
979
- <span class="cstat-no" title="statement not covered" > this.sendMessage(item.getMessage())</span>
980
- },
981
- )
997
+ const msg = <span class="cstat-no" title="statement not covered" >item.getMessage()</span>
998
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (msg) {</span>
999
+ <span class="cstat-no" title="statement not covered" > this.sendMessage(msg)</span>
1000
+ }
1001
+ })
1002
+ .catch(<span class="fstat-no" title="function not covered" >(e</span>) =&gt; {
1003
+ <span class="cstat-no" title="statement not covered" > if (e.name !== 'AbortError') {</span>
1004
+ <span class="cstat-no" title="statement not covered" > throw e</span>
1005
+ } else {
1006
+ // ignore AbortError
1007
+ }
1008
+ })
982
1009
  }
983
1010
  &nbsp;
984
1011
  <span class="cstat-no" title="statement not covered" > return new Proxy(resp, new ResponseProxyHandler(resp, item))</span>
@@ -1008,7 +1035,7 @@ import { NetworkRequest } from '../../../common/messages.gen.js'
1008
1035
  public <span class="fstat-no" title="function not covered" >static </span>create(
1009
1036
  ignoredHeaders: boolean | string[],
1010
1037
  setSessionTokenHeader: (cb: (name: string, value: string) =&gt; void) =&gt; void,
1011
- sanitize: (data: RequestResponseData) =&gt; RequestResponseData,
1038
+ sanitize: (data: RequestResponseData) =&gt; RequestResponseData | null,
1012
1039
  sendMessage: (item: NetworkRequest) =&gt; void,
1013
1040
  isServiceUrl: (url: string) =&gt; boolean,
1014
1041
  tokenUrlMatcher?: (url: string) =&gt; boolean,
@@ -1033,7 +1060,7 @@ import { NetworkRequest } from '../../../common/messages.gen.js'
1033
1060
  <div class='footer quiet pad2 space-top1 center small'>
1034
1061
  Code coverage generated by
1035
1062
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1036
- at 2024-01-23T12:19:37.435Z
1063
+ at 2024-06-04T11:50:55.506Z
1037
1064
  </div>
1038
1065
  <script src="../../../prettify.js"></script>
1039
1066
  <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/504</span>
28
+ <span class='fraction'>0/520</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/270</span>
35
+ <span class='fraction'>0/290</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/71</span>
42
+ <span class='fraction'>0/72</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/492</span>
49
+ <span class='fraction'>0/507</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="53" class="abs low">0/53</td>
87
+ <td data-value="55" class="abs low">0/55</td>
88
88
  <td data-value="0" class="pct low">0%</td>
89
- <td data-value="23" class="abs low">0/23</td>
89
+ <td data-value="24" class="abs low">0/24</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
92
  <td data-value="0" class="pct low">0%</td>
93
- <td data-value="53" class="abs low">0/53</td>
93
+ <td data-value="55" class="abs low">0/55</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -99,13 +99,13 @@
99
99
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
100
100
  </td>
101
101
  <td data-value="0" class="pct low">0%</td>
102
- <td data-value="149" class="abs low">0/149</td>
102
+ <td data-value="153" class="abs low">0/153</td>
103
103
  <td data-value="0" class="pct low">0%</td>
104
- <td data-value="94" class="abs low">0/94</td>
104
+ <td data-value="97" class="abs low">0/97</td>
105
105
  <td data-value="0" class="pct low">0%</td>
106
- <td data-value="20" class="abs low">0/20</td>
106
+ <td data-value="21" class="abs low">0/21</td>
107
107
  <td data-value="0" class="pct low">0%</td>
108
- <td data-value="148" class="abs low">0/148</td>
108
+ <td data-value="152" class="abs low">0/152</td>
109
109
  </tr>
110
110
 
111
111
  <tr>
@@ -129,13 +129,13 @@
129
129
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
130
130
  </td>
131
131
  <td data-value="0" class="pct low">0%</td>
132
- <td data-value="52" class="abs low">0/52</td>
132
+ <td data-value="54" class="abs low">0/54</td>
133
133
  <td data-value="0" class="pct low">0%</td>
134
- <td data-value="9" class="abs low">0/9</td>
134
+ <td data-value="10" class="abs low">0/10</td>
135
135
  <td data-value="0" class="pct low">0%</td>
136
136
  <td data-value="9" class="abs low">0/9</td>
137
137
  <td data-value="0" class="pct low">0%</td>
138
- <td data-value="49" class="abs low">0/49</td>
138
+ <td data-value="50" class="abs low">0/50</td>
139
139
  </tr>
140
140
 
141
141
  <tr>
@@ -144,13 +144,13 @@
144
144
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
145
145
  </td>
146
146
  <td data-value="0" class="pct low">0%</td>
147
- <td data-value="112" class="abs low">0/112</td>
147
+ <td data-value="114" class="abs low">0/114</td>
148
148
  <td data-value="0" class="pct low">0%</td>
149
- <td data-value="83" class="abs low">0/83</td>
149
+ <td data-value="85" class="abs low">0/85</td>
150
150
  <td data-value="0" class="pct low">0%</td>
151
151
  <td data-value="9" class="abs low">0/9</td>
152
152
  <td data-value="0" class="pct low">0%</td>
153
- <td data-value="106" class="abs low">0/106</td>
153
+ <td data-value="108" class="abs low">0/108</td>
154
154
  </tr>
155
155
 
156
156
  <tr>
@@ -159,13 +159,13 @@
159
159
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
160
160
  </td>
161
161
  <td data-value="0" class="pct low">0%</td>
162
- <td data-value="124" class="abs low">0/124</td>
162
+ <td data-value="130" class="abs low">0/130</td>
163
163
  <td data-value="0" class="pct low">0%</td>
164
- <td data-value="48" class="abs low">0/48</td>
164
+ <td data-value="61" class="abs low">0/61</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
167
  <td data-value="0" class="pct low">0%</td>
168
- <td data-value="122" class="abs low">0/122</td>
168
+ <td data-value="128" class="abs low">0/128</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 2024-01-23T12:19:37.435Z
179
+ at 2024-06-04T11:50:55.506Z
180
180
  </div>
181
181
  <script src="../../../prettify.js"></script>
182
182
  <script>
@@ -183,7 +183,7 @@ If you're using serverside rendering in your app, make sure that tracker is load
183
183
  context: typeof globalThis,
184
184
  ignoredHeaders: boolean | string[],
185
185
  setSessionTokenHeader: (cb: (name: string, value: string) =&gt; void) =&gt; void,
186
- sanitize: (data: RequestResponseData) =&gt; RequestResponseData,
186
+ sanitize: (data: RequestResponseData) =&gt; RequestResponseData | null,
187
187
  sendMessage: (message: NetworkRequest) =&gt; void,
188
188
  isServiceUrl: (url: string) =&gt; boolean,
189
189
  tokenUrlMatcher?: (url: string) =&gt; boolean,
@@ -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-23T12:19:37.435Z
232
+ at 2024-06-04T11:50:55.506Z
233
233
  </div>
234
234
  <script src="../../../prettify.js"></script>
235
235
  <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/52</span>
28
+ <span class='fraction'>0/54</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/9</span>
35
+ <span class='fraction'>0/10</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/49</span>
49
+ <span class='fraction'>0/50</span>
50
50
  </div>
51
51
 
52
52
 
@@ -166,7 +166,9 @@
166
166
  <a name='L101'></a><a href='#L101'>101</a>
167
167
  <a name='L102'></a><a href='#L102'>102</a>
168
168
  <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
170
172
  <span class="cline-any cline-neutral">&nbsp;</span>
171
173
  <span class="cline-any cline-no">&nbsp;</span>
172
174
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -233,6 +235,8 @@
233
235
  <span class="cline-any cline-neutral">&nbsp;</span>
234
236
  <span class="cline-any cline-no">&nbsp;</span>
235
237
  <span class="cline-any cline-neutral">&nbsp;</span>
238
+ <span class="cline-any cline-no">&nbsp;</span>
239
+ <span class="cline-any cline-neutral">&nbsp;</span>
236
240
  <span class="cline-any cline-neutral">&nbsp;</span>
237
241
  <span class="cline-any cline-neutral">&nbsp;</span>
238
242
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -315,7 +319,7 @@ export type httpMethod =
315
319
  <span class="fstat-no" title="function not covered" > constructor(</span>
316
320
  private readonly <span class="cstat-no" title="statement not covered" >ignoredHeaders: boolean | string[] = <span class="branch-0 cbranch-no" title="branch not covered" >[</span>],</span>
317
321
  private readonly <span class="cstat-no" title="statement not covered" >setSessionTokenHeader: (cb: (name: string, value: string) =&gt; void) =&gt; void,</span>
318
- private readonly <span class="cstat-no" title="statement not covered" >sanitize: (data: RequestResponseData) =&gt; RequestResponseData,</span>
322
+ private readonly <span class="cstat-no" title="statement not covered" >sanitize: (data: RequestResponseData) =&gt; RequestResponseData | null,</span>
319
323
  ) {}
320
324
  &nbsp;
321
325
  <span class="fstat-no" title="function not covered" > getMessage(</span>) {
@@ -334,6 +338,8 @@ export type httpMethod =
334
338
  response,
335
339
  })
336
340
  &nbsp;
341
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!messageInfo) <span class="cstat-no" title="statement not covered" >return</span></span>
342
+ &nbsp;
337
343
  <span class="cstat-no" title="statement not covered" > return NetworkRequest(</span>
338
344
  this.requestType,
339
345
  messageInfo.method,
@@ -379,7 +385,7 @@ export type httpMethod =
379
385
  <div class='footer quiet pad2 space-top1 center small'>
380
386
  Code coverage generated by
381
387
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
382
- at 2024-01-23T12:19:37.435Z
388
+ at 2024-06-04T11:50:55.506Z
383
389
  </div>
384
390
  <script src="../../../prettify.js"></script>
385
391
  <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/112</span>
28
+ <span class='fraction'>0/114</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/83</span>
35
+ <span class='fraction'>0/85</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/106</span>
49
+ <span class='fraction'>0/108</span>
50
50
  </div>
51
51
 
52
52
 
@@ -268,7 +268,10 @@
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>
272
+ <a name='L207'></a><a href='#L207'>207</a>
273
+ <a name='L208'></a><a href='#L208'>208</a>
274
+ <a name='L209'></a><a href='#L209'>209</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
272
275
  <span class="cline-any cline-neutral">&nbsp;</span>
273
276
  <span class="cline-any cline-neutral">&nbsp;</span>
274
277
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -427,9 +430,9 @@
427
430
  <span class="cline-any cline-neutral">&nbsp;</span>
428
431
  <span class="cline-any cline-neutral">&nbsp;</span>
429
432
  <span class="cline-any cline-neutral">&nbsp;</span>
433
+ <span class="cline-any cline-neutral">&nbsp;</span>
430
434
  <span class="cline-any cline-no">&nbsp;</span>
431
435
  <span class="cline-any cline-no">&nbsp;</span>
432
- <span class="cline-any cline-neutral">&nbsp;</span>
433
436
  <span class="cline-any cline-no">&nbsp;</span>
434
437
  <span class="cline-any cline-neutral">&nbsp;</span>
435
438
  <span class="cline-any cline-no">&nbsp;</span>
@@ -446,6 +449,9 @@
446
449
  <span class="cline-any cline-no">&nbsp;</span>
447
450
  <span class="cline-any cline-neutral">&nbsp;</span>
448
451
  <span class="cline-any cline-no">&nbsp;</span>
452
+ <span class="cline-any cline-no">&nbsp;</span>
453
+ <span class="cline-any cline-neutral">&nbsp;</span>
454
+ <span class="cline-any cline-no">&nbsp;</span>
449
455
  <span class="cline-any cline-neutral">&nbsp;</span>
450
456
  <span class="cline-any cline-neutral">&nbsp;</span>
451
457
  <span class="cline-any cline-no">&nbsp;</span>
@@ -628,13 +634,13 @@ export const <span class="cstat-no" title="statement not covered" >genFormattedB
628
634
  <span class="cstat-no" title="statement not covered" > result[key] = typeof value === 'string' ? value : '[object Object]'</span>
629
635
  }
630
636
  } else <span class="cstat-no" title="statement not covered" >if (</span>
637
+ ArrayBuffer.isView(body) ||
631
638
  body instanceof Blob ||
632
639
  body instanceof ReadableStream ||
633
640
  body instanceof ArrayBuffer
634
641
  ) {
635
- <span class="cstat-no" title="statement not covered" > result = 'byte data'</span>
642
+ <span class="cstat-no" title="statement not covered" > result = '[byte data]'</span>
636
643
  } else <span class="cstat-no" title="statement not covered" >if (isPureObject(body)) {</span>
637
- // overriding ArrayBufferView which is not convertable to string
638
644
  <span class="cstat-no" title="statement not covered" > result = &lt;any&gt;body</span>
639
645
  } else {
640
646
  <span class="cstat-no" title="statement not covered" > result = `can't parse body ${typeof body}`</span>
@@ -648,6 +654,9 @@ export const <span class="cstat-no" title="statement not covered" >genFormattedB
648
654
  &nbsp;
649
655
  <span class="cstat-no" title="statement not covered" >export function <span class="fstat-no" title="function not covered" >i</span>sIterable(</span>value: any) {
650
656
  <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>
657
+ <span class="cstat-no" title="statement not covered" > return false</span>
658
+ }
659
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (ArrayBuffer.isView(value)) {</span>
651
660
  <span class="cstat-no" title="statement not covered" > return false</span>
652
661
  }
653
662
  <span class="cstat-no" title="statement not covered" > return typeof Symbol !== 'undefined' &amp;&amp; typeof value[Symbol.iterator] === 'function'</span>
@@ -685,7 +694,7 @@ export const <span class="cstat-no" title="statement not covered" >getURL = <spa
685
694
  <div class='footer quiet pad2 space-top1 center small'>
686
695
  Code coverage generated by
687
696
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
688
- at 2024-01-23T12:19:37.435Z
697
+ at 2024-06-04T11:50:55.506Z
689
698
  </div>
690
699
  <script src="../../../prettify.js"></script>
691
700
  <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/124</span>
28
+ <span class='fraction'>0/130</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/48</span>
35
+ <span class='fraction'>0/61</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/122</span>
49
+ <span class='fraction'>0/128</span>
50
50
  </div>
51
51
 
52
52
 
@@ -318,7 +318,16 @@
318
318
  <a name='L253'></a><a href='#L253'>253</a>
319
319
  <a name='L254'></a><a href='#L254'>254</a>
320
320
  <a name='L255'></a><a href='#L255'>255</a>
321
- <a name='L256'></a><a href='#L256'>256</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
321
+ <a name='L256'></a><a href='#L256'>256</a>
322
+ <a name='L257'></a><a href='#L257'>257</a>
323
+ <a name='L258'></a><a href='#L258'>258</a>
324
+ <a name='L259'></a><a href='#L259'>259</a>
325
+ <a name='L260'></a><a href='#L260'>260</a>
326
+ <a name='L261'></a><a href='#L261'>261</a>
327
+ <a name='L262'></a><a href='#L262'>262</a>
328
+ <a name='L263'></a><a href='#L263'>263</a>
329
+ <a name='L264'></a><a href='#L264'>264</a>
330
+ <a name='L265'></a><a href='#L265'>265</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
322
331
  <span class="cline-any cline-neutral">&nbsp;</span>
323
332
  <span class="cline-any cline-neutral">&nbsp;</span>
324
333
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -412,6 +421,9 @@
412
421
  <span class="cline-any cline-neutral">&nbsp;</span>
413
422
  <span class="cline-any cline-no">&nbsp;</span>
414
423
  <span class="cline-any cline-no">&nbsp;</span>
424
+ <span class="cline-any cline-no">&nbsp;</span>
425
+ <span class="cline-any cline-no">&nbsp;</span>
426
+ <span class="cline-any cline-neutral">&nbsp;</span>
415
427
  <span class="cline-any cline-neutral">&nbsp;</span>
416
428
  <span class="cline-any cline-neutral">&nbsp;</span>
417
429
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -420,6 +432,9 @@
420
432
  <span class="cline-any cline-no">&nbsp;</span>
421
433
  <span class="cline-any cline-neutral">&nbsp;</span>
422
434
  <span class="cline-any cline-no">&nbsp;</span>
435
+ <span class="cline-any cline-no">&nbsp;</span>
436
+ <span class="cline-any cline-no">&nbsp;</span>
437
+ <span class="cline-any cline-neutral">&nbsp;</span>
423
438
  <span class="cline-any cline-neutral">&nbsp;</span>
424
439
  <span class="cline-any cline-neutral">&nbsp;</span>
425
440
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -427,6 +442,9 @@
427
442
  <span class="cline-any cline-no">&nbsp;</span>
428
443
  <span class="cline-any cline-neutral">&nbsp;</span>
429
444
  <span class="cline-any cline-no">&nbsp;</span>
445
+ <span class="cline-any cline-no">&nbsp;</span>
446
+ <span class="cline-any cline-no">&nbsp;</span>
447
+ <span class="cline-any cline-neutral">&nbsp;</span>
430
448
  <span class="cline-any cline-neutral">&nbsp;</span>
431
449
  <span class="cline-any cline-neutral">&nbsp;</span>
432
450
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -594,7 +612,7 @@ import { NetworkRequest } from '../../../common/messages.gen.js'
594
612
  XMLReq: XMLHttpRequest,
595
613
  private readonly <span class="cstat-no" title="statement not covered" >ignoredHeaders: boolean | string[],</span>
596
614
  private readonly <span class="cstat-no" title="statement not covered" >setSessionTokenHeader: (cb: (name: string, value: string) =&gt; void) =&gt; void,</span>
597
- private readonly <span class="cstat-no" title="statement not covered" >sanitize: (data: RequestResponseData) =&gt; RequestResponseData,</span>
615
+ private readonly <span class="cstat-no" title="statement not covered" >sanitize: (data: RequestResponseData) =&gt; RequestResponseData | null,</span>
598
616
  private readonly <span class="cstat-no" title="statement not covered" >sendMessage: (message: NetworkRequest) =&gt; void,</span>
599
617
  private readonly <span class="cstat-no" title="statement not covered" >isServiceUrl: (url: string) =&gt; boolean,</span>
600
618
  private readonly <span class="cstat-no" title="statement not covered" >tokenUrlMatcher?: (url: string) =&gt; boolean,</span>
@@ -666,7 +684,10 @@ import { NetworkRequest } from '../../../common/messages.gen.js'
666
684
  }, 0)
667
685
  &nbsp;
668
686
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (this.XMLReq.readyState === RequestState.DONE) {</span>
669
- <span class="cstat-no" title="statement not covered" > this.sendMessage(this.item.getMessage())</span>
687
+ const msg = <span class="cstat-no" title="statement not covered" >this.item.getMessage()</span>
688
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (msg) {</span>
689
+ <span class="cstat-no" title="statement not covered" > this.sendMessage(msg)</span>
690
+ }
670
691
  }
671
692
  }
672
693
  &nbsp;
@@ -674,14 +695,20 @@ import { NetworkRequest } from '../../../common/messages.gen.js'
674
695
  <span class="cstat-no" title="statement not covered" > this.item.cancelState = 1</span>
675
696
  <span class="cstat-no" title="statement not covered" > this.item.statusText = 'Abort'</span>
676
697
  &nbsp;
677
- <span class="cstat-no" title="statement not covered" > this.sendMessage(this.item.getMessage())</span>
698
+ const msg = <span class="cstat-no" title="statement not covered" >this.item.getMessage()</span>
699
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (msg) {</span>
700
+ <span class="cstat-no" title="statement not covered" > this.sendMessage(msg)</span>
701
+ }
678
702
  }
679
703
  &nbsp;
680
704
  public <span class="fstat-no" title="function not covered" >onTimeout(</span>) {
681
705
  <span class="cstat-no" title="statement not covered" > this.item.cancelState = 3</span>
682
706
  <span class="cstat-no" title="statement not covered" > this.item.statusText = 'Timeout'</span>
683
707
  &nbsp;
684
- <span class="cstat-no" title="statement not covered" > this.sendMessage(this.item.getMessage())</span>
708
+ const msg = <span class="cstat-no" title="statement not covered" >this.item.getMessage()</span>
709
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (msg) {</span>
710
+ <span class="cstat-no" title="statement not covered" > this.sendMessage(msg)</span>
711
+ }
685
712
  }
686
713
  &nbsp;
687
714
  protected <span class="fstat-no" title="function not covered" >getOpen(</span>target: T) {
@@ -690,8 +717,8 @@ import { NetworkRequest } from '../../../common/messages.gen.js'
690
717
  const method = <span class="cstat-no" title="statement not covered" >args[0]</span>
691
718
  const url = <span class="cstat-no" title="statement not covered" >args[1]</span>
692
719
  <span class="cstat-no" title="statement not covered" > this.item.method = method ? method.toUpperCase() : 'GET'</span>
693
- <span class="cstat-no" title="statement not covered" > this.item.url = url || ''</span>
694
- <span class="cstat-no" title="statement not covered" > this.item.name = this.item.url.replace(new RegExp('/*$'), '').split('/').pop() || ''</span>
720
+ <span class="cstat-no" title="statement not covered" > this.item.url = url.toString?.() || ''</span>
721
+ <span class="cstat-no" title="statement not covered" > this.item.name = this.item.url?.replace(new RegExp('/*$'), '').split('/').pop() ?? ''</span>
695
722
  <span class="cstat-no" title="statement not covered" > this.item.getData = genGetDataByUrl(this.item.url, {})</span>
696
723
  <span class="cstat-no" title="statement not covered" > return targetFunction.apply(target, args)</span>
697
724
  }
@@ -804,7 +831,7 @@ import { NetworkRequest } from '../../../common/messages.gen.js'
804
831
  public <span class="fstat-no" title="function not covered" >static </span>create(
805
832
  ignoredHeaders: boolean | string[],
806
833
  setSessionTokenHeader: (cb: (name: string, value: string) =&gt; void) =&gt; void,
807
- sanitize: (data: RequestResponseData) =&gt; RequestResponseData,
834
+ sanitize: (data: RequestResponseData) =&gt; RequestResponseData | null,
808
835
  sendMessage: (data: NetworkRequest) =&gt; void,
809
836
  isServiceUrl: (url: string) =&gt; boolean,
810
837
  tokenUrlMatcher?: (url: string) =&gt; boolean,
@@ -835,7 +862,7 @@ import { NetworkRequest } from '../../../common/messages.gen.js'
835
862
  <div class='footer quiet pad2 space-top1 center small'>
836
863
  Code coverage generated by
837
864
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
838
- at 2024-01-23T12:19:37.435Z
865
+ at 2024-06-04T11:50:55.506Z
839
866
  </div>
840
867
  <script src="../../../prettify.js"></script>
841
868
  <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-23T12:19:37.435Z
229
+ at 2024-06-04T11:50:55.506Z
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-23T12:19:37.435Z
697
+ at 2024-06-04T11:50:55.506Z
698
698
  </div>
699
699
  <script src="../../prettify.js"></script>
700
700
  <script>