@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,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/65</span>
28
+ <span class='fraction'>0/72</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/27</span>
35
+ <span class='fraction'>0/51</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/64</span>
49
+ <span class='fraction'>0/72</span>
50
50
  </div>
51
51
 
52
52
 
@@ -207,7 +207,17 @@
207
207
  <a name='L142'></a><a href='#L142'>142</a>
208
208
  <a name='L143'></a><a href='#L143'>143</a>
209
209
  <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
211
221
  <span class="cline-any cline-no">&nbsp;</span>
212
222
  <span class="cline-any cline-neutral">&nbsp;</span>
213
223
  <span class="cline-any cline-no">&nbsp;</span>
@@ -219,6 +229,7 @@
219
229
  <span class="cline-any cline-neutral">&nbsp;</span>
220
230
  <span class="cline-any cline-neutral">&nbsp;</span>
221
231
  <span class="cline-any cline-neutral">&nbsp;</span>
232
+ <span class="cline-any cline-no">&nbsp;</span>
222
233
  <span class="cline-any cline-neutral">&nbsp;</span>
223
234
  <span class="cline-any cline-neutral">&nbsp;</span>
224
235
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -227,6 +238,7 @@
227
238
  <span class="cline-any cline-no">&nbsp;</span>
228
239
  <span class="cline-any cline-no">&nbsp;</span>
229
240
  <span class="cline-any cline-no">&nbsp;</span>
241
+ <span class="cline-any cline-no">&nbsp;</span>
230
242
  <span class="cline-any cline-neutral">&nbsp;</span>
231
243
  <span class="cline-any cline-no">&nbsp;</span>
232
244
  <span class="cline-any cline-no">&nbsp;</span>
@@ -257,6 +269,7 @@
257
269
  <span class="cline-any cline-no">&nbsp;</span>
258
270
  <span class="cline-any cline-neutral">&nbsp;</span>
259
271
  <span class="cline-any cline-no">&nbsp;</span>
272
+ <span class="cline-any cline-no">&nbsp;</span>
260
273
  <span class="cline-any cline-neutral">&nbsp;</span>
261
274
  <span class="cline-any cline-neutral">&nbsp;</span>
262
275
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -269,6 +282,7 @@
269
282
  <span class="cline-any cline-no">&nbsp;</span>
270
283
  <span class="cline-any cline-neutral">&nbsp;</span>
271
284
  <span class="cline-any cline-no">&nbsp;</span>
285
+ <span class="cline-any cline-no">&nbsp;</span>
272
286
  <span class="cline-any cline-neutral">&nbsp;</span>
273
287
  <span class="cline-any cline-neutral">&nbsp;</span>
274
288
  <span class="cline-any cline-no">&nbsp;</span>
@@ -283,10 +297,14 @@
283
297
  <span class="cline-any cline-neutral">&nbsp;</span>
284
298
  <span class="cline-any cline-no">&nbsp;</span>
285
299
  <span class="cline-any cline-no">&nbsp;</span>
300
+ <span class="cline-any cline-no">&nbsp;</span>
286
301
  <span class="cline-any cline-neutral">&nbsp;</span>
287
302
  <span class="cline-any cline-neutral">&nbsp;</span>
288
303
  <span class="cline-any cline-neutral">&nbsp;</span>
289
304
  <span class="cline-any cline-neutral">&nbsp;</span>
305
+ <span class="cline-any cline-neutral">&nbsp;</span>
306
+ <span class="cline-any cline-neutral">&nbsp;</span>
307
+ <span class="cline-any cline-no">&nbsp;</span>
290
308
  <span class="cline-any cline-no">&nbsp;</span>
291
309
  <span class="cline-any cline-neutral">&nbsp;</span>
292
310
  <span class="cline-any cline-no">&nbsp;</span>
@@ -336,10 +354,12 @@
336
354
  <span class="cline-any cline-neutral">&nbsp;</span>
337
355
  <span class="cline-any cline-neutral">&nbsp;</span>
338
356
  <span class="cline-any cline-no">&nbsp;</span>
357
+ <span class="cline-any cline-no">&nbsp;</span>
339
358
  <span class="cline-any cline-neutral">&nbsp;</span>
340
359
  <span class="cline-any cline-neutral">&nbsp;</span>
341
360
  <span class="cline-any cline-neutral">&nbsp;</span>
342
361
  <span class="cline-any cline-no">&nbsp;</span>
362
+ <span class="cline-any cline-no">&nbsp;</span>
343
363
  <span class="cline-any cline-neutral">&nbsp;</span>
344
364
  <span class="cline-any cline-neutral">&nbsp;</span>
345
365
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -363,14 +383,16 @@ const KEEPALIVE_SIZE_LIMIT = <span class="cstat-no" title="statement not covered
363
383
  // its actually on #24
364
384
  // eslint-disable-next-line
365
385
  private isCompressing
386
+ private <span class="cstat-no" title="statement not covered" >lastBatchNum = 0</span>
366
387
  &nbsp;
367
388
  <span class="fstat-no" title="function not covered" > constructor(</span>
368
389
  ingestBaseURL: string,
369
390
  private readonly <span class="cstat-no" title="statement not covered" >onUnauthorised: () =&gt; any,</span>
370
391
  private readonly <span class="cstat-no" title="statement not covered" >onFailure: (reason: string) =&gt; any,</span>
371
392
  private readonly <span class="cstat-no" title="statement not covered" >MAX_ATTEMPTS_COUNT = <span class="branch-0 cbranch-no" title="branch not covered" >1</span>0,</span>
372
- private readonly <span class="cstat-no" title="statement not covered" >ATTEMPT_TIMEOUT = <span class="branch-0 cbranch-no" title="branch not covered" >1</span>000,</span>
393
+ private readonly <span class="cstat-no" title="statement not covered" >ATTEMPT_TIMEOUT = <span class="branch-0 cbranch-no" title="branch not covered" >2</span>50,</span>
373
394
  private readonly <span class="cstat-no" title="statement not covered" >onCompress?: (batch: Uint8Array) =&gt; any,</span>
395
+ private readonly <span class="cstat-no" title="statement not covered" >pageNo?: number,</span>
374
396
  ) {
375
397
  <span class="cstat-no" title="statement not covered" > this.ingestURL = ingestBaseURL + INGEST_PATH</span>
376
398
  <span class="cstat-no" title="statement not covered" > if (onCompress !== undefined) {</span>
@@ -400,7 +422,8 @@ const KEEPALIVE_SIZE_LIMIT = <span class="cstat-no" title="statement not covered
400
422
  <span class="cstat-no" title="statement not covered" > if (this.isCompressing &amp;&amp; this.onCompress) {</span>
401
423
  <span class="cstat-no" title="statement not covered" > this.onCompress(batch)</span>
402
424
  } else {
403
- <span class="cstat-no" title="statement not covered" > this.sendBatch(batch)</span>
425
+ const batchNum = <span class="cstat-no" title="statement not covered" >++this.lastBatchNum</span>
426
+ <span class="cstat-no" title="statement not covered" > this.sendBatch(batch, false, batchNum)</span>
404
427
  }
405
428
  }
406
429
  }
@@ -412,25 +435,30 @@ const KEEPALIVE_SIZE_LIMIT = <span class="cstat-no" title="statement not covered
412
435
  <span class="cstat-no" title="statement not covered" > if (this.isCompressing &amp;&amp; this.onCompress) {</span>
413
436
  <span class="cstat-no" title="statement not covered" > this.onCompress(nextBatch)</span>
414
437
  } else {
415
- <span class="cstat-no" title="statement not covered" > this.sendBatch(nextBatch)</span>
438
+ const batchNum = <span class="cstat-no" title="statement not covered" >++this.lastBatchNum</span>
439
+ <span class="cstat-no" title="statement not covered" > this.sendBatch(nextBatch, false, batchNum)</span>
416
440
  }
417
441
  } else {
418
442
  <span class="cstat-no" title="statement not covered" > this.busy = false</span>
419
443
  }
420
444
  }
421
445
  &nbsp;
422
- private <span class="fstat-no" title="function not covered" >retry(</span>batch: Uint8Array, isCompressed?: boolean): void {
446
+ private <span class="fstat-no" title="function not covered" >retry(</span>batch: Uint8Array, isCompressed?: boolean, batchNum?: string | number): void {
423
447
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (this.attemptsCount &gt;= this.MAX_ATTEMPTS_COUNT) {</span>
424
448
  <span class="cstat-no" title="statement not covered" > this.onFailure(`Failed to send batch after ${this.attemptsCount} attempts.`)</span>
425
449
  // remains this.busy === true
426
450
  <span class="cstat-no" title="statement not covered" > return</span>
427
451
  }
428
452
  <span class="cstat-no" title="statement not covered" > this.attemptsCount++</span>
429
- <span class="cstat-no" title="statement not covered" > setTimeout(<span class="fstat-no" title="function not covered" >() =</span>&gt; <span class="cstat-no" title="statement not covered" >this.sendBatch(batch, isCompressed),</span> this.ATTEMPT_TIMEOUT * this.attemptsCount)</span>
453
+ <span class="cstat-no" title="statement not covered" > setTimeout(</span>
454
+ <span class="fstat-no" title="function not covered" > () =</span>&gt; <span class="cstat-no" title="statement not covered" >this.sendBatch(batch, isCompressed, batchNum),</span>
455
+ this.ATTEMPT_TIMEOUT * this.attemptsCount,
456
+ )
430
457
  }
431
458
  &nbsp;
432
459
  // would be nice to use Beacon API, but it is not available in WebWorker
433
- private <span class="fstat-no" title="function not covered" >sendBatch(</span>batch: Uint8Array, isCompressed?: boolean): void {
460
+ private <span class="fstat-no" title="function not covered" >sendBatch(</span>batch: Uint8Array, isCompressed?: boolean, batchNum?: string | number): void {
461
+ const batchNumStr = <span class="cstat-no" title="statement not covered" >batchNum?.toString().replace(/^([^_]+)_([^_]+).*/, '$1_$2_$3')</span>
434
462
  <span class="cstat-no" title="statement not covered" > this.busy = true</span>
435
463
  &nbsp;
436
464
  const headers = <span class="cstat-no" title="statement not covered" >{</span>
@@ -446,12 +474,12 @@ const KEEPALIVE_SIZE_LIMIT = <span class="cstat-no" title="statement not covered
446
474
  * */
447
475
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (this.token === null) {</span>
448
476
  <span class="cstat-no" title="statement not covered" > setTimeout(<span class="fstat-no" title="function not covered" >() =</span>&gt; {</span>
449
- <span class="cstat-no" title="statement not covered" > this.sendBatch(batch, isCompressed)</span>
477
+ <span class="cstat-no" title="statement not covered" > this.sendBatch(batch, isCompressed, `${batchNum ?? 'noBatchNum'}_newToken`)</span>
450
478
  }, 500)
451
479
  <span class="cstat-no" title="statement not covered" > return</span>
452
480
  }
453
481
  &nbsp;
454
- <span class="cstat-no" title="statement not covered" > fetch(this.ingestURL, {</span>
482
+ <span class="cstat-no" title="statement not covered" > fetch(`${this.ingestURL}?batch=${this.pageNo ?? 'noPageNum'}_${batchNumStr ?? 'noBatchNum'}`, {</span>
455
483
  body: batch,
456
484
  method: 'POST',
457
485
  headers,
@@ -464,7 +492,7 @@ const KEEPALIVE_SIZE_LIMIT = <span class="cstat-no" title="statement not covered
464
492
  <span class="cstat-no" title="statement not covered" > this.onUnauthorised()</span>
465
493
  <span class="cstat-no" title="statement not covered" > return</span>
466
494
  } else <span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="if path not taken" >I</span>if (r.status &gt;= 400) {</span>
467
- <span class="cstat-no" title="statement not covered" > this.retry(batch, isCompressed)</span>
495
+ <span class="cstat-no" title="statement not covered" > this.retry(batch, isCompressed, `${batchNum ?? 'noBatchNum'}_network:${r.status}`)</span>
468
496
  <span class="cstat-no" title="statement not covered" > return</span>
469
497
  }
470
498
  &nbsp;
@@ -472,18 +500,20 @@ const KEEPALIVE_SIZE_LIMIT = <span class="cstat-no" title="statement not covered
472
500
  <span class="cstat-no" title="statement not covered" > this.attemptsCount = 0</span>
473
501
  <span class="cstat-no" title="statement not covered" > this.sendNext()</span>
474
502
  })
475
- .catch(<span class="fstat-no" title="function not covered" >(e</span>: any) =&gt; {
503
+ .catch(<span class="fstat-no" title="function not covered" >(e</span>: Error) =&gt; {
476
504
  <span class="cstat-no" title="statement not covered" > console.warn('OpenReplay:', e)</span>
477
- <span class="cstat-no" title="statement not covered" > this.retry(batch, isCompressed)</span>
505
+ <span class="cstat-no" title="statement not covered" > this.retry(batch, isCompressed, `${batchNum ?? 'noBatchNum'}_reject:${e.message}`)</span>
478
506
  })
479
507
  }
480
508
  &nbsp;
481
509
  <span class="fstat-no" title="function not covered" > sendCompressed(</span>batch: Uint8Array) {
482
- <span class="cstat-no" title="statement not covered" > this.sendBatch(batch, true)</span>
510
+ const batchNum = <span class="cstat-no" title="statement not covered" >++this.lastBatchNum</span>
511
+ <span class="cstat-no" title="statement not covered" > this.sendBatch(batch, true, batchNum)</span>
483
512
  }
484
513
  &nbsp;
485
514
  <span class="fstat-no" title="function not covered" > sendUncompressed(</span>batch: Uint8Array) {
486
- <span class="cstat-no" title="statement not covered" > this.sendBatch(batch, false)</span>
515
+ const batchNum = <span class="cstat-no" title="statement not covered" >++this.lastBatchNum</span>
516
+ <span class="cstat-no" title="statement not covered" > this.sendBatch(batch, false, batchNum)</span>
487
517
  }
488
518
  &nbsp;
489
519
  <span class="fstat-no" title="function not covered" > clean(</span>) {
@@ -502,7 +532,7 @@ const KEEPALIVE_SIZE_LIMIT = <span class="cstat-no" title="statement not covered
502
532
  <div class='footer quiet pad2 space-top1 center small'>
503
533
  Code coverage generated by
504
534
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
505
- at 2024-01-23T12:19:37.435Z
535
+ at 2024-06-04T11:50:55.506Z
506
536
  </div>
507
537
  <script src="../prettify.js"></script>
508
538
  <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/454</span>
28
+ <span class='fraction'>0/469</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/379</span>
35
+ <span class='fraction'>0/413</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/56</span>
42
+ <span class='fraction'>0/59</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/447</span>
49
+ <span class='fraction'>0/463</span>
50
50
  </div>
51
51
 
52
52
 
@@ -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="147" class="abs low">0/147</td>
102
+ <td data-value="151" class="abs low">0/151</td>
103
103
  <td data-value="0" class="pct low">0%</td>
104
- <td data-value="280" class="abs low">0/280</td>
104
+ <td data-value="290" class="abs low">0/290</td>
105
105
  <td data-value="0" class="pct low">0%</td>
106
106
  <td data-value="1" class="abs low">0/1</td>
107
107
  <td data-value="0" class="pct low">0%</td>
108
- <td data-value="147" class="abs low">0/147</td>
108
+ <td data-value="151" class="abs low">0/151</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="65" class="abs low">0/65</td>
132
+ <td data-value="72" class="abs low">0/72</td>
133
133
  <td data-value="0" class="pct low">0%</td>
134
- <td data-value="27" class="abs low">0/27</td>
134
+ <td data-value="51" class="abs low">0/51</td>
135
135
  <td data-value="0" class="pct low">0%</td>
136
136
  <td data-value="15" class="abs low">0/15</td>
137
137
  <td data-value="0" class="pct low">0%</td>
138
- <td data-value="64" class="abs low">0/64</td>
138
+ <td data-value="72" class="abs low">0/72</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="97" class="abs low">0/97</td>
147
+ <td data-value="101" class="abs low">0/101</td>
148
148
  <td data-value="0" class="pct low">0%</td>
149
149
  <td data-value="33" class="abs low">0/33</td>
150
150
  <td data-value="0" class="pct low">0%</td>
151
- <td data-value="17" class="abs low">0/17</td>
151
+ <td data-value="20" class="abs low">0/20</td>
152
152
  <td data-value="0" class="pct low">0%</td>
153
- <td data-value="95" class="abs low">0/95</td>
153
+ <td data-value="99" class="abs low">0/99</td>
154
154
  </tr>
155
155
 
156
156
  </tbody>
@@ -161,7 +161,7 @@
161
161
  <div class='footer quiet pad2 space-top1 center small'>
162
162
  Code coverage generated by
163
163
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
164
- at 2024-01-23T12:19:37.435Z
164
+ at 2024-06-04T11:50:55.506Z
165
165
  </div>
166
166
  <script src="../prettify.js"></script>
167
167
  <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/97</span>
28
+ <span class='fraction'>0/101</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/17</span>
42
+ <span class='fraction'>0/20</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/95</span>
49
+ <span class='fraction'>0/99</span>
50
50
  </div>
51
51
 
52
52
 
@@ -247,7 +247,17 @@
247
247
  <a name='L182'></a><a href='#L182'>182</a>
248
248
  <a name='L183'></a><a href='#L183'>183</a>
249
249
  <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a>
258
+ <a name='L193'></a><a href='#L193'>193</a>
259
+ <a name='L194'></a><a href='#L194'>194</a>
260
+ <a name='L195'></a><a href='#L195'>195</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
251
261
  <span class="cline-any cline-neutral">&nbsp;</span>
252
262
  <span class="cline-any cline-neutral">&nbsp;</span>
253
263
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -303,21 +313,27 @@
303
313
  <span class="cline-any cline-no">&nbsp;</span>
304
314
  <span class="cline-any cline-no">&nbsp;</span>
305
315
  <span class="cline-any cline-no">&nbsp;</span>
316
+ <span class="cline-any cline-no">&nbsp;</span>
306
317
  <span class="cline-any cline-neutral">&nbsp;</span>
307
318
  <span class="cline-any cline-no">&nbsp;</span>
308
319
  <span class="cline-any cline-no">&nbsp;</span>
309
320
  <span class="cline-any cline-no">&nbsp;</span>
310
321
  <span class="cline-any cline-no">&nbsp;</span>
322
+ <span class="cline-any cline-no">&nbsp;</span>
311
323
  <span class="cline-any cline-neutral">&nbsp;</span>
312
324
  <span class="cline-any cline-neutral">&nbsp;</span>
313
325
  <span class="cline-any cline-neutral">&nbsp;</span>
314
326
  <span class="cline-any cline-neutral">&nbsp;</span>
327
+ <span class="cline-any cline-neutral">&nbsp;</span>
328
+ <span class="cline-any cline-no">&nbsp;</span>
315
329
  <span class="cline-any cline-no">&nbsp;</span>
330
+ <span class="cline-any cline-neutral">&nbsp;</span>
316
331
  <span class="cline-any cline-no">&nbsp;</span>
317
332
  <span class="cline-any cline-no">&nbsp;</span>
318
333
  <span class="cline-any cline-neutral">&nbsp;</span>
319
334
  <span class="cline-any cline-neutral">&nbsp;</span>
320
335
  <span class="cline-any cline-neutral">&nbsp;</span>
336
+ <span class="cline-any cline-neutral">&nbsp;</span>
321
337
  <span class="cline-any cline-no">&nbsp;</span>
322
338
  <span class="cline-any cline-no">&nbsp;</span>
323
339
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -333,10 +349,13 @@
333
349
  <span class="cline-any cline-neutral">&nbsp;</span>
334
350
  <span class="cline-any cline-no">&nbsp;</span>
335
351
  <span class="cline-any cline-no">&nbsp;</span>
352
+ <span class="cline-any cline-neutral">&nbsp;</span>
336
353
  <span class="cline-any cline-no">&nbsp;</span>
337
354
  <span class="cline-any cline-no">&nbsp;</span>
338
355
  <span class="cline-any cline-neutral">&nbsp;</span>
339
356
  <span class="cline-any cline-no">&nbsp;</span>
357
+ <span class="cline-any cline-neutral">&nbsp;</span>
358
+ <span class="cline-any cline-no">&nbsp;</span>
340
359
  <span class="cline-any cline-no">&nbsp;</span>
341
360
  <span class="cline-any cline-no">&nbsp;</span>
342
361
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -397,6 +416,7 @@
397
416
  <span class="cline-any cline-no">&nbsp;</span>
398
417
  <span class="cline-any cline-neutral">&nbsp;</span>
399
418
  <span class="cline-any cline-neutral">&nbsp;</span>
419
+ <span class="cline-any cline-neutral">&nbsp;</span>
400
420
  <span class="cline-any cline-no">&nbsp;</span>
401
421
  <span class="cline-any cline-neutral">&nbsp;</span>
402
422
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -482,28 +502,34 @@ function <span class="fstat-no" title="function not covered" >resetSender(</span
482
502
  }
483
503
  }
484
504
  &nbsp;
485
- function <span class="fstat-no" title="function not covered" >reset(</span>): void {
486
- <span class="cstat-no" title="statement not covered" > workerStatus = WorkerStatus.Stopping</span>
487
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (sendIntervalID !== null) {</span>
488
- <span class="cstat-no" title="statement not covered" > clearInterval(sendIntervalID)</span>
489
- <span class="cstat-no" title="statement not covered" > sendIntervalID = null</span>
490
- }
491
- <span class="cstat-no" title="statement not covered" > resetWriter()</span>
492
- <span class="cstat-no" title="statement not covered" > resetSender()</span>
493
- <span class="cstat-no" title="statement not covered" > setTimeout(<span class="fstat-no" title="function not covered" >() =</span>&gt; {</span>
494
- <span class="cstat-no" title="statement not covered" > workerStatus = WorkerStatus.NotActive</span>
495
- }, 100)
505
+ function <span class="fstat-no" title="function not covered" >reset(</span>): Promise&lt;any&gt; {
506
+ <span class="cstat-no" title="statement not covered" > return new Promise(<span class="fstat-no" title="function not covered" >(r</span>es) =&gt; {</span>
507
+ <span class="cstat-no" title="statement not covered" > workerStatus = WorkerStatus.Stopping</span>
508
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (sendIntervalID !== null) {</span>
509
+ <span class="cstat-no" title="statement not covered" > clearInterval(sendIntervalID)</span>
510
+ <span class="cstat-no" title="statement not covered" > sendIntervalID = null</span>
511
+ }
512
+ <span class="cstat-no" title="statement not covered" > resetWriter()</span>
513
+ <span class="cstat-no" title="statement not covered" > resetSender()</span>
514
+ <span class="cstat-no" title="statement not covered" > setTimeout(<span class="fstat-no" title="function not covered" >() =</span>&gt; {</span>
515
+ <span class="cstat-no" title="statement not covered" > workerStatus = WorkerStatus.NotActive</span>
516
+ <span class="cstat-no" title="statement not covered" > res(null)</span>
517
+ }, 100)
518
+ })
496
519
  }
497
520
  &nbsp;
498
521
  function <span class="fstat-no" title="function not covered" >initiateRestart(</span>): void {
499
522
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (workerStatus === WorkerStatus.Stopped) <span class="cstat-no" title="statement not covered" >return</span></span>
500
- <span class="cstat-no" title="statement not covered" > postMessage('restart')</span>
501
- <span class="cstat-no" title="statement not covered" > reset()</span>
523
+ <span class="cstat-no" title="statement not covered" > postMessage('a_stop')</span>
524
+ // eslint-disable-next-line
525
+ <span class="cstat-no" title="statement not covered" > reset().then(<span class="fstat-no" title="function not covered" >() =</span>&gt; {</span>
526
+ <span class="cstat-no" title="statement not covered" > postMessage('a_start')</span>
527
+ })
502
528
  }
503
529
  &nbsp;
504
530
  function <span class="fstat-no" title="function not covered" >initiateFailure(</span>reason: string): void {
505
531
  <span class="cstat-no" title="statement not covered" > postMessage({ type: 'failure', reason })</span>
506
- <span class="cstat-no" title="statement not covered" > reset()</span>
532
+ <span class="cstat-no" title="statement not covered" > void reset()</span>
507
533
  }
508
534
  &nbsp;
509
535
  let sendIntervalID: ReturnType&lt;typeof setInterval&gt; | null = <span class="cstat-no" title="statement not covered" >null</span>
@@ -517,8 +543,11 @@ let restartTimeoutID: ReturnType&lt;typeof setTimeout&gt;
517
543
  }
518
544
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (data === 'stop') {</span>
519
545
  <span class="cstat-no" title="statement not covered" > finalize()</span>
520
- <span class="cstat-no" title="statement not covered" > reset()</span>
521
- <span class="cstat-no" title="statement not covered" > return (workerStatus = WorkerStatus.Stopped)</span>
546
+ // eslint-disable-next-line
547
+ <span class="cstat-no" title="statement not covered" > reset().then(<span class="fstat-no" title="function not covered" >() =</span>&gt; {</span>
548
+ <span class="cstat-no" title="statement not covered" > workerStatus = WorkerStatus.Stopped</span>
549
+ })
550
+ <span class="cstat-no" title="statement not covered" > return</span>
522
551
  }
523
552
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (data === 'forceFlushBatch') {</span>
524
553
  <span class="cstat-no" title="statement not covered" > finalize()</span>
@@ -580,6 +609,7 @@ let restartTimeoutID: ReturnType&lt;typeof setTimeout&gt;
580
609
  <span class="fstat-no" title="function not covered" > (b</span>atch) =&gt; {
581
610
  <span class="cstat-no" title="statement not covered" > postMessage({ type: 'compress', batch }, [batch.buffer])</span>
582
611
  },
612
+ data.pageNo,
583
613
  )
584
614
  <span class="cstat-no" title="statement not covered" > writer = new BatchWriter(</span>
585
615
  data.pageNo,
@@ -622,7 +652,7 @@ let restartTimeoutID: ReturnType&lt;typeof setTimeout&gt;
622
652
  <div class='footer quiet pad2 space-top1 center small'>
623
653
  Code coverage generated by
624
654
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
625
- at 2024-01-23T12:19:37.435Z
655
+ at 2024-06-04T11:50:55.506Z
626
656
  </div>
627
657
  <script src="../prettify.js"></script>
628
658
  <script>