@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.
- package/coverage/clover.xml +22 -23
- package/coverage/coverage-final.json +3 -3
- package/coverage/lcov-report/index.html +19 -19
- package/coverage/lcov-report/src/__tests__/helpers/index.html +1 -1
- package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +1 -1
- package/coverage/lcov-report/src/async/arrays.ts.html +1 -1
- package/coverage/lcov-report/src/async/index.html +1 -1
- package/coverage/lcov-report/src/dates/calc.ts.html +1 -1
- package/coverage/lcov-report/src/dates/convert.ts.html +1 -1
- package/coverage/lcov-report/src/dates/datex.ts.html +1 -1
- package/coverage/lcov-report/src/dates/format.ts.html +1 -1
- package/coverage/lcov-report/src/dates/index.html +1 -1
- package/coverage/lcov-report/src/dates/index.ts.html +1 -1
- package/coverage/lcov-report/src/dates/parse.ts.html +1 -1
- package/coverage/lcov-report/src/dates/period.ts.html +1 -1
- package/coverage/lcov-report/src/dates/shift.ts.html +1 -1
- package/coverage/lcov-report/src/dates/types.ts.html +1 -1
- package/coverage/lcov-report/src/dates/yearDate.ts.html +1 -1
- package/coverage/lcov-report/src/enumHelper.ts.html +1 -1
- package/coverage/lcov-report/src/event.ts.html +1 -1
- package/coverage/lcov-report/src/fields/index.html +1 -1
- package/coverage/lcov-report/src/fields/update.ts.html +1 -1
- package/coverage/lcov-report/src/functions.ts.html +1 -1
- package/coverage/lcov-report/src/index.html +1 -1
- package/coverage/lcov-report/src/lazy.light.ts.html +1 -1
- package/coverage/lcov-report/src/logger/batch.ts.html +1 -1
- package/coverage/lcov-report/src/logger/console.ts.html +1 -1
- package/coverage/lcov-report/src/logger/index.html +1 -1
- package/coverage/lcov-report/src/logger/index.ts.html +1 -1
- package/coverage/lcov-report/src/logger/named.ts.html +1 -1
- package/coverage/lcov-report/src/logger/proxy.ts.html +1 -1
- package/coverage/lcov-report/src/math/arrays.ts.html +1 -1
- package/coverage/lcov-report/src/math/calc.ts.html +1 -1
- package/coverage/lcov-report/src/math/distribution.ts.html +1 -1
- package/coverage/lcov-report/src/math/index.html +1 -1
- package/coverage/lcov-report/src/math/index.ts.html +1 -1
- package/coverage/lcov-report/src/transitionObserver.ts.html +1 -1
- package/coverage/lcov-report/src/types.ts.html +1 -1
- package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +1 -1
- package/coverage/lcov-report/src/validation/creditCard.ts.html +1 -1
- package/coverage/lcov-report/src/validation/helpers.ts.html +1 -1
- package/coverage/lcov-report/src/validation/index.html +1 -1
- package/coverage/lcov-report/src/validation/index.ts.html +1 -1
- package/coverage/lcov-report/src/validation/types.ts.html +6 -6
- package/coverage/lcov-report/src/validation/validators.ts.html +1 -1
- package/coverage/lcov-report/src/validation/wrappers.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +10 -10
- package/coverage/lcov-report/src/viewModels/Validatable.ts.html +44 -44
- package/coverage/lcov-report/src/viewModels/index.html +28 -28
- package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
- package/coverage/lcov.info +40 -41
- package/lib/validation/types.d.ts +5 -5
- package/lib/validation/types.d.ts.map +1 -1
- package/lib/validation/types.js.map +1 -1
- package/lib/validation/wrappers.d.ts +4 -3
- package/lib/validation/wrappers.d.ts.map +1 -1
- package/lib/viewModels/TextModel.d.ts +2 -3
- package/lib/viewModels/TextModel.d.ts.map +1 -1
- package/lib/viewModels/TextModel.js +1 -1
- package/lib/viewModels/TextModel.js.map +1 -1
- package/lib/viewModels/Validatable.d.ts +8 -10
- package/lib/viewModels/Validatable.d.ts.map +1 -1
- package/lib/viewModels/Validatable.js +5 -6
- package/lib/viewModels/Validatable.js.map +1 -1
- package/package.json +1 -1
- package/src/validation/types.ts +5 -5
- package/src/viewModels/TextModel.ts +3 -4
- 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">
|
|
26
|
+
<span class="strong">93.55% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
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">
|
|
40
|
+
<span class="strong">84% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
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">
|
|
47
|
+
<span class="strong">92.86% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
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"> </span>
|
|
217
217
|
<span class="cline-any cline-neutral"> </span>
|
|
218
|
-
<span class="cline-any cline-
|
|
218
|
+
<span class="cline-any cline-no"> </span>
|
|
219
219
|
<span class="cline-any cline-neutral"> </span>
|
|
220
220
|
<span class="cline-any cline-neutral"> </span>
|
|
221
221
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -245,7 +245,7 @@
|
|
|
245
245
|
<span class="cline-any cline-neutral"> </span>
|
|
246
246
|
<span class="cline-any cline-neutral"> </span>
|
|
247
247
|
<span class="cline-any cline-neutral"> </span>
|
|
248
|
-
<span class="cline-any cline-yes">
|
|
248
|
+
<span class="cline-any cline-yes">4x</span>
|
|
249
249
|
<span class="cline-any cline-neutral"> </span>
|
|
250
250
|
<span class="cline-any cline-neutral"> </span>
|
|
251
251
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -343,7 +343,7 @@ export class Select<T = any> extends ValidatableModel<T> implements
|
|
|
343
343
|
this._index = initialIndex;
|
|
344
344
|
}
|
|
345
345
|
|
|
346
|
-
protected get
|
|
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
|
|
|
348
348
|
@computed
|
|
349
349
|
get values(): readonly string[] {
|
|
@@ -448,7 +448,7 @@ export class SelectString<T extends string = string> extends Select<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
|
|
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">
|
|
26
|
+
<span class="strong">38.64% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
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">
|
|
33
|
+
<span class="strong">4.35% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
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">
|
|
40
|
+
<span class="strong">30.77% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
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">
|
|
47
|
+
<span class="strong">41.03% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
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
|
|
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"> </span>
|
|
162
162
|
<span class="cline-any cline-neutral"> </span>
|
|
163
163
|
<span class="cline-any cline-yes">2x</span>
|
|
164
|
+
<span class="cline-any cline-neutral"> </span>
|
|
164
165
|
<span class="cline-any cline-yes">2x</span>
|
|
165
166
|
<span class="cline-any cline-neutral"> </span>
|
|
166
167
|
<span class="cline-any cline-yes">11x</span>
|
|
@@ -173,7 +174,6 @@
|
|
|
173
174
|
<span class="cline-any cline-neutral"> </span>
|
|
174
175
|
<span class="cline-any cline-neutral"> </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"> </span>
|
|
178
178
|
<span class="cline-any cline-neutral"> </span>
|
|
179
179
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -183,9 +183,9 @@
|
|
|
183
183
|
<span class="cline-any cline-yes">1x</span>
|
|
184
184
|
<span class="cline-any cline-neutral"> </span>
|
|
185
185
|
<span class="cline-any cline-neutral"> </span>
|
|
186
|
-
<span class="cline-any cline-
|
|
187
|
-
<span class="cline-any cline-
|
|
188
|
-
<span class="cline-any cline-
|
|
186
|
+
<span class="cline-any cline-no"> </span>
|
|
187
|
+
<span class="cline-any cline-no"> </span>
|
|
188
|
+
<span class="cline-any cline-no"> </span>
|
|
189
189
|
<span class="cline-any cline-neutral"> </span>
|
|
190
190
|
<span class="cline-any cline-neutral"> </span>
|
|
191
191
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -198,25 +198,25 @@
|
|
|
198
198
|
<span class="cline-any cline-neutral"> </span>
|
|
199
199
|
<span class="cline-any cline-neutral"> </span>
|
|
200
200
|
<span class="cline-any cline-yes">1x</span>
|
|
201
|
-
<span class="cline-any cline-
|
|
201
|
+
<span class="cline-any cline-yes">1x</span>
|
|
202
202
|
<span class="cline-any cline-neutral"> </span>
|
|
203
203
|
<span class="cline-any cline-neutral"> </span>
|
|
204
|
-
<span class="cline-any cline-
|
|
205
|
-
<span class="cline-any cline-
|
|
206
|
-
<span class="cline-any cline-
|
|
204
|
+
<span class="cline-any cline-no"> </span>
|
|
205
|
+
<span class="cline-any cline-no"> </span>
|
|
206
|
+
<span class="cline-any cline-no"> </span>
|
|
207
207
|
<span class="cline-any cline-neutral"> </span>
|
|
208
208
|
<span class="cline-any cline-neutral"> </span>
|
|
209
209
|
<span class="cline-any cline-neutral"> </span>
|
|
210
210
|
<span class="cline-any cline-no"> </span>
|
|
211
211
|
<span class="cline-any cline-neutral"> </span>
|
|
212
212
|
<span class="cline-any cline-neutral"> </span>
|
|
213
|
-
<span class="cline-any cline-
|
|
214
|
-
<span class="cline-any cline-
|
|
213
|
+
<span class="cline-any cline-no"> </span>
|
|
214
|
+
<span class="cline-any cline-no"> </span>
|
|
215
215
|
<span class="cline-any cline-neutral"> </span>
|
|
216
216
|
<span class="cline-any cline-no"> </span>
|
|
217
217
|
<span class="cline-any cline-no"> </span>
|
|
218
218
|
<span class="cline-any cline-neutral"> </span>
|
|
219
|
-
<span class="cline-any cline-
|
|
219
|
+
<span class="cline-any cline-no"> </span>
|
|
220
220
|
<span class="cline-any cline-neutral"> </span>
|
|
221
221
|
<span class="cline-any cline-neutral"> </span>
|
|
222
222
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -243,28 +243,28 @@
|
|
|
243
243
|
import { ValidatorFunction, ValidatorFunctionAsync, ValidationErrors, ValidationError } from '../validation';
|
|
244
244
|
import { someAsync } from '../async/arrays';
|
|
245
245
|
|
|
246
|
-
export type ValueValidator<T> = ValidatorFunction<T> | ValidatorFunctionAsync<T>;
|
|
247
|
-
export type ValidationErrorsStrings
|
|
246
|
+
export type ValueValidator<T, TErrors = ValidationErrors> = ValidatorFunction<T, TErrors> | ValidatorFunctionAsync<T, TErrors>;
|
|
247
|
+
export type ValidationErrorsStrings<TErrors extends string | number = number> = Record<TErrors, string>;
|
|
248
248
|
|
|
249
|
-
export type ValidationConfig<T> = {
|
|
250
|
-
validator: ValueValidator<Readonly<T>
|
|
251
|
-
errors: ValidationErrorsStrings
|
|
249
|
+
export type ValidationConfig<T, TErrors extends string | number = ValidationErrors> = {
|
|
250
|
+
validator: ValueValidator<Readonly<T>, TErrors>,
|
|
251
|
+
errors: ValidationErrorsStrings<TErrors>,
|
|
252
252
|
};
|
|
253
253
|
|
|
254
|
-
const EmptyValidator = ()
|
|
254
|
+
const EmptyValidator = <span class="fstat-no" title="function not covered" >() =</span>> <span class="cstat-no" title="statement not covered" >0;</span>
|
|
255
|
+
|
|
255
256
|
export abstract class ValidatableModel<T = string> {
|
|
256
257
|
|
|
257
|
-
private _validator: ValueValidator<Readonly<T>
|
|
258
|
-
private _strings: ValidationErrorsStrings = null;
|
|
258
|
+
private _validator: ValueValidator<Readonly<T>, any> = null;
|
|
259
|
+
private _strings: ValidationErrorsStrings<any> = null;
|
|
259
260
|
|
|
260
261
|
@observable
|
|
261
262
|
private _error: string = null;
|
|
262
263
|
|
|
263
264
|
private _validationError: ValidationError = null;
|
|
264
265
|
|
|
265
|
-
constructor(
|
|
266
|
+
constructor() {
|
|
266
267
|
makeObservable(this);
|
|
267
|
-
this.setValidationConfig(config);
|
|
268
268
|
}
|
|
269
269
|
|
|
270
270
|
protected abstract get valueToValidate(): Readonly<T>;
|
|
@@ -273,10 +273,10 @@ export abstract class ValidatableModel<T = string> {
|
|
|
273
273
|
|
|
274
274
|
get error() { return this._error; }
|
|
275
275
|
|
|
276
|
-
public setValidationConfig(config?: ValidationConfig<T>) {
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
return this
|
|
276
|
+
public <span class="fstat-no" title="function not covered" >setValidationConfig<</span>TErrors extends string | number = ValidationErrors>(config?: ValidationConfig<T, TErrors>) {
|
|
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
|
|
|
282
282
|
public <span class="fstat-no" title="function not covered" >async </span>testValidate(value: T) {
|
|
@@ -288,26 +288,26 @@ export abstract class ValidatableModel<T = string> {
|
|
|
288
288
|
}
|
|
289
289
|
|
|
290
290
|
async validate() {
|
|
291
|
-
<span class="missing-if-branch" title="
|
|
292
|
-
|
|
291
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (!this._validator) {
|
|
292
|
+
return true;
|
|
293
293
|
}
|
|
294
294
|
|
|
295
|
-
try {
|
|
296
|
-
const
|
|
297
|
-
this._validationError =
|
|
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
|
-
:
|
|
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
|
|
|
304
|
-
|
|
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 && 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
|
|
|
313
313
|
<span class="fstat-no" title="function not covered" > async </span>getIsInvalid() {
|
|
@@ -337,7 +337,7 @@ export abstract class ValidatableModel<T = string> {
|
|
|
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
|
|
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">
|
|
26
|
+
<span class="strong">74.45% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
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">
|
|
33
|
+
<span class="strong">42.37% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
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">
|
|
40
|
+
<span class="strong">62.86% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
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">
|
|
47
|
+
<span class="strong">74.14% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
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="
|
|
123
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
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="
|
|
126
|
-
<td data-value="62" class="abs high">
|
|
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="
|
|
130
|
-
<td data-value="25" class="abs high">
|
|
131
|
-
<td data-value="
|
|
132
|
-
<td data-value="56" class="abs high">
|
|
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
|
|
137
|
-
<td data-value="
|
|
138
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
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="
|
|
141
|
-
<td data-value="
|
|
142
|
-
<td data-value="
|
|
143
|
-
<td data-value="23" class="abs low">
|
|
144
|
-
<td data-value="
|
|
145
|
-
<td data-value="13" class="abs low">
|
|
146
|
-
<td data-value="
|
|
147
|
-
<td data-value="
|
|
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
|
|
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<T, TModel extends IValueModel<T>, 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
|
|
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>
|
package/coverage/lcov.info
CHANGED
|
@@ -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:
|
|
2805
|
+
FNH:21
|
|
2806
2806
|
FNDA:5,(anonymous_0)
|
|
2807
2807
|
FNDA:1,(anonymous_1)
|
|
2808
2808
|
FNDA:1,(anonymous_2)
|
|
2809
|
-
FNDA:
|
|
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:
|
|
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,
|
|
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,
|
|
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:
|
|
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,
|
|
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:
|
|
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:
|
|
2925
|
-
FNDA:
|
|
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:
|
|
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:
|
|
2943
|
-
DA:16,11
|
|
2942
|
+
DA:15,2
|
|
2944
2943
|
DA:17,11
|
|
2945
|
-
DA:
|
|
2946
|
-
DA:
|
|
2947
|
-
DA:
|
|
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,
|
|
2952
|
-
DA:37,
|
|
2953
|
-
DA:38,
|
|
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,
|
|
2960
|
-
DA:54,
|
|
2961
|
-
DA:55,
|
|
2962
|
-
DA:56,
|
|
2958
|
+
DA:51,1
|
|
2959
|
+
DA:54,0
|
|
2960
|
+
DA:55,0
|
|
2961
|
+
DA:56,0
|
|
2963
2962
|
DA:60,0
|
|
2964
|
-
DA:63,
|
|
2965
|
-
DA:64,
|
|
2963
|
+
DA:63,0
|
|
2964
|
+
DA:64,0
|
|
2966
2965
|
DA:66,0
|
|
2967
2966
|
DA:67,0
|
|
2968
|
-
DA:69,
|
|
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:
|
|
2979
|
-
LH:
|
|
2980
|
-
BRDA:36,0,0,
|
|
2981
|
-
BRDA:36,0,1,
|
|
2982
|
-
BRDA:36,1,0,
|
|
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,
|
|
2985
|
-
BRDA:36,2,1,
|
|
2986
|
-
BRDA:37,3,0,
|
|
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,
|
|
2989
|
-
BRDA:37,4,1,
|
|
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,
|
|
2993
|
-
BRDA:50,6,1,
|
|
2994
|
-
BRDA:57,7,0,
|
|
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,
|
|
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:
|
|
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) =>
|
|
3
|
-
export declare type ValidatorFunctionAsync<T = string> = (val: T) => Promise<
|
|
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:
|
|
7
|
-
constructor(message: string, code:
|
|
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,
|
|
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,
|
|
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;
|
|
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
|
|
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;
|