@zajno/common 1.3.14 → 1.3.15

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 (71) hide show
  1. package/coverage/clover.xml +22 -23
  2. package/coverage/coverage-final.json +3 -3
  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 +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 +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 +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 +10 -10
  51. package/coverage/lcov-report/src/viewModels/Validatable.ts.html +44 -44
  52. package/coverage/lcov-report/src/viewModels/index.html +28 -28
  53. package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
  54. package/coverage/lcov.info +40 -41
  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/TextModel.d.ts +2 -3
  61. package/lib/viewModels/TextModel.d.ts.map +1 -1
  62. package/lib/viewModels/TextModel.js +1 -1
  63. package/lib/viewModels/TextModel.js.map +1 -1
  64. package/lib/viewModels/Validatable.d.ts +8 -10
  65. package/lib/viewModels/Validatable.d.ts.map +1 -1
  66. package/lib/viewModels/Validatable.js +5 -6
  67. package/lib/viewModels/Validatable.js.map +1 -1
  68. package/package.json +1 -1
  69. package/src/validation/types.ts +5 -5
  70. package/src/viewModels/TextModel.ts +3 -4
  71. package/src/viewModels/Validatable.ts +14 -14
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">95.16% </span>
26
+ <span class="strong">93.55% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>59/62</span>
28
+ <span class='fraction'>58/62</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">88% </span>
40
+ <span class="strong">84% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>22/25</span>
42
+ <span class='fraction'>21/25</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">94.64% </span>
47
+ <span class="strong">92.86% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>53/56</span>
49
+ <span class='fraction'>52/56</span>
50
50
  </div>
51
51
 
52
52
 
@@ -215,7 +215,7 @@
215
215
  <span class="cline-any cline-yes">5x</span>
216
216
  <span class="cline-any cline-neutral">&nbsp;</span>
217
217
  <span class="cline-any cline-neutral">&nbsp;</span>
218
- <span class="cline-any cline-yes">1x</span>
218
+ <span class="cline-any cline-no">&nbsp;</span>
219
219
  <span class="cline-any cline-neutral">&nbsp;</span>
220
220
  <span class="cline-any cline-neutral">&nbsp;</span>
221
221
  <span class="cline-any cline-yes">1x</span>
@@ -245,7 +245,7 @@
245
245
  <span class="cline-any cline-neutral">&nbsp;</span>
246
246
  <span class="cline-any cline-neutral">&nbsp;</span>
247
247
  <span class="cline-any cline-neutral">&nbsp;</span>
248
- <span class="cline-any cline-yes">5x</span>
248
+ <span class="cline-any cline-yes">4x</span>
249
249
  <span class="cline-any cline-neutral">&nbsp;</span>
250
250
  <span class="cline-any cline-neutral">&nbsp;</span>
251
251
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -343,7 +343,7 @@ export class Select&lt;T = any&gt; extends ValidatableModel&lt;T&gt; implements
343
343
  this._index = initialIndex;
344
344
  }
345
345
  &nbsp;
346
- protected get valueToValidate() { return this.selectedItem; }
346
+ <span class="fstat-no" title="function not covered" > protected get v</span>alueToValidate() { <span class="cstat-no" title="statement not covered" >return this.selectedItem; </span>}
347
347
  &nbsp;
348
348
  @computed
349
349
  get values(): readonly string[] {
@@ -448,7 +448,7 @@ export class SelectString&lt;T extends string = string&gt; extends Select&lt;T&g
448
448
  <div class='footer quiet pad2 space-top1 center small'>
449
449
  Code coverage generated by
450
450
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
451
- at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
451
+ at Sun Jan 23 2022 16:32:35 GMT+0000 (Coordinated Universal Time)
452
452
  </div>
453
453
  </div>
454
454
  <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">60% </span>
26
+ <span class="strong">38.64% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>27/45</span>
28
+ <span class='fraction'>17/44</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.35% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>11/23</span>
35
+ <span class='fraction'>1/23</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">30.77% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>6/13</span>
42
+ <span class='fraction'>4/13</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">41.03% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>25/40</span>
49
+ <span class='fraction'>16/39</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>
@@ -161,6 +161,7 @@
161
161
  <span class="cline-any cline-neutral">&nbsp;</span>
162
162
  <span class="cline-any cline-neutral">&nbsp;</span>
163
163
  <span class="cline-any cline-yes">2x</span>
164
+ <span class="cline-any cline-neutral">&nbsp;</span>
164
165
  <span class="cline-any cline-yes">2x</span>
165
166
  <span class="cline-any cline-neutral">&nbsp;</span>
166
167
  <span class="cline-any cline-yes">11x</span>
@@ -173,7 +174,6 @@
173
174
  <span class="cline-any cline-neutral">&nbsp;</span>
174
175
  <span class="cline-any cline-neutral">&nbsp;</span>
175
176
  <span class="cline-any cline-yes">11x</span>
176
- <span class="cline-any cline-yes">11x</span>
177
177
  <span class="cline-any cline-neutral">&nbsp;</span>
178
178
  <span class="cline-any cline-neutral">&nbsp;</span>
179
179
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -183,9 +183,9 @@
183
183
  <span class="cline-any cline-yes">1x</span>
184
184
  <span class="cline-any cline-neutral">&nbsp;</span>
185
185
  <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>
186
+ <span class="cline-any cline-no">&nbsp;</span>
187
+ <span class="cline-any cline-no">&nbsp;</span>
188
+ <span class="cline-any cline-no">&nbsp;</span>
189
189
  <span class="cline-any cline-neutral">&nbsp;</span>
190
190
  <span class="cline-any cline-neutral">&nbsp;</span>
191
191
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -198,25 +198,25 @@
198
198
  <span class="cline-any cline-neutral">&nbsp;</span>
199
199
  <span class="cline-any cline-neutral">&nbsp;</span>
200
200
  <span class="cline-any cline-yes">1x</span>
201
- <span class="cline-any cline-no">&nbsp;</span>
201
+ <span class="cline-any cline-yes">1x</span>
202
202
  <span class="cline-any cline-neutral">&nbsp;</span>
203
203
  <span class="cline-any cline-neutral">&nbsp;</span>
204
- <span class="cline-any cline-yes">1x</span>
205
- <span class="cline-any cline-yes">1x</span>
206
- <span class="cline-any cline-yes">1x</span>
204
+ <span class="cline-any cline-no">&nbsp;</span>
205
+ <span class="cline-any cline-no">&nbsp;</span>
206
+ <span class="cline-any cline-no">&nbsp;</span>
207
207
  <span class="cline-any cline-neutral">&nbsp;</span>
208
208
  <span class="cline-any cline-neutral">&nbsp;</span>
209
209
  <span class="cline-any cline-neutral">&nbsp;</span>
210
210
  <span class="cline-any cline-no">&nbsp;</span>
211
211
  <span class="cline-any cline-neutral">&nbsp;</span>
212
212
  <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>
213
+ <span class="cline-any cline-no">&nbsp;</span>
214
+ <span class="cline-any cline-no">&nbsp;</span>
215
215
  <span class="cline-any cline-neutral">&nbsp;</span>
216
216
  <span class="cline-any cline-no">&nbsp;</span>
217
217
  <span class="cline-any cline-no">&nbsp;</span>
218
218
  <span class="cline-any cline-neutral">&nbsp;</span>
219
- <span class="cline-any cline-yes">1x</span>
219
+ <span class="cline-any cline-no">&nbsp;</span>
220
220
  <span class="cline-any cline-neutral">&nbsp;</span>
221
221
  <span class="cline-any cline-neutral">&nbsp;</span>
222
222
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -243,28 +243,28 @@
243
243
  import { ValidatorFunction, ValidatorFunctionAsync, ValidationErrors, ValidationError } from '../validation';
244
244
  import { someAsync } from '../async/arrays';
245
245
  &nbsp;
246
- export type ValueValidator&lt;T&gt; = ValidatorFunction&lt;T&gt; | ValidatorFunctionAsync&lt;T&gt;;
247
- export type ValidationErrorsStrings = { [code: number]: string };
246
+ export type ValueValidator&lt;T, TErrors = ValidationErrors&gt; = ValidatorFunction&lt;T, TErrors&gt; | ValidatorFunctionAsync&lt;T, TErrors&gt;;
247
+ export type ValidationErrorsStrings&lt;TErrors extends string | number = number&gt; = Record&lt;TErrors, string&gt;;
248
248
  &nbsp;
249
- export type ValidationConfig&lt;T&gt; = {
250
- validator: ValueValidator&lt;Readonly&lt;T&gt;&gt;,
251
- errors: ValidationErrorsStrings,
249
+ export type ValidationConfig&lt;T, TErrors extends string | number = ValidationErrors&gt; = {
250
+ validator: ValueValidator&lt;Readonly&lt;T&gt;, TErrors&gt;,
251
+ errors: ValidationErrorsStrings&lt;TErrors&gt;,
252
252
  };
253
253
  &nbsp;
254
- const EmptyValidator = () =&gt; ValidationErrors.None;
254
+ const EmptyValidator = <span class="fstat-no" title="function not covered" >() =</span>&gt; <span class="cstat-no" title="statement not covered" >0;</span>
255
+ &nbsp;
255
256
  export abstract class ValidatableModel&lt;T = string&gt; {
256
257
  &nbsp;
257
- private _validator: ValueValidator&lt;Readonly&lt;T&gt;&gt; = null;
258
- private _strings: ValidationErrorsStrings = null;
258
+ private _validator: ValueValidator&lt;Readonly&lt;T&gt;, any&gt; = null;
259
+ private _strings: ValidationErrorsStrings&lt;any&gt; = null;
259
260
  &nbsp;
260
261
  @observable
261
262
  private _error: string = null;
262
263
  &nbsp;
263
264
  private _validationError: ValidationError = null;
264
265
  &nbsp;
265
- constructor(config?: ValidationConfig&lt;T&gt;) {
266
+ constructor() {
266
267
  makeObservable(this);
267
- this.setValidationConfig(config);
268
268
  }
269
269
  &nbsp;
270
270
  protected abstract get valueToValidate(): Readonly&lt;T&gt;;
@@ -273,10 +273,10 @@ export abstract class ValidatableModel&lt;T = string&gt; {
273
273
  &nbsp;
274
274
  get error() { return this._error; }
275
275
  &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;
276
+ public <span class="fstat-no" title="function not covered" >setValidationConfig&lt;</span>TErrors extends string | number = ValidationErrors&gt;(config?: ValidationConfig&lt;T, TErrors&gt;) {
277
+ <span class="cstat-no" title="statement not covered" > this._validator = config?.validator || EmptyValidator;</span>
278
+ <span class="cstat-no" title="statement not covered" > this._strings = config?.errors;</span>
279
+ <span class="cstat-no" title="statement not covered" > return this;</span>
280
280
  }
281
281
  &nbsp;
282
282
  public <span class="fstat-no" title="function not covered" >async </span>testValidate(value: T) {
@@ -288,26 +288,26 @@ export abstract class ValidatableModel&lt;T = string&gt; {
288
288
  }
289
289
  &nbsp;
290
290
  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>
291
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (!this._validator) {
292
+ return true;
293
293
  }
294
294
  &nbsp;
295
- try {
296
- const valid = await this._validator(this.valueToValidate);
297
- this._validationError = valid === ValidationErrors.None
295
+ <span class="cstat-no" title="statement not covered" > try {</span>
296
+ const validationResult = <span class="cstat-no" title="statement not covered" >await this._validator(this.valueToValidate);</span>
297
+ <span class="cstat-no" title="statement not covered" > this._validationError = !validationResult</span>
298
298
  ? null
299
- : <span class="branch-1 cbranch-no" title="branch not covered" >new ValidationError('Unknown error', valid);</span>
299
+ : new ValidationError('Unknown error', validationResult);
300
300
  } catch (err) {
301
301
  <span class="cstat-no" title="statement not covered" > this._validationError = err as ValidationError;</span>
302
302
  }
303
303
  &nbsp;
304
- <span class="missing-if-branch" title="else path not taken" >E</span>if (!this._validationError) {
305
- this._error = null;
304
+ <span class="cstat-no" title="statement not covered" > if (!this._validationError) {</span>
305
+ <span class="cstat-no" title="statement not covered" > this._error = null;</span>
306
306
  } else {
307
307
  const code = <span class="cstat-no" title="statement not covered" >this._validationError.code;</span>
308
308
  <span class="cstat-no" title="statement not covered" > this._error = this._strings &amp;&amp; this._strings[code];</span>
309
309
  }
310
- return this._validationError == null;
310
+ <span class="cstat-no" title="statement not covered" > return this._validationError == null;</span>
311
311
  }
312
312
  &nbsp;
313
313
  <span class="fstat-no" title="function not covered" > async </span>getIsInvalid() {
@@ -337,7 +337,7 @@ export abstract class ValidatableModel&lt;T = string&gt; {
337
337
  <div class='footer quiet pad2 space-top1 center small'>
338
338
  Code coverage generated by
339
339
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
340
- at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
340
+ at Sun Jan 23 2022 16:32:35 GMT+0000 (Coordinated Universal Time)
341
341
  </div>
342
342
  </div>
343
343
  <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">74.45% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>215/275</span>
28
+ <span class='fraction'>204/274</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">42.37% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>35/59</span>
35
+ <span class='fraction'>25/59</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.86% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>69/105</span>
42
+ <span class='fraction'>66/105</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">74.14% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>182/233</span>
49
+ <span class='fraction'>172/232</span>
50
50
  </div>
51
51
 
52
52
 
@@ -119,32 +119,32 @@
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="93.55" class="pic high">
123
+ <div class="chart"><div class="cover-fill" style="width: 93%"></div><div class="cover-empty" style="width: 7%"></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>
125
+ <td data-value="93.55" class="pct high">93.55%</td>
126
+ <td data-value="62" class="abs high">58/62</td>
127
127
  <td data-value="93.75" class="pct high">93.75%</td>
128
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>
129
+ <td data-value="84" class="pct high">84%</td>
130
+ <td data-value="25" class="abs high">21/25</td>
131
+ <td data-value="92.86" class="pct high">92.86%</td>
132
+ <td data-value="56" class="abs high">52/56</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="38.64" class="pic low">
138
+ <div class="chart"><div class="cover-fill" style="width: 38%"></div><div class="cover-empty" style="width: 62%"></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="38.64" class="pct low">38.64%</td>
141
+ <td data-value="44" class="abs low">17/44</td>
142
+ <td data-value="4.35" class="pct low">4.35%</td>
143
+ <td data-value="23" class="abs low">1/23</td>
144
+ <td data-value="30.77" class="pct low">30.77%</td>
145
+ <td data-value="13" class="abs low">4/13</td>
146
+ <td data-value="41.03" class="pct low">41.03%</td>
147
+ <td data-value="39" class="abs low">16/39</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 Sun Jan 23 2022 16:32:35 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 Sun Jan 23 2022 16:32:35 GMT+0000 (Coordinated Universal Time)
215
215
  </div>
216
216
  </div>
217
217
  <script src="../../prettify.js"></script>
@@ -2802,11 +2802,11 @@ FN:110,(anonymous_22)
2802
2802
  FN:125,(anonymous_23)
2803
2803
  FN:126,(anonymous_24)
2804
2804
  FNF:25
2805
- FNH:22
2805
+ FNH:21
2806
2806
  FNDA:5,(anonymous_0)
2807
2807
  FNDA:1,(anonymous_1)
2808
2808
  FNDA:1,(anonymous_2)
2809
- FNDA:1,(anonymous_3)
2809
+ FNDA:0,(anonymous_3)
2810
2810
  FNDA:14,(anonymous_4)
2811
2811
  FNDA:34,(anonymous_5)
2812
2812
  FNDA:8,(anonymous_6)
@@ -2815,7 +2815,7 @@ FNDA:0,(anonymous_8)
2815
2815
  FNDA:6,(anonymous_9)
2816
2816
  FNDA:0,(anonymous_10)
2817
2817
  FNDA:4,(anonymous_11)
2818
- FNDA:5,(anonymous_12)
2818
+ FNDA:4,(anonymous_12)
2819
2819
  FNDA:5,(anonymous_13)
2820
2820
  FNDA:0,(anonymous_14)
2821
2821
  FNDA:11,(anonymous_15)
@@ -2845,7 +2845,7 @@ DA:24,5
2845
2845
  DA:25,5
2846
2846
  DA:27,5
2847
2847
  DA:28,5
2848
- DA:31,1
2848
+ DA:31,0
2849
2849
  DA:34,1
2850
2850
  DA:35,34
2851
2851
  DA:39,8
@@ -2857,7 +2857,7 @@ DA:52,0
2857
2857
  DA:54,4
2858
2858
  DA:55,4
2859
2859
  DA:56,3
2860
- DA:61,5
2860
+ DA:61,4
2861
2861
  DA:65,5
2862
2862
  DA:66,5
2863
2863
  DA:67,4
@@ -2885,13 +2885,13 @@ DA:119,1
2885
2885
  DA:124,1
2886
2886
  DA:126,3
2887
2887
  LF:56
2888
- LH:53
2888
+ LH:52
2889
2889
  BRDA:22,0,0,3
2890
2890
  BRDA:49,1,0,5
2891
2891
  BRDA:49,1,1,1
2892
2892
  BRDA:55,2,0,3
2893
2893
  BRDA:55,2,1,1
2894
- BRDA:61,3,0,5
2894
+ BRDA:61,3,0,4
2895
2895
  BRDA:61,3,1,0
2896
2896
  BRDA:66,4,0,4
2897
2897
  BRDA:66,4,1,1
@@ -2908,7 +2908,7 @@ end_of_record
2908
2908
  TN:
2909
2909
  SF:src/viewModels/Validatable.ts
2910
2910
  FN:13,(anonymous_0)
2911
- FN:24,(anonymous_1)
2911
+ FN:25,(anonymous_1)
2912
2912
  FN:31,(anonymous_2)
2913
2913
  FN:33,(anonymous_3)
2914
2914
  FN:35,(anonymous_4)
@@ -2921,12 +2921,12 @@ FN:85,(anonymous_10)
2921
2921
  FN:88,(anonymous_11)
2922
2922
  FN:89,(anonymous_12)
2923
2923
  FNF:13
2924
- FNH:6
2925
- FNDA:1,(anonymous_0)
2924
+ FNH:4
2925
+ FNDA:0,(anonymous_0)
2926
2926
  FNDA:11,(anonymous_1)
2927
2927
  FNDA:0,(anonymous_2)
2928
2928
  FNDA:1,(anonymous_3)
2929
- FNDA:11,(anonymous_4)
2929
+ FNDA:0,(anonymous_4)
2930
2930
  FNDA:0,(anonymous_5)
2931
2931
  FNDA:1,(anonymous_6)
2932
2932
  FNDA:0,(anonymous_7)
@@ -2939,33 +2939,32 @@ DA:1,2
2939
2939
  DA:2,2
2940
2940
  DA:3,2
2941
2941
  DA:13,2
2942
- DA:14,2
2943
- DA:16,11
2942
+ DA:15,2
2944
2943
  DA:17,11
2945
- DA:20,11
2946
- DA:22,11
2947
- DA:25,11
2944
+ DA:18,11
2945
+ DA:21,11
2946
+ DA:23,11
2948
2947
  DA:26,11
2949
2948
  DA:31,0
2950
2949
  DA:33,1
2951
- DA:36,11
2952
- DA:37,11
2953
- DA:38,11
2950
+ DA:36,0
2951
+ DA:37,0
2952
+ DA:38,0
2954
2953
  DA:42,0
2955
2954
  DA:43,0
2956
2955
  DA:44,0
2957
2956
  DA:46,0
2958
2957
  DA:50,1
2959
- DA:51,0
2960
- DA:54,1
2961
- DA:55,1
2962
- DA:56,1
2958
+ DA:51,1
2959
+ DA:54,0
2960
+ DA:55,0
2961
+ DA:56,0
2963
2962
  DA:60,0
2964
- DA:63,1
2965
- DA:64,1
2963
+ DA:63,0
2964
+ DA:64,0
2966
2965
  DA:66,0
2967
2966
  DA:67,0
2968
- DA:69,1
2967
+ DA:69,0
2969
2968
  DA:73,0
2970
2969
  DA:74,0
2971
2970
  DA:78,2
@@ -2975,25 +2974,25 @@ DA:84,0
2975
2974
  DA:85,0
2976
2975
  DA:88,0
2977
2976
  DA:89,0
2978
- LF:40
2979
- LH:25
2980
- BRDA:36,0,0,11
2981
- BRDA:36,0,1,11
2982
- BRDA:36,1,0,11
2977
+ LF:39
2978
+ LH:16
2979
+ BRDA:36,0,0,0
2980
+ BRDA:36,0,1,0
2981
+ BRDA:36,1,0,0
2983
2982
  BRDA:36,1,1,0
2984
- BRDA:36,2,0,11
2985
- BRDA:36,2,1,11
2986
- BRDA:37,3,0,11
2983
+ BRDA:36,2,0,0
2984
+ BRDA:36,2,1,0
2985
+ BRDA:37,3,0,0
2987
2986
  BRDA:37,3,1,0
2988
- BRDA:37,4,0,11
2989
- BRDA:37,4,1,11
2987
+ BRDA:37,4,0,0
2988
+ BRDA:37,4,1,0
2990
2989
  BRDA:42,5,0,0
2991
2990
  BRDA:42,5,1,0
2992
- BRDA:50,6,0,0
2993
- BRDA:50,6,1,1
2994
- BRDA:57,7,0,1
2991
+ BRDA:50,6,0,1
2992
+ BRDA:50,6,1,0
2993
+ BRDA:57,7,0,0
2995
2994
  BRDA:57,7,1,0
2996
- BRDA:63,8,0,1
2995
+ BRDA:63,8,0,0
2997
2996
  BRDA:63,8,1,0
2998
2997
  BRDA:67,9,0,0
2999
2998
  BRDA:67,9,1,0
@@ -3001,7 +3000,7 @@ BRDA:83,10,0,0
3001
3000
  BRDA:84,11,0,0
3002
3001
  BRDA:84,11,1,0
3003
3002
  BRF:23
3004
- BRH:11
3003
+ BRH:1
3005
3004
  end_of_record
3006
3005
  TN:
3007
3006
  SF:src/viewModels/wrappers.ts
@@ -1,9 +1,9 @@
1
1
  import { ValidationErrors } from './ValidationErrors';
2
- export declare type ValidatorFunction<T = string> = (val: T) => ValidationErrors;
3
- export declare type ValidatorFunctionAsync<T = string> = (val: T) => Promise<ValidationErrors>;
2
+ export declare type ValidatorFunction<T = string, TErrors = ValidationErrors> = (val: T) => TErrors;
3
+ export declare type ValidatorFunctionAsync<T = string, TErrors = ValidationErrors> = (val: T) => Promise<TErrors>;
4
4
  export declare type WrapperFunction = (val: ValidatorFunction) => ValidatorFunction;
5
- export declare class ValidationError extends Error {
6
- readonly code: ValidationErrors;
7
- constructor(message: string, code: ValidationErrors);
5
+ export declare class ValidationError<TErrors = ValidationErrors> extends Error {
6
+ readonly code: TErrors;
7
+ constructor(message: string, code: TErrors);
8
8
  }
9
9
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/validation/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,oBAAY,iBAAiB,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,gBAAgB,CAAC;AACzE,oBAAY,sBAAsB,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAEvF,oBAAY,eAAe,GAAG,CAAC,GAAG,EAAE,iBAAiB,KAAK,iBAAiB,CAAC;AAE5E,qBAAa,eAAgB,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAQ;gBAE3B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB;CAItD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/validation/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,oBAAY,iBAAiB,CAAC,CAAC,GAAG,MAAM,EAAE,OAAO,GAAG,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC;AAC5F,oBAAY,sBAAsB,CAAC,CAAC,GAAG,MAAM,EAAE,OAAO,GAAG,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE1G,oBAAY,eAAe,GAAG,CAAC,GAAG,EAAE,iBAAiB,KAAK,iBAAiB,CAAC;AAE5E,qBAAa,eAAe,CAAC,OAAO,GAAG,gBAAgB,CAAE,SAAQ,KAAK;IAClE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAQ;gBAElB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;CAI7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/validation/types.ts"],"names":[],"mappings":";;;AAOA,MAAa,eAAgB,SAAQ,KAAK;IAGtC,YAAY,OAAe,EAAE,IAAsB;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QAHV,SAAI,GAAqB,IAAI,CAAC;QAInC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ;AAPD,0CAOC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/validation/types.ts"],"names":[],"mappings":";;;AAOA,MAAa,eAA4C,SAAQ,KAAK;IAGlE,YAAY,OAAe,EAAE,IAAa;QACtC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHV,SAAI,GAAY,IAAI,CAAC;QAI1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ;AAPD,0CAOC"}
@@ -1,7 +1,8 @@
1
1
  import { ValidatorFunction } from './types';
2
+ import { ValidationErrors } from './ValidationErrors';
2
3
  export declare const Wrappers: {
3
- required<T = string>(validator: ValidatorFunction<T>): ValidatorFunction<T>;
4
- notRequired<T_1 = string>(validator: ValidatorFunction<T_1>): ValidatorFunction<T_1>;
5
- thrower<T_2 = string>(validator: ValidatorFunction<T_2>): (val: T_2) => void;
4
+ required<T = string>(validator: ValidatorFunction<T, ValidationErrors>): ValidatorFunction<T, ValidationErrors>;
5
+ notRequired<T_1 = string>(validator: ValidatorFunction<T_1, ValidationErrors>): ValidatorFunction<T_1, ValidationErrors>;
6
+ thrower<T_2 = string>(validator: ValidatorFunction<T_2, ValidationErrors>): (val: T_2) => void;
6
7
  };
7
8
  //# sourceMappingURL=wrappers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wrappers.d.ts","sourceRoot":"","sources":["../../src/validation/wrappers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAI5C,eAAO,MAAM,QAAQ;;;;CAoBpB,CAAC"}
1
+ {"version":3,"file":"wrappers.d.ts","sourceRoot":"","sources":["../../src/validation/wrappers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,eAAO,MAAM,QAAQ;;;;CAoBpB,CAAC"}
@@ -1,13 +1,12 @@
1
1
  import { Getter } from '../types';
2
2
  import { IValueModel } from './types';
3
- import { ValidatableModel, ValidationConfig } from './Validatable';
3
+ import { ValidatableModel } from './Validatable';
4
4
  import { IResetableModel } from 'viewModels';
5
5
  export declare type TextInputConfig = {
6
6
  name?: Getter<string>;
7
7
  title?: Getter<string>;
8
8
  value?: Getter<string>;
9
9
  async?: boolean;
10
- validation?: ValidationConfig<string>;
11
10
  noSubscribe?: boolean;
12
11
  };
13
12
  export declare class Text {
@@ -19,7 +18,7 @@ export declare class Text {
19
18
  });
20
19
  get value(): string;
21
20
  }
22
- export declare class TextInputVM extends ValidatableModel implements IValueModel<string>, IResetableModel {
21
+ export declare class TextInputVM extends ValidatableModel<string> implements IValueModel<string>, IResetableModel {
23
22
  private _value;
24
23
  private _focused;
25
24
  private _name;