@zajno/common 1.3.8 → 1.3.12

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 (104) hide show
  1. package/coverage/clover.xml +217 -200
  2. package/coverage/coverage-final.json +8 -7
  3. package/coverage/lcov-report/index.html +26 -26
  4. package/coverage/lcov-report/src/__tests__/helpers/index.html +1 -1
  5. package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +1 -1
  6. package/coverage/lcov-report/src/async/arrays.ts.html +1 -1
  7. package/coverage/lcov-report/src/async/index.html +1 -1
  8. package/coverage/lcov-report/src/dates/calc.ts.html +2 -2
  9. package/coverage/lcov-report/src/dates/convert.ts.html +7 -40
  10. package/coverage/lcov-report/src/dates/datex.ts.html +1 -1
  11. package/coverage/lcov-report/src/dates/format.ts.html +8 -5
  12. package/coverage/lcov-report/src/dates/index.html +13 -13
  13. package/coverage/lcov-report/src/dates/index.ts.html +1 -1
  14. package/coverage/lcov-report/src/dates/parse.ts.html +42 -6
  15. package/coverage/lcov-report/src/dates/period.ts.html +1 -1
  16. package/coverage/lcov-report/src/dates/shift.ts.html +2 -2
  17. package/coverage/lcov-report/src/dates/types.ts.html +1 -1
  18. package/coverage/lcov-report/src/dates/yearDate.ts.html +2 -2
  19. package/coverage/lcov-report/src/enumHelper.ts.html +1 -1
  20. package/coverage/lcov-report/src/event.ts.html +1 -1
  21. package/coverage/lcov-report/src/fields/index.html +15 -15
  22. package/coverage/lcov-report/src/fields/update.ts.html +69 -12
  23. package/coverage/lcov-report/src/functions.ts.html +122 -0
  24. package/coverage/lcov-report/src/index.html +24 -9
  25. package/coverage/lcov-report/src/lazy.light.ts.html +1 -1
  26. package/coverage/lcov-report/src/logger/batch.ts.html +1 -1
  27. package/coverage/lcov-report/src/logger/console.ts.html +1 -1
  28. package/coverage/lcov-report/src/logger/index.html +1 -1
  29. package/coverage/lcov-report/src/logger/index.ts.html +1 -1
  30. package/coverage/lcov-report/src/logger/named.ts.html +1 -1
  31. package/coverage/lcov-report/src/logger/proxy.ts.html +1 -1
  32. package/coverage/lcov-report/src/math/arrays.ts.html +1 -1
  33. package/coverage/lcov-report/src/math/calc.ts.html +1 -1
  34. package/coverage/lcov-report/src/math/distribution.ts.html +1 -1
  35. package/coverage/lcov-report/src/math/index.html +1 -1
  36. package/coverage/lcov-report/src/math/index.ts.html +1 -1
  37. package/coverage/lcov-report/src/transitionObserver.ts.html +2 -2
  38. package/coverage/lcov-report/src/types.ts.html +14 -2
  39. package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +1 -1
  40. package/coverage/lcov-report/src/validation/creditCard.ts.html +1 -1
  41. package/coverage/lcov-report/src/validation/helpers.ts.html +1 -1
  42. package/coverage/lcov-report/src/validation/index.html +1 -1
  43. package/coverage/lcov-report/src/validation/index.ts.html +1 -1
  44. package/coverage/lcov-report/src/validation/types.ts.html +1 -1
  45. package/coverage/lcov-report/src/validation/validators.ts.html +1 -1
  46. package/coverage/lcov-report/src/validation/wrappers.ts.html +1 -1
  47. package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +1 -1
  48. package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +1 -1
  49. package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +1 -1
  50. package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +1 -1
  51. package/coverage/lcov-report/src/viewModels/Validatable.ts.html +1 -1
  52. package/coverage/lcov-report/src/viewModels/index.html +1 -1
  53. package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
  54. package/coverage/lcov.info +466 -411
  55. package/lib/dates/calc.js +3 -3
  56. package/lib/dates/calc.js.map +1 -1
  57. package/lib/dates/convert.d.ts +0 -2
  58. package/lib/dates/convert.d.ts.map +1 -1
  59. package/lib/dates/convert.js +10 -20
  60. package/lib/dates/convert.js.map +1 -1
  61. package/lib/dates/format.d.ts.map +1 -1
  62. package/lib/dates/format.js +4 -3
  63. package/lib/dates/format.js.map +1 -1
  64. package/lib/dates/parse.d.ts +2 -0
  65. package/lib/dates/parse.d.ts.map +1 -1
  66. package/lib/dates/parse.js +12 -1
  67. package/lib/dates/parse.js.map +1 -1
  68. package/lib/dates/shift.js +6 -6
  69. package/lib/dates/shift.js.map +1 -1
  70. package/lib/dates/yearDate.js +3 -3
  71. package/lib/dates/yearDate.js.map +1 -1
  72. package/lib/disposer.d.ts +22 -0
  73. package/lib/disposer.d.ts.map +1 -0
  74. package/lib/disposer.js +65 -0
  75. package/lib/disposer.js.map +1 -0
  76. package/lib/fields/update.d.ts +8 -2
  77. package/lib/fields/update.d.ts.map +1 -1
  78. package/lib/fields/update.js +13 -1
  79. package/lib/fields/update.js.map +1 -1
  80. package/lib/functions.d.ts +1 -2
  81. package/lib/functions.d.ts.map +1 -1
  82. package/lib/functions.js.map +1 -1
  83. package/lib/transitionObserver.d.ts +1 -1
  84. package/lib/transitionObserver.d.ts.map +1 -1
  85. package/lib/types.d.ts +3 -0
  86. package/lib/types.d.ts.map +1 -1
  87. package/lib/unsubscriber.d.ts +1 -20
  88. package/lib/unsubscriber.d.ts.map +1 -1
  89. package/lib/unsubscriber.js +6 -56
  90. package/lib/unsubscriber.js.map +1 -1
  91. package/package.json +3 -2
  92. package/src/dates/calc.ts +1 -1
  93. package/src/dates/convert.ts +1 -12
  94. package/src/dates/format.ts +2 -1
  95. package/src/dates/parse.ts +12 -0
  96. package/src/dates/shift.ts +1 -1
  97. package/src/dates/yearDate.ts +1 -1
  98. package/src/disposer.ts +81 -0
  99. package/src/fields/update.ts +22 -3
  100. package/src/functions.ts +1 -3
  101. package/src/transitionObserver.ts +1 -1
  102. package/src/types.ts +4 -0
  103. package/src/unsubscriber.ts +9 -75
  104. package/tsconfig.json +6 -4
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">73.33% </span>
26
+ <span class="strong">75.93% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>33/45</span>
28
+ <span class='fraction'>41/54</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">80% </span>
33
+ <span class="strong">80.77% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>40/50</span>
35
+ <span class='fraction'>63/78</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">78.38% </span>
47
+ <span class="strong">80.43% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>29/37</span>
49
+ <span class='fraction'>37/46</span>
50
50
  </div>
51
51
 
52
52
 
@@ -74,17 +74,17 @@
74
74
  </thead>
75
75
  <tbody><tr>
76
76
  <td class="file medium" data-value="update.ts"><a href="update.ts.html">update.ts</a></td>
77
- <td data-value="73.33" class="pic medium">
78
- <div class="chart"><div class="cover-fill" style="width: 73%"></div><div class="cover-empty" style="width: 27%"></div></div>
77
+ <td data-value="75.93" class="pic medium">
78
+ <div class="chart"><div class="cover-fill" style="width: 75%"></div><div class="cover-empty" style="width: 25%"></div></div>
79
79
  </td>
80
- <td data-value="73.33" class="pct medium">73.33%</td>
81
- <td data-value="45" class="abs medium">33/45</td>
82
- <td data-value="80" class="pct high">80%</td>
83
- <td data-value="50" class="abs high">40/50</td>
80
+ <td data-value="75.93" class="pct medium">75.93%</td>
81
+ <td data-value="54" class="abs medium">41/54</td>
82
+ <td data-value="80.77" class="pct high">80.77%</td>
83
+ <td data-value="78" class="abs high">63/78</td>
84
84
  <td data-value="45.45" class="pct low">45.45%</td>
85
85
  <td data-value="11" class="abs low">5/11</td>
86
- <td data-value="78.38" class="pct medium">78.38%</td>
87
- <td data-value="37" class="abs medium">29/37</td>
86
+ <td data-value="80.43" class="pct high">80.43%</td>
87
+ <td data-value="46" class="abs high">37/46</td>
88
88
  </tr>
89
89
 
90
90
  </tbody>
@@ -95,7 +95,7 @@
95
95
  <div class='footer quiet pad2 space-top1 center small'>
96
96
  Code coverage generated by
97
97
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
98
- at Sun Jan 09 2022 16:42:34 GMT+0000 (Coordinated Universal Time)
98
+ at Thu Jan 20 2022 14:17:55 GMT+0000 (Coordinated Universal Time)
99
99
  </div>
100
100
  </div>
101
101
  <script src="../../prettify.js"></script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">73.33% </span>
26
+ <span class="strong">75.93% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>33/45</span>
28
+ <span class='fraction'>41/54</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">80% </span>
33
+ <span class="strong">80.77% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>40/50</span>
35
+ <span class='fraction'>63/78</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">78.38% </span>
47
+ <span class="strong">80.43% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>29/37</span>
49
+ <span class='fraction'>37/46</span>
50
50
  </div>
51
51
 
52
52
 
@@ -155,7 +155,27 @@
155
155
  <a name='L96'></a><a href='#L96'>96</a>
156
156
  <a name='L97'></a><a href='#L97'>97</a>
157
157
  <a name='L98'></a><a href='#L98'>98</a>
158
- <a name='L99'></a><a href='#L99'>99</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
158
+ <a name='L99'></a><a href='#L99'>99</a>
159
+ <a name='L100'></a><a href='#L100'>100</a>
160
+ <a name='L101'></a><a href='#L101'>101</a>
161
+ <a name='L102'></a><a href='#L102'>102</a>
162
+ <a name='L103'></a><a href='#L103'>103</a>
163
+ <a name='L104'></a><a href='#L104'>104</a>
164
+ <a name='L105'></a><a href='#L105'>105</a>
165
+ <a name='L106'></a><a href='#L106'>106</a>
166
+ <a name='L107'></a><a href='#L107'>107</a>
167
+ <a name='L108'></a><a href='#L108'>108</a>
168
+ <a name='L109'></a><a href='#L109'>109</a>
169
+ <a name='L110'></a><a href='#L110'>110</a>
170
+ <a name='L111'></a><a href='#L111'>111</a>
171
+ <a name='L112'></a><a href='#L112'>112</a>
172
+ <a name='L113'></a><a href='#L113'>113</a>
173
+ <a name='L114'></a><a href='#L114'>114</a>
174
+ <a name='L115'></a><a href='#L115'>115</a>
175
+ <a name='L116'></a><a href='#L116'>116</a>
176
+ <a name='L117'></a><a href='#L117'>117</a>
177
+ <a name='L118'></a><a href='#L118'>118</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
178
+ <span class="cline-any cline-neutral">&nbsp;</span>
159
179
  <span class="cline-any cline-neutral">&nbsp;</span>
160
180
  <span class="cline-any cline-neutral">&nbsp;</span>
161
181
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -203,6 +223,13 @@
203
223
  <span class="cline-any cline-neutral">&nbsp;</span>
204
224
  <span class="cline-any cline-neutral">&nbsp;</span>
205
225
  <span class="cline-any cline-neutral">&nbsp;</span>
226
+ <span class="cline-any cline-neutral">&nbsp;</span>
227
+ <span class="cline-any cline-neutral">&nbsp;</span>
228
+ <span class="cline-any cline-neutral">&nbsp;</span>
229
+ <span class="cline-any cline-neutral">&nbsp;</span>
230
+ <span class="cline-any cline-neutral">&nbsp;</span>
231
+ <span class="cline-any cline-neutral">&nbsp;</span>
232
+ <span class="cline-any cline-neutral">&nbsp;</span>
206
233
  <span class="cline-any cline-yes">1x</span>
207
234
  <span class="cline-any cline-neutral">&nbsp;</span>
208
235
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -219,13 +246,19 @@
219
246
  <span class="cline-any cline-neutral">&nbsp;</span>
220
247
  <span class="cline-any cline-yes">5x</span>
221
248
  <span class="cline-any cline-yes">5x</span>
249
+ <span class="cline-any cline-yes">5x</span>
250
+ <span class="cline-any cline-yes">5x</span>
251
+ <span class="cline-any cline-yes">5x</span>
222
252
  <span class="cline-any cline-neutral">&nbsp;</span>
223
253
  <span class="cline-any cline-neutral">&nbsp;</span>
224
254
  <span class="cline-any cline-yes">5x</span>
225
255
  <span class="cline-any cline-yes">5x</span>
226
256
  <span class="cline-any cline-yes">31x</span>
257
+ <span class="cline-any cline-neutral">&nbsp;</span>
227
258
  <span class="cline-any cline-yes">10x</span>
228
259
  <span class="cline-any cline-yes">10x</span>
260
+ <span class="cline-any cline-neutral">&nbsp;</span>
261
+ <span class="cline-any cline-yes">10x</span>
229
262
  <span class="cline-any cline-yes">10x</span>
230
263
  <span class="cline-any cline-neutral">&nbsp;</span>
231
264
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -238,8 +271,13 @@
238
271
  <span class="cline-any cline-yes">12x</span>
239
272
  <span class="cline-any cline-yes">7x</span>
240
273
  <span class="cline-any cline-yes">7x</span>
274
+ <span class="cline-any cline-yes">7x</span>
241
275
  <span class="cline-any cline-yes">5x</span>
242
276
  <span class="cline-any cline-yes">1x</span>
277
+ <span class="cline-any cline-yes">1x</span>
278
+ <span class="cline-any cline-yes">1x</span>
279
+ <span class="cline-any cline-no">&nbsp;</span>
280
+ <span class="cline-any cline-neutral">&nbsp;</span>
243
281
  <span class="cline-any cline-neutral">&nbsp;</span>
244
282
  <span class="cline-any cline-neutral">&nbsp;</span>
245
283
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -253,7 +291,8 @@
253
291
  <span class="cline-any cline-neutral">&nbsp;</span>
254
292
  <span class="cline-any cline-neutral">&nbsp;</span>
255
293
  <span class="cline-any cline-neutral">&nbsp;</span>
256
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Comparator } from '../types';
294
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { safeCall } from '../functions';
295
+ import { Comparator } from '../types';
257
296
  &nbsp;
258
297
  export namespace Fields {
259
298
  export type Getter&lt;T&gt; = (obj: Partial&lt;T&gt;) =&gt; T[keyof T];
@@ -263,7 +302,7 @@ export namespace Fields {
263
302
  }
264
303
  &nbsp;
265
304
  &nbsp;
266
- export function <span class="fstat-no" title="function not covered" >updateField&lt;</span>T&gt;(target: T, source: Partial&lt;T&gt;, diff: Partial&lt;T&gt;, key: keyof T, hasChanged: Fields.Comparer&lt;T&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >null)</span>: boolean {
305
+ export function <span class="fstat-no" title="function not covered" >updateField&lt;</span>T&gt;(target: T, source: Partial&lt;T&gt;, diff: Partial&lt;T&gt;, key: keyof T, hasChanged: null | Fields.Comparer&lt;T&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >null)</span>: boolean {
267
306
  <span class="cstat-no" title="statement not covered" > return updateFieldExtended(target, source, diff, <span class="fstat-no" title="function not covered" >t </span>=&gt; <span class="cstat-no" title="statement not covered" >t[key],</span> <span class="fstat-no" title="function not covered" >(t</span>, v) =&gt; <span class="cstat-no" title="statement not covered" >t[key] = v,</span> hasChanged);</span>
268
307
  }
269
308
  &nbsp;
@@ -273,7 +312,7 @@ export function <span class="fstat-no" title="function not covered" >updateField
273
312
  diff: Partial&lt;T&gt;,
274
313
  get: Fields.Getter&lt;T&gt;,
275
314
  set: Fields.Setter&lt;T&gt;,
276
- hasChanged: Fields.Comparer&lt;T&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span>
315
+ hasChanged: null | Fields.Comparer&lt;T&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span>
277
316
  ): boolean {
278
317
  &nbsp;
279
318
  <span class="cstat-no" title="statement not covered" > hasChanged = hasChanged || (<span class="fstat-no" title="function not covered" >(v</span>1: T, v2: T) =&gt; (<span class="cstat-no" title="statement not covered" >get(v1) !== get(v2))</span>);</span>
@@ -299,6 +338,13 @@ export type UpdateArrayOptions&lt;T&gt; = {
299
338
  comparator?: Comparator&lt;T&gt;,
300
339
  updater?: Fields.Updater&lt;T&gt;,
301
340
  sorter?: Comparator&lt;T, number&gt; | null | undefined,
341
+ hooks?: UpdateArrayHooks&lt;T&gt;,
342
+ };
343
+ &nbsp;
344
+ export type UpdateArrayHooks&lt;T&gt; = {
345
+ onAdded?: (item: T) =&gt; void,
346
+ onDeleted?: (item: T) =&gt; void,
347
+ onUpdated?: (previous: T, next: T) =&gt; void,
302
348
  };
303
349
  &nbsp;
304
350
  export function updateArray&lt;T&gt;(
@@ -317,12 +363,18 @@ export function updateArray&lt;T&gt;(
317
363
  &nbsp;
318
364
  const comparator = options?.comparator || DefaultComparator;
319
365
  const updater = options?.updater || DefaultUpdater;
366
+ const onDeleted = options?.hooks<span class="branch-1 cbranch-no" title="branch not covered" >?.onDeleted;</span>
367
+ const onUpdate = options?.hooks<span class="branch-1 cbranch-no" title="branch not covered" >?.onUpdated;</span>
368
+ const onAdded = options?.hooks<span class="branch-1 cbranch-no" title="branch not covered" >?.onAdded;</span>
320
369
  &nbsp;
321
370
  // remove all missing elements
322
371
  <span class="missing-if-branch" title="else path not taken" >E</span>if (!options?.additive) {
323
372
  for (let i = 0; i &lt; result.length; ++i) {
324
373
  if (source.find(item =&gt; comparator(item, result[i])) == null) {
325
- result.splice(i, 1);
374
+ // DELETE
375
+ const removed = result.splice(i, 1);
376
+ safeCall(onDeleted, removed[0]);
377
+ &nbsp;
326
378
  ++changed;
327
379
  --i;
328
380
  }
@@ -335,9 +387,14 @@ export function updateArray&lt;T&gt;(
335
387
  const existingItem = result[existingIndex];
336
388
  if (existingIndex &lt; 0) {
337
389
  result.push(i);
390
+ safeCall(onAdded, i);
338
391
  ++changed;
339
392
  } else if (typeof existingItem === 'object') {
393
+ const before = onUpdate != null ? <span class="branch-0 cbranch-no" title="branch not covered" >{ ...existingItem } </span>: undefined;
340
394
  result[existingIndex] = updater(existingItem, i);
395
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (onUpdate != null) {
396
+ <span class="cstat-no" title="statement not covered" > onUpdate(before!, result[existingIndex]);</span>
397
+ }
341
398
  }
342
399
  });
343
400
  &nbsp;
@@ -358,7 +415,7 @@ export function updateArray&lt;T&gt;(
358
415
  <div class='footer quiet pad2 space-top1 center small'>
359
416
  Code coverage generated by
360
417
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
361
- at Sun Jan 09 2022 16:42:34 GMT+0000 (Coordinated Universal Time)
418
+ at Thu Jan 20 2022 14:17:55 GMT+0000 (Coordinated Universal Time)
362
419
  </div>
363
420
  </div>
364
421
  <script src="../../prettify.js"></script>
@@ -0,0 +1,122 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/functions.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../prettify.css" />
9
+ <link rel="stylesheet" href="../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../index.html">All files</a> / <a href="index.html">src</a> functions.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">66.67% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>2/3</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">50% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>1/2</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>1/1</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">66.67% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>2/3</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
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
+ </p>
57
+ </div>
58
+ <div class='status-line medium'></div>
59
+ <pre><table class="coverage">
60
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
+ <a name='L2'></a><a href='#L2'>2</a>
62
+ <a name='L3'></a><a href='#L3'>3</a>
63
+ <a name='L4'></a><a href='#L4'>4</a>
64
+ <a name='L5'></a><a href='#L5'>5</a>
65
+ <a name='L6'></a><a href='#L6'>6</a>
66
+ <a name='L7'></a><a href='#L7'>7</a>
67
+ <a name='L8'></a><a href='#L8'>8</a>
68
+ <a name='L9'></a><a href='#L9'>9</a>
69
+ <a name='L10'></a><a href='#L10'>10</a>
70
+ <a name='L11'></a><a href='#L11'>11</a>
71
+ <a name='L12'></a><a href='#L12'>12</a>
72
+ <a name='L13'></a><a href='#L13'>13</a>
73
+ <a name='L14'></a><a href='#L14'>14</a>
74
+ <a name='L15'></a><a href='#L15'>15</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
75
+ <span class="cline-any cline-neutral">&nbsp;</span>
76
+ <span class="cline-any cline-neutral">&nbsp;</span>
77
+ <span class="cline-any cline-neutral">&nbsp;</span>
78
+ <span class="cline-any cline-neutral">&nbsp;</span>
79
+ <span class="cline-any cline-neutral">&nbsp;</span>
80
+ <span class="cline-any cline-neutral">&nbsp;</span>
81
+ <span class="cline-any cline-neutral">&nbsp;</span>
82
+ <span class="cline-any cline-neutral">&nbsp;</span>
83
+ <span class="cline-any cline-yes">1x</span>
84
+ <span class="cline-any cline-yes">17x</span>
85
+ <span class="cline-any cline-no">&nbsp;</span>
86
+ <span class="cline-any cline-neutral">&nbsp;</span>
87
+ <span class="cline-any cline-neutral">&nbsp;</span>
88
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">&nbsp;
89
+ type PropertiesOf&lt;T&gt; = Exclude&lt;{
90
+ [K in keyof T]: T[K] extends Function ? never : K
91
+ }[keyof T], undefined&gt;;
92
+ &nbsp;
93
+ export type RemoveFunctionFields&lt;T&gt; = {
94
+ readonly [P in PropertiesOf&lt;T&gt;]: T[P];
95
+ };
96
+ &nbsp;
97
+ export function safeCall&lt;T extends (...args: any) =&gt; any&gt;(cb: T | undefined, ...args: Parameters&lt;T&gt;): ReturnType&lt;T&gt; | void {
98
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (cb) {
99
+ <span class="cstat-no" title="statement not covered" > return cb.apply(null, args);</span>
100
+ }
101
+ }
102
+ &nbsp;</pre></td></tr></table></pre>
103
+
104
+ <div class='push'></div><!-- for sticky footer -->
105
+ </div><!-- /wrapper -->
106
+ <div class='footer quiet pad2 space-top1 center small'>
107
+ Code coverage generated by
108
+ <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
109
+ at Thu Jan 20 2022 14:17:55 GMT+0000 (Coordinated Universal Time)
110
+ </div>
111
+ </div>
112
+ <script src="../prettify.js"></script>
113
+ <script>
114
+ window.onload = function () {
115
+ prettyPrint();
116
+ };
117
+ </script>
118
+ <script src="../sorter.js"></script>
119
+ <script src="../block-navigation.js"></script>
120
+ </body>
121
+ </html>
122
+
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">87.85% </span>
26
+ <span class="strong">87.5% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>159/181</span>
28
+ <span class='fraction'>161/184</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">82.83% </span>
33
+ <span class="strong">82.18% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>82/99</span>
35
+ <span class='fraction'>83/101</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">81.82% </span>
40
+ <span class="strong">82.09% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>54/66</span>
42
+ <span class='fraction'>55/67</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">88% </span>
47
+ <span class="strong">87.64% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>154/175</span>
49
+ <span class='fraction'>156/178</span>
50
50
  </div>
51
51
 
52
52
 
@@ -102,6 +102,21 @@
102
102
  <td data-value="23" class="abs medium">13/23</td>
103
103
  </tr>
104
104
 
105
+ <tr>
106
+ <td class="file medium" data-value="functions.ts"><a href="functions.ts.html">functions.ts</a></td>
107
+ <td data-value="66.67" class="pic medium">
108
+ <div class="chart"><div class="cover-fill" style="width: 66%"></div><div class="cover-empty" style="width: 34%"></div></div>
109
+ </td>
110
+ <td data-value="66.67" class="pct medium">66.67%</td>
111
+ <td data-value="3" class="abs medium">2/3</td>
112
+ <td data-value="50" class="pct medium">50%</td>
113
+ <td data-value="2" class="abs medium">1/2</td>
114
+ <td data-value="100" class="pct high">100%</td>
115
+ <td data-value="1" class="abs high">1/1</td>
116
+ <td data-value="66.67" class="pct medium">66.67%</td>
117
+ <td data-value="3" class="abs medium">2/3</td>
118
+ </tr>
119
+
105
120
  <tr>
106
121
  <td class="file high" data-value="lazy.light.ts"><a href="lazy.light.ts.html">lazy.light.ts</a></td>
107
122
  <td data-value="85.71" class="pic high">
@@ -155,7 +170,7 @@
155
170
  <div class='footer quiet pad2 space-top1 center small'>
156
171
  Code coverage generated by
157
172
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
158
- at Sun Jan 09 2022 16:42:34 GMT+0000 (Coordinated Universal Time)
173
+ at Thu Jan 20 2022 14:17:55 GMT+0000 (Coordinated Universal Time)
159
174
  </div>
160
175
  </div>
161
176
  <script src="../prettify.js"></script>
@@ -139,7 +139,7 @@ export function createLazy&lt;T&gt;(factory: () =&gt; T) {
139
139
  <div class='footer quiet pad2 space-top1 center small'>
140
140
  Code coverage generated by
141
141
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
142
- at Sun Jan 09 2022 16:42:34 GMT+0000 (Coordinated Universal Time)
142
+ at Thu Jan 20 2022 14:17:55 GMT+0000 (Coordinated Universal Time)
143
143
  </div>
144
144
  </div>
145
145
  <script src="../prettify.js"></script>
@@ -91,7 +91,7 @@ export function batchLoggers(...loggers: ILogger[]): ILogger {
91
91
  <div class='footer quiet pad2 space-top1 center small'>
92
92
  Code coverage generated by
93
93
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
94
- at Sun Jan 09 2022 16:42:34 GMT+0000 (Coordinated Universal Time)
94
+ at Thu Jan 20 2022 14:17:55 GMT+0000 (Coordinated Universal Time)
95
95
  </div>
96
96
  </div>
97
97
  <script src="../../prettify.js"></script>
@@ -220,7 +220,7 @@ export class BufferedConsoleLogger implements ILogger {
220
220
  <div class='footer quiet pad2 space-top1 center small'>
221
221
  Code coverage generated by
222
222
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
223
- at Sun Jan 09 2022 16:42:34 GMT+0000 (Coordinated Universal Time)
223
+ at Thu Jan 20 2022 14:17:55 GMT+0000 (Coordinated Universal Time)
224
224
  </div>
225
225
  </div>
226
226
  <script src="../../prettify.js"></script>
@@ -155,7 +155,7 @@
155
155
  <div class='footer quiet pad2 space-top1 center small'>
156
156
  Code coverage generated by
157
157
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
158
- at Sun Jan 09 2022 16:42:34 GMT+0000 (Coordinated Universal Time)
158
+ at Thu Jan 20 2022 14:17:55 GMT+0000 (Coordinated Universal Time)
159
159
  </div>
160
160
  </div>
161
161
  <script src="../../prettify.js"></script>
@@ -277,7 +277,7 @@ function _createImplementation(overrideMode: typeof Mode = undefined): ILogger {
277
277
  <div class='footer quiet pad2 space-top1 center small'>
278
278
  Code coverage generated by
279
279
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
280
- at Sun Jan 09 2022 16:42:34 GMT+0000 (Coordinated Universal Time)
280
+ at Thu Jan 20 2022 14:17:55 GMT+0000 (Coordinated Universal Time)
281
281
  </div>
282
282
  </div>
283
283
  <script src="../../prettify.js"></script>
@@ -205,7 +205,7 @@ export abstract class NamedLogger implements ILogger, ILoggerSwitchable {
205
205
  <div class='footer quiet pad2 space-top1 center small'>
206
206
  Code coverage generated by
207
207
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
208
- at Sun Jan 09 2022 16:42:34 GMT+0000 (Coordinated Universal Time)
208
+ at Thu Jan 20 2022 14:17:55 GMT+0000 (Coordinated Universal Time)
209
209
  </div>
210
210
  </div>
211
211
  <script src="../../prettify.js"></script>
@@ -151,7 +151,7 @@ export class ProxyLogger extends NamedLogger {
151
151
  <div class='footer quiet pad2 space-top1 center small'>
152
152
  Code coverage generated by
153
153
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
154
- at Sun Jan 09 2022 16:42:34 GMT+0000 (Coordinated Universal Time)
154
+ at Thu Jan 20 2022 14:17:55 GMT+0000 (Coordinated Universal Time)
155
155
  </div>
156
156
  </div>
157
157
  <script src="../../prettify.js"></script>
@@ -847,7 +847,7 @@ export function arrayRepeat&lt;T&gt;(factory: Getter&lt;T&gt;, count = <span cla
847
847
  <div class='footer quiet pad2 space-top1 center small'>
848
848
  Code coverage generated by
849
849
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
850
- at Sun Jan 09 2022 16:42:34 GMT+0000 (Coordinated Universal Time)
850
+ at Thu Jan 20 2022 14:17:55 GMT+0000 (Coordinated Universal Time)
851
851
  </div>
852
852
  </div>
853
853
  <script src="../../prettify.js"></script>
@@ -271,7 +271,7 @@ export function <span class="fstat-no" title="function not covered" >badRandomSt
271
271
  <div class='footer quiet pad2 space-top1 center small'>
272
272
  Code coverage generated by
273
273
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
274
- at Sun Jan 09 2022 16:42:34 GMT+0000 (Coordinated Universal Time)
274
+ at Thu Jan 20 2022 14:17:55 GMT+0000 (Coordinated Universal Time)
275
275
  </div>
276
276
  </div>
277
277
  <script src="../../prettify.js"></script>
@@ -124,7 +124,7 @@ export function extendDistribution&lt;T extends keyof any&gt;(count: number, typ
124
124
  <div class='footer quiet pad2 space-top1 center small'>
125
125
  Code coverage generated by
126
126
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
127
- at Sun Jan 09 2022 16:42:34 GMT+0000 (Coordinated Universal Time)
127
+ at Thu Jan 20 2022 14:17:55 GMT+0000 (Coordinated Universal Time)
128
128
  </div>
129
129
  </div>
130
130
  <script src="../../prettify.js"></script>
@@ -140,7 +140,7 @@
140
140
  <div class='footer quiet pad2 space-top1 center small'>
141
141
  Code coverage generated by
142
142
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
143
- at Sun Jan 09 2022 16:42:34 GMT+0000 (Coordinated Universal Time)
143
+ at Thu Jan 20 2022 14:17:55 GMT+0000 (Coordinated Universal Time)
144
144
  </div>
145
145
  </div>
146
146
  <script src="../../prettify.js"></script>
@@ -145,7 +145,7 @@ export function format(n: number, digits?: number) {
145
145
  <div class='footer quiet pad2 space-top1 center small'>
146
146
  Code coverage generated by
147
147
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
148
- at Sun Jan 09 2022 16:42:34 GMT+0000 (Coordinated Universal Time)
148
+ at Thu Jan 20 2022 14:17:55 GMT+0000 (Coordinated Universal Time)
149
149
  </div>
150
150
  </div>
151
151
  <script src="../../prettify.js"></script>
@@ -412,7 +412,7 @@
412
412
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { reaction } from 'mobx';
413
413
  import { IEvent, Event } from './event';
414
414
  import { ILogger, createLogger } from './logger';
415
- import { IDisposable } from './unsubscriber';
415
+ import { IDisposable } from './disposer';
416
416
  &nbsp;
417
417
  export class TransitionObserver&lt;T&gt; implements IDisposable {
418
418
  &nbsp;
@@ -592,7 +592,7 @@ export class TransitionObserver&lt;T&gt; implements IDisposable {
592
592
  <div class='footer quiet pad2 space-top1 center small'>
593
593
  Code coverage generated by
594
594
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
595
- at Sun Jan 09 2022 16:42:34 GMT+0000 (Coordinated Universal Time)
595
+ at Thu Jan 20 2022 14:17:55 GMT+0000 (Coordinated Universal Time)
596
596
  </div>
597
597
  </div>
598
598
  <script src="../prettify.js"></script>