@openreplay/tracker 7.0.3 → 7.0.4

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 (66) hide show
  1. package/cjs/app/index.d.ts +1 -0
  2. package/cjs/app/index.js +4 -2
  3. package/cjs/common/interaction.d.ts +1 -0
  4. package/cjs/index.js +1 -1
  5. package/coverage/clover.xml +1412 -900
  6. package/coverage/coverage-final.json +22 -16
  7. package/coverage/lcov-report/index.html +58 -43
  8. package/coverage/lcov-report/main/app/guards.ts.html +42 -42
  9. package/coverage/lcov-report/main/app/index.html +46 -46
  10. package/coverage/lcov-report/main/app/index.ts.html +104 -8
  11. package/coverage/lcov-report/main/app/logger.ts.html +1 -1
  12. package/coverage/lcov-report/main/app/messages.gen.ts.html +146 -146
  13. package/coverage/lcov-report/main/app/observer/iframe_observer.ts.html +1 -1
  14. package/coverage/lcov-report/main/app/observer/iframe_offsets.ts.html +1 -1
  15. package/coverage/lcov-report/main/app/observer/index.html +1 -1
  16. package/coverage/lcov-report/main/app/observer/shadow_root_observer.ts.html +1 -1
  17. package/coverage/lcov-report/main/app/observer/top_observer.ts.html +1 -1
  18. package/coverage/lcov-report/main/app/sanitizer.ts.html +98 -98
  19. package/coverage/lcov-report/main/app/session.ts.html +47 -5
  20. package/coverage/lcov-report/main/app/ticker.ts.html +1 -1
  21. package/coverage/lcov-report/main/index.html +24 -24
  22. package/coverage/lcov-report/main/index.ts.html +138 -6
  23. package/coverage/lcov-report/main/modules/Network/fetchProxy.ts.html +949 -0
  24. package/coverage/lcov-report/main/{vendors/finder → modules/Network}/index.html +72 -12
  25. package/coverage/lcov-report/main/modules/Network/index.ts.html +169 -0
  26. package/coverage/lcov-report/main/{app/nodes.ts.html → modules/Network/networkMessage.ts.html} +130 -115
  27. package/coverage/lcov-report/main/modules/Network/utils.ts.html +700 -0
  28. package/coverage/lcov-report/main/modules/Network/xhrProxy.ts.html +823 -0
  29. package/coverage/lcov-report/main/modules/attributeSender.ts.html +217 -0
  30. package/coverage/lcov-report/main/modules/axiosSpy.ts.html +1 -1
  31. package/coverage/lcov-report/main/modules/connection.ts.html +1 -1
  32. package/coverage/lcov-report/main/modules/console.ts.html +174 -147
  33. package/coverage/lcov-report/main/modules/constructedStyleSheets.ts.html +1 -1
  34. package/coverage/lcov-report/main/modules/cssrules.ts.html +1 -1
  35. package/coverage/lcov-report/main/modules/exception.ts.html +1 -1
  36. package/coverage/lcov-report/main/modules/featureFlags.ts.html +415 -0
  37. package/coverage/lcov-report/main/modules/focus.ts.html +1 -1
  38. package/coverage/lcov-report/main/modules/fonts.ts.html +1 -1
  39. package/coverage/lcov-report/main/modules/img.ts.html +6 -6
  40. package/coverage/lcov-report/main/modules/index.html +54 -24
  41. package/coverage/lcov-report/main/modules/input.ts.html +1 -1
  42. package/coverage/lcov-report/main/modules/mouse.ts.html +1 -1
  43. package/coverage/lcov-report/main/modules/network.ts.html +70 -70
  44. package/coverage/lcov-report/main/modules/performance.ts.html +1 -1
  45. package/coverage/lcov-report/main/modules/scroll.ts.html +1 -1
  46. package/coverage/lcov-report/main/modules/selection.ts.html +1 -1
  47. package/coverage/lcov-report/main/modules/tabs.ts.html +1 -1
  48. package/coverage/lcov-report/main/modules/timing.ts.html +1 -1
  49. package/coverage/lcov-report/main/modules/viewport.ts.html +1 -1
  50. package/coverage/lcov-report/main/utils.ts.html +97 -97
  51. package/coverage/lcov-report/webworker/BatchWriter.ts.html +125 -176
  52. package/coverage/lcov-report/webworker/MessageEncoder.gen.ts.html +88 -88
  53. package/coverage/lcov-report/webworker/PrimitiveEncoder.ts.html +110 -110
  54. package/coverage/lcov-report/webworker/QueueSender.ts.html +140 -110
  55. package/coverage/lcov-report/webworker/index.html +56 -71
  56. package/coverage/lcov-report/webworker/index.ts.html +34 -10
  57. package/coverage/lcov.info +2525 -1553
  58. package/lib/app/index.d.ts +1 -0
  59. package/lib/app/index.js +4 -2
  60. package/lib/common/interaction.d.ts +1 -0
  61. package/lib/common/tsconfig.tsbuildinfo +1 -1
  62. package/lib/index.js +1 -1
  63. package/package.json +1 -1
  64. package/coverage/lcov-report/main/app/observer/observer.ts.html +0 -1282
  65. package/coverage/lcov-report/main/vendors/finder/finder.ts.html +0 -1381
  66. package/coverage/lcov-report/webworker/StringDictionary.ts.html +0 -124
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">96.07% </span>
26
+ <span class="strong">35.29% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>49/51</span>
28
+ <span class='fraction'>18/51</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">79.16% </span>
33
+ <span class="strong">29.16% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>19/24</span>
35
+ <span class='fraction'>7/24</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">85.71% </span>
40
+ <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>12/14</span>
42
+ <span class='fraction'>0/14</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">96.07% </span>
47
+ <span class="strong">35.29% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>49/51</span>
49
+ <span class='fraction'>18/51</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line high'></div>
64
+ <div class='status-line low'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -170,112 +170,112 @@
170
170
  <a name='L105'></a><a href='#L105'>105</a>
171
171
  <a name='L106'></a><a href='#L106'>106</a>
172
172
  <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
173
+ <a name='L108'></a><a href='#L108'>108</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
174
174
  <span class="cline-any cline-neutral">&nbsp;</span>
175
- <span class="cline-any cline-yes">2x</span>
176
- <span class="cline-any cline-neutral">&nbsp;</span>
177
- <span class="cline-any cline-yes">2x</span>
175
+ <span class="cline-any cline-yes">1x</span>
178
176
  <span class="cline-any cline-neutral">&nbsp;</span>
179
- <span class="cline-any cline-yes">2x</span>
177
+ <span class="cline-any cline-yes">1x</span>
180
178
  <span class="cline-any cline-neutral">&nbsp;</span>
179
+ <span class="cline-any cline-yes">1x</span>
181
180
  <span class="cline-any cline-neutral">&nbsp;</span>
182
181
  <span class="cline-any cline-neutral">&nbsp;</span>
183
182
  <span class="cline-any cline-neutral">&nbsp;</span>
184
- <span class="cline-any cline-yes">2x</span>
185
- <span class="cline-any cline-yes">2x</span>
186
- <span class="cline-any cline-yes">2x</span>
187
183
  <span class="cline-any cline-neutral">&nbsp;</span>
188
- <span class="cline-any cline-yes">2x</span>
189
184
  <span class="cline-any cline-yes">1x</span>
190
- <span class="cline-any cline-neutral">&nbsp;</span>
191
- <span class="cline-any cline-yes">2x</span>
185
+ <span class="cline-any cline-yes">1x</span>
186
+ <span class="cline-any cline-no">&nbsp;</span>
192
187
  <span class="cline-any cline-neutral">&nbsp;</span>
193
188
  <span class="cline-any cline-yes">1x</span>
194
189
  <span class="cline-any cline-no">&nbsp;</span>
195
190
  <span class="cline-any cline-neutral">&nbsp;</span>
196
- <span class="cline-any cline-yes">2x</span>
191
+ <span class="cline-any cline-yes">1x</span>
197
192
  <span class="cline-any cline-neutral">&nbsp;</span>
198
- <span class="cline-any cline-yes">5x</span>
193
+ <span class="cline-any cline-no">&nbsp;</span>
199
194
  <span class="cline-any cline-no">&nbsp;</span>
200
195
  <span class="cline-any cline-neutral">&nbsp;</span>
201
- <span class="cline-any cline-yes">2x</span>
202
- <span class="cline-any cline-yes">2x</span>
196
+ <span class="cline-any cline-yes">1x</span>
197
+ <span class="cline-any cline-neutral">&nbsp;</span>
198
+ <span class="cline-any cline-no">&nbsp;</span>
199
+ <span class="cline-any cline-no">&nbsp;</span>
203
200
  <span class="cline-any cline-neutral">&nbsp;</span>
201
+ <span class="cline-any cline-yes">1x</span>
202
+ <span class="cline-any cline-no">&nbsp;</span>
204
203
  <span class="cline-any cline-neutral">&nbsp;</span>
205
204
  <span class="cline-any cline-neutral">&nbsp;</span>
206
- <span class="cline-any cline-yes">2x</span>
207
- <span class="cline-any cline-yes">4x</span>
208
205
  <span class="cline-any cline-neutral">&nbsp;</span>
206
+ <span class="cline-any cline-yes">1x</span>
207
+ <span class="cline-any cline-no">&nbsp;</span>
209
208
  <span class="cline-any cline-neutral">&nbsp;</span>
210
209
  <span class="cline-any cline-neutral">&nbsp;</span>
211
210
  <span class="cline-any cline-neutral">&nbsp;</span>
212
- <span class="cline-any cline-yes">2x</span>
213
211
  <span class="cline-any cline-neutral">&nbsp;</span>
214
- <span class="cline-any cline-yes">2x</span>
215
- <span class="cline-any cline-yes">2x</span>
216
- <span class="cline-any cline-yes">5x</span>
217
212
  <span class="cline-any cline-yes">1x</span>
218
213
  <span class="cline-any cline-neutral">&nbsp;</span>
219
- <span class="cline-any cline-yes">4x</span>
214
+ <span class="cline-any cline-yes">1x</span>
215
+ <span class="cline-any cline-yes">1x</span>
216
+ <span class="cline-any cline-no">&nbsp;</span>
217
+ <span class="cline-any cline-no">&nbsp;</span>
220
218
  <span class="cline-any cline-neutral">&nbsp;</span>
219
+ <span class="cline-any cline-no">&nbsp;</span>
221
220
  <span class="cline-any cline-neutral">&nbsp;</span>
222
221
  <span class="cline-any cline-neutral">&nbsp;</span>
223
222
  <span class="cline-any cline-neutral">&nbsp;</span>
224
- <span class="cline-any cline-yes">4x</span>
225
223
  <span class="cline-any cline-neutral">&nbsp;</span>
224
+ <span class="cline-any cline-no">&nbsp;</span>
226
225
  <span class="cline-any cline-neutral">&nbsp;</span>
227
- <span class="cline-any cline-yes">2x</span>
228
- <span class="cline-any cline-yes">3x</span>
229
- <span class="cline-any cline-yes">3x</span>
230
- <span class="cline-any cline-yes">1x</span>
231
226
  <span class="cline-any cline-neutral">&nbsp;</span>
232
- <span class="cline-any cline-yes">2x</span>
233
- <span class="cline-any cline-yes">2x</span>
234
227
  <span class="cline-any cline-yes">1x</span>
228
+ <span class="cline-any cline-no">&nbsp;</span>
229
+ <span class="cline-any cline-no">&nbsp;</span>
230
+ <span class="cline-any cline-no">&nbsp;</span>
235
231
  <span class="cline-any cline-neutral">&nbsp;</span>
236
- <span class="cline-any cline-yes">2x</span>
232
+ <span class="cline-any cline-no">&nbsp;</span>
233
+ <span class="cline-any cline-no">&nbsp;</span>
234
+ <span class="cline-any cline-no">&nbsp;</span>
237
235
  <span class="cline-any cline-neutral">&nbsp;</span>
236
+ <span class="cline-any cline-no">&nbsp;</span>
238
237
  <span class="cline-any cline-neutral">&nbsp;</span>
239
- <span class="cline-any cline-yes">2x</span>
240
- <span class="cline-any cline-yes">26x</span>
241
- <span class="cline-any cline-yes">26x</span>
242
238
  <span class="cline-any cline-neutral">&nbsp;</span>
243
- <span class="cline-any cline-yes">3x</span>
244
239
  <span class="cline-any cline-yes">1x</span>
240
+ <span class="cline-any cline-no">&nbsp;</span>
241
+ <span class="cline-any cline-no">&nbsp;</span>
245
242
  <span class="cline-any cline-neutral">&nbsp;</span>
243
+ <span class="cline-any cline-no">&nbsp;</span>
244
+ <span class="cline-any cline-no">&nbsp;</span>
246
245
  <span class="cline-any cline-neutral">&nbsp;</span>
247
246
  <span class="cline-any cline-neutral">&nbsp;</span>
248
247
  <span class="cline-any cline-neutral">&nbsp;</span>
249
248
  <span class="cline-any cline-neutral">&nbsp;</span>
250
249
  <span class="cline-any cline-neutral">&nbsp;</span>
251
- <span class="cline-any cline-yes">3x</span>
252
250
  <span class="cline-any cline-neutral">&nbsp;</span>
251
+ <span class="cline-any cline-no">&nbsp;</span>
253
252
  <span class="cline-any cline-neutral">&nbsp;</span>
254
- <span class="cline-any cline-yes">23x</span>
255
253
  <span class="cline-any cline-neutral">&nbsp;</span>
254
+ <span class="cline-any cline-no">&nbsp;</span>
256
255
  <span class="cline-any cline-neutral">&nbsp;</span>
257
256
  <span class="cline-any cline-neutral">&nbsp;</span>
258
257
  <span class="cline-any cline-neutral">&nbsp;</span>
259
258
  <span class="cline-any cline-neutral">&nbsp;</span>
260
- <span class="cline-any cline-yes">2x</span>
261
- <span class="cline-any cline-yes">2x</span>
262
- <span class="cline-any cline-yes">2x</span>
263
259
  <span class="cline-any cline-neutral">&nbsp;</span>
264
260
  <span class="cline-any cline-yes">1x</span>
261
+ <span class="cline-any cline-no">&nbsp;</span>
262
+ <span class="cline-any cline-no">&nbsp;</span>
265
263
  <span class="cline-any cline-neutral">&nbsp;</span>
264
+ <span class="cline-any cline-no">&nbsp;</span>
266
265
  <span class="cline-any cline-neutral">&nbsp;</span>
267
266
  <span class="cline-any cline-neutral">&nbsp;</span>
268
267
  <span class="cline-any cline-neutral">&nbsp;</span>
269
- <span class="cline-any cline-yes">25x</span>
270
268
  <span class="cline-any cline-neutral">&nbsp;</span>
269
+ <span class="cline-any cline-no">&nbsp;</span>
271
270
  <span class="cline-any cline-neutral">&nbsp;</span>
272
- <span class="cline-any cline-yes">2x</span>
273
- <span class="cline-any cline-yes">2x</span>
271
+ <span class="cline-any cline-neutral">&nbsp;</span>
272
+ <span class="cline-any cline-yes">1x</span>
273
+ <span class="cline-any cline-no">&nbsp;</span>
274
274
  <span class="cline-any cline-neutral">&nbsp;</span>
275
275
  <span class="cline-any cline-neutral">&nbsp;</span>
276
- <span class="cline-any cline-yes">2x</span>
277
- <span class="cline-any cline-yes">2x</span>
278
- <span class="cline-any cline-yes">2x</span>
276
+ <span class="cline-any cline-no">&nbsp;</span>
277
+ <span class="cline-any cline-no">&nbsp;</span>
278
+ <span class="cline-any cline-no">&nbsp;</span>
279
279
  <span class="cline-any cline-neutral">&nbsp;</span>
280
280
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const DEPRECATED_ATTRS = { htmlmasked: 'hidden', masked: 'obscured' }
281
281
  &nbsp;
@@ -289,29 +289,29 @@ export const MAX_STR_LEN = 1e5
289
289
  // https://github.com/mdn/content/issues/4713
290
290
  // Maybe move to timer/ticker
291
291
  let timeOrigin: number = IN_BROWSER ? Date.now() - performance.now() : <span class="branch-1 cbranch-no" title="branch not covered" >0</span>
292
- export function adjustTimeOrigin() {
293
- timeOrigin = Date.now() - performance.now()
292
+ export function <span class="fstat-no" title="function not covered" >adjustTimeOrigin(</span>) {
293
+ <span class="cstat-no" title="statement not covered" > timeOrigin = Date.now() - performance.now()</span>
294
294
  }
295
- export function getTimeOrigin() {
296
- return timeOrigin
295
+ export function <span class="fstat-no" title="function not covered" >getTimeOrigin(</span>) {
296
+ <span class="cstat-no" title="statement not covered" > return timeOrigin</span>
297
297
  }
298
298
  export const now: () =&gt; number =
299
299
  IN_BROWSER &amp;&amp; !!performance.now
300
- ? () =&gt; Math.round(performance.now() + timeOrigin)
300
+ ? <span class="fstat-no" title="function not covered" >() =</span>&gt; <span class="cstat-no" title="statement not covered" >Math.round(performance.now() + timeOrigin)</span>
301
301
  : <span class="fstat-no" title="function not covered" ><span class="branch-1 cbranch-no" title="branch not covered" >() =</span>&gt; <span class="cstat-no" title="statement not covered" >Date.now()</span></span>
302
302
  &nbsp;
303
303
  export const stars: (str: string) =&gt; string =
304
304
  'repeat' in String.prototype
305
- ? (str: string): string =&gt; '*'.repeat(str.length)
305
+ ? <span class="fstat-no" title="function not covered" >(s</span>tr: string): string =&gt; <span class="cstat-no" title="statement not covered" >'*'.repeat(str.length)</span>
306
306
  : <span class="fstat-no" title="function not covered" ><span class="branch-1 cbranch-no" title="branch not covered" >(s</span>tr: string): string =&gt; <span class="cstat-no" title="statement not covered" >str.replace(/./g, '*')</span></span>
307
307
  &nbsp;
308
- export function normSpaces(str: string): string {
309
- return str.trim().replace(/\s+/g, ' ')
308
+ export function <span class="fstat-no" title="function not covered" >normSpaces(</span>str: string): string {
309
+ <span class="cstat-no" title="statement not covered" > return str.trim().replace(/\s+/g, ' ')</span>
310
310
  }
311
311
  &nbsp;
312
312
  // isAbsoluteUrl regexp: /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url)
313
- export function isURL(s: string): boolean {
314
- return s.startsWith('https://') || s.startsWith('http://')
313
+ export function <span class="fstat-no" title="function not covered" >isURL(</span>s: string): boolean {
314
+ <span class="cstat-no" title="statement not covered" > return s.startsWith('https://') || s.startsWith('http://')</span>
315
315
  }
316
316
  &nbsp;
317
317
  // TODO: JOIN IT WITH LOGGER somehow (use logging decorators?); Don't forget about index.js loggin when there is no logger instance.
@@ -319,70 +319,70 @@ export function isURL(s: string): boolean {
319
319
  export const DOCS_HOST = 'https://docs.openreplay.com'
320
320
  &nbsp;
321
321
  const warnedFeatures: { [key: string]: boolean } = {}
322
- export function deprecationWarn(nameOfFeature: string, useInstead: string, docsPath = '/'): void {
323
- if (warnedFeatures[nameOfFeature]) {
324
- return
322
+ export function <span class="fstat-no" title="function not covered" >deprecationWarn(</span>nameOfFeature: string, useInstead: string, docsPath = <span class="branch-0 cbranch-no" title="branch not covered" >'/')</span>: void {
323
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (warnedFeatures[nameOfFeature]) {</span>
324
+ <span class="cstat-no" title="statement not covered" > return</span>
325
325
  }
326
- console.warn(
326
+ <span class="cstat-no" title="statement not covered" > console.warn(</span>
327
327
  `OpenReplay: ${nameOfFeature} is deprecated. ${
328
- useInstead ? `Please, use ${useInstead} instead.` : <span class="branch-1 cbranch-no" title="branch not covered" >''</span>
328
+ useInstead ? `Please, use ${useInstead} instead.` : ''
329
329
  } Visit ${DOCS_HOST}${docsPath} for more information.`,
330
330
  )
331
- warnedFeatures[nameOfFeature] = true
331
+ <span class="cstat-no" title="statement not covered" > warnedFeatures[nameOfFeature] = true</span>
332
332
  }
333
333
  &nbsp;
334
- export function getLabelAttribute(e: Element): string | null {
335
- let value = e.getAttribute('data-openreplay-label')
336
- if (value !== null) {
337
- return value
334
+ export function <span class="fstat-no" title="function not covered" >getLabelAttribute(</span>e: Element): string | null {
335
+ let value = <span class="cstat-no" title="statement not covered" >e.getAttribute('data-openreplay-label')</span>
336
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (value !== null) {</span>
337
+ <span class="cstat-no" title="statement not covered" > return value</span>
338
338
  }
339
- value = e.getAttribute('data-asayer-label')
340
- if (value !== null) {
341
- deprecationWarn('"data-asayer-label" attribute', '"data-openreplay-label" attribute', '/')
339
+ <span class="cstat-no" title="statement not covered" > value = e.getAttribute('data-asayer-label')</span>
340
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (value !== null) {</span>
341
+ <span class="cstat-no" title="statement not covered" > deprecationWarn('"data-asayer-label" attribute', '"data-openreplay-label" attribute', '/')</span>
342
342
  }
343
- return value
343
+ <span class="cstat-no" title="statement not covered" > return value</span>
344
344
  }
345
345
  &nbsp;
346
- export function hasOpenreplayAttribute(e: Element, attr: string): boolean {
347
- const newName = `data-openreplay-${attr}`
348
- if (e.hasAttribute(newName)) {
346
+ export function <span class="fstat-no" title="function not covered" >hasOpenreplayAttribute(</span>e: Element, attr: string): boolean {
347
+ const newName = <span class="cstat-no" title="statement not covered" >`data-openreplay-${attr}`</span>
348
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (e.hasAttribute(newName)) {</span>
349
349
  // @ts-ignore
350
- if (DEPRECATED_ATTRS[attr]) {
351
- deprecationWarn(
350
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (DEPRECATED_ATTRS[attr]) {</span>
351
+ <span class="cstat-no" title="statement not covered" > deprecationWarn(</span>
352
352
  `"${newName}" attribute`,
353
353
  // @ts-ignore
354
354
  `"${DEPRECATED_ATTRS[attr] as string}" attribute`,
355
355
  '/installation/sanitize-data',
356
356
  )
357
357
  }
358
- return true
358
+ <span class="cstat-no" title="statement not covered" > return true</span>
359
359
  }
360
360
  &nbsp;
361
- return false
361
+ <span class="cstat-no" title="statement not covered" > return false</span>
362
362
  }
363
363
  &nbsp;
364
364
  /**
365
365
  * checks if iframe is accessible
366
366
  **/
367
- export function canAccessIframe(iframe: HTMLIFrameElement) {
368
- try {
369
- return Boolean(iframe.contentDocument)
367
+ export function <span class="fstat-no" title="function not covered" >canAccessIframe(</span>iframe: HTMLIFrameElement) {
368
+ <span class="cstat-no" title="statement not covered" > try {</span>
369
+ <span class="cstat-no" title="statement not covered" > return Boolean(iframe.contentDocument)</span>
370
370
  } catch (e) {
371
- return false
371
+ <span class="cstat-no" title="statement not covered" > return false</span>
372
372
  }
373
373
  }
374
374
  &nbsp;
375
- function dec2hex(dec: number) {
376
- return dec.toString(16).padStart(2, '0')
375
+ function <span class="fstat-no" title="function not covered" >dec2hex(</span>dec: number) {
376
+ <span class="cstat-no" title="statement not covered" > return dec.toString(16).padStart(2, '0')</span>
377
377
  }
378
378
  &nbsp;
379
- export function generateRandomId(len?: number) {
380
- const arr: Uint8Array = new Uint8Array((len || 40) / 2)
379
+ export function <span class="fstat-no" title="function not covered" >generateRandomId(</span>len?: number) {
380
+ const arr: Uint8Array = <span class="cstat-no" title="statement not covered" >new Uint8Array((len || 40) / 2)</span>
381
381
  // msCrypto = IE11
382
382
  // @ts-ignore
383
- const safeCrypto = window.crypto || <span class="branch-1 cbranch-no" title="branch not covered" >window.msCrypto</span>
384
- safeCrypto.getRandomValues(arr)
385
- return Array.from(arr, dec2hex).join('')
383
+ const safeCrypto = <span class="cstat-no" title="statement not covered" >window.crypto || window.msCrypto</span>
384
+ <span class="cstat-no" title="statement not covered" > safeCrypto.getRandomValues(arr)</span>
385
+ <span class="cstat-no" title="statement not covered" > return Array.from(arr, dec2hex).join('')</span>
386
386
  }
387
387
  &nbsp;</pre></td></tr></table></pre>
388
388
 
@@ -391,7 +391,7 @@ export function generateRandomId(len?: number) {
391
391
  <div class='footer quiet pad2 space-top1 center small'>
392
392
  Code coverage generated by
393
393
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
394
- at 2023-05-31T15:51:28.464Z
394
+ at 2023-06-28T10:44:28.733Z
395
395
  </div>
396
396
  <script src="../prettify.js"></script>
397
397
  <script>