valleyed 4.2.11 → 4.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/lib/api/arrays.js +1 -2
- package/lib/api/arrays.js.map +1 -1
- package/lib/api/base.js +38 -53
- package/lib/api/base.js.map +1 -1
- package/lib/api/index.d.ts +10 -10
- package/lib/api/index.js +2 -2
- package/lib/api/index.js.map +1 -1
- package/lib/api/junctions.js +2 -1
- package/lib/api/junctions.js.map +1 -1
- package/lib/api/objects.js +3 -3
- package/lib/api/objects.js.map +1 -1
- package/lib/api/records.js +6 -7
- package/lib/api/records.js.map +1 -1
- package/lib/api/tuples.js +1 -1
- package/lib/api/tuples.js.map +1 -1
- package/lib/rules/arrays.js +4 -4
- package/lib/rules/arrays.js.map +1 -1
- package/lib/rules/equality.js +4 -4
- package/lib/rules/equality.js.map +1 -1
- package/lib/rules/files.js +4 -4
- package/lib/rules/files.js.map +1 -1
- package/lib/rules/numbers.js +4 -4
- package/lib/rules/numbers.js.map +1 -1
- package/lib/rules/records.js +4 -5
- package/lib/rules/records.js.map +1 -1
- package/lib/rules/strings.js +3 -3
- package/lib/rules/strings.js.map +1 -1
- package/lib/rules/tuples.d.ts +1 -1
- package/lib/rules/tuples.js +1 -1
- package/lib/rules/tuples.js.map +1 -1
- package/lib/rules/types.js +2 -2
- package/lib/rules/types.js.map +1 -1
- package/lib/utils/classes.d.ts +1 -6
- package/lib/utils/classes.js +3 -16
- package/lib/utils/classes.js.map +1 -1
- package/lib/utils/differ.js +64 -70
- package/lib/utils/differ.js.map +1 -1
- package/lib/utils/functions/index.d.ts +1 -0
- package/lib/utils/functions/index.js +14 -6
- package/lib/utils/functions/index.js.map +1 -1
- package/lib/utils/functions/urls/normalize.js +1 -2
- package/lib/utils/functions/urls/normalize.js.map +1 -1
- package/lib/utils/geohash.js +31 -38
- package/lib/utils/geohash.js.map +1 -1
- package/lib/utils/rules.js +2 -2
- package/lib/utils/rules.js.map +1 -1
- package/package.json +12 -12
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [4.3.1](https://github.com/kevinand11/valleyed/compare/v4.3.0...v4.3.1) (2024-07-31)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* wrap discriminator accessor in try/catch ([bc16ae8](https://github.com/kevinand11/valleyed/commit/bc16ae845e3250bd5d01fd9da75592639f520783))
|
|
11
|
+
|
|
12
|
+
## [4.3.0](https://github.com/kevinand11/valleyed/compare/v4.2.11...v4.3.0) (2024-06-09)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* support err message for is and in ([b0209ac](https://github.com/kevinand11/valleyed/commit/b0209acd4b101a573229881dd5a5be6212fafed4))
|
|
18
|
+
|
|
5
19
|
### [4.2.11](https://github.com/kevinand11/valleyed/compare/v4.2.10...v4.2.11) (2024-04-07)
|
|
6
20
|
|
|
7
21
|
### [4.2.10](https://github.com/kevinand11/valleyed/compare/v4.2.9...v4.2.10) (2024-04-06)
|
package/lib/api/arrays.js
CHANGED
|
@@ -9,8 +9,7 @@ class VArray extends core_1.VCore {
|
|
|
9
9
|
super();
|
|
10
10
|
this.addTyping((0, rules_1.isArray)(err));
|
|
11
11
|
this.addTyping((0, rules_2.makeRule)((value) => {
|
|
12
|
-
|
|
13
|
-
const mapped = ((_a = value) !== null && _a !== void 0 ? _a : []).reduce((acc, cur) => {
|
|
12
|
+
const mapped = (value ?? []).reduce((acc, cur) => {
|
|
14
13
|
const comp = comparer.parse(cur);
|
|
15
14
|
acc[0].push(comp.value);
|
|
16
15
|
acc[1].push(comp.valid);
|
package/lib/api/arrays.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../src/api/arrays.ts"],"names":[],"mappings":";;;AAAA,oCAA8E;AAC9E,0CAAyC;AACzC,iCAA8B;AAE9B,MAAa,MAAU,SAAQ,YAAU;IACxC,YAAa,QAAkB,EAAE,GAAY;QAC5C,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,CAAC,IAAA,eAAO,EAAC,GAAG,CAAC,CAAC,CAAA;QAC5B,IAAI,CAAC,SAAS,CAAC,IAAA,gBAAQ,EAAM,CAAC,KAAK,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../src/api/arrays.ts"],"names":[],"mappings":";;;AAAA,oCAA8E;AAC9E,0CAAyC;AACzC,iCAA8B;AAE9B,MAAa,MAAU,SAAQ,YAAU;IACxC,YAAa,QAAkB,EAAE,GAAY;QAC5C,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,CAAC,IAAA,eAAO,EAAC,GAAG,CAAC,CAAC,CAAA;QAC5B,IAAI,CAAC,SAAS,CAAC,IAAA,gBAAQ,EAAM,CAAC,KAAK,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,CAAC,KAAY,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACvD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAChC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACvB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACvB,OAAO,GAAG,CAAA;YACX,CAAC,EAAE,CAAC,EAAW,EAAE,EAAe,CAAU,CAAC,CAAA;YAC3C,OAAO,IAAA,iBAAS,EAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5D,CAAC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAE,MAAc,EAAE,GAAY;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAA,mBAAW,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;IAC9C,CAAC;IAED,GAAG,CAAE,MAAc,EAAE,GAAY;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAA,gBAAQ,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;IAC3C,CAAC;IAED,GAAG,CAAE,MAAc,EAAE,GAAY;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAA,gBAAQ,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;IAC3C,CAAC;IAED,GAAG,CAAE,QAAuB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,EAAE;YAChC,MAAM,QAAQ,GAAQ,EAAE,CAAA;YACxB,MAAM,GAAG,GAAyB,EAAE,CAAA;YACpC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACjB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gBACpB,IAAI,GAAG,CAAC,GAAG,CAAC;oBAAE,OAAM;gBACpB,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;gBACf,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC,CAAC,CAAA;YACF,OAAO,QAAQ,CAAA;QAChB,CAAC,CAAC,CAAA;IACH,CAAC;CACD;AAxCD,wBAwCC"}
|
package/lib/api/base.js
CHANGED
|
@@ -1,33 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
3
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
5
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
|
-
};
|
|
7
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
8
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
9
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
10
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
11
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
12
|
-
};
|
|
13
|
-
var _VBase_instances, _VBase_force, _VBase_groups, _VBase_value, _VBase_sanitize;
|
|
14
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
3
|
exports.VBase = void 0;
|
|
16
4
|
const rules_1 = require("../utils/rules");
|
|
17
5
|
class VBase {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
]);
|
|
28
|
-
}
|
|
6
|
+
#force = undefined;
|
|
7
|
+
#groups = [
|
|
8
|
+
{
|
|
9
|
+
transformer: ((v) => v),
|
|
10
|
+
typings: [], rules: [], sanitizers: [],
|
|
11
|
+
options: { original: false, required: true, nullable: false, default: undefined }
|
|
12
|
+
}
|
|
13
|
+
];
|
|
29
14
|
get forced() {
|
|
30
|
-
return !!
|
|
15
|
+
return !!this.#force;
|
|
31
16
|
}
|
|
32
17
|
static createType(c) {
|
|
33
18
|
return (...args) => new c(...args);
|
|
@@ -36,44 +21,44 @@ class VBase {
|
|
|
36
21
|
return (...args) => new c(...args)._setForced(conv);
|
|
37
22
|
}
|
|
38
23
|
clone(base) {
|
|
39
|
-
|
|
40
|
-
|
|
24
|
+
this.#force = base.#force;
|
|
25
|
+
this.#groups = base.#groups;
|
|
41
26
|
return this;
|
|
42
27
|
}
|
|
43
28
|
parse(input, ignoreRulesIfNotRequired = true) {
|
|
44
29
|
let value = input;
|
|
45
|
-
if (
|
|
46
|
-
value =
|
|
30
|
+
if (this.#force)
|
|
31
|
+
value = this.#force(value);
|
|
47
32
|
let res = { errors: [], valid: true, value, ignored: false };
|
|
48
|
-
for (const group of
|
|
49
|
-
const val =
|
|
50
|
-
const typeCheck = (0, rules_1.check)(val, group.typings,
|
|
33
|
+
for (const group of this.#groups) {
|
|
34
|
+
const val = this.#value(res.value, group.options);
|
|
35
|
+
const typeCheck = (0, rules_1.check)(val, group.typings, { ignoreRulesIfNotRequired, ...group.options });
|
|
51
36
|
if (!typeCheck.valid)
|
|
52
37
|
return typeCheck;
|
|
53
|
-
const sanitizedValue = typeCheck.ignored ? typeCheck.value :
|
|
54
|
-
const v = (0, rules_1.check)(sanitizedValue, group.rules,
|
|
38
|
+
const sanitizedValue = typeCheck.ignored ? typeCheck.value : this.#sanitize(typeCheck.value, group.sanitizers);
|
|
39
|
+
const v = (0, rules_1.check)(sanitizedValue, group.rules, { ignoreRulesIfNotRequired, ...group.options });
|
|
55
40
|
if (!v.valid)
|
|
56
41
|
return v;
|
|
57
42
|
const retValue = group.options.original ? res.value : group.transformer(v.value);
|
|
58
|
-
res =
|
|
43
|
+
res = { ...v, valid: true, value: retValue };
|
|
59
44
|
}
|
|
60
45
|
return res;
|
|
61
46
|
}
|
|
62
47
|
addTyping(rule) {
|
|
63
|
-
|
|
48
|
+
this.#groups.at(-1).typings.push(rule);
|
|
64
49
|
return this;
|
|
65
50
|
}
|
|
66
51
|
addRule(rule) {
|
|
67
|
-
|
|
52
|
+
this.#groups.at(-1).rules.push(rule);
|
|
68
53
|
return this;
|
|
69
54
|
}
|
|
70
55
|
addSanitizer(sanitizer) {
|
|
71
|
-
|
|
56
|
+
this.#groups.at(-1).sanitizers.push(sanitizer);
|
|
72
57
|
return this;
|
|
73
58
|
}
|
|
74
59
|
_addTransform(transformer) {
|
|
75
|
-
|
|
76
|
-
|
|
60
|
+
this.#groups.at(-1).transformer = transformer;
|
|
61
|
+
this.#groups.push({
|
|
77
62
|
transformer: (v) => v,
|
|
78
63
|
typings: [], rules: [], sanitizers: [],
|
|
79
64
|
options: {
|
|
@@ -86,25 +71,25 @@ class VBase {
|
|
|
86
71
|
return this;
|
|
87
72
|
}
|
|
88
73
|
_setOption(key, value) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
__classPrivateFieldGet(this, _VBase_groups, "f").at(-1).options[key] = value;
|
|
74
|
+
if (this.#groups.at(-1)?.options)
|
|
75
|
+
this.#groups.at(-1).options[key] = value;
|
|
92
76
|
return this;
|
|
93
77
|
}
|
|
94
78
|
_setForced(conv) {
|
|
95
|
-
|
|
79
|
+
this.#force = conv;
|
|
96
80
|
return this;
|
|
97
81
|
}
|
|
82
|
+
#value(value, options) {
|
|
83
|
+
if (value !== undefined)
|
|
84
|
+
return value;
|
|
85
|
+
const def = options.default;
|
|
86
|
+
if (def !== undefined)
|
|
87
|
+
return typeof def === 'function' ? def() : def;
|
|
88
|
+
return undefined;
|
|
89
|
+
}
|
|
90
|
+
#sanitize(value, sanitizers) {
|
|
91
|
+
return sanitizers.reduce((v, sanitizer) => sanitizer(v), value);
|
|
92
|
+
}
|
|
98
93
|
}
|
|
99
94
|
exports.VBase = VBase;
|
|
100
|
-
_VBase_force = new WeakMap(), _VBase_groups = new WeakMap(), _VBase_instances = new WeakSet(), _VBase_value = function _VBase_value(value, options) {
|
|
101
|
-
if (value !== undefined)
|
|
102
|
-
return value;
|
|
103
|
-
const def = options.default;
|
|
104
|
-
if (def !== undefined)
|
|
105
|
-
return typeof def === 'function' ? def() : def;
|
|
106
|
-
return undefined;
|
|
107
|
-
}, _VBase_sanitize = function _VBase_sanitize(value, sanitizers) {
|
|
108
|
-
return sanitizers.reduce((v, sanitizer) => sanitizer(v), value);
|
|
109
|
-
};
|
|
110
95
|
//# sourceMappingURL=base.js.map
|
package/lib/api/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/api/base.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/api/base.ts"],"names":[],"mappings":"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"}
|
package/lib/api/index.d.ts
CHANGED
|
@@ -11,25 +11,25 @@ import { VTime } from './times';
|
|
|
11
11
|
import { VTuple } from './tuples';
|
|
12
12
|
export { VCore };
|
|
13
13
|
export declare const v: {
|
|
14
|
-
is: <T>(value: T) => VCore<T>;
|
|
15
|
-
in: <
|
|
16
|
-
or: <
|
|
14
|
+
is: <T>(value: T, comparer?: (val: any, comp: T) => boolean, err?: string) => VCore<T>;
|
|
15
|
+
in: <T>(values: Readonly<T[]>, comparer?: (val: any, arrayItem: T) => boolean, err?: string) => VCore<T>;
|
|
16
|
+
or: <T extends VCore<any>[]>(options: T, err?: string | undefined) => VOr<T>;
|
|
17
17
|
and: <I>(options: VCore<I>[], err?: string | undefined) => VAnd<I>;
|
|
18
18
|
string: (err?: string | undefined) => VString;
|
|
19
19
|
discriminate: <D extends Record<string, VCore<any>>>(discriminator: (val: import("./base").ExtractI<D[keyof D]>) => string, schemas: D, err?: string | undefined) => VDiscriminator<D>;
|
|
20
20
|
number: (err?: string | undefined) => VNumber;
|
|
21
21
|
boolean: (err?: string | undefined) => VBoolean;
|
|
22
|
-
time: <
|
|
22
|
+
time: <T extends import("./times").Timeable = import("./times").Timeable>(err?: string | undefined) => VTime<T>;
|
|
23
23
|
file: (err?: string | undefined) => VFile;
|
|
24
|
-
array: <
|
|
25
|
-
tuple: <
|
|
26
|
-
object: <
|
|
24
|
+
array: <I>(comparer: VCore<I>, err?: string | undefined) => VArray<I>;
|
|
25
|
+
tuple: <T extends ReadonlyArray<VCore<any>>>(schema: readonly [...T], err?: string | undefined) => VTuple<T>;
|
|
26
|
+
object: <T extends Record<string, VCore<any>>>(schema: T, trim?: boolean | undefined, err?: string | undefined) => VObject<T>;
|
|
27
27
|
record: <VI>(vCom: VCore<VI>, err?: string | undefined) => VRecord<VI>;
|
|
28
|
-
map: <KI,
|
|
28
|
+
map: <KI, VI>(kCom: VCore<KI>, vCom: VCore<VI>, err?: string | undefined) => VMap<KI, VI>;
|
|
29
29
|
null: (err?: string) => VCore<null>;
|
|
30
30
|
undefined: (err?: string) => VCore<undefined>;
|
|
31
|
-
instanceof: <
|
|
32
|
-
any: <
|
|
31
|
+
instanceof: <T>(classDef: new () => T, err?: string) => VCore<T>;
|
|
32
|
+
any: <T = any>() => VCore<T>;
|
|
33
33
|
force: {
|
|
34
34
|
string: (err?: string | undefined) => VString;
|
|
35
35
|
number: (err?: string | undefined) => VNumber;
|
package/lib/api/index.js
CHANGED
|
@@ -17,8 +17,8 @@ const strings_1 = require("./strings");
|
|
|
17
17
|
const times_1 = require("./times");
|
|
18
18
|
const tuples_1 = require("./tuples");
|
|
19
19
|
exports.v = {
|
|
20
|
-
is: (value) => new core_1.VCore().eq(value),
|
|
21
|
-
in: (values, comparer = differ_1.Differ.equal) => new core_1.VCore().in(values, comparer),
|
|
20
|
+
is: (value, comparer = differ_1.Differ.equal, err) => new core_1.VCore().eq(value, comparer, err),
|
|
21
|
+
in: (values, comparer = differ_1.Differ.equal, err) => new core_1.VCore().in(values, comparer, err),
|
|
22
22
|
or: base_1.VBase.createType(junctions_1.VOr),
|
|
23
23
|
and: base_1.VBase.createType(junctions_1.VAnd),
|
|
24
24
|
string: base_1.VBase.createType(strings_1.VString),
|
package/lib/api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";;;AAAA,oCAA4D;AAC5D,4CAAwC;AACxC,qCAAiC;AACjC,iCAA8B;AAC9B,yCAAqC;AACrC,iCAA8B;AAUrB,sFAVA,YAAK,OAUA;AATd,mCAA+B;AAC/B,2CAAuD;AACvD,uCAAmC;AACnC,uCAAmC;AACnC,uCAAyC;AACzC,uCAAmC;AACnC,mCAA+B;AAC/B,qCAAiC;AAIpB,QAAA,CAAC,GAAG;IAChB,EAAE,EAAE,CAAK,KAAQ,EAAE,EAAE,CAAC,IAAI,YAAK,EAAK,CAAC,EAAE,CAAC,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";;;AAAA,oCAA4D;AAC5D,4CAAwC;AACxC,qCAAiC;AACjC,iCAA8B;AAC9B,yCAAqC;AACrC,iCAA8B;AAUrB,sFAVA,YAAK,OAUA;AATd,mCAA+B;AAC/B,2CAAuD;AACvD,uCAAmC;AACnC,uCAAmC;AACnC,uCAAyC;AACzC,uCAAmC;AACnC,mCAA+B;AAC/B,qCAAiC;AAIpB,QAAA,CAAC,GAAG;IAChB,EAAE,EAAE,CAAK,KAAQ,EAAE,WAAW,eAAM,CAAC,KAAuC,EAAE,GAAY,EAAE,EAAE,CAAC,IAAI,YAAK,EAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC;IACtI,EAAE,EAAE,CAAK,MAAqB,EAAE,WAAW,eAAM,CAAC,KAA4C,EAAE,GAAY,EAAE,EAAE,CAAC,IAAI,YAAK,EAAK,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC;IACzJ,EAAE,EAAE,YAAK,CAAC,UAAU,CAAC,eAAG,CAAC;IACzB,GAAG,EAAE,YAAK,CAAC,UAAU,CAAC,gBAAI,CAAC;IAC3B,MAAM,EAAE,YAAK,CAAC,UAAU,CAAC,iBAAO,CAAC;IACjC,YAAY,EAAE,YAAK,CAAC,UAAU,CAAC,0BAAc,CAAC;IAC9C,MAAM,EAAE,YAAK,CAAC,UAAU,CAAC,iBAAO,CAAC;IACjC,OAAO,EAAE,YAAK,CAAC,UAAU,CAAC,mBAAQ,CAAC;IACnC,IAAI,EAAE,YAAK,CAAC,UAAU,CAAC,aAAK,CAAC;IAC7B,IAAI,EAAE,YAAK,CAAC,UAAU,CAAC,aAAK,CAAC;IAC7B,KAAK,EAAE,YAAK,CAAC,UAAU,CAAC,eAAM,CAAC;IAC/B,KAAK,EAAE,YAAK,CAAC,UAAU,CAAC,eAAM,CAAC;IAC/B,MAAM,EAAE,YAAK,CAAC,UAAU,CAAC,iBAAO,CAAC;IACjC,MAAM,EAAE,YAAK,CAAC,UAAU,CAAC,iBAAO,CAAC;IACjC,GAAG,EAAE,YAAK,CAAC,UAAU,CAAC,cAAI,CAAC;IAC3B,IAAI,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,IAAI,YAAK,EAAQ,CAAC,OAAO,CAAC,IAAA,cAAM,EAAC,GAAG,CAAC,CAAC;IAC9D,SAAS,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,IAAI,YAAK,EAAa,CAAC,OAAO,CAAC,IAAA,mBAAW,EAAC,GAAG,CAAC,CAAC;IAC7E,UAAU,EAAE,CAAK,QAAqB,EAAE,GAAY,EAAE,EAAE,CAAC,IAAI,YAAK,EAAK,CAAC,OAAO,CAAC,IAAA,oBAAY,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC5G,GAAG,EAAE,GAAa,EAAE,CAAC,IAAI,YAAK,EAAK;IACnC,KAAK,EAAE;QACN,MAAM,EAAE,YAAK,CAAC,gBAAgB,CAAiD,iBAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACzG,MAAM,EAAE,YAAK,CAAC,gBAAgB,CAAiD,iBAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACzG,OAAO,EAAE,YAAK,CAAC,gBAAgB,CAAmD,mBAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9G,IAAI,EAAE,YAAK,CAAC,gBAAgB,CAAmD,aAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAQ,CAAC,CAAC;KAChH;CACD,CAAA"}
|
package/lib/api/junctions.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.VDiscriminator = exports.VAnd = exports.VOr = void 0;
|
|
4
|
+
const functions_1 = require("../utils/functions");
|
|
4
5
|
const rules_1 = require("../utils/rules");
|
|
5
6
|
const core_1 = require("./core");
|
|
6
7
|
class VOr extends core_1.VCore {
|
|
@@ -44,7 +45,7 @@ class VDiscriminator extends core_1.VCore {
|
|
|
44
45
|
super();
|
|
45
46
|
this.addTyping((0, rules_1.makeRule)((value) => {
|
|
46
47
|
const val = value;
|
|
47
|
-
const accessor = discriminator(val);
|
|
48
|
+
const accessor = (0, functions_1.wrapInTryCatch)(() => discriminator(val));
|
|
48
49
|
if (!schemas[accessor])
|
|
49
50
|
return (0, rules_1.isInvalid)([err], val);
|
|
50
51
|
return schemas[accessor].parse(val);
|
package/lib/api/junctions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"junctions.js","sourceRoot":"","sources":["../../src/api/junctions.ts"],"names":[],"mappings":";;;AAAA,0CAA6D;AAE7D,iCAA8B;AAE9B,MAAa,GAA4B,SAAQ,YAA0B;IAC1E,YAAa,OAAU,EAAE,GAAG,GAAG,gCAAgC;QAC9D,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,CAAC,IAAA,gBAAQ,EAAsB,CAAC,KAAK,EAAE,EAAE;YACtD,MAAM,GAAG,GAAG,KAA4B,CAAA;YACxC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAA,eAAO,EAAC,GAAG,CAAC,CAAA;YAC7C,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAC5B,IAAI,KAAK,CAAC,KAAK;oBAAE,OAAO,KAAK,CAAA;YAC9B,CAAC;YACD,OAAO,IAAA,iBAAS,EAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAC,CAAA;IACJ,CAAC;CACD;AAbD,kBAaC;AAED,MAAa,IAAQ,SAAQ,YAAQ;IACpC,YAAa,OAAmB,EAAE,GAAY;QAC7C,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,CAAC,IAAA,gBAAQ,EAAC,CAAC,KAAK,EAAE,EAAE;YACjC,IAAI,CAAC,GAAG,KAAU,CAAA;YAClB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAA,eAAO,EAAC,CAAC,CAAC,CAAA;YAC3C,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAC1B,IAAI,KAAK,CAAC,KAAK;oBAAE,CAAC,GAAG,KAAK,CAAC,KAAY,CAAA;;oBAClC,OAAO,IAAA,iBAAS,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YACrD,CAAC;YACD,OAAO,IAAA,eAAO,EAAC,CAAC,CAAC,CAAA;QAClB,CAAC,CAAC,CAAC,CAAA;IACJ,CAAC;CACD;AAdD,oBAcC;AAED,MAAa,cAAqD,SAAQ,YAA2B;IACpG,YAAa,aAAoD,EAAE,OAAU,EAAE,GAAG,GAAG,gCAAgC;QACpH,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,CAAC,IAAA,gBAAQ,EAAuB,CAAC,KAAK,EAAE,EAAE;YACvD,MAAM,GAAG,GAAG,KAA6B,CAAA;YACzC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"junctions.js","sourceRoot":"","sources":["../../src/api/junctions.ts"],"names":[],"mappings":";;;AAAA,kDAAmD;AACnD,0CAA6D;AAE7D,iCAA8B;AAE9B,MAAa,GAA4B,SAAQ,YAA0B;IAC1E,YAAa,OAAU,EAAE,GAAG,GAAG,gCAAgC;QAC9D,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,CAAC,IAAA,gBAAQ,EAAsB,CAAC,KAAK,EAAE,EAAE;YACtD,MAAM,GAAG,GAAG,KAA4B,CAAA;YACxC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAA,eAAO,EAAC,GAAG,CAAC,CAAA;YAC7C,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAC5B,IAAI,KAAK,CAAC,KAAK;oBAAE,OAAO,KAAK,CAAA;YAC9B,CAAC;YACD,OAAO,IAAA,iBAAS,EAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAC,CAAA;IACJ,CAAC;CACD;AAbD,kBAaC;AAED,MAAa,IAAQ,SAAQ,YAAQ;IACpC,YAAa,OAAmB,EAAE,GAAY;QAC7C,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,CAAC,IAAA,gBAAQ,EAAC,CAAC,KAAK,EAAE,EAAE;YACjC,IAAI,CAAC,GAAG,KAAU,CAAA;YAClB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAA,eAAO,EAAC,CAAC,CAAC,CAAA;YAC3C,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAC1B,IAAI,KAAK,CAAC,KAAK;oBAAE,CAAC,GAAG,KAAK,CAAC,KAAY,CAAA;;oBAClC,OAAO,IAAA,iBAAS,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YACrD,CAAC;YACD,OAAO,IAAA,eAAO,EAAC,CAAC,CAAC,CAAA;QAClB,CAAC,CAAC,CAAC,CAAA;IACJ,CAAC;CACD;AAdD,oBAcC;AAED,MAAa,cAAqD,SAAQ,YAA2B;IACpG,YAAa,aAAoD,EAAE,OAAU,EAAE,GAAG,GAAG,gCAAgC;QACpH,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,CAAC,IAAA,gBAAQ,EAAuB,CAAC,KAAK,EAAE,EAAE;YACvD,MAAM,GAAG,GAAG,KAA6B,CAAA;YACzC,MAAM,QAAQ,GAAG,IAAA,0BAAc,EAAC,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAE,CAAA;YAC1D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAAE,OAAO,IAAA,iBAAS,EAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;YACpD,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACpC,CAAC,CAAC,CAAC,CAAA;IACJ,CAAC;CACD;AAVD,wCAUC"}
|
package/lib/api/objects.js
CHANGED
|
@@ -8,7 +8,7 @@ class VObject extends core_1.VCore {
|
|
|
8
8
|
super();
|
|
9
9
|
this.addTyping((0, rules_1.makeRule)((value) => {
|
|
10
10
|
const val = structuredClone(value);
|
|
11
|
-
const keys = new Set([...Object.keys(val
|
|
11
|
+
const keys = new Set([...Object.keys(val ?? {}), ...Object.keys(schema)]);
|
|
12
12
|
const errors = [];
|
|
13
13
|
for (const key of keys) {
|
|
14
14
|
if (!(key in schema)) {
|
|
@@ -16,11 +16,11 @@ class VObject extends core_1.VCore {
|
|
|
16
16
|
try {
|
|
17
17
|
delete val[key];
|
|
18
18
|
}
|
|
19
|
-
catch
|
|
19
|
+
catch { }
|
|
20
20
|
}
|
|
21
21
|
continue;
|
|
22
22
|
}
|
|
23
|
-
const validity = schema[key].parse(val
|
|
23
|
+
const validity = schema[key].parse(val?.[key]);
|
|
24
24
|
const errorStart = schema[key] instanceof VObject ? `${key}.` : `${key}: `;
|
|
25
25
|
if (!validity.valid)
|
|
26
26
|
errors.push(...validity.errors.map((e) => errorStart + e));
|
package/lib/api/objects.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objects.js","sourceRoot":"","sources":["../../src/api/objects.ts"],"names":[],"mappings":";;;AAAA,0CAA6D;AAE7D,iCAA8B;AAI9B,MAAa,OAA8C,SAAQ,YAAY;IAC9E,YAAa,MAAS,EAAE,IAAI,GAAG,IAAI,EAAE,GAAY;QAChD,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,CAAC,IAAA,gBAAQ,EAAQ,CAAC,KAAK,EAAE,EAAE;YACxC,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAU,CAAA;YAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"objects.js","sourceRoot":"","sources":["../../src/api/objects.ts"],"names":[],"mappings":";;;AAAA,0CAA6D;AAE7D,iCAA8B;AAI9B,MAAa,OAA8C,SAAQ,YAAY;IAC9E,YAAa,MAAS,EAAE,IAAI,GAAG,IAAI,EAAE,GAAY;QAChD,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,CAAC,IAAA,gBAAQ,EAAQ,CAAC,KAAK,EAAE,EAAE;YACxC,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAU,CAAA;YAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YACzE,MAAM,MAAM,GAAa,EAAE,CAAA;YAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACxB,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC;oBACtB,IAAI,IAAI,EAAE,CAAC;wBACV,IAAI,CAAC;4BACJ,OAAO,GAAG,CAAC,GAAG,CAAC,CAAA;wBAChB,CAAC;wBAAC,MAAM,CAAC,CAAM,CAAC;oBACjB,CAAC;oBACD,SAAQ;gBACT,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;gBAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAA;gBAC1E,IAAI,CAAC,QAAQ,CAAC,KAAK;oBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAA;gBAE/E,IAAI,GAAG,IAAI,QAAQ,CAAC,KAAK;oBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAA;YACrD,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAS,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,eAAO,EAAC,GAAG,CAAC,CAAA;QAC/E,CAAC,CAAC,CAAC,CAAA;IACJ,CAAC;CACD;AAzBD,0BAyBC"}
|
package/lib/api/records.js
CHANGED
|
@@ -9,10 +9,9 @@ class VMap extends core_1.VCore {
|
|
|
9
9
|
super();
|
|
10
10
|
this.addTyping((0, rules_1.isInstanceOf)(Map, err));
|
|
11
11
|
this.addTyping((0, rules_2.makeRule)((value) => {
|
|
12
|
-
var _a;
|
|
13
12
|
const val = structuredClone(value);
|
|
14
|
-
for (const k of
|
|
15
|
-
const v = val
|
|
13
|
+
for (const k of val?.keys() ?? []) {
|
|
14
|
+
const v = val?.get(k);
|
|
16
15
|
const kValid = kCom.parse(k);
|
|
17
16
|
const vValid = vCom.parse(v);
|
|
18
17
|
if (!kValid.valid)
|
|
@@ -20,8 +19,8 @@ class VMap extends core_1.VCore {
|
|
|
20
19
|
if (!vValid.valid)
|
|
21
20
|
return (0, rules_2.isInvalid)(err ? [err] : [`contains an invalid value for key ${String(k)}`], val);
|
|
22
21
|
if (k !== kValid.value)
|
|
23
|
-
val
|
|
24
|
-
val
|
|
22
|
+
val?.delete(k);
|
|
23
|
+
val?.set(kValid.value, vValid.value);
|
|
25
24
|
}
|
|
26
25
|
return (0, rules_2.isValid)(val);
|
|
27
26
|
}));
|
|
@@ -35,9 +34,9 @@ class VRecord extends core_1.VCore {
|
|
|
35
34
|
if (Array.isArray(value))
|
|
36
35
|
return (0, rules_2.isInvalid)(err ? [err] : ['is not an object'], value);
|
|
37
36
|
const val = structuredClone(value);
|
|
38
|
-
for (const [k, v] of Object.entries(val
|
|
37
|
+
for (const [k, v] of Object.entries(val ?? {})) {
|
|
39
38
|
const validity = vCom.parse(v);
|
|
40
|
-
err = err
|
|
39
|
+
err = err ?? `contains an invalid value for key ${k}`;
|
|
41
40
|
if (!validity.valid)
|
|
42
41
|
return (0, rules_2.isInvalid)([err], val);
|
|
43
42
|
if (value)
|
package/lib/api/records.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/api/records.ts"],"names":[],"mappings":";;;AAAA,oCAAuC;AACvC,0CAA6D;AAC7D,iCAA8B;AAE9B,MAAa,IAAa,SAAQ,YAAkB;IACnD,YAAa,IAAe,EAAE,IAAe,EAAE,GAAY;QAC1D,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,CAAC,IAAA,oBAAY,EAAc,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QACnD,IAAI,CAAC,SAAS,CAAC,IAAA,gBAAQ,EAAc,CAAC,KAAK,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/api/records.ts"],"names":[],"mappings":";;;AAAA,oCAAuC;AACvC,0CAA6D;AAC7D,iCAA8B;AAE9B,MAAa,IAAa,SAAQ,YAAkB;IACnD,YAAa,IAAe,EAAE,IAAe,EAAE,GAAY;QAC1D,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,CAAC,IAAA,oBAAY,EAAc,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QACnD,IAAI,CAAC,SAAS,CAAC,IAAA,gBAAQ,EAAc,CAAC,KAAK,EAAE,EAAE;YAC9C,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAgB,CAAA;YACjD,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;gBACnC,MAAM,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAE,CAAA;gBACtB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAQ,CAAC,CAAA;gBACnC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAQ,CAAC,CAAA;gBACnC,IAAI,CAAC,MAAM,CAAC,KAAK;oBAAE,OAAO,IAAA,iBAAS,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;gBAChG,IAAI,CAAC,MAAM,CAAC,KAAK;oBAAE,OAAO,IAAA,iBAAS,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,qCAAqC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;gBAE1G,IAAI,CAAC,KAAK,MAAM,CAAC,KAAK;oBAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;gBAEtC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;YACrC,CAAC;YACD,OAAO,IAAA,eAAO,EAAC,GAAG,CAAC,CAAA;QACpB,CAAC,CAAC,CAAC,CAAA;IACJ,CAAC;CACD;AApBD,oBAoBC;AAED,MAAa,OAAY,SAAQ,YAAyB;IACzD,YAAa,IAAe,EAAE,GAAY;QACzC,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,CAAC,IAAA,gBAAQ,EAAqB,CAAC,KAAK,EAAE,EAAE;YACrD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAO,IAAA,iBAAS,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,CAAA;YACrF,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAuB,CAAA;YACxD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC;gBAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAQ,CAAC,CAAA;gBACrC,GAAG,GAAG,GAAG,IAAI,qCAAqC,CAAC,EAAE,CAAA;gBACrD,IAAI,CAAC,QAAQ,CAAC,KAAK;oBAAE,OAAO,IAAA,iBAAS,EAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;gBAEjD,IAAI,KAAK;oBAAE,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAA;YACrC,CAAC;YACD,OAAO,IAAA,eAAO,EAAC,GAAG,CAAC,CAAA;QACpB,CAAC,CAAC,CAAC,CAAA;IACJ,CAAC;CACD;AAhBD,0BAgBC"}
|
package/lib/api/tuples.js
CHANGED
|
@@ -13,7 +13,7 @@ class VTuple extends core_1.VCore {
|
|
|
13
13
|
if (schema.length !== val.length)
|
|
14
14
|
val.length = schema.length;
|
|
15
15
|
const mapped = schema.reduce((acc, cur, i) => {
|
|
16
|
-
const comp = cur.parse(val
|
|
16
|
+
const comp = cur.parse(val?.[i]);
|
|
17
17
|
acc[0].push(comp.value);
|
|
18
18
|
acc[1].push(comp.valid);
|
|
19
19
|
return acc;
|
package/lib/api/tuples.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tuples.js","sourceRoot":"","sources":["../../src/api/tuples.ts"],"names":[],"mappings":";;;AAAA,oCAAmD;AACnD,0CAAyC;AAEzC,iCAA8B;AAI9B,MAAa,MAA4C,SAAQ,YAAY;IAC5E,YAAa,MAAiB,EAAE,GAAY;QAC3C,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,CAAC,IAAA,eAAO,EAAC,GAAG,CAAC,CAAC,CAAA;QAC5B,IAAI,CAAC,SAAS,CAAC,IAAA,gBAAQ,EAAQ,CAAC,KAAK,EAAE,EAAE;YACxC,MAAM,GAAG,GAAG,KAAc,CAAA;YAE1B,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM;gBAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;YAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"tuples.js","sourceRoot":"","sources":["../../src/api/tuples.ts"],"names":[],"mappings":";;;AAAA,oCAAmD;AACnD,0CAAyC;AAEzC,iCAA8B;AAI9B,MAAa,MAA4C,SAAQ,YAAY;IAC5E,YAAa,MAAiB,EAAE,GAAY;QAC3C,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,CAAC,IAAA,eAAO,EAAC,GAAG,CAAC,CAAC,CAAA;QAC5B,IAAI,CAAC,SAAS,CAAC,IAAA,gBAAQ,EAAQ,CAAC,KAAK,EAAE,EAAE;YACxC,MAAM,GAAG,GAAG,KAAc,CAAA;YAE1B,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM;gBAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;YAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;gBAChC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACvB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACvB,OAAO,GAAG,CAAA;YACX,CAAC,EAAE,CAAC,EAAa,EAAE,EAAe,CAAU,CAAC,CAAA;YAC7C,OAAO,IAAA,eAAO,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAQ,CAAA;QACrE,CAAC,CAAC,CAAC,CAAA;IACJ,CAAC;CACD;AAjBD,wBAiBC"}
|
package/lib/rules/arrays.js
CHANGED
|
@@ -12,7 +12,7 @@ const hasLengthOf = (length, error) => (0, rules_1.makeRule)((value) => {
|
|
|
12
12
|
const v = (0, exports.isArray)()(value);
|
|
13
13
|
if (!v.valid)
|
|
14
14
|
return v;
|
|
15
|
-
error = error
|
|
15
|
+
error = error ?? `must contain ${length} items`;
|
|
16
16
|
const val = value;
|
|
17
17
|
if (val.length === length)
|
|
18
18
|
return (0, rules_1.isValid)(val);
|
|
@@ -23,7 +23,7 @@ const hasMinOf = (length, error) => (0, rules_1.makeRule)((value) => {
|
|
|
23
23
|
const v = (0, exports.isArray)()(value);
|
|
24
24
|
if (!v.valid)
|
|
25
25
|
return v;
|
|
26
|
-
error = error
|
|
26
|
+
error = error ?? `must contain ${length} or more items`;
|
|
27
27
|
const val = value;
|
|
28
28
|
if (val.length >= length)
|
|
29
29
|
return (0, rules_1.isValid)(val);
|
|
@@ -34,7 +34,7 @@ const hasMaxOf = (length, error) => (0, rules_1.makeRule)((value) => {
|
|
|
34
34
|
const v = (0, exports.isArray)()(value);
|
|
35
35
|
if (!v.valid)
|
|
36
36
|
return v;
|
|
37
|
-
error = error
|
|
37
|
+
error = error ?? `must contain ${length} or less items`;
|
|
38
38
|
const val = value;
|
|
39
39
|
if (val.length <= length)
|
|
40
40
|
return (0, rules_1.isValid)(val);
|
|
@@ -48,7 +48,7 @@ const isArrayOf = (comparer, error) => (0, rules_1.makeRule)((value) => {
|
|
|
48
48
|
const val = value;
|
|
49
49
|
const invIndex = val.findIndex((elem, i) => !comparer(elem, i));
|
|
50
50
|
const invalid = invIndex !== -1;
|
|
51
|
-
error = error
|
|
51
|
+
error = error ?? `contains invalid values at index ${invIndex}`;
|
|
52
52
|
return invalid ? (0, rules_1.isInvalid)([error], val) : (0, rules_1.isValid)(val);
|
|
53
53
|
});
|
|
54
54
|
exports.isArrayOf = isArrayOf;
|
package/lib/rules/arrays.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../src/rules/arrays.ts"],"names":[],"mappings":";;;AAAA,0CAA6D;AAEtD,MAAM,OAAO,GAAG,CAAC,KAAK,GAAG,iBAAiB,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAM,CAAC,KAAK,EAAE,EAAE;IAC7E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAA,eAAO,EAAC,KAAK,CAAC,CAAA;IAC/C,OAAO,IAAA,iBAAS,EAAC,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;AACjC,CAAC,CAAC,CAAA;AAHW,QAAA,OAAO,WAGlB;AAEK,MAAM,WAAW,GAAG,CAAQ,MAAc,EAAE,KAAc,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAS,CAAC,KAAK,EAAE,EAAE;IAChG,MAAM,CAAC,GAAG,IAAA,eAAO,GAAE,CAAC,KAAK,CAAC,CAAA;IAC1B,IAAI,CAAC,CAAC,CAAC,KAAK;QAAE,OAAO,CAAC,CAAA;IACtB,KAAK,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../src/rules/arrays.ts"],"names":[],"mappings":"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"}
|
package/lib/rules/equality.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.arrayNotContains = exports.arrayContains = exports.isNotEqualTo = export
|
|
|
4
4
|
const differ_1 = require("../utils/differ");
|
|
5
5
|
const rules_1 = require("../utils/rules");
|
|
6
6
|
const isEqualTo = (compare, comparer = differ_1.Differ.equal, error) => (0, rules_1.makeRule)((value) => {
|
|
7
|
-
error = error
|
|
7
|
+
error = error ?? `is not equal to ${compare}`;
|
|
8
8
|
const val = value;
|
|
9
9
|
if (value === compare)
|
|
10
10
|
return (0, rules_1.isValid)(val);
|
|
@@ -14,7 +14,7 @@ const isEqualTo = (compare, comparer = differ_1.Differ.equal, error) => (0, rule
|
|
|
14
14
|
});
|
|
15
15
|
exports.isEqualTo = isEqualTo;
|
|
16
16
|
const isNotEqualTo = (compare, comparer = differ_1.Differ.equal, error) => (0, rules_1.makeRule)((value) => {
|
|
17
|
-
error = error
|
|
17
|
+
error = error ?? `is equal to ${compare}`;
|
|
18
18
|
const val = value;
|
|
19
19
|
if (value !== compare)
|
|
20
20
|
return (0, rules_1.isValid)(val);
|
|
@@ -24,7 +24,7 @@ const isNotEqualTo = (compare, comparer = differ_1.Differ.equal, error) => (0, r
|
|
|
24
24
|
});
|
|
25
25
|
exports.isNotEqualTo = isNotEqualTo;
|
|
26
26
|
const arrayContains = (array, comparer = differ_1.Differ.equal, error) => (0, rules_1.makeRule)((value) => {
|
|
27
|
-
error = error
|
|
27
|
+
error = error ?? `is not in the list: [${array.join(',')}]`;
|
|
28
28
|
const val = value;
|
|
29
29
|
if (array.find((x) => comparer(val, x)))
|
|
30
30
|
return (0, rules_1.isValid)(val);
|
|
@@ -32,7 +32,7 @@ const arrayContains = (array, comparer = differ_1.Differ.equal, error) => (0, ru
|
|
|
32
32
|
});
|
|
33
33
|
exports.arrayContains = arrayContains;
|
|
34
34
|
const arrayNotContains = (array, comparer = differ_1.Differ.equal, error) => (0, rules_1.makeRule)((value) => {
|
|
35
|
-
error = error
|
|
35
|
+
error = error ?? `is in the list: [${array.join(',')}]`;
|
|
36
36
|
const val = value;
|
|
37
37
|
if (array.find((x) => comparer(val, x)))
|
|
38
38
|
return (0, rules_1.isInvalid)([error], val);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"equality.js","sourceRoot":"","sources":["../../src/rules/equality.ts"],"names":[],"mappings":";;;AAAA,4CAAwC;AACxC,0CAA6D;AAEtD,MAAM,SAAS,GAAG,CACxB,OAAa,EACb,WAAW,eAAM,CAAC,KAA6C,EAC/D,KAAc,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAO,CAAC,KAAK,EAAE,EAAE;IAC3C,KAAK,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"equality.js","sourceRoot":"","sources":["../../src/rules/equality.ts"],"names":[],"mappings":";;;AAAA,4CAAwC;AACxC,0CAA6D;AAEtD,MAAM,SAAS,GAAG,CACxB,OAAa,EACb,WAAW,eAAM,CAAC,KAA6C,EAC/D,KAAc,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAO,CAAC,KAAK,EAAE,EAAE;IAC3C,KAAK,GAAG,KAAK,IAAI,mBAAmB,OAAO,EAAE,CAAA;IAC7C,MAAM,GAAG,GAAG,KAAa,CAAA;IACzB,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,IAAA,eAAO,EAAC,GAAG,CAAC,CAAA;IAC1C,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;QAAE,OAAO,IAAA,eAAO,EAAC,GAAG,CAAC,CAAA;IAC/C,OAAO,IAAA,iBAAS,EAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;AAC/B,CAAC,CAAC,CAAA;AATU,QAAA,SAAS,aASnB;AAEI,MAAM,YAAY,GAAG,CAC3B,OAAgB,EAChB,WAAW,eAAM,CAAC,KAAiD,EACnE,KAAc,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAO,CAAC,KAAK,EAAE,EAAE;IAC3C,KAAK,GAAG,KAAK,IAAI,eAAe,OAAO,EAAE,CAAA;IACzC,MAAM,GAAG,GAAG,KAAa,CAAA;IACzB,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,IAAA,eAAO,EAAC,GAAG,CAAC,CAAA;IAC1C,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;QAAE,OAAO,IAAA,eAAO,EAAC,GAAG,CAAC,CAAA;IAChD,OAAO,IAAA,iBAAS,EAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;AAC/B,CAAC,CAAC,CAAA;AATU,QAAA,YAAY,gBAStB;AAEI,MAAM,aAAa,GAAG,CAC5B,KAAuB,EACvB,WAAW,eAAM,CAAC,KAA+C,EACjE,KAAc,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAO,CAAC,KAAK,EAAE,EAAE;IAC3C,KAAK,GAAG,KAAK,IAAI,wBAAwB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;IAC3D,MAAM,GAAG,GAAG,KAAa,CAAA;IACzB,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAAE,OAAO,IAAA,eAAO,EAAC,GAAG,CAAC,CAAA;IAC5D,OAAO,IAAA,iBAAS,EAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;AAC/B,CAAC,CAAC,CAAA;AARU,QAAA,aAAa,iBAQvB;AAEI,MAAM,gBAAgB,GAAG,CAC/B,KAA0B,EAC1B,WAAW,eAAM,CAAC,KAAmD,EACrE,KAAc,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAO,CAAC,KAAK,EAAE,EAAE;IAC3C,KAAK,GAAG,KAAK,IAAI,oBAAoB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;IACvD,MAAM,GAAG,GAAG,KAAa,CAAA;IACzB,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAAE,OAAO,IAAA,iBAAS,EAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;IACvE,OAAO,IAAA,eAAO,EAAC,GAAG,CAAC,CAAA;AACpB,CAAC,CAAC,CAAA;AARU,QAAA,gBAAgB,oBAQ1B"}
|
package/lib/rules/files.js
CHANGED
|
@@ -12,28 +12,28 @@ exports.audioMimeTypes = exports.fileMimeTypes.filter((mime) => mime.startsWith(
|
|
|
12
12
|
exports.imageMimeTypes = exports.fileMimeTypes.filter((mime) => mime.startsWith('image/'));
|
|
13
13
|
const isImage = (error = 'is not a recognized image file') => (0, rules_1.makeRule)((file) => {
|
|
14
14
|
const val = file;
|
|
15
|
-
if (exports.imageMimeTypes.includes(val
|
|
15
|
+
if (exports.imageMimeTypes.includes(val?.type))
|
|
16
16
|
return (0, rules_1.isValid)(val);
|
|
17
17
|
return (0, rules_1.isInvalid)([error], val);
|
|
18
18
|
});
|
|
19
19
|
exports.isImage = isImage;
|
|
20
20
|
const isAudio = (error = 'is not a recognized audio file') => (0, rules_1.makeRule)((file) => {
|
|
21
21
|
const val = file;
|
|
22
|
-
if (exports.audioMimeTypes.includes(val
|
|
22
|
+
if (exports.audioMimeTypes.includes(val?.type))
|
|
23
23
|
return (0, rules_1.isValid)(val);
|
|
24
24
|
return (0, rules_1.isInvalid)([error], val);
|
|
25
25
|
});
|
|
26
26
|
exports.isAudio = isAudio;
|
|
27
27
|
const isVideo = (error = 'is not a recognized video file') => (0, rules_1.makeRule)((file) => {
|
|
28
28
|
const val = file;
|
|
29
|
-
if (exports.videoMimeTypes.includes(val
|
|
29
|
+
if (exports.videoMimeTypes.includes(val?.type))
|
|
30
30
|
return (0, rules_1.isValid)(val);
|
|
31
31
|
return (0, rules_1.isInvalid)([error], val);
|
|
32
32
|
});
|
|
33
33
|
exports.isVideo = isVideo;
|
|
34
34
|
const isFile = (error = 'is not a recognized file') => (0, rules_1.makeRule)((file) => {
|
|
35
35
|
const val = file;
|
|
36
|
-
if (exports.fileMimeTypes.includes(val
|
|
36
|
+
if (exports.fileMimeTypes.includes(val?.type))
|
|
37
37
|
return (0, rules_1.isValid)(val);
|
|
38
38
|
return (0, rules_1.isInvalid)([error], val);
|
|
39
39
|
});
|
package/lib/rules/files.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/rules/files.ts"],"names":[],"mappings":";;;;;;AAAA,0CAA6D;AAE7D,8DAAgC;AAEnB,QAAA,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAK,CAAC,CAAA;AAClC,QAAA,cAAc,GAAG,qBAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;AAC1E,QAAA,cAAc,GAAG,qBAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;AAC1E,QAAA,cAAc,GAAG,qBAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;AAEhF,MAAM,OAAO,GAAG,CAAC,KAAK,GAAG,gCAAgC,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAO,CAAC,IAAI,EAAE,EAAE;IAC5F,MAAM,GAAG,GAAG,IAAW,CAAA;IACvB,IAAI,sBAAc,CAAC,QAAQ,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/rules/files.ts"],"names":[],"mappings":";;;;;;AAAA,0CAA6D;AAE7D,8DAAgC;AAEnB,QAAA,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAK,CAAC,CAAA;AAClC,QAAA,cAAc,GAAG,qBAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;AAC1E,QAAA,cAAc,GAAG,qBAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;AAC1E,QAAA,cAAc,GAAG,qBAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;AAEhF,MAAM,OAAO,GAAG,CAAC,KAAK,GAAG,gCAAgC,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAO,CAAC,IAAI,EAAE,EAAE;IAC5F,MAAM,GAAG,GAAG,IAAW,CAAA;IACvB,IAAI,sBAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;QAAE,OAAO,IAAA,eAAO,EAAC,GAAG,CAAC,CAAA;IAC3D,OAAO,IAAA,iBAAS,EAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;AAC/B,CAAC,CAAC,CAAA;AAJW,QAAA,OAAO,WAIlB;AAEK,MAAM,OAAO,GAAG,CAAC,KAAK,GAAG,gCAAgC,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAO,CAAC,IAAI,EAAE,EAAE;IAC5F,MAAM,GAAG,GAAG,IAAW,CAAA;IACvB,IAAI,sBAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;QAAE,OAAO,IAAA,eAAO,EAAC,GAAG,CAAC,CAAA;IAC3D,OAAO,IAAA,iBAAS,EAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;AAC/B,CAAC,CAAC,CAAA;AAJW,QAAA,OAAO,WAIlB;AAEK,MAAM,OAAO,GAAG,CAAC,KAAK,GAAG,gCAAgC,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAO,CAAC,IAAI,EAAE,EAAE;IAC5F,MAAM,GAAG,GAAG,IAAW,CAAA;IACvB,IAAI,sBAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;QAAE,OAAO,IAAA,eAAO,EAAC,GAAG,CAAC,CAAA;IAC3D,OAAO,IAAA,iBAAS,EAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;AAC/B,CAAC,CAAC,CAAA;AAJW,QAAA,OAAO,WAIlB;AAEK,MAAM,MAAM,GAAG,CAAC,KAAK,GAAG,0BAA0B,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAO,CAAC,IAAI,EAAE,EAAE;IACrF,MAAM,GAAG,GAAG,IAAW,CAAA;IACvB,IAAI,qBAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;QAAE,OAAO,IAAA,eAAO,EAAC,GAAG,CAAC,CAAA;IAC1D,OAAO,IAAA,iBAAS,EAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;AAC/B,CAAC,CAAC,CAAA;AAJW,QAAA,MAAM,UAIjB"}
|
package/lib/rules/numbers.js
CHANGED
|
@@ -22,7 +22,7 @@ const isMoreThan = (compare, error) => (0, rules_1.makeRule)((value) => {
|
|
|
22
22
|
const v = (0, exports.isNumber)()(value);
|
|
23
23
|
if (!v.valid)
|
|
24
24
|
return v;
|
|
25
|
-
error = error
|
|
25
|
+
error = error ?? `must be greater than ${compare}`;
|
|
26
26
|
const val = value;
|
|
27
27
|
if (val > compare)
|
|
28
28
|
return (0, rules_1.isValid)(val);
|
|
@@ -33,7 +33,7 @@ const isMoreThanOrEqualTo = (compare, error) => (0, rules_1.makeRule)((value) =>
|
|
|
33
33
|
const v = (0, exports.isNumber)()(value);
|
|
34
34
|
if (!v.valid)
|
|
35
35
|
return v;
|
|
36
|
-
error = error
|
|
36
|
+
error = error ?? `must be greater than or equal to ${compare}`;
|
|
37
37
|
const val = value;
|
|
38
38
|
if (val >= compare)
|
|
39
39
|
return (0, rules_1.isValid)(val);
|
|
@@ -44,7 +44,7 @@ const isLessThan = (compare, error) => (0, rules_1.makeRule)((value) => {
|
|
|
44
44
|
const v = (0, exports.isNumber)()(value);
|
|
45
45
|
if (!v.valid)
|
|
46
46
|
return v;
|
|
47
|
-
error = error
|
|
47
|
+
error = error ?? `must be less than ${compare}`;
|
|
48
48
|
const val = value;
|
|
49
49
|
if (val < compare)
|
|
50
50
|
return (0, rules_1.isValid)(val);
|
|
@@ -55,7 +55,7 @@ const isLessThanOrEqualTo = (compare, error) => (0, rules_1.makeRule)((value) =>
|
|
|
55
55
|
const v = (0, exports.isNumber)()(value);
|
|
56
56
|
if (!v.valid)
|
|
57
57
|
return v;
|
|
58
|
-
error = error
|
|
58
|
+
error = error ?? `must be less than or equal to ${compare}`;
|
|
59
59
|
const val = value;
|
|
60
60
|
if (val <= compare)
|
|
61
61
|
return (0, rules_1.isValid)(val);
|
package/lib/rules/numbers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numbers.js","sourceRoot":"","sources":["../../src/rules/numbers.ts"],"names":[],"mappings":";;;AAAA,0CAA6D;AAEtD,MAAM,QAAQ,GAAG,CAAC,KAAK,GAAG,iBAAiB,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAM,CAAC,KAAK,EAAE,EAAE;IAC9E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,IAAA,eAAO,EAAC,KAAK,CAAC,CAAA;IACrE,OAAO,IAAA,iBAAS,EAAC,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;AACjC,CAAC,CAAC,CAAA;AAHW,QAAA,QAAQ,YAGnB;AAEK,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,mBAAmB,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAM,CAAC,KAAK,EAAE,EAAE;IAC7E,MAAM,CAAC,GAAG,IAAA,gBAAQ,GAAE,CAAC,KAAK,CAAC,CAAA;IAC3B,IAAI,CAAC,CAAC,CAAC,KAAK;QAAE,OAAO,CAAC,CAAA;IACtB,MAAM,GAAG,GAAG,KAAe,CAAA;IAC3B,IAAI,GAAG,KAAK,QAAQ,CAAC,GAAU,CAAC;QAAE,OAAO,IAAA,eAAO,EAAC,GAAG,CAAC,CAAA;IACrD,OAAO,IAAA,iBAAS,EAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;AAC/B,CAAC,CAAC,CAAA;AANW,QAAA,KAAK,SAMhB;AAEK,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,KAAc,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAS,CAAC,KAAK,EAAE,EAAE;IACzF,MAAM,CAAC,GAAG,IAAA,gBAAQ,GAAE,CAAC,KAAK,CAAC,CAAA;IAC3B,IAAI,CAAC,CAAC,CAAC,KAAK;QAAE,OAAO,CAAC,CAAA;IACtB,KAAK,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"numbers.js","sourceRoot":"","sources":["../../src/rules/numbers.ts"],"names":[],"mappings":"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"}
|