@zajno/common 1.5.6 → 1.5.7

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 (164) hide show
  1. package/coverage/clover.xml +426 -344
  2. package/coverage/coverage-final.json +37 -36
  3. package/coverage/lcov-report/async/index.html +12 -7
  4. package/coverage/lcov-report/async/timeout.ts.html +24 -19
  5. package/coverage/lcov-report/block-navigation.js +8 -0
  6. package/coverage/lcov-report/disposer.ts.html +376 -0
  7. package/coverage/lcov-report/enumHelper.ts.html +454 -0
  8. package/coverage/lcov-report/favicon.png +0 -0
  9. package/coverage/lcov-report/index.html +54 -34
  10. package/coverage/lcov-report/logger/index.html +116 -0
  11. package/coverage/lcov-report/logger/index.ts.html +298 -0
  12. package/coverage/lcov-report/parallel.ts.html +388 -0
  13. package/coverage/lcov-report/queue/index.html +116 -0
  14. package/coverage/lcov-report/queue/parallel.ts.html +409 -0
  15. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  16. package/coverage/lcov-report/sorter.js +26 -0
  17. package/coverage/lcov-report/src/__tests__/helpers/index.html +8 -3
  18. package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +8 -3
  19. package/coverage/lcov-report/src/async/arrays.ts.html +15 -10
  20. package/coverage/lcov-report/src/async/index.html +13 -8
  21. package/coverage/lcov-report/src/async/timeout.ts.html +24 -19
  22. package/coverage/lcov-report/src/cache.ts.html +15 -10
  23. package/coverage/lcov-report/src/dates/calc.ts.html +10 -5
  24. package/coverage/lcov-report/src/dates/convert.ts.html +9 -4
  25. package/coverage/lcov-report/src/dates/datex.ts.html +8 -3
  26. package/coverage/lcov-report/src/dates/format.ts.html +10 -5
  27. package/coverage/lcov-report/src/dates/index.html +19 -14
  28. package/coverage/lcov-report/src/dates/index.ts.html +8 -3
  29. package/coverage/lcov-report/src/dates/parse.ts.html +9 -4
  30. package/coverage/lcov-report/src/dates/period.ts.html +8 -3
  31. package/coverage/lcov-report/src/dates/shift.ts.html +9 -4
  32. package/coverage/lcov-report/src/dates/types.ts.html +8 -3
  33. package/coverage/lcov-report/src/dates/yearDate.ts.html +10 -5
  34. package/coverage/lcov-report/src/disposer.ts.html +65 -21
  35. package/coverage/lcov-report/src/enumHelper.ts.html +12 -7
  36. package/coverage/lcov-report/src/event.ts.html +50 -21
  37. package/coverage/lcov-report/src/fields/index.html +12 -7
  38. package/coverage/lcov-report/src/fields/update.ts.html +12 -7
  39. package/coverage/lcov-report/src/functions.ts.html +10 -5
  40. package/coverage/lcov-report/src/index.html +52 -47
  41. package/coverage/lcov-report/src/lazy.light.ts.html +9 -4
  42. package/coverage/lcov-report/src/logger/batch.ts.html +9 -4
  43. package/coverage/lcov-report/src/logger/console.ts.html +16 -11
  44. package/coverage/lcov-report/src/logger/index.html +13 -8
  45. package/coverage/lcov-report/src/logger/index.ts.html +38 -33
  46. package/coverage/lcov-report/src/logger/named.ts.html +26 -21
  47. package/coverage/lcov-report/src/logger/proxy.ts.html +20 -15
  48. package/coverage/lcov-report/src/math/arrays.ts.html +33 -28
  49. package/coverage/lcov-report/src/math/calc.ts.html +18 -13
  50. package/coverage/lcov-report/src/math/distribution.ts.html +10 -5
  51. package/coverage/lcov-report/src/math/index.html +16 -11
  52. package/coverage/lcov-report/src/math/index.ts.html +14 -9
  53. package/coverage/lcov-report/src/observersMap.ts.html +12 -7
  54. package/coverage/lcov-report/src/observingCache.ts.html +12 -7
  55. package/coverage/lcov-report/src/queue/index.html +116 -0
  56. package/coverage/lcov-report/src/queue/parallel.ts.html +499 -0
  57. package/coverage/lcov-report/src/tempoCache.ts.html +9 -4
  58. package/coverage/lcov-report/src/transitionObserver.ts.html +14 -9
  59. package/coverage/lcov-report/src/types.ts.html +13 -8
  60. package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +8 -3
  61. package/coverage/lcov-report/src/validation/creditCard.ts.html +8 -3
  62. package/coverage/lcov-report/src/validation/helpers.ts.html +13 -8
  63. package/coverage/lcov-report/src/validation/index.html +11 -6
  64. package/coverage/lcov-report/src/validation/index.ts.html +8 -3
  65. package/coverage/lcov-report/src/validation/types.ts.html +8 -3
  66. package/coverage/lcov-report/src/validation/validators.ts.html +8 -3
  67. package/coverage/lcov-report/src/validation/wrappers.ts.html +8 -3
  68. package/coverage/lcov-report/src/viewModels/CommonModel.ts.html +10 -5
  69. package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +8 -3
  70. package/coverage/lcov-report/src/viewModels/LoadingModel.ts.html +10 -5
  71. package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +13 -8
  72. package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +8 -3
  73. package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +10 -5
  74. package/coverage/lcov-report/src/viewModels/TextModel.ts.html +13 -8
  75. package/coverage/lcov-report/src/viewModels/Validatable.ts.html +12 -7
  76. package/coverage/lcov-report/src/viewModels/index.html +22 -17
  77. package/coverage/lcov-report/src/viewModels/wrappers.ts.html +8 -3
  78. package/coverage/lcov.info +487 -458
  79. package/lib/async/arrays.extend.js +4 -4
  80. package/lib/async/arrays.extend.js.map +1 -1
  81. package/lib/cache.js +6 -6
  82. package/lib/cache.js.map +1 -1
  83. package/lib/dates/calc.js +7 -7
  84. package/lib/dates/calc.js.map +1 -1
  85. package/lib/dates/convert.js +11 -11
  86. package/lib/dates/convert.js.map +1 -1
  87. package/lib/dates/format.js +6 -6
  88. package/lib/dates/format.js.map +1 -1
  89. package/lib/dates/period.js +2 -2
  90. package/lib/dates/period.js.map +1 -1
  91. package/lib/dates/shift.js +5 -5
  92. package/lib/dates/shift.js.map +1 -1
  93. package/lib/dates/yearDate.js +2 -2
  94. package/lib/dates/yearDate.js.map +1 -1
  95. package/lib/disposer.d.ts +4 -2
  96. package/lib/disposer.d.ts.map +1 -1
  97. package/lib/disposer.js +10 -5
  98. package/lib/disposer.js.map +1 -1
  99. package/lib/enumHelper.d.ts +2 -2
  100. package/lib/enumHelper.d.ts.map +1 -1
  101. package/lib/enumHelper.js.map +1 -1
  102. package/lib/event.d.ts.map +1 -1
  103. package/lib/event.js +8 -2
  104. package/lib/event.js.map +1 -1
  105. package/lib/fields/update.js +2 -2
  106. package/lib/fields/update.js.map +1 -1
  107. package/lib/lazy.js +2 -2
  108. package/lib/lazy.js.map +1 -1
  109. package/lib/logger/file.js.map +1 -1
  110. package/lib/logger/index.d.ts +1 -1
  111. package/lib/logger/index.d.ts.map +1 -1
  112. package/lib/logger/index.js +1 -1
  113. package/lib/logger/index.js.map +1 -1
  114. package/lib/math/arrays.js +2 -2
  115. package/lib/math/arrays.js.map +1 -1
  116. package/lib/models/EntityWithStatus.js.map +1 -1
  117. package/lib/observersMap.js +2 -2
  118. package/lib/observersMap.js.map +1 -1
  119. package/lib/observingCache.js +1 -1
  120. package/lib/observingCache.js.map +1 -1
  121. package/lib/pool.js +1 -1
  122. package/lib/pool.js.map +1 -1
  123. package/lib/queue/parallel.d.ts +22 -0
  124. package/lib/queue/parallel.d.ts.map +1 -0
  125. package/lib/queue/parallel.js +117 -0
  126. package/lib/queue/parallel.js.map +1 -0
  127. package/lib/services/localization/LocalizationManager.js +1 -1
  128. package/lib/services/localization/LocalizationManager.js.map +1 -1
  129. package/lib/services/storage/web/localStorage.js +1 -1
  130. package/lib/services/storage/web/localStorage.js.map +1 -1
  131. package/lib/services/storage/web/sessionStorage.js +1 -1
  132. package/lib/services/storage/web/sessionStorage.js.map +1 -1
  133. package/lib/transitionObserver.js +3 -3
  134. package/lib/transitionObserver.js.map +1 -1
  135. package/lib/validation/wrappers.js +1 -1
  136. package/lib/validation/wrappers.js.map +1 -1
  137. package/lib/viewModels/CommonModel.js +1 -1
  138. package/lib/viewModels/CommonModel.js.map +1 -1
  139. package/lib/viewModels/FlagModel.js +1 -1
  140. package/lib/viewModels/FlagModel.js.map +1 -1
  141. package/lib/viewModels/MultiSelectModel.js +5 -5
  142. package/lib/viewModels/MultiSelectModel.js.map +1 -1
  143. package/lib/viewModels/NumberModel.js +1 -1
  144. package/lib/viewModels/NumberModel.js.map +1 -1
  145. package/lib/viewModels/PromptModal.js +1 -1
  146. package/lib/viewModels/PromptModal.js.map +1 -1
  147. package/lib/viewModels/SelectModel.js +4 -4
  148. package/lib/viewModels/SelectModel.js.map +1 -1
  149. package/lib/viewModels/TextModel.js +3 -3
  150. package/lib/viewModels/TextModel.js.map +1 -1
  151. package/lib/viewModels/Validatable.js +3 -3
  152. package/lib/viewModels/Validatable.js.map +1 -1
  153. package/lib/viewModels/ValueModel.js +1 -1
  154. package/lib/viewModels/ValueModel.js.map +1 -1
  155. package/package.json +10 -11
  156. package/src/.DS_Store +0 -0
  157. package/src/disposer.ts +19 -6
  158. package/src/enumHelper.ts +2 -2
  159. package/src/event.ts +8 -0
  160. package/src/queue/__tests__/parallel.test.ts +57 -0
  161. package/src/queue/parallel.ts +138 -0
  162. package/src/services/storage/web/localStorage.ts +1 -1
  163. package/src/services/storage/web/sessionStorage.ts +1 -1
  164. package/yarn.lock +1066 -1441
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">65% </span>
26
+ <span class="strong">62.79% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>26/40</span>
28
+ <span class='fraction'>27/43</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">35% </span>
33
+ <span class="strong">26.67% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>7/20</span>
35
+ <span class='fraction'>4/15</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">83.33% </span>
40
+ <span class="strong">76.92% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>10/12</span>
42
+ <span class='fraction'>10/13</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">62.16% </span>
47
+ <span class="strong">60% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>23/37</span>
49
+ <span class='fraction'>24/40</span>
50
50
  </div>
51
51
 
52
52
 
@@ -54,6 +54,12 @@
54
54
  <p class="quiet">
55
55
  Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
56
  </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
57
63
  </div>
58
64
  <div class='status-line medium'></div>
59
65
  <pre><table class="coverage">
@@ -141,7 +147,20 @@
141
147
  <a name='L82'></a><a href='#L82'>82</a>
142
148
  <a name='L83'></a><a href='#L83'>83</a>
143
149
  <a name='L84'></a><a href='#L84'>84</a>
144
- <a name='L85'></a><a href='#L85'>85</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
145
164
  <span class="cline-any cline-neutral">&nbsp;</span>
146
165
  <span class="cline-any cline-neutral">&nbsp;</span>
147
166
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -160,6 +179,15 @@
160
179
  <span class="cline-any cline-neutral">&nbsp;</span>
161
180
  <span class="cline-any cline-neutral">&nbsp;</span>
162
181
  <span class="cline-any cline-yes">2x</span>
182
+ <span class="cline-any cline-neutral">&nbsp;</span>
183
+ <span class="cline-any cline-neutral">&nbsp;</span>
184
+ <span class="cline-any cline-neutral">&nbsp;</span>
185
+ <span class="cline-any cline-no">&nbsp;</span>
186
+ <span class="cline-any cline-no">&nbsp;</span>
187
+ <span class="cline-any cline-neutral">&nbsp;</span>
188
+ <span class="cline-any cline-neutral">&nbsp;</span>
189
+ <span class="cline-any cline-neutral">&nbsp;</span>
190
+ <span class="cline-any cline-yes">2x</span>
163
191
  <span class="cline-any cline-no">&nbsp;</span>
164
192
  <span class="cline-any cline-neutral">&nbsp;</span>
165
193
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -217,9 +245,13 @@
217
245
  <span class="cline-any cline-neutral">&nbsp;</span>
218
246
  <span class="cline-any cline-yes">1x</span>
219
247
  <span class="cline-any cline-neutral">&nbsp;</span>
248
+ <span class="cline-any cline-neutral">&nbsp;</span>
220
249
  <span class="cline-any cline-yes">2x</span>
250
+ <span class="cline-any cline-neutral">&nbsp;</span>
251
+ <span class="cline-any cline-neutral">&nbsp;</span>
221
252
  <span class="cline-any cline-yes">2x</span>
222
253
  <span class="cline-any cline-neutral">&nbsp;</span>
254
+ <span class="cline-any cline-neutral">&nbsp;</span>
223
255
  <span class="cline-any cline-yes">2x</span>
224
256
  <span class="cline-any cline-yes">2x</span>
225
257
  <span class="cline-any cline-yes">2x</span>
@@ -240,9 +272,18 @@ export class Disposer {
240
272
  private readonly _disposers: DisposeFunction[] = [];
241
273
  private readonly _map = new Map&lt;string, DisposeFunction&gt;();
242
274
  &nbsp;
243
- constructor(readonly logName: string = null) { }
275
+ private _loggerName: string = null;
276
+ &nbsp;
277
+ constructor(loggerName: string = <span class="branch-0 cbranch-no" title="branch not covered" >null)</span> {
278
+ this._loggerName = loggerName;
279
+ }
280
+ &nbsp;
281
+ public <span class="fstat-no" title="function not covered" >setLoggerName(</span>loggerName: string) {
282
+ <span class="cstat-no" title="statement not covered" > this._loggerName = loggerName;</span>
283
+ <span class="cstat-no" title="statement not covered" > return this;</span>
284
+ }
244
285
  &nbsp;
245
- add(d: DisposeFunction | IDisposable, id?: string) {
286
+ public add(d: DisposeFunction | IDisposable, id?: string) {
246
287
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!d) {
247
288
  <span class="cstat-no" title="statement not covered" > return;</span>
248
289
  }
@@ -255,7 +296,7 @@ export class Disposer {
255
296
  &nbsp;
256
297
  <span class="missing-if-branch" title="if path not taken" >I</span>if (id) {
257
298
  // dispose previous identified disposer
258
- <span class="cstat-no" title="statement not covered" > if (this._map.has(id)) {</span>
299
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (this._map.has(id)) {</span>
259
300
  <span class="cstat-no" title="statement not covered" > this.execute(id);</span>
260
301
  }
261
302
  &nbsp;
@@ -263,25 +304,25 @@ export class Disposer {
263
304
  }
264
305
  }
265
306
  &nbsp;
266
- <span class="fstat-no" title="function not covered" > execute(</span>id: string) {
307
+ public <span class="fstat-no" title="function not covered" >execute(</span>id: string) {
267
308
  const d = <span class="cstat-no" title="statement not covered" >this._map.get(id);</span>
268
- <span class="cstat-no" title="statement not covered" > if (!d) {</span>
309
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!d) {</span>
269
310
  <span class="cstat-no" title="statement not covered" > return;</span>
270
311
  }
271
312
  &nbsp;
272
313
  <span class="cstat-no" title="statement not covered" > this._map.delete(id);</span>
273
314
  const i = <span class="cstat-no" title="statement not covered" >this._disposers.indexOf(d);</span>
274
- <span class="cstat-no" title="statement not covered" > if (i &gt;= 0) {</span>
315
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (i &gt;= 0) {</span>
275
316
  <span class="cstat-no" title="statement not covered" > this._disposers.splice(i, 1);</span>
276
317
  }
277
318
  &nbsp;
278
319
  <span class="cstat-no" title="statement not covered" > d();</span>
279
320
  }
280
321
  &nbsp;
281
- dispose(log = false) {
322
+ public dispose(log = false) {
282
323
  <span class="missing-if-branch" title="if path not taken" >I</span>if (log) {
283
324
  <span class="cstat-no" title="statement not covered" > logger.log(</span>
284
- `[Disposer:${this.logName || '&lt;unknown&gt;'}] Disposing ${this._disposers.length} items including named ones:`,
325
+ `[Disposer:${this._loggerName || '&lt;unknown&gt;'}] Disposing ${this._disposers.length} items including named ones:`,
285
326
  Array.from(this._map.entries()).map(<span class="fstat-no" title="function not covered" >e </span>=&gt; <span class="cstat-no" title="statement not covered" >e[0])</span>,
286
327
  );
287
328
  }
@@ -301,8 +342,12 @@ export function combineDisposers(...items: DisposeFunction[]): DisposeFunction {
301
342
  &nbsp;
302
343
  export class Disposable implements IDisposable {
303
344
  &nbsp;
304
- protected readonly disposer = new Disposer();
345
+ protected readonly disposer: Disposer;
305
346
  protected _isDisposed = false;
347
+ &nbsp;
348
+ constructor(loggerName: string = null) {
349
+ this.disposer = new Disposer(loggerName);
350
+ }
306
351
  &nbsp;
307
352
  public dispose = () =&gt; {
308
353
  this._isDisposed = true;
@@ -315,10 +360,9 @@ export class Disposable implements IDisposable {
315
360
  </div><!-- /wrapper -->
316
361
  <div class='footer quiet pad2 space-top1 center small'>
317
362
  Code coverage generated by
318
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
319
- at Thu Jul 07 2022 10:23:01 GMT+0000 (Coordinated Universal Time)
363
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
364
+ at 2022-07-22T12:10:16.518Z
320
365
  </div>
321
- </div>
322
366
  <script src="../prettify.js"></script>
323
367
  <script>
324
368
  window.onload = function () {
@@ -30,9 +30,9 @@
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">87.8% </span>
33
+ <span class="strong">86.84% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>36/41</span>
35
+ <span class='fraction'>33/38</span>
36
36
  </div>
37
37
 
38
38
 
@@ -54,6 +54,12 @@
54
54
  <p class="quiet">
55
55
  Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
56
  </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
57
63
  </div>
58
64
  <div class='status-line high'></div>
59
65
  <pre><table class="coverage">
@@ -328,7 +334,7 @@
328
334
  return custom || v;
329
335
  }
330
336
  &nbsp;
331
- validateValue(v: string): T | null {
337
+ validateValue(v: string | null): T | null {
332
338
  if (!v) {
333
339
  return null;
334
340
  }
@@ -373,7 +379,7 @@ export default class EnumHelper&lt;T extends number&gt; {
373
379
  return custom || this._obj[v];
374
380
  }
375
381
  &nbsp;
376
- validateValue(v: number): T | null {
382
+ validateValue(v: number | null): T | null {
377
383
  if (v == null || Number.isNaN(v)) {
378
384
  return null;
379
385
  }
@@ -432,10 +438,9 @@ export class EnumBitwiseHelper&lt;T extends number&gt; extends EnumHelper&lt;T&g
432
438
  </div><!-- /wrapper -->
433
439
  <div class='footer quiet pad2 space-top1 center small'>
434
440
  Code coverage generated by
435
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
436
- at Thu Jul 07 2022 10:23:01 GMT+0000 (Coordinated Universal Time)
441
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
442
+ at 2022-07-22T12:10:16.518Z
437
443
  </div>
438
- </div>
439
444
  <script src="../prettify.js"></script>
440
445
  <script>
441
446
  window.onload = function () {
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">48.15% </span>
26
+ <span class="strong">54.84% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>13/27</span>
28
+ <span class='fraction'>17/31</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">66.67% </span>
33
+ <span class="strong">75% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>4/6</span>
35
+ <span class='fraction'>6/8</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">36.36% </span>
40
+ <span class="strong">45.45% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>4/11</span>
42
+ <span class='fraction'>5/11</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">50% </span>
47
+ <span class="strong">56.67% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>13/26</span>
49
+ <span class='fraction'>17/30</span>
50
50
  </div>
51
51
 
52
52
 
@@ -54,8 +54,14 @@
54
54
  <p class="quiet">
55
55
  Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
56
  </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
57
63
  </div>
58
- <div class='status-line low'></div>
64
+ <div class='status-line medium'></div>
59
65
  <pre><table class="coverage">
60
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -129,9 +135,17 @@
129
135
  <a name='L70'></a><a href='#L70'>70</a>
130
136
  <a name='L71'></a><a href='#L71'>71</a>
131
137
  <a name='L72'></a><a href='#L72'>72</a>
132
- <a name='L73'></a><a href='#L73'>73</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
133
- <span class="cline-any cline-yes">1x</span>
134
- <span class="cline-any cline-yes">1x</span>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
147
+ <span class="cline-any cline-yes">2x</span>
148
+ <span class="cline-any cline-yes">2x</span>
135
149
  <span class="cline-any cline-neutral">&nbsp;</span>
136
150
  <span class="cline-any cline-neutral">&nbsp;</span>
137
151
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -140,16 +154,16 @@
140
154
  <span class="cline-any cline-neutral">&nbsp;</span>
141
155
  <span class="cline-any cline-neutral">&nbsp;</span>
142
156
  <span class="cline-any cline-neutral">&nbsp;</span>
143
- <span class="cline-any cline-yes">1x</span>
144
- <span class="cline-any cline-yes">7x</span>
145
- <span class="cline-any cline-yes">7x</span>
157
+ <span class="cline-any cline-yes">2x</span>
158
+ <span class="cline-any cline-yes">9x</span>
159
+ <span class="cline-any cline-yes">9x</span>
146
160
  <span class="cline-any cline-neutral">&nbsp;</span>
147
161
  <span class="cline-any cline-neutral">&nbsp;</span>
148
162
  <span class="cline-any cline-neutral">&nbsp;</span>
149
163
  <span class="cline-any cline-neutral">&nbsp;</span>
150
164
  <span class="cline-any cline-neutral">&nbsp;</span>
151
165
  <span class="cline-any cline-neutral">&nbsp;</span>
152
- <span class="cline-any cline-yes">7x</span>
166
+ <span class="cline-any cline-yes">9x</span>
153
167
  <span class="cline-any cline-neutral">&nbsp;</span>
154
168
  <span class="cline-any cline-neutral">&nbsp;</span>
155
169
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -167,7 +181,11 @@
167
181
  <span class="cline-any cline-neutral">&nbsp;</span>
168
182
  <span class="cline-any cline-neutral">&nbsp;</span>
169
183
  <span class="cline-any cline-yes">11x</span>
170
- <span class="cline-any cline-yes">11x</span>
184
+ <span class="cline-any cline-yes">7x</span>
185
+ <span class="cline-any cline-neutral">&nbsp;</span>
186
+ <span class="cline-any cline-neutral">&nbsp;</span>
187
+ <span class="cline-any cline-yes">4x</span>
188
+ <span class="cline-any cline-yes">4x</span>
171
189
  <span class="cline-any cline-yes">4x</span>
172
190
  <span class="cline-any cline-yes">4x</span>
173
191
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -177,6 +195,10 @@
177
195
  <span class="cline-any cline-neutral">&nbsp;</span>
178
196
  <span class="cline-any cline-neutral">&nbsp;</span>
179
197
  <span class="cline-any cline-neutral">&nbsp;</span>
198
+ <span class="cline-any cline-yes">4x</span>
199
+ <span class="cline-any cline-yes">4x</span>
200
+ <span class="cline-any cline-neutral">&nbsp;</span>
201
+ <span class="cline-any cline-neutral">&nbsp;</span>
180
202
  <span class="cline-any cline-no">&nbsp;</span>
181
203
  <span class="cline-any cline-neutral">&nbsp;</span>
182
204
  <span class="cline-any cline-no">&nbsp;</span>
@@ -238,6 +260,10 @@ export class Event&lt;T = any&gt; implements IEvent&lt;T&gt; {
238
260
  }
239
261
  &nbsp;
240
262
  public trigger(data?: T) {
263
+ if (!this._handlers.length) {
264
+ return;
265
+ }
266
+ &nbsp;
241
267
  const hh = this._handlers.slice(0);
242
268
  hh.forEach(cb =&gt; {
243
269
  try {
@@ -248,7 +274,11 @@ export class Event&lt;T = any&gt; implements IEvent&lt;T&gt; {
248
274
  });
249
275
  }
250
276
  &nbsp;
251
- public <span class="fstat-no" title="function not covered" >async </span>triggerAsync(data?: T): Promise&lt;Error[]&gt; {
277
+ public async triggerAsync(data?: T): Promise&lt;Error[]&gt; {
278
+ if (!this._handlers.length) {
279
+ return [];
280
+ }
281
+ &nbsp;
252
282
  const hh = <span class="cstat-no" title="statement not covered" >this._handlers.slice(0);</span>
253
283
  &nbsp;
254
284
  const errors: Error[] = <span class="cstat-no" title="statement not covered" >[];</span>
@@ -279,10 +309,9 @@ export class Event&lt;T = any&gt; implements IEvent&lt;T&gt; {
279
309
  </div><!-- /wrapper -->
280
310
  <div class='footer quiet pad2 space-top1 center small'>
281
311
  Code coverage generated by
282
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
283
- at Thu Jul 07 2022 10:23:01 GMT+0000 (Coordinated Universal Time)
312
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
313
+ at 2022-07-22T12:10:16.518Z
284
314
  </div>
285
- </div>
286
315
  <script src="../prettify.js"></script>
287
316
  <script>
288
317
  window.onload = function () {
@@ -30,9 +30,9 @@
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">80.68% </span>
33
+ <span class="strong">81.48% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>71/88</span>
35
+ <span class='fraction'>66/81</span>
36
36
  </div>
37
37
 
38
38
 
@@ -54,6 +54,12 @@
54
54
  <p class="quiet">
55
55
  Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
56
  </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
57
63
  </div>
58
64
  <div class='status-line medium'></div>
59
65
  <div class="pad1">
@@ -79,8 +85,8 @@
79
85
  </td>
80
86
  <td data-value="75.44" class="pct medium">75.44%</td>
81
87
  <td data-value="57" class="abs medium">43/57</td>
82
- <td data-value="80.68" class="pct high">80.68%</td>
83
- <td data-value="88" class="abs high">71/88</td>
88
+ <td data-value="81.48" class="pct high">81.48%</td>
89
+ <td data-value="81" class="abs high">66/81</td>
84
90
  <td data-value="45.45" class="pct low">45.45%</td>
85
91
  <td data-value="11" class="abs low">5/11</td>
86
92
  <td data-value="79.59" class="pct medium">79.59%</td>
@@ -94,10 +100,9 @@
94
100
  </div><!-- /wrapper -->
95
101
  <div class='footer quiet pad2 space-top1 center small'>
96
102
  Code coverage generated by
97
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
98
- at Thu Jul 07 2022 10:23:01 GMT+0000 (Coordinated Universal Time)
103
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
+ at 2022-07-22T12:10:16.518Z
99
105
  </div>
100
- </div>
101
106
  <script src="../../prettify.js"></script>
102
107
  <script>
103
108
  window.onload = function () {
@@ -30,9 +30,9 @@
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">80.68% </span>
33
+ <span class="strong">81.48% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>71/88</span>
35
+ <span class='fraction'>66/81</span>
36
36
  </div>
37
37
 
38
38
 
@@ -54,6 +54,12 @@
54
54
  <p class="quiet">
55
55
  Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
56
  </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
57
63
  </div>
58
64
  <div class='status-line medium'></div>
59
65
  <pre><table class="coverage">
@@ -333,7 +339,7 @@ export function <span class="fstat-no" title="function not covered" >updateField
333
339
  &nbsp;
334
340
  let changed = <span class="cstat-no" title="statement not covered" >true;</span>
335
341
  &nbsp;
336
- <span class="cstat-no" title="statement not covered" > if (get(source) !== undefined &amp;&amp; hasChanged(source, target)) {</span>
342
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (get(source) !== undefined &amp;&amp; hasChanged(source, target)) {</span>
337
343
  <span class="cstat-no" title="statement not covered" > changed = true;</span>
338
344
  <span class="cstat-no" title="statement not covered" > set(diff, get(target));</span>
339
345
  <span class="cstat-no" title="statement not covered" > set(target, get(source));</span>
@@ -383,7 +389,7 @@ export function updateArray&lt;T&gt;(
383
389
  const onAdded = options?.hooks<span class="branch-1 cbranch-no" title="branch not covered" >?.onAdded;</span>
384
390
  &nbsp;
385
391
  // remove all missing elements
386
- <span class="missing-if-branch" title="else path not taken" >E</span>if (!options?.additive) {
392
+ if (!options?.additive) {
387
393
  for (let i = 0; i &lt; result.length; ++i) {
388
394
  if (source.find(item =&gt; comparator(item, result[i])) == null) {
389
395
  // DELETE
@@ -435,10 +441,9 @@ export function updateArray&lt;T&gt;(
435
441
  </div><!-- /wrapper -->
436
442
  <div class='footer quiet pad2 space-top1 center small'>
437
443
  Code coverage generated by
438
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
439
- at Thu Jul 07 2022 10:23:01 GMT+0000 (Coordinated Universal Time)
444
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
445
+ at 2022-07-22T12:10:16.518Z
440
446
  </div>
441
- </div>
442
447
  <script src="../../prettify.js"></script>
443
448
  <script>
444
449
  window.onload = function () {
@@ -30,9 +30,9 @@
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">50% </span>
33
+ <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>1/2</span>
35
+ <span class='fraction'>0/1</span>
36
36
  </div>
37
37
 
38
38
 
@@ -54,6 +54,12 @@
54
54
  <p class="quiet">
55
55
  Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
56
  </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
57
63
  </div>
58
64
  <div class='status-line medium'></div>
59
65
  <pre><table class="coverage">
@@ -105,10 +111,9 @@ export function safeCall&lt;T extends (...args: any) =&gt; any&gt;(cb: T | undef
105
111
  </div><!-- /wrapper -->
106
112
  <div class='footer quiet pad2 space-top1 center small'>
107
113
  Code coverage generated by
108
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
109
- at Thu Jul 07 2022 10:23:01 GMT+0000 (Coordinated Universal Time)
114
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
115
+ at 2022-07-22T12:10:16.518Z
110
116
  </div>
111
- </div>
112
117
  <script src="../prettify.js"></script>
113
118
  <script>
114
119
  window.onload = function () {