@zajno/common 1.3.14 → 1.4.1

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 (100) hide show
  1. package/coverage/clover.xml +112 -99
  2. package/coverage/coverage-final.json +7 -7
  3. package/coverage/lcov-report/index.html +19 -19
  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 +1 -1
  9. package/coverage/lcov-report/src/dates/convert.ts.html +1 -1
  10. package/coverage/lcov-report/src/dates/datex.ts.html +1 -1
  11. package/coverage/lcov-report/src/dates/format.ts.html +1 -1
  12. package/coverage/lcov-report/src/dates/index.html +1 -1
  13. package/coverage/lcov-report/src/dates/index.ts.html +1 -1
  14. package/coverage/lcov-report/src/dates/parse.ts.html +1 -1
  15. package/coverage/lcov-report/src/dates/period.ts.html +1 -1
  16. package/coverage/lcov-report/src/dates/shift.ts.html +1 -1
  17. package/coverage/lcov-report/src/dates/types.ts.html +1 -1
  18. package/coverage/lcov-report/src/dates/yearDate.ts.html +1 -1
  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 +1 -1
  22. package/coverage/lcov-report/src/fields/update.ts.html +1 -1
  23. package/coverage/lcov-report/src/functions.ts.html +1 -1
  24. package/coverage/lcov-report/src/index.html +1 -1
  25. package/coverage/lcov-report/src/lazy.light.ts.html +4 -4
  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 +1 -1
  38. package/coverage/lcov-report/src/types.ts.html +1 -1
  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 +6 -6
  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 +25 -10
  48. package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +20 -8
  49. package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +24 -9
  50. package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +51 -24
  51. package/coverage/lcov-report/src/viewModels/Validatable.ts.html +74 -50
  52. package/coverage/lcov-report/src/viewModels/index.html +53 -53
  53. package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
  54. package/coverage/lcov.info +278 -250
  55. package/lib/validation/types.d.ts +5 -5
  56. package/lib/validation/types.d.ts.map +1 -1
  57. package/lib/validation/types.js.map +1 -1
  58. package/lib/validation/wrappers.d.ts +4 -3
  59. package/lib/validation/wrappers.d.ts.map +1 -1
  60. package/lib/viewModels/CommonModel.d.ts +12 -0
  61. package/lib/viewModels/CommonModel.d.ts.map +1 -0
  62. package/lib/viewModels/CommonModel.js +43 -0
  63. package/lib/viewModels/CommonModel.js.map +1 -0
  64. package/lib/viewModels/FlagModel.d.ts +1 -0
  65. package/lib/viewModels/FlagModel.d.ts.map +1 -1
  66. package/lib/viewModels/FlagModel.js +8 -1
  67. package/lib/viewModels/FlagModel.js.map +1 -1
  68. package/lib/viewModels/MultiSelectModel.d.ts.map +1 -1
  69. package/lib/viewModels/MultiSelectModel.js +3 -0
  70. package/lib/viewModels/MultiSelectModel.js.map +1 -1
  71. package/lib/viewModels/NumberModel.d.ts +1 -0
  72. package/lib/viewModels/NumberModel.d.ts.map +1 -1
  73. package/lib/viewModels/NumberModel.js +8 -1
  74. package/lib/viewModels/NumberModel.js.map +1 -1
  75. package/lib/viewModels/SelectModel.d.ts +1 -0
  76. package/lib/viewModels/SelectModel.d.ts.map +1 -1
  77. package/lib/viewModels/SelectModel.js +24 -14
  78. package/lib/viewModels/SelectModel.js.map +1 -1
  79. package/lib/viewModels/TextModel.d.ts +4 -3
  80. package/lib/viewModels/TextModel.d.ts.map +1 -1
  81. package/lib/viewModels/TextModel.js +28 -24
  82. package/lib/viewModels/TextModel.js.map +1 -1
  83. package/lib/viewModels/Validatable.d.ts +10 -10
  84. package/lib/viewModels/Validatable.d.ts.map +1 -1
  85. package/lib/viewModels/Validatable.js +19 -13
  86. package/lib/viewModels/Validatable.js.map +1 -1
  87. package/lib/viewModels/index.d.ts +1 -0
  88. package/lib/viewModels/index.d.ts.map +1 -1
  89. package/lib/viewModels/index.js +1 -0
  90. package/lib/viewModels/index.js.map +1 -1
  91. package/package.json +1 -1
  92. package/src/validation/types.ts +5 -5
  93. package/src/viewModels/CommonModel.ts +40 -0
  94. package/src/viewModels/FlagModel.ts +6 -1
  95. package/src/viewModels/MultiSelectModel.ts +4 -0
  96. package/src/viewModels/NumberModel.ts +6 -1
  97. package/src/viewModels/SelectModel.ts +11 -2
  98. package/src/viewModels/TextModel.ts +24 -15
  99. package/src/viewModels/Validatable.ts +29 -21
  100. package/src/viewModels/index.ts +1 -0
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">60% </span>
26
+ <span class="strong">37.5% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>27/45</span>
28
+ <span class='fraction'>18/48</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">47.83% </span>
33
+ <span class="strong">4.17% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>11/23</span>
35
+ <span class='fraction'>1/24</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">46.15% </span>
40
+ <span class="strong">26.67% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>6/13</span>
42
+ <span class='fraction'>4/15</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">62.5% </span>
47
+ <span class="strong">39.53% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>25/40</span>
49
+ <span class='fraction'>17/43</span>
50
50
  </div>
51
51
 
52
52
 
@@ -55,7 +55,7 @@
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
57
  </div>
58
- <div class='status-line medium'></div>
58
+ <div class='status-line low'></div>
59
59
  <pre><table class="coverage">
60
60
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
61
  <a name='L2'></a><a href='#L2'>2</a>
@@ -148,7 +148,15 @@
148
148
  <a name='L89'></a><a href='#L89'>89</a>
149
149
  <a name='L90'></a><a href='#L90'>90</a>
150
150
  <a name='L91'></a><a href='#L91'>91</a>
151
- <a name='L92'></a><a href='#L92'>92</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
151
+ <a name='L92'></a><a href='#L92'>92</a>
152
+ <a name='L93'></a><a href='#L93'>93</a>
153
+ <a name='L94'></a><a href='#L94'>94</a>
154
+ <a name='L95'></a><a href='#L95'>95</a>
155
+ <a name='L96'></a><a href='#L96'>96</a>
156
+ <a name='L97'></a><a href='#L97'>97</a>
157
+ <a name='L98'></a><a href='#L98'>98</a>
158
+ <a name='L99'></a><a href='#L99'>99</a>
159
+ <a name='L100'></a><a href='#L100'>100</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
152
160
  <span class="cline-any cline-yes">2x</span>
153
161
  <span class="cline-any cline-yes">2x</span>
154
162
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -161,6 +169,7 @@
161
169
  <span class="cline-any cline-neutral">&nbsp;</span>
162
170
  <span class="cline-any cline-neutral">&nbsp;</span>
163
171
  <span class="cline-any cline-yes">2x</span>
172
+ <span class="cline-any cline-neutral">&nbsp;</span>
164
173
  <span class="cline-any cline-yes">2x</span>
165
174
  <span class="cline-any cline-neutral">&nbsp;</span>
166
175
  <span class="cline-any cline-yes">11x</span>
@@ -170,10 +179,10 @@
170
179
  <span class="cline-any cline-yes">11x</span>
171
180
  <span class="cline-any cline-neutral">&nbsp;</span>
172
181
  <span class="cline-any cline-yes">11x</span>
182
+ <span class="cline-any cline-yes">11x</span>
173
183
  <span class="cline-any cline-neutral">&nbsp;</span>
174
184
  <span class="cline-any cline-neutral">&nbsp;</span>
175
185
  <span class="cline-any cline-yes">11x</span>
176
- <span class="cline-any cline-yes">11x</span>
177
186
  <span class="cline-any cline-neutral">&nbsp;</span>
178
187
  <span class="cline-any cline-neutral">&nbsp;</span>
179
188
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -183,40 +192,47 @@
183
192
  <span class="cline-any cline-yes">1x</span>
184
193
  <span class="cline-any cline-neutral">&nbsp;</span>
185
194
  <span class="cline-any cline-neutral">&nbsp;</span>
186
- <span class="cline-any cline-yes">11x</span>
187
- <span class="cline-any cline-yes">11x</span>
188
- <span class="cline-any cline-yes">11x</span>
195
+ <span class="cline-any cline-no">&nbsp;</span>
196
+ <span class="cline-any cline-no">&nbsp;</span>
197
+ <span class="cline-any cline-no">&nbsp;</span>
189
198
  <span class="cline-any cline-neutral">&nbsp;</span>
190
199
  <span class="cline-any cline-neutral">&nbsp;</span>
191
200
  <span class="cline-any cline-neutral">&nbsp;</span>
192
201
  <span class="cline-any cline-no">&nbsp;</span>
193
202
  <span class="cline-any cline-no">&nbsp;</span>
194
- <span class="cline-any cline-no">&nbsp;</span>
195
203
  <span class="cline-any cline-neutral">&nbsp;</span>
196
- <span class="cline-any cline-no">&nbsp;</span>
197
204
  <span class="cline-any cline-neutral">&nbsp;</span>
198
205
  <span class="cline-any cline-neutral">&nbsp;</span>
206
+ <span class="cline-any cline-no">&nbsp;</span>
207
+ <span class="cline-any cline-no">&nbsp;</span>
208
+ <span class="cline-any cline-no">&nbsp;</span>
199
209
  <span class="cline-any cline-neutral">&nbsp;</span>
200
- <span class="cline-any cline-yes">1x</span>
201
210
  <span class="cline-any cline-no">&nbsp;</span>
202
211
  <span class="cline-any cline-neutral">&nbsp;</span>
203
212
  <span class="cline-any cline-neutral">&nbsp;</span>
204
- <span class="cline-any cline-yes">1x</span>
213
+ <span class="cline-any cline-neutral">&nbsp;</span>
205
214
  <span class="cline-any cline-yes">1x</span>
206
215
  <span class="cline-any cline-yes">1x</span>
207
216
  <span class="cline-any cline-neutral">&nbsp;</span>
208
217
  <span class="cline-any cline-neutral">&nbsp;</span>
218
+ <span class="cline-any cline-no">&nbsp;</span>
219
+ <span class="cline-any cline-no">&nbsp;</span>
220
+ <span class="cline-any cline-no">&nbsp;</span>
221
+ <span class="cline-any cline-neutral">&nbsp;</span>
222
+ <span class="cline-any cline-neutral">&nbsp;</span>
209
223
  <span class="cline-any cline-neutral">&nbsp;</span>
210
224
  <span class="cline-any cline-no">&nbsp;</span>
211
225
  <span class="cline-any cline-neutral">&nbsp;</span>
212
226
  <span class="cline-any cline-neutral">&nbsp;</span>
213
- <span class="cline-any cline-yes">1x</span>
214
- <span class="cline-any cline-yes">1x</span>
227
+ <span class="cline-any cline-no">&nbsp;</span>
228
+ <span class="cline-any cline-no">&nbsp;</span>
229
+ <span class="cline-any cline-no">&nbsp;</span>
215
230
  <span class="cline-any cline-neutral">&nbsp;</span>
216
231
  <span class="cline-any cline-no">&nbsp;</span>
217
232
  <span class="cline-any cline-no">&nbsp;</span>
218
233
  <span class="cline-any cline-neutral">&nbsp;</span>
219
- <span class="cline-any cline-yes">1x</span>
234
+ <span class="cline-any cline-neutral">&nbsp;</span>
235
+ <span class="cline-any cline-no">&nbsp;</span>
220
236
  <span class="cline-any cline-neutral">&nbsp;</span>
221
237
  <span class="cline-any cline-neutral">&nbsp;</span>
222
238
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -239,32 +255,33 @@
239
255
  <span class="cline-any cline-no">&nbsp;</span>
240
256
  <span class="cline-any cline-neutral">&nbsp;</span>
241
257
  <span class="cline-any cline-neutral">&nbsp;</span>
242
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { observable, makeObservable, action } from 'mobx';
258
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { observable, makeObservable, action, runInAction } from 'mobx';
243
259
  import { ValidatorFunction, ValidatorFunctionAsync, ValidationErrors, ValidationError } from '../validation';
244
260
  import { someAsync } from '../async/arrays';
245
261
  &nbsp;
246
- export type ValueValidator&lt;T&gt; = ValidatorFunction&lt;T&gt; | ValidatorFunctionAsync&lt;T&gt;;
247
- export type ValidationErrorsStrings = { [code: number]: string };
262
+ export type ValueValidator&lt;T, TErrors = ValidationErrors&gt; = ValidatorFunction&lt;T, TErrors&gt; | ValidatorFunctionAsync&lt;T, TErrors&gt;;
263
+ export type ValidationErrorsStrings&lt;TErrors extends string | number = number&gt; = Partial&lt;Omit&lt;Record&lt;TErrors, string&gt;, 0 | null&gt;&gt;;
248
264
  &nbsp;
249
- export type ValidationConfig&lt;T&gt; = {
250
- validator: ValueValidator&lt;Readonly&lt;T&gt;&gt;,
251
- errors: ValidationErrorsStrings,
265
+ export type ValidationConfig&lt;T, TErrors extends string | number = ValidationErrors&gt; = {
266
+ validator: ValueValidator&lt;Readonly&lt;T&gt;, TErrors&gt;,
267
+ errors: ValidationErrorsStrings&lt;TErrors&gt;,
252
268
  };
253
269
  &nbsp;
254
- const EmptyValidator = () =&gt; ValidationErrors.None;
270
+ const EmptyValidator = <span class="fstat-no" title="function not covered" >() =</span>&gt; <span class="cstat-no" title="statement not covered" >0;</span>
271
+ &nbsp;
255
272
  export abstract class ValidatableModel&lt;T = string&gt; {
256
273
  &nbsp;
257
- private _validator: ValueValidator&lt;Readonly&lt;T&gt;&gt; = null;
258
- private _strings: ValidationErrorsStrings = null;
274
+ private _validator: ValueValidator&lt;Readonly&lt;T&gt;, any&gt; = null;
275
+ private _strings: ValidationErrorsStrings&lt;any&gt; = null;
259
276
  &nbsp;
260
277
  @observable
261
278
  private _error: string = null;
262
279
  &nbsp;
263
280
  private _validationError: ValidationError = null;
281
+ protected _validateOnChange = false;
264
282
  &nbsp;
265
- constructor(config?: ValidationConfig&lt;T&gt;) {
283
+ constructor() {
266
284
  makeObservable(this);
267
- this.setValidationConfig(config);
268
285
  }
269
286
  &nbsp;
270
287
  protected abstract get valueToValidate(): Readonly&lt;T&gt;;
@@ -273,10 +290,15 @@ export abstract class ValidatableModel&lt;T = string&gt; {
273
290
  &nbsp;
274
291
  get error() { return this._error; }
275
292
  &nbsp;
276
- public setValidationConfig(config?: ValidationConfig&lt;T&gt;) {
277
- this._validator = <span class="branch-1 cbranch-no" title="branch not covered" >config?.validator </span>|| EmptyValidator;
278
- this._strings = <span class="branch-1 cbranch-no" title="branch not covered" >config?.errors;</span>
279
- return this;
293
+ public <span class="fstat-no" title="function not covered" >setValidationConfig&lt;</span>TErrors extends string | number = ValidationErrors&gt;(config?: ValidationConfig&lt;T, TErrors&gt;) {
294
+ <span class="cstat-no" title="statement not covered" > this._validator = config?.validator || EmptyValidator;</span>
295
+ <span class="cstat-no" title="statement not covered" > this._strings = config?.errors;</span>
296
+ <span class="cstat-no" title="statement not covered" > return this;</span>
297
+ }
298
+ &nbsp;
299
+ public <span class="fstat-no" title="function not covered" >validateOnChange(</span>enable = <span class="branch-0 cbranch-no" title="branch not covered" >true)</span> {
300
+ <span class="cstat-no" title="statement not covered" > this._validateOnChange = enable;</span>
301
+ <span class="cstat-no" title="statement not covered" > return this;</span>
280
302
  }
281
303
  &nbsp;
282
304
  public <span class="fstat-no" title="function not covered" >async </span>testValidate(value: T) {
@@ -288,26 +310,28 @@ export abstract class ValidatableModel&lt;T = string&gt; {
288
310
  }
289
311
  &nbsp;
290
312
  async validate() {
291
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!this._validator) {
292
- <span class="cstat-no" title="statement not covered" > return true;</span>
313
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (!this._validator) {
314
+ return true;
293
315
  }
294
316
  &nbsp;
295
- try {
296
- const valid = await this._validator(this.valueToValidate);
297
- this._validationError = valid === ValidationErrors.None
317
+ <span class="cstat-no" title="statement not covered" > try {</span>
318
+ const validationResult = <span class="cstat-no" title="statement not covered" >await this._validator(this.valueToValidate);</span>
319
+ <span class="cstat-no" title="statement not covered" > this._validationError = !validationResult</span>
298
320
  ? null
299
- : <span class="branch-1 cbranch-no" title="branch not covered" >new ValidationError('Unknown error', valid);</span>
321
+ : new ValidationError('Unknown error', validationResult);
300
322
  } catch (err) {
301
323
  <span class="cstat-no" title="statement not covered" > this._validationError = err as ValidationError;</span>
302
324
  }
303
325
  &nbsp;
304
- <span class="missing-if-branch" title="else path not taken" >E</span>if (!this._validationError) {
305
- this._error = null;
306
- } else {
307
- const code = <span class="cstat-no" title="statement not covered" >this._validationError.code;</span>
308
- <span class="cstat-no" title="statement not covered" > this._error = this._strings &amp;&amp; this._strings[code];</span>
309
- }
310
- return this._validationError == null;
326
+ <span class="cstat-no" title="statement not covered" > runInAction(<span class="fstat-no" title="function not covered" >() =</span>&gt; {</span>
327
+ <span class="cstat-no" title="statement not covered" > if (!this._validationError) {</span>
328
+ <span class="cstat-no" title="statement not covered" > this._error = null;</span>
329
+ } else {
330
+ const code = <span class="cstat-no" title="statement not covered" >this._validationError.code;</span>
331
+ <span class="cstat-no" title="statement not covered" > this._error = this._strings &amp;&amp; this._strings[code];</span>
332
+ }
333
+ });
334
+ <span class="cstat-no" title="statement not covered" > return this._validationError == null;</span>
311
335
  }
312
336
  &nbsp;
313
337
  <span class="fstat-no" title="function not covered" > async </span>getIsInvalid() {
@@ -337,7 +361,7 @@ export abstract class ValidatableModel&lt;T = string&gt; {
337
361
  <div class='footer quiet pad2 space-top1 center small'>
338
362
  Code coverage generated by
339
363
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
340
- at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
364
+ at Mon Jan 31 2022 14:31:00 GMT+0000 (Coordinated Universal Time)
341
365
  </div>
342
366
  </div>
343
367
  <script src="../../prettify.js"></script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">78.18% </span>
26
+ <span class="strong">73.88% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>215/275</span>
28
+ <span class='fraction'>215/291</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">59.32% </span>
33
+ <span class="strong">40.63% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>35/59</span>
35
+ <span class='fraction'>26/64</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">65.71% </span>
40
+ <span class="strong">62.73% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>69/105</span>
42
+ <span class='fraction'>69/110</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">78.11% </span>
47
+ <span class="strong">73.17% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>182/233</span>
49
+ <span class='fraction'>180/246</span>
50
50
  </div>
51
51
 
52
52
 
@@ -74,77 +74,77 @@
74
74
  </thead>
75
75
  <tbody><tr>
76
76
  <td class="file medium" data-value="FlagModel.ts"><a href="FlagModel.ts.html">FlagModel.ts</a></td>
77
- <td data-value="64" class="pic medium">
78
- <div class="chart"><div class="cover-fill" style="width: 64%"></div><div class="cover-empty" style="width: 36%"></div></div>
77
+ <td data-value="67.86" class="pic medium">
78
+ <div class="chart"><div class="cover-fill" style="width: 67%"></div><div class="cover-empty" style="width: 33%"></div></div>
79
79
  </td>
80
- <td data-value="64" class="pct medium">64%</td>
81
- <td data-value="25" class="abs medium">16/25</td>
80
+ <td data-value="67.86" class="pct medium">67.86%</td>
81
+ <td data-value="28" class="abs medium">19/28</td>
82
82
  <td data-value="100" class="pct high">100%</td>
83
83
  <td data-value="1" class="abs high">1/1</td>
84
- <td data-value="37.5" class="pct low">37.5%</td>
85
- <td data-value="8" class="abs low">3/8</td>
86
- <td data-value="55" class="pct medium">55%</td>
87
- <td data-value="20" class="abs medium">11/20</td>
84
+ <td data-value="44.44" class="pct low">44.44%</td>
85
+ <td data-value="9" class="abs low">4/9</td>
86
+ <td data-value="59.09" class="pct medium">59.09%</td>
87
+ <td data-value="22" class="abs medium">13/22</td>
88
88
  </tr>
89
89
 
90
90
  <tr>
91
91
  <td class="file medium" data-value="MultiSelectModel.ts"><a href="MultiSelectModel.ts.html">MultiSelectModel.ts</a></td>
92
- <td data-value="77.67" class="pic medium">
92
+ <td data-value="77.14" class="pic medium">
93
93
  <div class="chart"><div class="cover-fill" style="width: 77%"></div><div class="cover-empty" style="width: 23%"></div></div>
94
94
  </td>
95
- <td data-value="77.67" class="pct medium">77.67%</td>
96
- <td data-value="103" class="abs medium">80/103</td>
97
- <td data-value="43.75" class="pct low">43.75%</td>
98
- <td data-value="16" class="abs low">7/16</td>
95
+ <td data-value="77.14" class="pct medium">77.14%</td>
96
+ <td data-value="105" class="abs medium">81/105</td>
97
+ <td data-value="44.44" class="pct low">44.44%</td>
98
+ <td data-value="18" class="abs low">8/18</td>
99
99
  <td data-value="66.67" class="pct medium">66.67%</td>
100
100
  <td data-value="42" class="abs medium">28/42</td>
101
- <td data-value="77.11" class="pct medium">77.11%</td>
102
- <td data-value="83" class="abs medium">64/83</td>
101
+ <td data-value="76.47" class="pct medium">76.47%</td>
102
+ <td data-value="85" class="abs medium">65/85</td>
103
103
  </tr>
104
104
 
105
105
  <tr>
106
106
  <td class="file high" data-value="NumberModel.ts"><a href="NumberModel.ts.html">NumberModel.ts</a></td>
107
- <td data-value="80.95" class="pic high">
108
- <div class="chart"><div class="cover-fill" style="width: 80%"></div><div class="cover-empty" style="width: 20%"></div></div>
107
+ <td data-value="83.33" class="pic high">
108
+ <div class="chart"><div class="cover-fill" style="width: 83%"></div><div class="cover-empty" style="width: 17%"></div></div>
109
109
  </td>
110
- <td data-value="80.95" class="pct high">80.95%</td>
111
- <td data-value="21" class="abs high">17/21</td>
110
+ <td data-value="83.33" class="pct high">83.33%</td>
111
+ <td data-value="24" class="abs high">20/24</td>
112
112
  <td data-value="33.33" class="pct low">33.33%</td>
113
113
  <td data-value="3" class="abs low">1/3</td>
114
- <td data-value="42.86" class="pct low">42.86%</td>
115
- <td data-value="7" class="abs low">3/7</td>
116
- <td data-value="86.67" class="pct high">86.67%</td>
117
- <td data-value="15" class="abs high">13/15</td>
114
+ <td data-value="50" class="pct medium">50%</td>
115
+ <td data-value="8" class="abs medium">4/8</td>
116
+ <td data-value="88.24" class="pct high">88.24%</td>
117
+ <td data-value="17" class="abs high">15/17</td>
118
118
  </tr>
119
119
 
120
120
  <tr>
121
121
  <td class="file high" data-value="SelectModel.ts"><a href="SelectModel.ts.html">SelectModel.ts</a></td>
122
- <td data-value="95.16" class="pic high">
123
- <div class="chart"><div class="cover-fill" style="width: 95%"></div><div class="cover-empty" style="width: 5%"></div></div>
122
+ <td data-value="91.04" class="pic high">
123
+ <div class="chart"><div class="cover-fill" style="width: 91%"></div><div class="cover-empty" style="width: 9%"></div></div>
124
124
  </td>
125
- <td data-value="95.16" class="pct high">95.16%</td>
126
- <td data-value="62" class="abs high">59/62</td>
127
- <td data-value="93.75" class="pct high">93.75%</td>
128
- <td data-value="16" class="abs high">15/16</td>
129
- <td data-value="88" class="pct high">88%</td>
130
- <td data-value="25" class="abs high">22/25</td>
131
- <td data-value="94.64" class="pct high">94.64%</td>
132
- <td data-value="56" class="abs high">53/56</td>
125
+ <td data-value="91.04" class="pct high">91.04%</td>
126
+ <td data-value="67" class="abs high">61/67</td>
127
+ <td data-value="83.33" class="pct high">83.33%</td>
128
+ <td data-value="18" class="abs high">15/18</td>
129
+ <td data-value="84.62" class="pct high">84.62%</td>
130
+ <td data-value="26" class="abs high">22/26</td>
131
+ <td data-value="90" class="pct high">90%</td>
132
+ <td data-value="60" class="abs high">54/60</td>
133
133
  </tr>
134
134
 
135
135
  <tr>
136
- <td class="file medium" data-value="Validatable.ts"><a href="Validatable.ts.html">Validatable.ts</a></td>
137
- <td data-value="60" class="pic medium">
138
- <div class="chart"><div class="cover-fill" style="width: 60%"></div><div class="cover-empty" style="width: 40%"></div></div>
136
+ <td class="file low" data-value="Validatable.ts"><a href="Validatable.ts.html">Validatable.ts</a></td>
137
+ <td data-value="37.5" class="pic low">
138
+ <div class="chart"><div class="cover-fill" style="width: 37%"></div><div class="cover-empty" style="width: 63%"></div></div>
139
139
  </td>
140
- <td data-value="60" class="pct medium">60%</td>
141
- <td data-value="45" class="abs medium">27/45</td>
142
- <td data-value="47.83" class="pct low">47.83%</td>
143
- <td data-value="23" class="abs low">11/23</td>
144
- <td data-value="46.15" class="pct low">46.15%</td>
145
- <td data-value="13" class="abs low">6/13</td>
146
- <td data-value="62.5" class="pct medium">62.5%</td>
147
- <td data-value="40" class="abs medium">25/40</td>
140
+ <td data-value="37.5" class="pct low">37.5%</td>
141
+ <td data-value="48" class="abs low">18/48</td>
142
+ <td data-value="4.17" class="pct low">4.17%</td>
143
+ <td data-value="24" class="abs low">1/24</td>
144
+ <td data-value="26.67" class="pct low">26.67%</td>
145
+ <td data-value="15" class="abs low">4/15</td>
146
+ <td data-value="39.53" class="pct low">39.53%</td>
147
+ <td data-value="43" class="abs low">17/43</td>
148
148
  </tr>
149
149
 
150
150
  <tr>
@@ -170,7 +170,7 @@
170
170
  <div class='footer quiet pad2 space-top1 center small'>
171
171
  Code coverage generated by
172
172
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
173
- at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
173
+ at Mon Jan 31 2022 14:31:00 GMT+0000 (Coordinated Universal Time)
174
174
  </div>
175
175
  </div>
176
176
  <script src="../../prettify.js"></script>
@@ -211,7 +211,7 @@ export function mixinLabel&lt;T, TModel extends IValueModel&lt;T&gt;, TLabel = s
211
211
  <div class='footer quiet pad2 space-top1 center small'>
212
212
  Code coverage generated by
213
213
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
214
- at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
214
+ at Mon Jan 31 2022 14:31:00 GMT+0000 (Coordinated Universal Time)
215
215
  </div>
216
216
  </div>
217
217
  <script src="../../prettify.js"></script>