@openreplay/tracker 8.0.0 → 8.0.1-beta14

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 (100) hide show
  1. package/cjs/app/index.d.ts +4 -1
  2. package/cjs/app/index.js +18 -2
  3. package/cjs/app/session.d.ts +10 -0
  4. package/cjs/app/session.js +3 -0
  5. package/cjs/index.d.ts +11 -0
  6. package/cjs/index.js +28 -1
  7. package/cjs/modules/Network/fetchProxy.d.ts +34 -0
  8. package/cjs/modules/Network/fetchProxy.js +240 -0
  9. package/cjs/modules/Network/index.d.ts +3 -0
  10. package/cjs/modules/Network/index.js +9 -0
  11. package/cjs/modules/Network/networkMessage.d.ts +49 -0
  12. package/cjs/modules/Network/networkMessage.js +82 -0
  13. package/cjs/modules/Network/types.d.ts +13 -0
  14. package/cjs/modules/Network/types.js +3 -0
  15. package/cjs/modules/Network/utils.d.ts +11 -0
  16. package/cjs/modules/Network/utils.js +213 -0
  17. package/cjs/modules/Network/xhrProxy.d.ts +47 -0
  18. package/cjs/modules/Network/xhrProxy.js +209 -0
  19. package/cjs/modules/console.js +21 -13
  20. package/cjs/modules/featureFlags.d.ts +25 -0
  21. package/cjs/modules/featureFlags.js +100 -0
  22. package/cjs/modules/network.d.ts +3 -4
  23. package/cjs/modules/network.js +13 -3
  24. package/coverage/clover.xml +898 -449
  25. package/coverage/coverage-final.json +13 -8
  26. package/coverage/lcov-report/index.html +50 -35
  27. package/coverage/lcov-report/main/app/guards.ts.html +1 -1
  28. package/coverage/lcov-report/main/app/index.html +21 -21
  29. package/coverage/lcov-report/main/app/index.ts.html +46 -4
  30. package/coverage/lcov-report/main/app/logger.ts.html +1 -1
  31. package/coverage/lcov-report/main/app/messages.gen.ts.html +146 -146
  32. package/coverage/lcov-report/main/app/observer/iframe_observer.ts.html +1 -1
  33. package/coverage/lcov-report/main/app/observer/iframe_offsets.ts.html +1 -1
  34. package/coverage/lcov-report/main/app/observer/index.html +1 -1
  35. package/coverage/lcov-report/main/app/observer/shadow_root_observer.ts.html +1 -1
  36. package/coverage/lcov-report/main/app/observer/top_observer.ts.html +1 -1
  37. package/coverage/lcov-report/main/app/sanitizer.ts.html +1 -1
  38. package/coverage/lcov-report/main/app/session.ts.html +47 -5
  39. package/coverage/lcov-report/main/app/ticker.ts.html +1 -1
  40. package/coverage/lcov-report/main/index.html +20 -20
  41. package/coverage/lcov-report/main/index.ts.html +38 -26
  42. package/coverage/lcov-report/main/modules/Network/fetchProxy.ts.html +949 -0
  43. package/coverage/lcov-report/main/modules/Network/index.html +176 -0
  44. package/coverage/lcov-report/main/modules/Network/index.ts.html +169 -0
  45. package/coverage/lcov-report/main/modules/Network/networkMessage.ts.html +382 -0
  46. package/coverage/lcov-report/main/modules/Network/utils.ts.html +700 -0
  47. package/coverage/lcov-report/main/modules/Network/xhrProxy.ts.html +823 -0
  48. package/coverage/lcov-report/main/modules/attributeSender.ts.html +1 -1
  49. package/coverage/lcov-report/main/modules/axiosSpy.ts.html +1 -1
  50. package/coverage/lcov-report/main/modules/connection.ts.html +1 -1
  51. package/coverage/lcov-report/main/modules/console.ts.html +174 -147
  52. package/coverage/lcov-report/main/modules/constructedStyleSheets.ts.html +1 -1
  53. package/coverage/lcov-report/main/modules/cssrules.ts.html +1 -1
  54. package/coverage/lcov-report/main/modules/exception.ts.html +1 -1
  55. package/coverage/lcov-report/main/modules/featureFlags.ts.html +102 -51
  56. package/coverage/lcov-report/main/modules/focus.ts.html +1 -1
  57. package/coverage/lcov-report/main/modules/fonts.ts.html +1 -1
  58. package/coverage/lcov-report/main/modules/img.ts.html +1 -1
  59. package/coverage/lcov-report/main/modules/index.html +33 -33
  60. package/coverage/lcov-report/main/modules/input.ts.html +1 -1
  61. package/coverage/lcov-report/main/modules/mouse.ts.html +1 -1
  62. package/coverage/lcov-report/main/modules/network.ts.html +70 -70
  63. package/coverage/lcov-report/main/modules/performance.ts.html +1 -1
  64. package/coverage/lcov-report/main/modules/scroll.ts.html +1 -1
  65. package/coverage/lcov-report/main/modules/selection.ts.html +1 -1
  66. package/coverage/lcov-report/main/modules/tabs.ts.html +1 -1
  67. package/coverage/lcov-report/main/modules/timing.ts.html +1 -1
  68. package/coverage/lcov-report/main/modules/viewport.ts.html +1 -1
  69. package/coverage/lcov-report/main/utils.ts.html +45 -45
  70. package/coverage/lcov-report/webworker/BatchWriter.ts.html +1 -1
  71. package/coverage/lcov-report/webworker/MessageEncoder.gen.ts.html +1 -1
  72. package/coverage/lcov-report/webworker/PrimitiveEncoder.ts.html +1 -1
  73. package/coverage/lcov-report/webworker/QueueSender.ts.html +1 -1
  74. package/coverage/lcov-report/webworker/index.html +1 -1
  75. package/coverage/lcov-report/webworker/index.ts.html +1 -1
  76. package/coverage/lcov.info +1558 -726
  77. package/lib/app/index.d.ts +4 -1
  78. package/lib/app/index.js +18 -2
  79. package/lib/app/session.d.ts +10 -0
  80. package/lib/app/session.js +3 -0
  81. package/lib/index.d.ts +11 -0
  82. package/lib/index.js +28 -1
  83. package/lib/modules/Network/fetchProxy.d.ts +34 -0
  84. package/lib/modules/Network/fetchProxy.js +234 -0
  85. package/lib/modules/Network/index.d.ts +3 -0
  86. package/lib/modules/Network/index.js +6 -0
  87. package/lib/modules/Network/networkMessage.d.ts +49 -0
  88. package/lib/modules/Network/networkMessage.js +78 -0
  89. package/lib/modules/Network/types.d.ts +13 -0
  90. package/lib/modules/Network/types.js +2 -0
  91. package/lib/modules/Network/utils.d.ts +11 -0
  92. package/lib/modules/Network/utils.js +201 -0
  93. package/lib/modules/Network/xhrProxy.d.ts +47 -0
  94. package/lib/modules/Network/xhrProxy.js +204 -0
  95. package/lib/modules/console.js +21 -13
  96. package/lib/modules/featureFlags.d.ts +25 -0
  97. package/lib/modules/featureFlags.js +97 -0
  98. package/lib/modules/network.d.ts +3 -4
  99. package/lib/modules/network.js +13 -3
  100. package/package.json +1 -1
@@ -133,7 +133,7 @@
133
133
  <div class='footer quiet pad2 space-top1 center small'>
134
134
  Code coverage generated by
135
135
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
136
- at 2023-06-15T15:49:15.198Z
136
+ at 2023-06-28T09:57:19.259Z
137
137
  </div>
138
138
  <script src="../../../prettify.js"></script>
139
139
  <script>
@@ -274,7 +274,7 @@ type OffsetState = {
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-06-15T15:49:15.198Z
277
+ at 2023-06-28T09:57:19.259Z
278
278
  </div>
279
279
  <script src="../../../prettify.js"></script>
280
280
  <script>
@@ -146,7 +146,7 @@
146
146
  <div class='footer quiet pad2 space-top1 center small'>
147
147
  Code coverage generated by
148
148
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
149
- at 2023-06-15T15:49:15.198Z
149
+ at 2023-06-28T09:57:19.259Z
150
150
  </div>
151
151
  <script src="../../../prettify.js"></script>
152
152
  <script>
@@ -127,7 +127,7 @@
127
127
  <div class='footer quiet pad2 space-top1 center small'>
128
128
  Code coverage generated by
129
129
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
130
- at 2023-06-15T15:49:15.198Z
130
+ at 2023-06-28T09:57:19.259Z
131
131
  </div>
132
132
  <script src="../../../prettify.js"></script>
133
133
  <script>
@@ -520,7 +520,7 @@ const attachShadowNativeFn = <span class="cstat-no" title="statement not covered
520
520
  <div class='footer quiet pad2 space-top1 center small'>
521
521
  Code coverage generated by
522
522
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
523
- at 2023-06-15T15:49:15.198Z
523
+ at 2023-06-28T09:57:19.259Z
524
524
  </div>
525
525
  <script src="../../../prettify.js"></script>
526
526
  <script>
@@ -379,7 +379,7 @@ export const <span class="cstat-no" title="statement not covered" >stringWiper =
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 2023-06-15T15:49:15.198Z
382
+ at 2023-06-28T09:57:19.259Z
383
383
  </div>
384
384
  <script src="../../prettify.js"></script>
385
385
  <script>
@@ -25,7 +25,7 @@
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/73</span>
28
+ <span class='fraction'>0/74</span>
29
29
  </div>
30
30
 
31
31
 
@@ -39,14 +39,14 @@
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/18</span>
42
+ <span class='fraction'>0/19</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/69</span>
49
+ <span class='fraction'>0/70</span>
50
50
  </div>
51
51
 
52
52
 
@@ -221,7 +221,21 @@
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>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
225
239
  <span class="cline-any cline-no">&nbsp;</span>
226
240
  <span class="cline-any cline-neutral">&nbsp;</span>
227
241
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -239,6 +253,15 @@
239
253
  <span class="cline-any cline-neutral">&nbsp;</span>
240
254
  <span class="cline-any cline-neutral">&nbsp;</span>
241
255
  <span class="cline-any cline-neutral">&nbsp;</span>
256
+ <span class="cline-any cline-neutral">&nbsp;</span>
257
+ <span class="cline-any cline-neutral">&nbsp;</span>
258
+ <span class="cline-any cline-neutral">&nbsp;</span>
259
+ <span class="cline-any cline-neutral">&nbsp;</span>
260
+ <span class="cline-any cline-neutral">&nbsp;</span>
261
+ <span class="cline-any cline-neutral">&nbsp;</span>
262
+ <span class="cline-any cline-neutral">&nbsp;</span>
263
+ <span class="cline-any cline-neutral">&nbsp;</span>
264
+ <span class="cline-any cline-neutral">&nbsp;</span>
242
265
  <span class="cline-any cline-no">&nbsp;</span>
243
266
  <span class="cline-any cline-no">&nbsp;</span>
244
267
  <span class="cline-any cline-no">&nbsp;</span>
@@ -248,6 +271,7 @@
248
271
  <span class="cline-any cline-neutral">&nbsp;</span>
249
272
  <span class="cline-any cline-neutral">&nbsp;</span>
250
273
  <span class="cline-any cline-neutral">&nbsp;</span>
274
+ <span class="cline-any cline-neutral">&nbsp;</span>
251
275
  <span class="cline-any cline-no">&nbsp;</span>
252
276
  <span class="cline-any cline-no">&nbsp;</span>
253
277
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -297,6 +321,10 @@
297
321
  <span class="cline-any cline-neutral">&nbsp;</span>
298
322
  <span class="cline-any cline-neutral">&nbsp;</span>
299
323
  <span class="cline-any cline-no">&nbsp;</span>
324
+ <span class="cline-any cline-neutral">&nbsp;</span>
325
+ <span class="cline-any cline-neutral">&nbsp;</span>
326
+ <span class="cline-any cline-neutral">&nbsp;</span>
327
+ <span class="cline-any cline-no">&nbsp;</span>
300
328
  <span class="cline-any cline-no">&nbsp;</span>
301
329
  <span class="cline-any cline-no">&nbsp;</span>
302
330
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -382,6 +410,15 @@
382
410
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type App from './index.js'
383
411
  <span class="cstat-no" title="statement not covered" >import { generateRandomId } from '../utils.js'</span>
384
412
  &nbsp;
413
+ interface UserInfo {
414
+ userBrowser: string
415
+ userCity: string
416
+ userCountry: string
417
+ userDevice: string
418
+ userOS: string
419
+ userState: string
420
+ }
421
+ &nbsp;
385
422
  interface SessionInfo {
386
423
  sessionID: string | undefined
387
424
  metadata: Record&lt;string, string&gt;
@@ -405,6 +442,7 @@ export type Options = {
405
442
  private <span class="cstat-no" title="statement not covered" >timestamp = 0</span>
406
443
  private projectID: string | undefined
407
444
  private tabId: string
445
+ public userInfo: UserInfo
408
446
  &nbsp;
409
447
  <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" >options: Options)</span> {
410
448
  <span class="cstat-no" title="statement not covered" > this.createTabId()</span>
@@ -452,6 +490,10 @@ export type Options = {
452
490
  <span class="cstat-no" title="statement not covered" > this.userID = userID</span>
453
491
  <span class="cstat-no" title="statement not covered" > this.handleUpdate({ userID })</span>
454
492
  }
493
+ &nbsp;
494
+ <span class="fstat-no" title="function not covered" > setUserInfo(</span>userInfo: UserInfo) {
495
+ <span class="cstat-no" title="statement not covered" > this.userInfo = userInfo</span>
496
+ }
455
497
  &nbsp;
456
498
  private <span class="fstat-no" title="function not covered" >getPageNumber(</span>): number | undefined {
457
499
  const pageNoStr = <span class="cstat-no" title="statement not covered" >this.app.sessionStorage.getItem(this.options.session_pageno_key)</span>
@@ -544,7 +586,7 @@ export type Options = {
544
586
  <div class='footer quiet pad2 space-top1 center small'>
545
587
  Code coverage generated by
546
588
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
547
- at 2023-06-15T15:49:15.198Z
589
+ at 2023-06-28T09:57:19.259Z
548
590
  </div>
549
591
  <script src="../../prettify.js"></script>
550
592
  <script>
@@ -235,7 +235,7 @@ function <span class="fstat-no" title="function not covered" >wrap(</span>callba
235
235
  <div class='footer quiet pad2 space-top1 center small'>
236
236
  Code coverage generated by
237
237
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
238
- at 2023-06-15T15:49:15.198Z
238
+ at 2023-06-28T09:57:19.259Z
239
239
  </div>
240
240
  <script src="../../prettify.js"></script>
241
241
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">0% </span>
26
+ <span class="strong">8.45% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/214</span>
28
+ <span class='fraction'>18/213</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">7% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/97</span>
35
+ <span class='fraction'>7/100</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/45</span>
42
+ <span class='fraction'>0/46</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">8.53% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/212</span>
49
+ <span class='fraction'>18/211</span>
50
50
  </div>
51
51
 
52
52
 
@@ -84,28 +84,28 @@
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="163" class="abs low">0/163</td>
87
+ <td data-value="162" class="abs low">0/162</td>
88
88
  <td data-value="0" class="pct low">0%</td>
89
- <td data-value="73" class="abs low">0/73</td>
89
+ <td data-value="76" class="abs low">0/76</td>
90
90
  <td data-value="0" class="pct low">0%</td>
91
- <td data-value="31" class="abs low">0/31</td>
91
+ <td data-value="32" class="abs low">0/32</td>
92
92
  <td data-value="0" class="pct low">0%</td>
93
- <td data-value="161" class="abs low">0/161</td>
93
+ <td data-value="160" class="abs low">0/160</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
97
97
  <td class="file low" data-value="utils.ts"><a href="utils.ts.html">utils.ts</a></td>
98
- <td data-value="0" class="pic low">
99
- <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
98
+ <td data-value="35.29" class="pic low">
99
+ <div class="chart"><div class="cover-fill" style="width: 35%"></div><div class="cover-empty" style="width: 65%"></div></div>
100
100
  </td>
101
- <td data-value="0" class="pct low">0%</td>
102
- <td data-value="51" class="abs low">0/51</td>
103
- <td data-value="0" class="pct low">0%</td>
104
- <td data-value="24" class="abs low">0/24</td>
101
+ <td data-value="35.29" class="pct low">35.29%</td>
102
+ <td data-value="51" class="abs low">18/51</td>
103
+ <td data-value="29.16" class="pct low">29.16%</td>
104
+ <td data-value="24" class="abs low">7/24</td>
105
105
  <td data-value="0" class="pct low">0%</td>
106
106
  <td data-value="14" class="abs low">0/14</td>
107
- <td data-value="0" class="pct low">0%</td>
108
- <td data-value="51" class="abs low">0/51</td>
107
+ <td data-value="35.29" class="pct low">35.29%</td>
108
+ <td data-value="51" class="abs low">18/51</td>
109
109
  </tr>
110
110
 
111
111
  </tbody>
@@ -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 2023-06-15T15:49:15.198Z
119
+ at 2023-06-28T09:57:19.259Z
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/163</span>
28
+ <span class='fraction'>0/162</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/73</span>
35
+ <span class='fraction'>0/76</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/31</span>
42
+ <span class='fraction'>0/32</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/161</span>
49
+ <span class='fraction'>0/160</span>
50
50
  </div>
51
51
 
52
52
 
@@ -412,7 +412,11 @@
412
412
  <a name='L347'></a><a href='#L347'>347</a>
413
413
  <a name='L348'></a><a href='#L348'>348</a>
414
414
  <a name='L349'></a><a href='#L349'>349</a>
415
- <a name='L350'></a><a href='#L350'>350</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
415
+ <a name='L350'></a><a href='#L350'>350</a>
416
+ <a name='L351'></a><a href='#L351'>351</a>
417
+ <a name='L352'></a><a href='#L352'>352</a>
418
+ <a name='L353'></a><a href='#L353'>353</a>
419
+ <a name='L354'></a><a href='#L354'>354</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
416
420
  <span class="cline-any cline-no">&nbsp;</span>
417
421
  <span class="cline-any cline-neutral">&nbsp;</span>
418
422
  <span class="cline-any cline-no">&nbsp;</span>
@@ -470,6 +474,9 @@
470
474
  <span class="cline-any cline-neutral">&nbsp;</span>
471
475
  <span class="cline-any cline-neutral">&nbsp;</span>
472
476
  <span class="cline-any cline-neutral">&nbsp;</span>
477
+ <span class="cline-any cline-neutral">&nbsp;</span>
478
+ <span class="cline-any cline-neutral">&nbsp;</span>
479
+ <span class="cline-any cline-neutral">&nbsp;</span>
473
480
  <span class="cline-any cline-no">&nbsp;</span>
474
481
  <span class="cline-any cline-neutral">&nbsp;</span>
475
482
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -559,6 +566,9 @@
559
566
  <span class="cline-any cline-neutral">&nbsp;</span>
560
567
  <span class="cline-any cline-no">&nbsp;</span>
561
568
  <span class="cline-any cline-no">&nbsp;</span>
569
+ <span class="cline-any cline-no">&nbsp;</span>
570
+ <span class="cline-any cline-neutral">&nbsp;</span>
571
+ <span class="cline-any cline-no">&nbsp;</span>
562
572
  <span class="cline-any cline-neutral">&nbsp;</span>
563
573
  <span class="cline-any cline-no">&nbsp;</span>
564
574
  <span class="cline-any cline-no">&nbsp;</span>
@@ -612,22 +622,20 @@
612
622
  <span class="cline-any cline-neutral">&nbsp;</span>
613
623
  <span class="cline-any cline-neutral">&nbsp;</span>
614
624
  <span class="cline-any cline-no">&nbsp;</span>
615
- <span class="cline-any cline-no">&nbsp;</span>
625
+ <span class="cline-any cline-neutral">&nbsp;</span>
626
+ <span class="cline-any cline-neutral">&nbsp;</span>
616
627
  <span class="cline-any cline-neutral">&nbsp;</span>
617
628
  <span class="cline-any cline-no">&nbsp;</span>
618
629
  <span class="cline-any cline-neutral">&nbsp;</span>
619
630
  <span class="cline-any cline-neutral">&nbsp;</span>
620
631
  <span class="cline-any cline-neutral">&nbsp;</span>
621
632
  <span class="cline-any cline-no">&nbsp;</span>
622
- <span class="cline-any cline-no">&nbsp;</span>
623
633
  <span class="cline-any cline-neutral">&nbsp;</span>
624
634
  <span class="cline-any cline-neutral">&nbsp;</span>
625
- <span class="cline-any cline-no">&nbsp;</span>
626
635
  <span class="cline-any cline-neutral">&nbsp;</span>
627
636
  <span class="cline-any cline-no">&nbsp;</span>
628
637
  <span class="cline-any cline-no">&nbsp;</span>
629
638
  <span class="cline-any cline-neutral">&nbsp;</span>
630
- <span class="cline-any cline-neutral">&nbsp;</span>
631
639
  <span class="cline-any cline-no">&nbsp;</span>
632
640
  <span class="cline-any cline-neutral">&nbsp;</span>
633
641
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -635,13 +643,13 @@
635
643
  <span class="cline-any cline-no">&nbsp;</span>
636
644
  <span class="cline-any cline-no">&nbsp;</span>
637
645
  <span class="cline-any cline-neutral">&nbsp;</span>
638
- <span class="cline-any cline-no">&nbsp;</span>
639
- <span class="cline-any cline-neutral">&nbsp;</span>
640
646
  <span class="cline-any cline-neutral">&nbsp;</span>
647
+ <span class="cline-any cline-no">&nbsp;</span>
641
648
  <span class="cline-any cline-neutral">&nbsp;</span>
642
649
  <span class="cline-any cline-no">&nbsp;</span>
643
650
  <span class="cline-any cline-no">&nbsp;</span>
644
651
  <span class="cline-any cline-neutral">&nbsp;</span>
652
+ <span class="cline-any cline-neutral">&nbsp;</span>
645
653
  <span class="cline-any cline-no">&nbsp;</span>
646
654
  <span class="cline-any cline-neutral">&nbsp;</span>
647
655
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -815,6 +823,9 @@ export type Options = Partial&lt;
815
823
  autoResetOnWindowOpen?: boolean
816
824
  network?: NetworkOptions
817
825
  mouse?: MouseHandlerOptions
826
+ flags?: {
827
+ onFlagsLoad?: (flags: IFeatureFlag[]) =&gt; void
828
+ }
818
829
  // dev only
819
830
  __DISABLE_SECURE_MODE?: boolean
820
831
  }
@@ -907,6 +918,9 @@ function <span class="fstat-no" title="function not covered" >processOptions(</s
907
918
  ;(<span class="cstat-no" title="statement not covered" >window as any).__OPENREPLAY__ = this</span>
908
919
  &nbsp;
909
920
  <span class="cstat-no" title="statement not covered" > app.attachStartCallback(<span class="fstat-no" title="function not covered" >() =</span>&gt; {</span>
921
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (options.flags?.onFlagsLoad) {</span>
922
+ <span class="cstat-no" title="statement not covered" > this.onFlagsLoad(options.flags.onFlagsLoad)</span>
923
+ }
910
924
  <span class="cstat-no" title="statement not covered" > void this.featureFlags.reloadFlags()</span>
911
925
  })
912
926
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (options.autoResetOnWindowOpen) {</span>
@@ -955,6 +969,18 @@ function <span class="fstat-no" title="function not covered" >processOptions(</s
955
969
  <span class="cstat-no" title="statement not covered" > this.featureFlags.clearPersistFlags()</span>
956
970
  }
957
971
  &nbsp;
972
+ <span class="fstat-no" title="function not covered" > reloadFlags(</span>) {
973
+ <span class="cstat-no" title="statement not covered" > return this.featureFlags.reloadFlags()</span>
974
+ }
975
+ &nbsp;
976
+ <span class="fstat-no" title="function not covered" > getFeatureFlag(</span>flagName: string): IFeatureFlag | undefined {
977
+ <span class="cstat-no" title="statement not covered" > return this.featureFlags.getFeatureFlag(flagName)</span>
978
+ }
979
+ &nbsp;
980
+ <span class="fstat-no" title="function not covered" > getAllFeatureFlags(</span>) {
981
+ <span class="cstat-no" title="statement not covered" > return this.featureFlags.flags</span>
982
+ }
983
+ &nbsp;
958
984
  <span class="fstat-no" title="function not covered" > use&lt;</span>T&gt;(fn: (app: App | null, options?: Options) =&gt; T): T {
959
985
  <span class="cstat-no" title="statement not covered" > return fn(this.app, this.options)</span>
960
986
  }
@@ -980,20 +1006,6 @@ function <span class="fstat-no" title="function not covered" >processOptions(</s
980
1006
  <span class="cstat-no" title="statement not covered" > return this.app.start(startOpts)</span>
981
1007
  }
982
1008
  &nbsp;
983
- <span class="fstat-no" title="function not covered" > isFeatureActive(</span>feature: string): boolean {
984
- <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>
985
- <span class="cstat-no" title="statement not covered" > return false</span>
986
- }
987
- <span class="cstat-no" title="statement not covered" > return this.app.isFeatureActive(feature)</span>
988
- }
989
- &nbsp;
990
- <span class="fstat-no" title="function not covered" > getFeatureFlags(</span>): string[] {
991
- <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>
992
- <span class="cstat-no" title="statement not covered" > return []</span>
993
- }
994
- <span class="cstat-no" title="statement not covered" > return this.app.getFeatureFlags()</span>
995
- }
996
- &nbsp;
997
1009
  <span class="fstat-no" title="function not covered" > stop(</span>): string | undefined {
998
1010
  <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>
999
1011
  <span class="cstat-no" title="statement not covered" > return</span>
@@ -1117,7 +1129,7 @@ function <span class="fstat-no" title="function not covered" >processOptions(</s
1117
1129
  <div class='footer quiet pad2 space-top1 center small'>
1118
1130
  Code coverage generated by
1119
1131
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1120
- at 2023-06-15T15:49:15.198Z
1132
+ at 2023-06-28T09:57:19.259Z
1121
1133
  </div>
1122
1134
  <script src="../prettify.js"></script>
1123
1135
  <script>