@openreplay/tracker 9.0.13 → 9.0.14
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.
- package/cjs/app/index.js +2 -2
- package/cjs/index.js +3 -2
- package/cjs/modules/mouse.js +1 -0
- package/cjs/modules/network.js +1 -0
- package/coverage/clover.xml +1802 -779
- package/coverage/coverage-final.json +27 -18
- package/coverage/lcov-report/index.html +60 -45
- package/coverage/lcov-report/main/app/canvas.ts.html +535 -0
- package/coverage/lcov-report/main/app/guards.ts.html +5 -2
- package/coverage/lcov-report/main/app/index.html +38 -23
- package/coverage/lcov-report/main/app/index.ts.html +1578 -108
- package/coverage/lcov-report/main/app/logger.ts.html +25 -91
- package/coverage/lcov-report/main/app/messages.gen.ts.html +263 -146
- package/coverage/lcov-report/main/app/nodes.ts.html +17 -5
- package/coverage/lcov-report/main/app/observer/iframe_observer.ts.html +2 -2
- package/coverage/lcov-report/main/app/observer/iframe_offsets.ts.html +1 -1
- package/coverage/lcov-report/main/app/observer/index.html +1 -1
- package/coverage/lcov-report/main/app/observer/shadow_root_observer.ts.html +2 -2
- package/coverage/lcov-report/main/app/observer/top_observer.ts.html +1 -1
- package/coverage/lcov-report/main/app/sanitizer.ts.html +1 -1
- package/coverage/lcov-report/main/app/session.ts.html +1 -1
- package/coverage/lcov-report/main/app/ticker.ts.html +1 -1
- package/coverage/lcov-report/main/index.html +20 -20
- package/coverage/lcov-report/main/index.ts.html +464 -98
- package/coverage/lcov-report/main/modules/Network/beaconProxy.ts.html +19 -19
- package/coverage/lcov-report/main/modules/Network/fetchProxy.ts.html +114 -99
- package/coverage/lcov-report/main/modules/Network/index.html +66 -66
- package/coverage/lcov-report/main/modules/Network/index.ts.html +33 -33
- package/coverage/lcov-report/main/modules/Network/networkMessage.ts.html +82 -73
- package/coverage/lcov-report/main/modules/Network/utils.ts.html +34 -34
- package/coverage/lcov-report/main/modules/Network/xhrProxy.ts.html +15 -15
- package/coverage/lcov-report/main/modules/attributeSender.ts.html +1 -1
- package/coverage/lcov-report/main/modules/axiosSpy.ts.html +1 -1
- package/coverage/lcov-report/main/modules/conditionsManager.ts.html +1399 -0
- package/coverage/lcov-report/main/modules/connection.ts.html +1 -1
- package/coverage/lcov-report/main/modules/console.ts.html +1 -1
- package/coverage/lcov-report/main/modules/constructedStyleSheets.ts.html +1 -1
- package/coverage/lcov-report/main/modules/cssrules.ts.html +1 -1
- package/coverage/lcov-report/main/modules/exception.ts.html +1 -1
- package/coverage/lcov-report/main/modules/featureFlags.ts.html +10 -7
- package/coverage/lcov-report/main/modules/focus.ts.html +1 -1
- package/coverage/lcov-report/main/modules/fonts.ts.html +1 -1
- package/coverage/lcov-report/main/modules/img.ts.html +1 -1
- package/coverage/lcov-report/main/modules/index.html +42 -12
- package/coverage/lcov-report/main/modules/input.ts.html +1 -1
- package/coverage/lcov-report/main/modules/mouse.ts.html +1 -1
- package/coverage/lcov-report/main/modules/network.ts.html +2 -2
- package/coverage/lcov-report/main/modules/performance.ts.html +1 -1
- package/coverage/lcov-report/main/modules/scroll.ts.html +1 -1
- package/coverage/lcov-report/main/modules/selection.ts.html +1 -1
- package/coverage/lcov-report/main/modules/tabs.ts.html +1 -1
- package/coverage/lcov-report/main/modules/tagWatcher.ts.html +334 -0
- package/coverage/lcov-report/main/modules/timing.ts.html +1 -1
- package/coverage/lcov-report/main/modules/userTesting/SignalManager.ts.html +370 -0
- package/coverage/lcov-report/main/modules/userTesting/dnd.ts.html +10 -22
- package/coverage/lcov-report/main/modules/userTesting/index.html +57 -27
- package/coverage/lcov-report/main/modules/userTesting/index.ts.html +814 -115
- package/coverage/lcov-report/main/modules/userTesting/recorder.ts.html +136 -67
- package/coverage/lcov-report/main/modules/userTesting/styles.ts.html +111 -39
- package/coverage/lcov-report/main/modules/userTesting/utils.ts.html +364 -0
- package/coverage/lcov-report/main/modules/viewport.ts.html +1 -1
- package/coverage/lcov-report/main/utils.ts.html +101 -59
- package/coverage/lcov-report/webworker/BatchWriter.ts.html +23 -5
- package/coverage/lcov-report/webworker/MessageEncoder.gen.ts.html +41 -5
- package/coverage/lcov-report/webworker/PrimitiveEncoder.ts.html +1 -1
- package/coverage/lcov-report/webworker/QueueSender.ts.html +18 -6
- package/coverage/lcov-report/webworker/index.html +17 -17
- package/coverage/lcov-report/webworker/index.ts.html +24 -15
- package/coverage/lcov.info +3267 -1349
- package/lib/app/index.js +2 -2
- package/lib/common/tsconfig.tsbuildinfo +1 -1
- package/lib/index.js +3 -2
- package/lib/modules/mouse.js +1 -0
- package/lib/modules/network.js +1 -0
- package/package.json +1 -1
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">0% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>0/53</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">0% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>0/23</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">0% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>0/53</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -166,12 +166,12 @@
|
|
|
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
169
|
-
<span class="cline-any cline-
|
|
169
|
+
<span class="cline-any cline-no"> </span>
|
|
170
170
|
<span class="cline-any cline-neutral"> </span>
|
|
171
|
-
<span class="cline-any cline-
|
|
171
|
+
<span class="cline-any cline-no"> </span>
|
|
172
172
|
<span class="cline-any cline-neutral"> </span>
|
|
173
173
|
<span class="cline-any cline-neutral"> </span>
|
|
174
|
-
<span class="cline-any cline-
|
|
174
|
+
<span class="cline-any cline-no"> </span>
|
|
175
175
|
<span class="cline-any cline-no"> </span>
|
|
176
176
|
<span class="cline-any cline-no"> </span>
|
|
177
177
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -184,7 +184,7 @@
|
|
|
184
184
|
<span class="cline-any cline-no"> </span>
|
|
185
185
|
<span class="cline-any cline-neutral"> </span>
|
|
186
186
|
<span class="cline-any cline-neutral"> </span>
|
|
187
|
-
<span class="cline-any cline-
|
|
187
|
+
<span class="cline-any cline-no"> </span>
|
|
188
188
|
<span class="cline-any cline-neutral"> </span>
|
|
189
189
|
<span class="cline-any cline-no"> </span>
|
|
190
190
|
<span class="cline-any cline-no"> </span>
|
|
@@ -238,8 +238,8 @@
|
|
|
238
238
|
<span class="cline-any cline-neutral"> </span>
|
|
239
239
|
<span class="cline-any cline-neutral"> </span>
|
|
240
240
|
<span class="cline-any cline-neutral"> </span>
|
|
241
|
-
<span class="cline-any cline-
|
|
242
|
-
<span class="cline-any cline-
|
|
241
|
+
<span class="cline-any cline-no"> </span>
|
|
242
|
+
<span class="cline-any cline-no"> </span>
|
|
243
243
|
<span class="cline-any cline-neutral"> </span>
|
|
244
244
|
<span class="cline-any cline-neutral"> </span>
|
|
245
245
|
<span class="cline-any cline-no"> </span>
|
|
@@ -268,12 +268,12 @@
|
|
|
268
268
|
<span class="cline-any cline-neutral"> </span>
|
|
269
269
|
<span class="cline-any cline-neutral"> </span>
|
|
270
270
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { NetworkRequest } from '../../../common/messages.gen.js'
|
|
271
|
-
import NetworkMessage from './networkMessage.js'
|
|
271
|
+
<span class="cstat-no" title="statement not covered" >import NetworkMessage from './networkMessage.js'</span>
|
|
272
272
|
import { RequestResponseData } from './types.js'
|
|
273
|
-
import { genStringBody, getURL } from './utils.js'
|
|
273
|
+
<span class="cstat-no" title="statement not covered" >import { genStringBody, getURL } from './utils.js'</span>
|
|
274
274
|
|
|
275
275
|
// https://fetch.spec.whatwg.org/#concept-bodyinit-extract
|
|
276
|
-
const getContentType = <span class="fstat-no" title="function not covered" >(d</span>ata?: BodyInit) => {
|
|
276
|
+
const getContentType = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(d</span>ata?: BodyInit) => {</span>
|
|
277
277
|
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (data instanceof Blob) {</span>
|
|
278
278
|
<span class="cstat-no" title="statement not covered" > return data.type</span>
|
|
279
279
|
}
|
|
@@ -286,7 +286,7 @@ const getContentType = <span class="fstat-no" title="function not covered" >(d</
|
|
|
286
286
|
<span class="cstat-no" title="statement not covered" > return 'text/plain;charset=UTF-8'</span>
|
|
287
287
|
}
|
|
288
288
|
|
|
289
|
-
export class
|
|
289
|
+
<span class="cstat-no" title="statement not covered" >export class B</span>eaconProxyHandler<T extends typeof navigator.sendBeacon> implements ProxyHandler<T> {
|
|
290
290
|
<span class="fstat-no" title="function not covered" > constructor(</span>
|
|
291
291
|
private readonly <span class="cstat-no" title="statement not covered" >ignoredHeaders: boolean | string[],</span>
|
|
292
292
|
private readonly <span class="cstat-no" title="statement not covered" >setSessionTokenHeader: (cb: (name: string, value: string) => void) => void,</span>
|
|
@@ -340,8 +340,8 @@ export class BeaconProxyHandler<T extends typeof navigator.sendBeacon> imp
|
|
|
340
340
|
}
|
|
341
341
|
}
|
|
342
342
|
|
|
343
|
-
export default class
|
|
344
|
-
public static
|
|
343
|
+
<span class="cstat-no" title="statement not covered" >export default class B</span>eaconProxy {
|
|
344
|
+
public static <span class="cstat-no" title="statement not covered" >origSendBeacon = window?.navigator?.sendBeacon</span>
|
|
345
345
|
|
|
346
346
|
public <span class="fstat-no" title="function not covered" >static </span>hasSendBeacon() {
|
|
347
347
|
<span class="cstat-no" title="statement not covered" > return !!BeaconProxy.origSendBeacon</span>
|
|
@@ -376,7 +376,7 @@ export default class BeaconProxy {
|
|
|
376
376
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
377
377
|
Code coverage generated by
|
|
378
378
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
379
|
-
at
|
|
379
|
+
at 2024-01-23T12:19:37.435Z
|
|
380
380
|
</div>
|
|
381
381
|
<script src="../../../prettify.js"></script>
|
|
382
382
|
<script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">0% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>0/149</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">0% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>0/94</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">0% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>0/20</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">0% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>0/148</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -379,19 +379,24 @@
|
|
|
379
379
|
<a name='L314'></a><a href='#L314'>314</a>
|
|
380
380
|
<a name='L315'></a><a href='#L315'>315</a>
|
|
381
381
|
<a name='L316'></a><a href='#L316'>316</a>
|
|
382
|
-
<a name='L317'></a><a href='#L317'>317</a
|
|
382
|
+
<a name='L317'></a><a href='#L317'>317</a>
|
|
383
|
+
<a name='L318'></a><a href='#L318'>318</a>
|
|
384
|
+
<a name='L319'></a><a href='#L319'>319</a>
|
|
385
|
+
<a name='L320'></a><a href='#L320'>320</a>
|
|
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"> </span>
|
|
383
388
|
<span class="cline-any cline-neutral"> </span>
|
|
384
389
|
<span class="cline-any cline-neutral"> </span>
|
|
385
390
|
<span class="cline-any cline-neutral"> </span>
|
|
386
391
|
<span class="cline-any cline-neutral"> </span>
|
|
387
392
|
<span class="cline-any cline-neutral"> </span>
|
|
388
393
|
<span class="cline-any cline-neutral"> </span>
|
|
389
|
-
<span class="cline-any cline-
|
|
390
|
-
<span class="cline-any cline-
|
|
394
|
+
<span class="cline-any cline-no"> </span>
|
|
395
|
+
<span class="cline-any cline-no"> </span>
|
|
391
396
|
<span class="cline-any cline-neutral"> </span>
|
|
392
397
|
<span class="cline-any cline-neutral"> </span>
|
|
393
398
|
<span class="cline-any cline-neutral"> </span>
|
|
394
|
-
<span class="cline-any cline-
|
|
399
|
+
<span class="cline-any cline-no"> </span>
|
|
395
400
|
<span class="cline-any cline-neutral"> </span>
|
|
396
401
|
<span class="cline-any cline-neutral"> </span>
|
|
397
402
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -499,35 +504,40 @@
|
|
|
499
504
|
<span class="cline-any cline-neutral"> </span>
|
|
500
505
|
<span class="cline-any cline-neutral"> </span>
|
|
501
506
|
<span class="cline-any cline-neutral"> </span>
|
|
502
|
-
<span class="cline-any cline-
|
|
507
|
+
<span class="cline-any cline-no"> </span>
|
|
508
|
+
<span class="cline-any cline-neutral"> </span>
|
|
509
|
+
<span class="cline-any cline-no"> </span>
|
|
510
|
+
<span class="cline-any cline-no"> </span>
|
|
511
|
+
<span class="cline-any cline-no"> </span>
|
|
512
|
+
<span class="cline-any cline-no"> </span>
|
|
513
|
+
<span class="cline-any cline-no"> </span>
|
|
514
|
+
<span class="cline-any cline-no"> </span>
|
|
515
|
+
<span class="cline-any cline-neutral"> </span>
|
|
516
|
+
<span class="cline-any cline-neutral"> </span>
|
|
517
|
+
<span class="cline-any cline-neutral"> </span>
|
|
518
|
+
<span class="cline-any cline-no"> </span>
|
|
519
|
+
<span class="cline-any cline-no"> </span>
|
|
520
|
+
<span class="cline-any cline-no"> </span>
|
|
503
521
|
<span class="cline-any cline-neutral"> </span>
|
|
504
|
-
<span class="cline-any cline-yes">1x</span>
|
|
505
|
-
<span class="cline-any cline-yes">1x</span>
|
|
506
|
-
<span class="cline-any cline-yes">1x</span>
|
|
507
|
-
<span class="cline-any cline-yes">1x</span>
|
|
508
|
-
<span class="cline-any cline-yes">1x</span>
|
|
509
|
-
<span class="cline-any cline-yes">1x</span>
|
|
510
522
|
<span class="cline-any cline-neutral"> </span>
|
|
511
523
|
<span class="cline-any cline-neutral"> </span>
|
|
512
524
|
<span class="cline-any cline-neutral"> </span>
|
|
513
|
-
<span class="cline-any cline-
|
|
514
|
-
<span class="cline-any cline-yes">1x</span>
|
|
525
|
+
<span class="cline-any cline-no"> </span>
|
|
515
526
|
<span class="cline-any cline-neutral"> </span>
|
|
516
|
-
<span class="cline-any cline-yes">1x</span>
|
|
517
527
|
<span class="cline-any cline-neutral"> </span>
|
|
518
528
|
<span class="cline-any cline-neutral"> </span>
|
|
519
|
-
<span class="cline-any cline-
|
|
529
|
+
<span class="cline-any cline-no"> </span>
|
|
520
530
|
<span class="cline-any cline-neutral"> </span>
|
|
521
531
|
<span class="cline-any cline-neutral"> </span>
|
|
522
532
|
<span class="cline-any cline-neutral"> </span>
|
|
523
|
-
<span class="cline-any cline-
|
|
533
|
+
<span class="cline-any cline-no"> </span>
|
|
524
534
|
<span class="cline-any cline-no"> </span>
|
|
525
535
|
<span class="cline-any cline-neutral"> </span>
|
|
526
536
|
<span class="cline-any cline-neutral"> </span>
|
|
527
|
-
<span class="cline-any cline-
|
|
528
|
-
<span class="cline-any cline-
|
|
537
|
+
<span class="cline-any cline-no"> </span>
|
|
538
|
+
<span class="cline-any cline-no"> </span>
|
|
529
539
|
<span class="cline-any cline-neutral"> </span>
|
|
530
|
-
<span class="cline-any cline-
|
|
540
|
+
<span class="cline-any cline-no"> </span>
|
|
531
541
|
<span class="cline-any cline-no"> </span>
|
|
532
542
|
<span class="cline-any cline-no"> </span>
|
|
533
543
|
<span class="cline-any cline-no"> </span>
|
|
@@ -550,7 +560,7 @@
|
|
|
550
560
|
<span class="cline-any cline-neutral"> </span>
|
|
551
561
|
<span class="cline-any cline-neutral"> </span>
|
|
552
562
|
<span class="cline-any cline-neutral"> </span>
|
|
553
|
-
<span class="cline-any cline-
|
|
563
|
+
<span class="cline-any cline-no"> </span>
|
|
554
564
|
<span class="cline-any cline-neutral"> </span>
|
|
555
565
|
<span class="cline-any cline-neutral"> </span>
|
|
556
566
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -562,15 +572,15 @@
|
|
|
562
572
|
<span class="cline-any cline-neutral"> </span>
|
|
563
573
|
<span class="cline-any cline-neutral"> </span>
|
|
564
574
|
<span class="cline-any cline-neutral"> </span>
|
|
565
|
-
<span class="cline-any cline-
|
|
566
|
-
<span class="cline-any cline-
|
|
575
|
+
<span class="cline-any cline-no"> </span>
|
|
576
|
+
<span class="cline-any cline-no"> </span>
|
|
567
577
|
<span class="cline-any cline-neutral"> </span>
|
|
568
578
|
<span class="cline-any cline-neutral"> </span>
|
|
569
|
-
<span class="cline-any cline-
|
|
579
|
+
<span class="cline-any cline-no"> </span>
|
|
570
580
|
<span class="cline-any cline-neutral"> </span>
|
|
571
|
-
<span class="cline-any cline-
|
|
572
|
-
<span class="cline-any cline-
|
|
573
|
-
<span class="cline-any cline-
|
|
581
|
+
<span class="cline-any cline-no"> </span>
|
|
582
|
+
<span class="cline-any cline-no"> </span>
|
|
583
|
+
<span class="cline-any cline-no"> </span>
|
|
574
584
|
<span class="cline-any cline-neutral"> </span>
|
|
575
585
|
<span class="cline-any cline-neutral"> </span>
|
|
576
586
|
<span class="cline-any cline-no"> </span>
|
|
@@ -578,30 +588,30 @@
|
|
|
578
588
|
<span class="cline-any cline-no"> </span>
|
|
579
589
|
<span class="cline-any cline-neutral"> </span>
|
|
580
590
|
<span class="cline-any cline-neutral"> </span>
|
|
581
|
-
<span class="cline-any cline-
|
|
582
|
-
<span class="cline-any cline-
|
|
583
|
-
<span class="cline-any cline-
|
|
584
|
-
<span class="cline-any cline-
|
|
585
|
-
<span class="cline-any cline-
|
|
586
|
-
<span class="cline-any cline-
|
|
587
|
-
<span class="cline-any cline-
|
|
588
|
-
<span class="cline-any cline-
|
|
589
|
-
<span class="cline-any cline-
|
|
591
|
+
<span class="cline-any cline-no"> </span>
|
|
592
|
+
<span class="cline-any cline-no"> </span>
|
|
593
|
+
<span class="cline-any cline-no"> </span>
|
|
594
|
+
<span class="cline-any cline-no"> </span>
|
|
595
|
+
<span class="cline-any cline-no"> </span>
|
|
596
|
+
<span class="cline-any cline-no"> </span>
|
|
597
|
+
<span class="cline-any cline-no"> </span>
|
|
598
|
+
<span class="cline-any cline-no"> </span>
|
|
599
|
+
<span class="cline-any cline-no"> </span>
|
|
590
600
|
<span class="cline-any cline-neutral"> </span>
|
|
591
|
-
<span class="cline-any cline-
|
|
601
|
+
<span class="cline-any cline-no"> </span>
|
|
592
602
|
<span class="cline-any cline-neutral"> </span>
|
|
593
603
|
<span class="cline-any cline-neutral"> </span>
|
|
594
|
-
<span class="cline-any cline-
|
|
604
|
+
<span class="cline-any cline-no"> </span>
|
|
595
605
|
<span class="cline-any cline-no"> </span>
|
|
596
606
|
<span class="cline-any cline-no"> </span>
|
|
597
607
|
<span class="cline-any cline-no"> </span>
|
|
598
608
|
<span class="cline-any cline-neutral"> </span>
|
|
599
609
|
<span class="cline-any cline-neutral"> </span>
|
|
600
|
-
<span class="cline-any cline-
|
|
610
|
+
<span class="cline-any cline-no"> </span>
|
|
601
611
|
<span class="cline-any cline-neutral"> </span>
|
|
602
612
|
<span class="cline-any cline-neutral"> </span>
|
|
603
613
|
<span class="cline-any cline-neutral"> </span>
|
|
604
|
-
<span class="cline-any cline-
|
|
614
|
+
<span class="cline-any cline-no"> </span>
|
|
605
615
|
<span class="cline-any cline-no"> </span>
|
|
606
616
|
<span class="cline-any cline-no"> </span>
|
|
607
617
|
<span class="cline-any cline-no"> </span>
|
|
@@ -609,7 +619,7 @@
|
|
|
609
619
|
<span class="cline-any cline-neutral"> </span>
|
|
610
620
|
<span class="cline-any cline-neutral"> </span>
|
|
611
621
|
<span class="cline-any cline-neutral"> </span>
|
|
612
|
-
<span class="cline-any cline-
|
|
622
|
+
<span class="cline-any cline-no"> </span>
|
|
613
623
|
<span class="cline-any cline-no"> </span>
|
|
614
624
|
<span class="cline-any cline-neutral"> </span>
|
|
615
625
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -673,7 +683,7 @@
|
|
|
673
683
|
<span class="cline-any cline-neutral"> </span>
|
|
674
684
|
<span class="cline-any cline-neutral"> </span>
|
|
675
685
|
<span class="cline-any cline-neutral"> </span>
|
|
676
|
-
<span class="cline-any cline-
|
|
686
|
+
<span class="cline-any cline-no"> </span>
|
|
677
687
|
<span class="cline-any cline-neutral"> </span>
|
|
678
688
|
<span class="cline-any cline-neutral"> </span>
|
|
679
689
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -682,7 +692,7 @@
|
|
|
682
692
|
<span class="cline-any cline-neutral"> </span>
|
|
683
693
|
<span class="cline-any cline-neutral"> </span>
|
|
684
694
|
<span class="cline-any cline-neutral"> </span>
|
|
685
|
-
<span class="cline-any cline-
|
|
695
|
+
<span class="cline-any cline-no"> </span>
|
|
686
696
|
<span class="cline-any cline-neutral"> </span>
|
|
687
697
|
<span class="cline-any cline-neutral"> </span>
|
|
688
698
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -702,12 +712,12 @@
|
|
|
702
712
|
* we can intercept the network requests
|
|
703
713
|
* in not-so-hacky way
|
|
704
714
|
* */
|
|
705
|
-
import NetworkMessage, { RequestState } from './networkMessage.js'
|
|
706
|
-
import { formatByteSize, genStringBody, getStringResponseByType, getURL } from './utils.js'
|
|
715
|
+
<span class="cstat-no" title="statement not covered" >import NetworkMessage, { RequestState } from './networkMessage.js'</span>
|
|
716
|
+
<span class="cstat-no" title="statement not covered" >import { formatByteSize, genStringBody, getStringResponseByType, getURL } from './utils.js'</span>
|
|
707
717
|
import { RequestResponseData } from './types.js'
|
|
708
718
|
import { NetworkRequest } from '../../../common/messages.gen.js'
|
|
709
719
|
|
|
710
|
-
export class
|
|
720
|
+
<span class="cstat-no" title="statement not covered" >export class R</span>esponseProxyHandler<T extends Response> implements ProxyHandler<T> {
|
|
711
721
|
public resp: Response
|
|
712
722
|
public item: NetworkMessage
|
|
713
723
|
|
|
@@ -815,35 +825,40 @@ export class ResponseProxyHandler<T extends Response> implements ProxyHand
|
|
|
815
825
|
}
|
|
816
826
|
}
|
|
817
827
|
|
|
818
|
-
export class
|
|
819
|
-
constructor(
|
|
820
|
-
private readonly ignoredHeaders: boolean | string[]
|
|
821
|
-
private readonly setSessionTokenHeader: (cb: (name: string, value: string) => void) => void
|
|
822
|
-
private readonly sanitize: (data: RequestResponseData) => RequestResponseData
|
|
823
|
-
private readonly sendMessage: (item: NetworkRequest) => void
|
|
824
|
-
private readonly isServiceUrl: (url: string) => boolean
|
|
825
|
-
private readonly tokenUrlMatcher?: (url: string) => boolean
|
|
828
|
+
<span class="cstat-no" title="statement not covered" >export class F</span>etchProxyHandler<T extends typeof fetch> implements ProxyHandler<T> {
|
|
829
|
+
<span class="fstat-no" title="function not covered" > constructor(</span>
|
|
830
|
+
private readonly <span class="cstat-no" title="statement not covered" >ignoredHeaders: boolean | string[],</span>
|
|
831
|
+
private readonly <span class="cstat-no" title="statement not covered" >setSessionTokenHeader: (cb: (name: string, value: string) => void) => void,</span>
|
|
832
|
+
private readonly <span class="cstat-no" title="statement not covered" >sanitize: (data: RequestResponseData) => RequestResponseData,</span>
|
|
833
|
+
private readonly <span class="cstat-no" title="statement not covered" >sendMessage: (item: NetworkRequest) => void,</span>
|
|
834
|
+
private readonly <span class="cstat-no" title="statement not covered" >isServiceUrl: (url: string) => boolean,</span>
|
|
835
|
+
private readonly <span class="cstat-no" title="statement not covered" >tokenUrlMatcher?: (url: string) => boolean,</span>
|
|
826
836
|
) {}
|
|
827
837
|
|
|
828
|
-
public apply(target: T, _: typeof window, argsList: [RequestInfo | URL, RequestInit]) {
|
|
829
|
-
const input = argsList[0]
|
|
830
|
-
const init = argsList[1]
|
|
831
|
-
|
|
832
|
-
|
|
838
|
+
public <span class="fstat-no" title="function not covered" >apply(</span>target: T, _: typeof window, argsList: [RequestInfo | URL, RequestInit]) {
|
|
839
|
+
const input = <span class="cstat-no" title="statement not covered" >argsList[0]</span>
|
|
840
|
+
const init = <span class="cstat-no" title="statement not covered" >argsList[1]</span>
|
|
841
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (</span>
|
|
842
|
+
!input ||
|
|
843
|
+
// @ts-ignore
|
|
844
|
+
(typeof input !== 'string' && !input?.url)
|
|
845
|
+
) {
|
|
846
|
+
<span class="cstat-no" title="statement not covered" > return <ReturnType<T>>target.apply(window, argsList)</span>
|
|
847
|
+
}
|
|
833
848
|
|
|
834
849
|
const isORUrl =
|
|
835
|
-
input instanceof URL || typeof input === 'string'
|
|
850
|
+
<span class="cstat-no" title="statement not covered" > input instanceof URL || typeof input === 'string'</span>
|
|
836
851
|
? this.isServiceUrl(String(input))
|
|
837
|
-
:
|
|
852
|
+
: this.isServiceUrl(String(input.url))
|
|
838
853
|
|
|
839
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (isORUrl) {
|
|
854
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (isORUrl) {</span>
|
|
840
855
|
<span class="cstat-no" title="statement not covered" > return target.apply(window, argsList)</span>
|
|
841
856
|
}
|
|
842
857
|
|
|
843
|
-
const item = new NetworkMessage(this.ignoredHeaders, this.setSessionTokenHeader, this.sanitize)
|
|
844
|
-
this.beforeFetch(item, input as RequestInfo, init)
|
|
858
|
+
const item = <span class="cstat-no" title="statement not covered" >new NetworkMessage(this.ignoredHeaders, this.setSessionTokenHeader, this.sanitize)</span>
|
|
859
|
+
<span class="cstat-no" title="statement not covered" > this.beforeFetch(item, input as RequestInfo, init)</span>
|
|
845
860
|
|
|
846
|
-
this.setSessionTokenHeader(<span class="fstat-no" title="function not covered" >(n</span>ame, value) => {
|
|
861
|
+
<span class="cstat-no" title="statement not covered" > this.setSessionTokenHeader(<span class="fstat-no" title="function not covered" >(n</span>ame, value) => {</span>
|
|
847
862
|
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (this.tokenUrlMatcher !== undefined) {</span>
|
|
848
863
|
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!this.tokenUrlMatcher(item.url)) {</span>
|
|
849
864
|
<span class="cstat-no" title="statement not covered" > return</span>
|
|
@@ -866,7 +881,7 @@ export class FetchProxyHandler<T extends typeof fetch> implements ProxyHan
|
|
|
866
881
|
}
|
|
867
882
|
}
|
|
868
883
|
})
|
|
869
|
-
return (<ReturnType<T>>target.apply(window, argsList))
|
|
884
|
+
<span class="cstat-no" title="statement not covered" > return (<ReturnType<T>>target.apply(window, argsList))</span>
|
|
870
885
|
.then(this.afterFetch(item))
|
|
871
886
|
.catch(<span class="fstat-no" title="function not covered" >(e</span>) => {
|
|
872
887
|
// mock finally
|
|
@@ -876,48 +891,48 @@ export class FetchProxyHandler<T extends typeof fetch> implements ProxyHan
|
|
|
876
891
|
})
|
|
877
892
|
}
|
|
878
893
|
|
|
879
|
-
protected beforeFetch(item: NetworkMessage, input: RequestInfo, init?: RequestInit) {
|
|
894
|
+
protected <span class="fstat-no" title="function not covered" >beforeFetch(</span>item: NetworkMessage, input: RequestInfo | string, init?: RequestInit) {
|
|
880
895
|
let url: URL,
|
|
881
|
-
method = 'GET'
|
|
882
|
-
requestHeader: HeadersInit = {}
|
|
896
|
+
method = <span class="cstat-no" title="statement not covered" >'GET',</span>
|
|
897
|
+
requestHeader: HeadersInit = <span class="cstat-no" title="statement not covered" >{}</span>
|
|
883
898
|
|
|
884
899
|
// handle `input` content
|
|
885
|
-
if (typeof input === 'string') {
|
|
900
|
+
<span class="cstat-no" title="statement not covered" > if (typeof input === 'string') {</span>
|
|
886
901
|
// when `input` is a string
|
|
887
|
-
|
|
888
|
-
url = getURL(input)
|
|
889
|
-
|
|
890
|
-
} else
|
|
902
|
+
<span class="cstat-no" title="statement not covered" > method = init?.method || 'GET'</span>
|
|
903
|
+
<span class="cstat-no" title="statement not covered" > url = getURL(input)</span>
|
|
904
|
+
<span class="cstat-no" title="statement not covered" > requestHeader = init?.headers || {}</span>
|
|
905
|
+
} else {
|
|
891
906
|
// when `input` is a `Request` object
|
|
892
907
|
<span class="cstat-no" title="statement not covered" > method = input.method || 'GET'</span>
|
|
893
908
|
<span class="cstat-no" title="statement not covered" > url = getURL(input.url)</span>
|
|
894
909
|
<span class="cstat-no" title="statement not covered" > requestHeader = input.headers</span>
|
|
895
910
|
}
|
|
896
911
|
|
|
897
|
-
item.method = <NetworkMessage['method']>method
|
|
898
|
-
item.requestType = 'fetch'
|
|
899
|
-
item.requestHeader = requestHeader
|
|
900
|
-
item.url = url.toString()
|
|
901
|
-
item.name = (url.pathname.split('/').pop() || '') + url.search
|
|
902
|
-
item.status = 0
|
|
903
|
-
item.statusText = 'Pending'
|
|
904
|
-
item.readyState = 1
|
|
905
|
-
if (!item.startTime) {
|
|
912
|
+
<span class="cstat-no" title="statement not covered" > item.method = <NetworkMessage['method']>method</span>
|
|
913
|
+
<span class="cstat-no" title="statement not covered" > item.requestType = 'fetch'</span>
|
|
914
|
+
<span class="cstat-no" title="statement not covered" > item.requestHeader = requestHeader</span>
|
|
915
|
+
<span class="cstat-no" title="statement not covered" > item.url = url.toString()</span>
|
|
916
|
+
<span class="cstat-no" title="statement not covered" > item.name = (url.pathname.split('/').pop() || '') + url.search</span>
|
|
917
|
+
<span class="cstat-no" title="statement not covered" > item.status = 0</span>
|
|
918
|
+
<span class="cstat-no" title="statement not covered" > item.statusText = 'Pending'</span>
|
|
919
|
+
<span class="cstat-no" title="statement not covered" > item.readyState = 1</span>
|
|
920
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!item.startTime) {</span>
|
|
906
921
|
// UNSENT
|
|
907
|
-
item.startTime = performance.now()
|
|
922
|
+
<span class="cstat-no" title="statement not covered" > item.startTime = performance.now()</span>
|
|
908
923
|
}
|
|
909
924
|
|
|
910
|
-
|
|
925
|
+
<span class="cstat-no" title="statement not covered" > if (Object.prototype.toString.call(requestHeader) === '[object Headers]') {</span>
|
|
911
926
|
<span class="cstat-no" title="statement not covered" > item.requestHeader = {}</span>
|
|
912
927
|
<span class="cstat-no" title="statement not covered" > for (const [key, value] of <Headers>requestHeader) {</span>
|
|
913
928
|
<span class="cstat-no" title="statement not covered" > item.requestHeader[key] = value</span>
|
|
914
929
|
}
|
|
915
930
|
} else {
|
|
916
|
-
item.requestHeader = requestHeader
|
|
931
|
+
<span class="cstat-no" title="statement not covered" > item.requestHeader = requestHeader</span>
|
|
917
932
|
}
|
|
918
933
|
|
|
919
934
|
// save GET data
|
|
920
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (url.search &&
|
|
935
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (url.search && url.searchParams) {</span>
|
|
921
936
|
<span class="cstat-no" title="statement not covered" > item.getData = {}</span>
|
|
922
937
|
<span class="cstat-no" title="statement not covered" > for (const [key, value] of url.searchParams) {</span>
|
|
923
938
|
<span class="cstat-no" title="statement not covered" > item.getData[key] = value</span>
|
|
@@ -925,7 +940,7 @@ export class FetchProxyHandler<T extends typeof fetch> implements ProxyHan
|
|
|
925
940
|
}
|
|
926
941
|
|
|
927
942
|
// save POST data
|
|
928
|
-
|
|
943
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (init?.body) {</span>
|
|
929
944
|
<span class="cstat-no" title="statement not covered" > item.requestData = genStringBody(init.body)</span>
|
|
930
945
|
}
|
|
931
946
|
}
|
|
@@ -989,8 +1004,8 @@ export class FetchProxyHandler<T extends typeof fetch> implements ProxyHan
|
|
|
989
1004
|
}
|
|
990
1005
|
}
|
|
991
1006
|
|
|
992
|
-
export default class
|
|
993
|
-
public static create(
|
|
1007
|
+
<span class="cstat-no" title="statement not covered" >export default class F</span>etchProxy {
|
|
1008
|
+
public <span class="fstat-no" title="function not covered" >static </span>create(
|
|
994
1009
|
ignoredHeaders: boolean | string[],
|
|
995
1010
|
setSessionTokenHeader: (cb: (name: string, value: string) => void) => void,
|
|
996
1011
|
sanitize: (data: RequestResponseData) => RequestResponseData,
|
|
@@ -998,7 +1013,7 @@ export default class FetchProxy {
|
|
|
998
1013
|
isServiceUrl: (url: string) => boolean,
|
|
999
1014
|
tokenUrlMatcher?: (url: string) => boolean,
|
|
1000
1015
|
) {
|
|
1001
|
-
return new Proxy(
|
|
1016
|
+
<span class="cstat-no" title="statement not covered" > return new Proxy(</span>
|
|
1002
1017
|
fetch,
|
|
1003
1018
|
new FetchProxyHandler(
|
|
1004
1019
|
ignoredHeaders,
|
|
@@ -1018,7 +1033,7 @@ export default class FetchProxy {
|
|
|
1018
1033
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1019
1034
|
Code coverage generated by
|
|
1020
1035
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1021
|
-
at
|
|
1036
|
+
at 2024-01-23T12:19:37.435Z
|
|
1022
1037
|
</div>
|
|
1023
1038
|
<script src="../../../prettify.js"></script>
|
|
1024
1039
|
<script>
|