@zajno/common 1.3.12 → 1.3.16
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 +66 -58
- package/coverage/coverage-final.json +6 -6
- package/coverage/lcov-report/index.html +26 -26
- 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 +15 -15
- package/coverage/lcov-report/src/lazy.light.ts.html +33 -21
- 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 +24 -9
- package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +24 -9
- package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +10 -10
- package/coverage/lcov-report/src/viewModels/Validatable.ts.html +56 -50
- package/coverage/lcov-report/src/viewModels/index.html +44 -44
- package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
- package/coverage/lcov.info +137 -121
- package/lib/disposer.d.ts.map +1 -1
- package/lib/disposer.js +3 -1
- package/lib/disposer.js.map +1 -1
- package/lib/lazy.d.ts +6 -2
- package/lib/lazy.d.ts.map +1 -1
- package/lib/lazy.js +22 -12
- package/lib/lazy.js.map +1 -1
- package/lib/lazy.light.d.ts +2 -1
- package/lib/lazy.light.d.ts.map +1 -1
- package/lib/lazy.light.js +11 -9
- package/lib/lazy.light.js.map +1 -1
- package/lib/pool.d.ts +12 -4
- package/lib/pool.d.ts.map +1 -1
- package/lib/pool.js +28 -5
- package/lib/pool.js.map +1 -1
- 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/FlagModel.d.ts +1 -0
- package/lib/viewModels/FlagModel.d.ts.map +1 -1
- package/lib/viewModels/FlagModel.js +8 -1
- package/lib/viewModels/FlagModel.js.map +1 -1
- package/lib/viewModels/NumberModel.d.ts +1 -0
- package/lib/viewModels/NumberModel.d.ts.map +1 -1
- package/lib/viewModels/NumberModel.js +8 -1
- package/lib/viewModels/NumberModel.js.map +1 -1
- package/lib/viewModels/TextModel.d.ts +4 -3
- package/lib/viewModels/TextModel.d.ts.map +1 -1
- package/lib/viewModels/TextModel.js +25 -24
- 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 +14 -13
- package/lib/viewModels/Validatable.js.map +1 -1
- package/package.json +4 -3
- package/src/disposer.ts +4 -1
- package/src/lazy.light.ts +15 -11
- package/src/lazy.ts +22 -15
- package/src/pool.ts +31 -8
- package/src/validation/types.ts +5 -5
- package/src/viewModels/FlagModel.ts +6 -1
- package/src/viewModels/NumberModel.ts +6 -1
- package/src/viewModels/TextModel.ts +20 -15
- package/src/viewModels/Validatable.ts +23 -21
- package/yarn-error.log +3709 -0
- package/yarn.lock +1 -1
package/lib/lazy.js
CHANGED
|
@@ -7,6 +7,7 @@ class Lazy {
|
|
|
7
7
|
constructor(_factory) {
|
|
8
8
|
this._factory = _factory;
|
|
9
9
|
this._instance = null;
|
|
10
|
+
this.dispose = () => this.reset();
|
|
10
11
|
mobx_1.makeObservable(this);
|
|
11
12
|
}
|
|
12
13
|
get hasValue() { return this._instance != null; }
|
|
@@ -35,6 +36,13 @@ class LazyPromise {
|
|
|
35
36
|
this._instance = null;
|
|
36
37
|
this._busy = false;
|
|
37
38
|
this._loaded = false;
|
|
39
|
+
this.setInstance = (res) => {
|
|
40
|
+
const wasBusy = this._busy;
|
|
41
|
+
this._busy = false;
|
|
42
|
+
this._loaded = wasBusy;
|
|
43
|
+
this._instance = wasBusy ? res : null;
|
|
44
|
+
};
|
|
45
|
+
this.dispose = () => this.reset();
|
|
38
46
|
mobx_1.makeObservable(this);
|
|
39
47
|
this._instance = initial;
|
|
40
48
|
}
|
|
@@ -42,22 +50,14 @@ class LazyPromise {
|
|
|
42
50
|
get() {
|
|
43
51
|
if (!this._loaded && !this._busy) {
|
|
44
52
|
this._busy = true;
|
|
45
|
-
this._factory().then(
|
|
46
|
-
mobx_1.transaction(() => {
|
|
47
|
-
this._busy = false;
|
|
48
|
-
this._loaded = true;
|
|
49
|
-
this._instance = res;
|
|
50
|
-
});
|
|
51
|
-
});
|
|
53
|
+
this._factory().then(this.setInstance);
|
|
52
54
|
}
|
|
53
55
|
return this._instance;
|
|
54
56
|
}
|
|
55
57
|
reset() {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
this._loaded = false;
|
|
60
|
-
});
|
|
58
|
+
this._busy = false;
|
|
59
|
+
this._instance = this.initial;
|
|
60
|
+
this._loaded = false;
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
tslib_1.__decorate([
|
|
@@ -68,5 +68,15 @@ tslib_1.__decorate([
|
|
|
68
68
|
mobx_1.observable,
|
|
69
69
|
tslib_1.__metadata("design:type", Object)
|
|
70
70
|
], LazyPromise.prototype, "_busy", void 0);
|
|
71
|
+
tslib_1.__decorate([
|
|
72
|
+
mobx_1.action,
|
|
73
|
+
tslib_1.__metadata("design:type", Object)
|
|
74
|
+
], LazyPromise.prototype, "setInstance", void 0);
|
|
75
|
+
tslib_1.__decorate([
|
|
76
|
+
mobx_1.action,
|
|
77
|
+
tslib_1.__metadata("design:type", Function),
|
|
78
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
79
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
80
|
+
], LazyPromise.prototype, "reset", null);
|
|
71
81
|
exports.LazyPromise = LazyPromise;
|
|
72
82
|
//# sourceMappingURL=lazy.js.map
|
package/lib/lazy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.js","sourceRoot":"","sources":["../src/lazy.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"lazy.js","sourceRoot":"","sources":["../src/lazy.ts"],"names":[],"mappings":";;;;AACA,+BAA0D;AAE1D,MAAqB,IAAI;IAKrB,YAAoB,QAAmB;QAAnB,aAAQ,GAAR,QAAQ,CAAW;QAF/B,cAAS,GAAM,IAAI,CAAC;QAuB5B,YAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QApBzB,qBAAc,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC;IAEjD,IAAI,KAAK;QACL,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;SACpC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;CAGJ;AAxBG;IADC,iBAAU,CAAC,GAAG;;uCACa;AAHhC,uBA2BC;AAED,MAAa,WAAW;IAUpB,YACqB,QAA0B,EAC1B,UAAa,IAAI;QADjB,aAAQ,GAAR,QAAQ,CAAkB;QAC1B,YAAO,GAAP,OAAO,CAAU;QAT9B,cAAS,GAAM,IAAI,CAAC;QAGpB,UAAK,GAAG,KAAK,CAAC;QAEd,YAAO,GAAG,KAAK,CAAC;QAsBhB,gBAAW,GAAG,CAAC,GAAM,EAAE,EAAE;YAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;YAE3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1C,CAAC,CAAC;QASF,YAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QA/BzB,qBAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAEjC,GAAG;QACC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC1C;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAYD,KAAK;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;CAGJ;AA3CG;IADC,iBAAU,CAAC,GAAG;;8CACa;AAG5B;IADC,iBAAU;;0CACW;AAwBtB;IADC,aAAM;;gDAOL;AAGF;IADC,aAAM;;;;wCAKN;AA3CL,kCA8CC"}
|
package/lib/lazy.light.d.ts
CHANGED
package/lib/lazy.light.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.light.d.ts","sourceRoot":"","sources":["../src/lazy.light.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lazy.light.d.ts","sourceRoot":"","sources":["../src/lazy.light.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,oBAAY,SAAS,CAAC,CAAC,IAAI,WAAW,GAAG;IACrC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE3B,KAAK,IAAI,IAAI,CAAC;CACjB,CAAC;AAEF,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,gBAmB7C"}
|
package/lib/lazy.light.js
CHANGED
|
@@ -2,20 +2,22 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createLazy = void 0;
|
|
4
4
|
function createLazy(factory) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
const _factory = factory;
|
|
6
|
+
let _instance = undefined;
|
|
7
|
+
const res = {
|
|
8
8
|
get value() {
|
|
9
|
-
if (
|
|
10
|
-
|
|
9
|
+
if (_instance === undefined) {
|
|
10
|
+
_instance = _factory();
|
|
11
11
|
}
|
|
12
|
-
return
|
|
12
|
+
return _instance;
|
|
13
13
|
},
|
|
14
|
-
get hasValue() { return
|
|
15
|
-
reset() {
|
|
16
|
-
|
|
14
|
+
get hasValue() { return _instance !== undefined; },
|
|
15
|
+
reset: () => {
|
|
16
|
+
_instance = undefined;
|
|
17
17
|
},
|
|
18
|
+
dispose: () => res.reset(),
|
|
18
19
|
};
|
|
20
|
+
return res;
|
|
19
21
|
}
|
|
20
22
|
exports.createLazy = createLazy;
|
|
21
23
|
//# sourceMappingURL=lazy.light.js.map
|
package/lib/lazy.light.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.light.js","sourceRoot":"","sources":["../src/lazy.light.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"lazy.light.js","sourceRoot":"","sources":["../src/lazy.light.ts"],"names":[],"mappings":";;;AASA,SAAgB,UAAU,CAAI,OAAgB;IAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC;IACzB,IAAI,SAAS,GAAM,SAAS,CAAC;IAE7B,MAAM,GAAG,GAAiB;QACtB,IAAI,KAAK;YACL,IAAI,SAAS,KAAK,SAAS,EAAE;gBACzB,SAAS,GAAG,QAAQ,EAAE,CAAC;aAC1B;YACD,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,QAAQ,KAAK,OAAO,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;QAClD,KAAK,EAAE,GAAG,EAAE;YACR,SAAS,GAAG,SAAS,CAAC;QAC1B,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE;KAC7B,CAAC;IAEF,OAAO,GAAG,CAAC;AACf,CAAC;AAnBD,gCAmBC"}
|
package/lib/pool.d.ts
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
|
+
import type { IDisposable } from './disposer';
|
|
1
2
|
export declare class Pool<T> {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
readonly factory: () => T;
|
|
4
|
+
private readonly _container;
|
|
5
|
+
constructor(factory: () => T);
|
|
6
|
+
get(): T;
|
|
7
|
+
release(e: T | T[]): void;
|
|
8
|
+
}
|
|
9
|
+
export declare class PoolDisposable<T extends IDisposable> extends Pool<T> {
|
|
10
|
+
readonly initializer: (item: T) => void;
|
|
11
|
+
constructor(factory: () => T, initializer?: (item: T) => void);
|
|
12
|
+
get(): T;
|
|
13
|
+
release(e: T | T[]): void;
|
|
6
14
|
}
|
|
7
15
|
//# sourceMappingURL=pool.d.ts.map
|
package/lib/pool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"AACA,qBAAa,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,qBAAa,IAAI,CAAC,CAAC;IAIH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAFrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAW;gBAEjB,OAAO,EAAE,MAAM,CAAC;IAE9B,GAAG,IAAI,CAAC;IAQR,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI;CAOnC;AAED,qBAAa,cAAc,CAAC,CAAC,SAAS,WAAW,CAAE,SAAQ,IAAI,CAAC,CAAC,CAAC;IAEhC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI;gBAAzD,OAAO,EAAE,MAAM,CAAC,EAAW,WAAW,GAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAW;IAIrE,GAAG,IAAI,CAAC;IAMR,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI;CAQnC"}
|
package/lib/pool.js
CHANGED
|
@@ -1,26 +1,49 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Pool = void 0;
|
|
3
|
+
exports.PoolDisposable = exports.Pool = void 0;
|
|
4
|
+
const functions_1 = require("functions");
|
|
4
5
|
class Pool {
|
|
5
|
-
constructor() {
|
|
6
|
+
constructor(factory) {
|
|
7
|
+
this.factory = factory;
|
|
6
8
|
this._container = [];
|
|
7
9
|
}
|
|
8
|
-
get(
|
|
10
|
+
get() {
|
|
9
11
|
if (this._container.length > 0) {
|
|
10
12
|
return this._container.pop();
|
|
11
13
|
}
|
|
12
14
|
else {
|
|
13
|
-
return factory();
|
|
15
|
+
return this.factory();
|
|
14
16
|
}
|
|
15
17
|
}
|
|
16
18
|
release(e) {
|
|
17
19
|
if (Array.isArray(e)) {
|
|
18
20
|
this._container.push(...e);
|
|
19
21
|
}
|
|
20
|
-
else {
|
|
22
|
+
else if (e) {
|
|
21
23
|
this._container.push(e);
|
|
22
24
|
}
|
|
23
25
|
}
|
|
24
26
|
}
|
|
25
27
|
exports.Pool = Pool;
|
|
28
|
+
class PoolDisposable extends Pool {
|
|
29
|
+
constructor(factory, initializer = null) {
|
|
30
|
+
super(factory);
|
|
31
|
+
this.initializer = initializer;
|
|
32
|
+
}
|
|
33
|
+
get() {
|
|
34
|
+
const res = super.get();
|
|
35
|
+
functions_1.safeCall(this.initializer, res);
|
|
36
|
+
return res;
|
|
37
|
+
}
|
|
38
|
+
release(e) {
|
|
39
|
+
if (Array.isArray(e)) {
|
|
40
|
+
e.forEach(ee => ee.dispose());
|
|
41
|
+
}
|
|
42
|
+
else if (e) {
|
|
43
|
+
e.dispose();
|
|
44
|
+
}
|
|
45
|
+
return super.release(e);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.PoolDisposable = PoolDisposable;
|
|
26
49
|
//# sourceMappingURL=pool.js.map
|
package/lib/pool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAGrC,MAAa,IAAI;IAIb,YAAqB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAFpB,eAAU,GAAQ,EAAE,CAAC;IAEG,CAAC;IAEnC,GAAG;QACN,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;SAChC;aAAM;YACH,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;SACzB;IACL,CAAC;IAEM,OAAO,CAAC,CAAU;QACrB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAC9B;aAAM,IAAI,CAAC,EAAE;YACV,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAC3B;IACL,CAAC;CACJ;AArBD,oBAqBC;AAED,MAAa,cAAsC,SAAQ,IAAO;IAE9D,YAAY,OAAgB,EAAW,cAAiC,IAAI;QACxE,KAAK,CAAC,OAAO,CAAC,CAAC;QADoB,gBAAW,GAAX,WAAW,CAA0B;IAE5E,CAAC;IAEM,GAAG;QACN,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QACxB,oBAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,OAAO,CAAC,CAAU;QACrB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAClB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;SACjC;aAAM,IAAI,CAAC,EAAE;YACV,CAAC,CAAC,OAAO,EAAE,CAAC;SACf;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;CACJ;AApBD,wCAoBC"}
|
|
@@ -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"}
|
|
@@ -12,6 +12,7 @@ export declare class FlagModel implements IFlagModel, IFlagModelReadonly {
|
|
|
12
12
|
constructor(initial?: boolean);
|
|
13
13
|
get value(): boolean;
|
|
14
14
|
set value(value: boolean);
|
|
15
|
+
readonly setValue: (value: boolean) => void;
|
|
15
16
|
get isDefault(): boolean;
|
|
16
17
|
setTrue: () => boolean;
|
|
17
18
|
setFalse: () => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlagModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/FlagModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE9C,MAAM,WAAW,UAAW,SAAQ,WAAW,CAAC,OAAO,CAAC,EAAE,eAAe;IACrE,MAAM,IAAI,IAAI,CAAC;CAClB;AAED,oBAAY,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,oBAAY,iBAAiB,GAAG,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAE5D,qBAAa,SAAU,YAAW,UAAU,EAAE,kBAAkB;IAG5D,OAAO,CAAC,MAAM,CAAkB;gBAEpB,OAAO,UAAQ;IAK3B,IAAI,KAAK,IAIQ,OAAO,CAFvB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,EAEvB;IAED,IAAI,SAAS,YAAoC;IAGjD,OAAO,gBAIL;IAGF,QAAQ,gBAIN;IAGF,MAAM,aAEJ;IAGF,KAAK,aAEH;CACL"}
|
|
1
|
+
{"version":3,"file":"FlagModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/FlagModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE9C,MAAM,WAAW,UAAW,SAAQ,WAAW,CAAC,OAAO,CAAC,EAAE,eAAe;IACrE,MAAM,IAAI,IAAI,CAAC;CAClB;AAED,oBAAY,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,oBAAY,iBAAiB,GAAG,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAE5D,qBAAa,SAAU,YAAW,UAAU,EAAE,kBAAkB;IAG5D,OAAO,CAAC,MAAM,CAAkB;gBAEpB,OAAO,UAAQ;IAK3B,IAAI,KAAK,IAIQ,OAAO,CAFvB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,EAEvB;IAED,SACgB,QAAQ,UAAW,OAAO,UAExC;IAEF,IAAI,SAAS,YAAoC;IAGjD,OAAO,gBAIL;IAGF,QAAQ,gBAIN;IAGF,MAAM,aAEJ;IAGF,KAAK,aAEH;CACL"}
|
|
@@ -6,6 +6,9 @@ const mobx_1 = require("mobx");
|
|
|
6
6
|
class FlagModel {
|
|
7
7
|
constructor(initial = false) {
|
|
8
8
|
this._value = false;
|
|
9
|
+
this.setValue = (value) => {
|
|
10
|
+
this._value = value;
|
|
11
|
+
};
|
|
9
12
|
this.setTrue = () => {
|
|
10
13
|
const v = this.value;
|
|
11
14
|
this.value = true;
|
|
@@ -29,7 +32,7 @@ class FlagModel {
|
|
|
29
32
|
return this._value;
|
|
30
33
|
}
|
|
31
34
|
set value(value) {
|
|
32
|
-
this.
|
|
35
|
+
this.setValue(value);
|
|
33
36
|
}
|
|
34
37
|
get isDefault() { return this._value === false; }
|
|
35
38
|
}
|
|
@@ -37,6 +40,10 @@ tslib_1.__decorate([
|
|
|
37
40
|
mobx_1.observable,
|
|
38
41
|
tslib_1.__metadata("design:type", Boolean)
|
|
39
42
|
], FlagModel.prototype, "_value", void 0);
|
|
43
|
+
tslib_1.__decorate([
|
|
44
|
+
mobx_1.action,
|
|
45
|
+
tslib_1.__metadata("design:type", Object)
|
|
46
|
+
], FlagModel.prototype, "setValue", void 0);
|
|
40
47
|
tslib_1.__decorate([
|
|
41
48
|
mobx_1.action,
|
|
42
49
|
tslib_1.__metadata("design:type", Object)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlagModel.js","sourceRoot":"","sources":["../../src/viewModels/FlagModel.ts"],"names":[],"mappings":";;;;AAAA,+BAA0D;AAc1D,MAAa,SAAS;IAKlB,YAAY,OAAO,GAAG,KAAK;QAFnB,WAAM,GAAY,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"FlagModel.js","sourceRoot":"","sources":["../../src/viewModels/FlagModel.ts"],"names":[],"mappings":";;;;AAAA,+BAA0D;AAc1D,MAAa,SAAS;IAKlB,YAAY,OAAO,GAAG,KAAK;QAFnB,WAAM,GAAY,KAAK,CAAC;QAgBhB,aAAQ,GAAG,CAAC,KAAc,EAAE,EAAE;YAC1C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC;QAKF,YAAO,GAAG,GAAG,EAAE;YACX,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,OAAO,CAAC,CAAC,CAAC;QACd,CAAC,CAAC;QAGF,aAAQ,GAAG,GAAG,EAAE;YACZ,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,OAAO,CAAC,CAAC;QACb,CAAC,CAAC;QAGF,WAAM,GAAG,GAAG,EAAE;YACV,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/B,CAAC,CAAC;QAGF,UAAK,GAAG,GAAG,EAAE;YACT,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC;QAzCE,qBAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,KAAK,CAAC,KAAc;QACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAOD,IAAI,SAAS,KAAK,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC;CAyBpD;AA7CG;IADC,iBAAU;;yCACqB;AAgBhC;IADC,aAAM;;2CAGL;AAKF;IADC,aAAM;;0CAKL;AAGF;IADC,aAAM;;2CAKL;AAGF;IADC,aAAM;;yCAGL;AAGF;IADC,aAAM;;wCAGL;AA/CN,8BAgDC"}
|
|
@@ -9,6 +9,7 @@ export declare class NumberModel implements INumberModel, IValueModel<number> {
|
|
|
9
9
|
constructor(initial?: number);
|
|
10
10
|
get value(): number;
|
|
11
11
|
set value(v: number);
|
|
12
|
+
readonly setValue: (v: number) => void;
|
|
12
13
|
get isDefault(): boolean;
|
|
13
14
|
reset: () => void;
|
|
14
15
|
increment: (d?: number) => number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/NumberModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,MAAM,WAAW,YAAa,SAAQ,eAAe;IACjD,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,WAAY,YAAW,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC;IAGjE,OAAO,CAAC,MAAM,CAAa;IAE3B,OAAO,CAAC,QAAQ,CAAa;gBAEjB,OAAO,GAAE,MAAU;IAM/B,IAAI,KAAK,IACI,MAAM,CADgB;IACnC,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"NumberModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/NumberModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,MAAM,WAAW,YAAa,SAAQ,eAAe;IACjD,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,WAAY,YAAW,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC;IAGjE,OAAO,CAAC,MAAM,CAAa;IAE3B,OAAO,CAAC,QAAQ,CAAa;gBAEjB,OAAO,GAAE,MAAU;IAM/B,IAAI,KAAK,IACI,MAAM,CADgB;IACnC,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAAuB;IAE1C,SACgB,QAAQ,MAAO,MAAM,UAEnC;IAEF,IAAI,SAAS,YAA4C;IAGzD,KAAK,aAEH;IAGF,SAAS,yBAA8B;IAGvC,SAAS,yBAA8B;CAC1C;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -7,6 +7,9 @@ class NumberModel {
|
|
|
7
7
|
constructor(initial = 0) {
|
|
8
8
|
this._value = 0;
|
|
9
9
|
this._initial = 0;
|
|
10
|
+
this.setValue = (v) => {
|
|
11
|
+
this._value = v;
|
|
12
|
+
};
|
|
10
13
|
this.reset = () => {
|
|
11
14
|
this._value = this._initial;
|
|
12
15
|
};
|
|
@@ -17,13 +20,17 @@ class NumberModel {
|
|
|
17
20
|
this._value = this._initial;
|
|
18
21
|
}
|
|
19
22
|
get value() { return this._value; }
|
|
20
|
-
set value(v) { this.
|
|
23
|
+
set value(v) { this.setValue(v); }
|
|
21
24
|
get isDefault() { return this._value === this._initial; }
|
|
22
25
|
}
|
|
23
26
|
tslib_1.__decorate([
|
|
24
27
|
mobx_1.observable,
|
|
25
28
|
tslib_1.__metadata("design:type", Number)
|
|
26
29
|
], NumberModel.prototype, "_value", void 0);
|
|
30
|
+
tslib_1.__decorate([
|
|
31
|
+
mobx_1.action,
|
|
32
|
+
tslib_1.__metadata("design:type", Object)
|
|
33
|
+
], NumberModel.prototype, "setValue", void 0);
|
|
27
34
|
tslib_1.__decorate([
|
|
28
35
|
mobx_1.action,
|
|
29
36
|
tslib_1.__metadata("design:type", Object)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberModel.js","sourceRoot":"","sources":["../../src/viewModels/NumberModel.ts"],"names":[],"mappings":";;;;AAAA,+BAA0D;AAQ1D,MAAa,WAAW;IAOpB,YAAY,UAAkB,CAAC;QAJvB,WAAM,GAAW,CAAC,CAAC;QAEnB,aAAQ,GAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"NumberModel.js","sourceRoot":"","sources":["../../src/viewModels/NumberModel.ts"],"names":[],"mappings":";;;;AAAA,+BAA0D;AAQ1D,MAAa,WAAW;IAOpB,YAAY,UAAkB,CAAC;QAJvB,WAAM,GAAW,CAAC,CAAC;QAEnB,aAAQ,GAAW,CAAC,CAAC;QAYb,aAAQ,GAAG,CAAC,CAAS,EAAE,EAAE;YACrC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACpB,CAAC,CAAC;QAKF,UAAK,GAAG,GAAG,EAAE;YACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,CAAC,CAAC;QAGF,cAAS,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAGvC,cAAS,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAxBnC,qBAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,CAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAO1C,IAAI,SAAS,KAAK,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;CAY5D;AA9BG;IADC,iBAAU;;2CACgB;AAc3B;IADC,aAAM;;6CAGL;AAKF;IADC,aAAM;;0CAGL;AAGF;IADC,aAAM;;8CACgC;AAGvC;IADC,aAAM;;8CACgC;AAhC3C,kCAiCC;AAED,kBAAe,WAAW,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;
|
|
@@ -30,9 +29,11 @@ export declare class TextInputVM extends ValidatableModel implements IValueModel
|
|
|
30
29
|
get name(): string;
|
|
31
30
|
get title(): string;
|
|
32
31
|
set value(val: string);
|
|
32
|
+
readonly setValue: (value: string) => void;
|
|
33
33
|
get isEmpty(): boolean;
|
|
34
34
|
get focused(): boolean;
|
|
35
35
|
set focused(val: boolean);
|
|
36
|
+
readonly setFocused: (value?: boolean) => void;
|
|
36
37
|
protected get valueToValidate(): string;
|
|
37
38
|
private onBlur;
|
|
38
39
|
reset: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/TextModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"TextModel.d.ts","sourceRoot":"","sources":["../../src/viewModels/TextModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,oBAAY,eAAe,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAeF,qBAAa,IAAI;IAEb,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE;IAKrF,IAAI,KAAK,WAA0B;CACtC;AAED,qBAAa,WAAY,SAAQ,gBAAgB,CAAC,MAAM,CAAE,YAAW,WAAW,CAAC,MAAM,CAAC,EAAE,eAAe;IAErG,OAAO,CAAC,MAAM,CAAM;IAGpB,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,MAAM,CAAgB;IAE9B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoB;gBAExC,MAAM,CAAC,EAAE,eAAe;IAYpC,IAAI,KAAK,WAA0B;IACnC,IAAI,IAAI,WAAyB;IACjC,IAAI,KAAK,WAA0B;IAEnC,IAAI,KAAK,CAAC,GAAG,QAAA,EAEZ;IAED,SACgB,QAAQ,UAAW,MAAM,UAMvC;IAEF,IAAI,OAAO,YAEV;IAED,IAAI,OAAO,IAIM,OAAO,CAFvB;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,OAAO,EAEvB;IAED,SACgB,UAAU,4BAQxB;IAEF,SAAS,KAAK,eAAe,WAAwC;IAErE,OAAO,CAAC,MAAM;IAId,KAAK,aAIH;CAEL"}
|
|
@@ -28,12 +28,28 @@ tslib_1.__decorate([
|
|
|
28
28
|
exports.Text = Text;
|
|
29
29
|
class TextInputVM extends Validatable_1.ValidatableModel {
|
|
30
30
|
constructor(config) {
|
|
31
|
-
super(
|
|
31
|
+
super();
|
|
32
32
|
this._value = '';
|
|
33
33
|
this._focused = false;
|
|
34
34
|
this._name = null;
|
|
35
35
|
this._title = null;
|
|
36
36
|
this._valueObserving = null;
|
|
37
|
+
this.setValue = (value) => {
|
|
38
|
+
if (!this._valueObserving) {
|
|
39
|
+
this._value = value;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
logger_1.default.warn('[TextInputViewModel] Setting value is not allowed when value is observing');
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
this.setFocused = (value = true) => {
|
|
46
|
+
this._focused = value;
|
|
47
|
+
if (!value) {
|
|
48
|
+
this.onBlur();
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
super.reset();
|
|
52
|
+
};
|
|
37
53
|
this.reset = () => {
|
|
38
54
|
this._value = '';
|
|
39
55
|
this._focused = false;
|
|
@@ -50,12 +66,7 @@ class TextInputVM extends Validatable_1.ValidatableModel {
|
|
|
50
66
|
get name() { return this._name; }
|
|
51
67
|
get title() { return this._title; }
|
|
52
68
|
set value(val) {
|
|
53
|
-
|
|
54
|
-
this._value = val;
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
logger_1.default.warn('[TextInputViewModel] Setting value is not allowed when value is observing');
|
|
58
|
-
}
|
|
69
|
+
this.setValue(val);
|
|
59
70
|
}
|
|
60
71
|
get isEmpty() {
|
|
61
72
|
return !this._value;
|
|
@@ -64,12 +75,7 @@ class TextInputVM extends Validatable_1.ValidatableModel {
|
|
|
64
75
|
return this._focused;
|
|
65
76
|
}
|
|
66
77
|
set focused(val) {
|
|
67
|
-
this.
|
|
68
|
-
if (!val) {
|
|
69
|
-
this.onBlur();
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
super.reset();
|
|
78
|
+
this.setFocused(val);
|
|
73
79
|
}
|
|
74
80
|
get valueToValidate() { var _a; return ((_a = this.value) !== null && _a !== void 0 ? _a : '').trim(); }
|
|
75
81
|
onBlur() {
|
|
@@ -85,17 +91,12 @@ tslib_1.__decorate([
|
|
|
85
91
|
tslib_1.__metadata("design:type", Object)
|
|
86
92
|
], TextInputVM.prototype, "_focused", void 0);
|
|
87
93
|
tslib_1.__decorate([
|
|
88
|
-
mobx_1.
|
|
89
|
-
tslib_1.__metadata("design:type",
|
|
90
|
-
], TextInputVM.prototype, "
|
|
91
|
-
tslib_1.__decorate([
|
|
92
|
-
mobx_1.observable,
|
|
93
|
-
tslib_1.__metadata("design:type", String)
|
|
94
|
-
], TextInputVM.prototype, "_title", void 0);
|
|
94
|
+
mobx_1.action,
|
|
95
|
+
tslib_1.__metadata("design:type", Object)
|
|
96
|
+
], TextInputVM.prototype, "setValue", void 0);
|
|
95
97
|
tslib_1.__decorate([
|
|
96
|
-
mobx_1.
|
|
97
|
-
tslib_1.__metadata("design:type", Object)
|
|
98
|
-
|
|
99
|
-
], TextInputVM.prototype, "isEmpty", null);
|
|
98
|
+
mobx_1.action,
|
|
99
|
+
tslib_1.__metadata("design:type", Object)
|
|
100
|
+
], TextInputVM.prototype, "setFocused", void 0);
|
|
100
101
|
exports.TextInputVM = TextInputVM;
|
|
101
102
|
//# sourceMappingURL=TextModel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextModel.js","sourceRoot":"","sources":["../../src/viewModels/TextModel.ts"],"names":[],"mappings":";;;;AAAA,+
|
|
1
|
+
{"version":3,"file":"TextModel.js","sourceRoot":"","sources":["../../src/viewModels/TextModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
import { ValidatorFunction, ValidatorFunctionAsync, ValidationErrors } from '../validation';
|
|
2
|
-
export declare type ValueValidator<T> = ValidatorFunction<T> | ValidatorFunctionAsync<T>;
|
|
3
|
-
export declare type ValidationErrorsStrings =
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
validator: ValueValidator<Readonly<T>>;
|
|
8
|
-
errors: ValidationErrorsStrings;
|
|
2
|
+
export declare type ValueValidator<T, TErrors = ValidationErrors> = ValidatorFunction<T, TErrors> | ValidatorFunctionAsync<T, TErrors>;
|
|
3
|
+
export declare type ValidationErrorsStrings<TErrors extends string | number = number> = Record<TErrors, string>;
|
|
4
|
+
export declare type ValidationConfig<T, TErrors extends string | number = ValidationErrors> = {
|
|
5
|
+
validator: ValueValidator<Readonly<T>, TErrors>;
|
|
6
|
+
errors: ValidationErrorsStrings<TErrors>;
|
|
9
7
|
};
|
|
10
8
|
export declare abstract class ValidatableModel<T = string> {
|
|
11
9
|
private _validator;
|
|
12
10
|
private _strings;
|
|
13
11
|
private _error;
|
|
14
12
|
private _validationError;
|
|
15
|
-
constructor(
|
|
13
|
+
constructor();
|
|
16
14
|
protected abstract get valueToValidate(): Readonly<T>;
|
|
17
15
|
get isValid(): boolean;
|
|
18
16
|
get error(): string;
|
|
19
|
-
setValidationConfig(config?: ValidationConfig<T>): this;
|
|
20
|
-
testValidate(value: T): Promise<
|
|
17
|
+
setValidationConfig<TErrors extends string | number = ValidationErrors>(config?: ValidationConfig<T, TErrors>): this;
|
|
18
|
+
testValidate(value: T): Promise<any>;
|
|
21
19
|
validate(): Promise<boolean>;
|
|
22
20
|
getIsInvalid(): Promise<boolean>;
|
|
23
21
|
reset(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Validatable.d.ts","sourceRoot":"","sources":["../../src/viewModels/Validatable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,gBAAgB,EAAmB,MAAM,eAAe,CAAC;AAG7G,oBAAY,cAAc,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Validatable.d.ts","sourceRoot":"","sources":["../../src/viewModels/Validatable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,gBAAgB,EAAmB,MAAM,eAAe,CAAC;AAG7G,oBAAY,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,gBAAgB,IAAI,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,sBAAsB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC/H,oBAAY,uBAAuB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAExG,oBAAY,gBAAgB,CAAC,CAAC,EAAE,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,gBAAgB,IAAI;IAClF,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC;CAC5C,CAAC;AAIF,8BAAsB,gBAAgB,CAAC,CAAC,GAAG,MAAM;IAE7C,OAAO,CAAC,UAAU,CAA0C;IAC5D,OAAO,CAAC,QAAQ,CAAsC;IAGtD,OAAO,CAAC,MAAM,CAAgB;IAE9B,OAAO,CAAC,gBAAgB,CAAyB;;IAMjD,SAAS,CAAC,QAAQ,KAAK,eAAe,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtD,IAAI,OAAO,YAA2B;IAEtC,IAAI,KAAK,WAA0B;IAE5B,mBAAmB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,gBAAgB,EAAE,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC;IAMvG,YAAY,CAAC,KAAK,EAAE,CAAC;IAQ5B,QAAQ;IAyBR,YAAY;IAMlB,KAAK;WAKQ,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,UAAU,UAAO;CAQxG"}
|
|
@@ -5,15 +5,14 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const mobx_1 = require("mobx");
|
|
6
6
|
const validation_1 = require("../validation");
|
|
7
7
|
const arrays_1 = require("../async/arrays");
|
|
8
|
-
const EmptyValidator = () =>
|
|
8
|
+
const EmptyValidator = () => 0;
|
|
9
9
|
class ValidatableModel {
|
|
10
|
-
constructor(
|
|
10
|
+
constructor() {
|
|
11
11
|
this._validator = null;
|
|
12
12
|
this._strings = null;
|
|
13
13
|
this._error = null;
|
|
14
14
|
this._validationError = null;
|
|
15
15
|
mobx_1.makeObservable(this);
|
|
16
|
-
this.setValidationConfig(config);
|
|
17
16
|
}
|
|
18
17
|
get isValid() { return !this._error; }
|
|
19
18
|
get error() { return this._error; }
|
|
@@ -34,21 +33,23 @@ class ValidatableModel {
|
|
|
34
33
|
return true;
|
|
35
34
|
}
|
|
36
35
|
try {
|
|
37
|
-
const
|
|
38
|
-
this._validationError =
|
|
36
|
+
const validationResult = await this._validator(this.valueToValidate);
|
|
37
|
+
this._validationError = !validationResult
|
|
39
38
|
? null
|
|
40
|
-
: new validation_1.ValidationError('Unknown error',
|
|
39
|
+
: new validation_1.ValidationError('Unknown error', validationResult);
|
|
41
40
|
}
|
|
42
41
|
catch (err) {
|
|
43
42
|
this._validationError = err;
|
|
44
43
|
}
|
|
45
|
-
|
|
46
|
-
this.
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
44
|
+
mobx_1.runInAction(() => {
|
|
45
|
+
if (!this._validationError) {
|
|
46
|
+
this._error = null;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
const code = this._validationError.code;
|
|
50
|
+
this._error = this._strings && this._strings[code];
|
|
51
|
+
}
|
|
52
|
+
});
|
|
52
53
|
return this._validationError == null;
|
|
53
54
|
}
|
|
54
55
|
async getIsInvalid() {
|