@decaf-ts/decorator-validation 1.10.5 → 1.11.0
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/README.md +1 -1
- package/dist/decorator-validation.cjs +1 -1
- package/dist/decorator-validation.cjs.map +1 -1
- package/dist/decorator-validation.js +1 -1
- package/dist/decorator-validation.js.map +1 -1
- package/lib/esm/index.d.ts +2 -1
- package/lib/esm/index.js +2 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/model/Builder.d.ts +84 -0
- package/lib/esm/model/Builder.js +395 -129
- package/lib/esm/model/Builder.js.map +1 -1
- package/lib/esm/model/Model.d.ts +21 -19
- package/lib/esm/model/Model.js +112 -105
- package/lib/esm/model/Model.js.map +1 -1
- package/lib/esm/model/constants.d.ts +8 -8
- package/lib/esm/model/constants.js +8 -9
- package/lib/esm/model/constants.js.map +1 -1
- package/lib/esm/model/decorators.d.ts +2 -12
- package/lib/esm/model/decorators.js +5 -39
- package/lib/esm/model/decorators.js.map +1 -1
- package/lib/esm/model/index.d.ts +1 -0
- package/lib/esm/model/index.js +1 -0
- package/lib/esm/model/index.js.map +1 -1
- package/lib/esm/model/types.d.ts +0 -12
- package/lib/esm/model/utils.d.ts +0 -3
- package/lib/esm/model/utils.js +0 -10
- package/lib/esm/model/utils.js.map +1 -1
- package/lib/esm/model/validation.d.ts +4 -37
- package/lib/esm/model/validation.js +30 -106
- package/lib/esm/model/validation.js.map +1 -1
- package/lib/esm/overrides/Metadata.d.ts +128 -0
- package/lib/esm/overrides/Metadata.js +2 -0
- package/lib/esm/overrides/Metadata.js.map +1 -0
- package/lib/esm/overrides/index.d.ts +3 -0
- package/lib/esm/overrides/index.js +4 -0
- package/lib/esm/overrides/index.js.map +1 -0
- package/lib/esm/overrides/overrides.d.ts +1 -0
- package/lib/esm/overrides/overrides.js +79 -0
- package/lib/esm/overrides/overrides.js.map +1 -0
- package/lib/esm/overrides/types.d.ts +9 -0
- package/lib/esm/overrides/types.js +2 -0
- package/lib/esm/overrides/types.js.map +1 -0
- package/lib/esm/types/validation.d.ts +4 -2
- package/lib/esm/utils/constants.d.ts +4 -18
- package/lib/esm/utils/constants.js +4 -17
- package/lib/esm/utils/constants.js.map +1 -1
- package/lib/esm/utils/dates.d.ts +0 -1
- package/lib/esm/utils/dates.js +0 -1
- package/lib/esm/utils/dates.js.map +1 -1
- package/lib/esm/utils/equality.d.ts +56 -0
- package/lib/esm/utils/equality.js +160 -0
- package/lib/esm/utils/equality.js.map +1 -0
- package/lib/esm/utils/index.d.ts +1 -2
- package/lib/esm/utils/index.js +1 -2
- package/lib/esm/utils/index.js.map +1 -1
- package/lib/esm/utils/registry.d.ts +1 -1
- package/lib/esm/utils/serialization.d.ts +2 -2
- package/lib/esm/utils/serialization.js +10 -2
- package/lib/esm/utils/serialization.js.map +1 -1
- package/lib/esm/utils/types.d.ts +0 -102
- package/lib/esm/validation/Validation.d.ts +2 -3
- package/lib/esm/validation/Validation.js +11 -6
- package/lib/esm/validation/Validation.js.map +1 -1
- package/lib/esm/validation/Validators/BaseValidator.js +7 -3
- package/lib/esm/validation/Validators/BaseValidator.js.map +1 -1
- package/lib/esm/validation/Validators/DiffValidator.js +1 -1
- package/lib/esm/validation/Validators/DiffValidator.js.map +1 -1
- package/lib/esm/validation/Validators/EqualsValidator.js +1 -1
- package/lib/esm/validation/Validators/EqualsValidator.js.map +1 -1
- package/lib/esm/validation/Validators/GreaterThanOrEqualValidator.js +1 -1
- package/lib/esm/validation/Validators/GreaterThanOrEqualValidator.js.map +1 -1
- package/lib/esm/validation/Validators/LessThanOrEqualValidator.js +1 -1
- package/lib/esm/validation/Validators/LessThanOrEqualValidator.js.map +1 -1
- package/lib/esm/validation/Validators/ListValidator.js +4 -4
- package/lib/esm/validation/Validators/ListValidator.js.map +1 -1
- package/lib/esm/validation/Validators/MaxLengthValidator.js +3 -2
- package/lib/esm/validation/Validators/MaxLengthValidator.js.map +1 -1
- package/lib/esm/validation/Validators/MaxValidator.js +1 -1
- package/lib/esm/validation/Validators/MaxValidator.js.map +1 -1
- package/lib/esm/validation/Validators/MinLengthValidator.js +3 -2
- package/lib/esm/validation/Validators/MinLengthValidator.js.map +1 -1
- package/lib/esm/validation/Validators/MinValidator.js +1 -1
- package/lib/esm/validation/Validators/MinValidator.js.map +1 -1
- package/lib/esm/validation/Validators/OptionValidator.d.ts +29 -0
- package/lib/esm/validation/Validators/OptionValidator.js +61 -0
- package/lib/esm/validation/Validators/OptionValidator.js.map +1 -0
- package/lib/esm/validation/Validators/TypeValidator.js +2 -2
- package/lib/esm/validation/Validators/TypeValidator.js.map +1 -1
- package/lib/esm/validation/Validators/constants.d.ts +2 -1
- package/lib/esm/validation/Validators/constants.js +3 -2
- package/lib/esm/validation/Validators/constants.js.map +1 -1
- package/lib/esm/validation/Validators/decorators.d.ts +1 -1
- package/lib/esm/validation/Validators/decorators.js +2 -2
- package/lib/esm/validation/Validators/decorators.js.map +1 -1
- package/lib/esm/validation/Validators/index.d.ts +1 -0
- package/lib/esm/validation/Validators/index.js +1 -0
- package/lib/esm/validation/Validators/index.js.map +1 -1
- package/lib/esm/validation/Validators/utils.d.ts +33 -0
- package/lib/esm/validation/Validators/utils.js +62 -0
- package/lib/esm/validation/Validators/utils.js.map +1 -1
- package/lib/esm/validation/decorators.d.ts +28 -17
- package/lib/esm/validation/decorators.js +86 -55
- package/lib/esm/validation/decorators.js.map +1 -1
- package/lib/esm/validation/types.d.ts +15 -5
- package/lib/esm/validation/types.js.map +1 -1
- package/lib/index.cjs +2 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js.map +1 -1
- package/lib/model/Builder.cjs +399 -128
- package/lib/model/Builder.d.ts +84 -0
- package/lib/model/Builder.js.map +1 -1
- package/lib/model/Model.cjs +114 -107
- package/lib/model/Model.d.ts +21 -19
- package/lib/model/Model.js.map +1 -1
- package/lib/model/constants.cjs +8 -9
- package/lib/model/constants.d.ts +8 -8
- package/lib/model/constants.js.map +1 -1
- package/lib/model/decorators.cjs +4 -39
- package/lib/model/decorators.d.ts +2 -12
- package/lib/model/decorators.js.map +1 -1
- package/lib/model/index.cjs +1 -0
- package/lib/model/index.d.ts +1 -0
- package/lib/model/index.js.map +1 -1
- package/lib/model/types.d.ts +0 -12
- package/lib/model/utils.cjs +0 -12
- package/lib/model/utils.d.ts +0 -3
- package/lib/model/utils.js.map +1 -1
- package/lib/model/validation.cjs +30 -108
- package/lib/model/validation.d.ts +4 -37
- package/lib/model/validation.js.map +1 -1
- package/lib/overrides/Metadata.cjs +3 -0
- package/lib/overrides/Metadata.d.ts +128 -0
- package/lib/overrides/Metadata.js.map +1 -0
- package/lib/overrides/index.cjs +20 -0
- package/lib/overrides/index.d.ts +3 -0
- package/lib/overrides/index.js.map +1 -0
- package/lib/overrides/overrides.cjs +81 -0
- package/lib/overrides/overrides.d.ts +1 -0
- package/lib/overrides/overrides.js.map +1 -0
- package/lib/overrides/types.cjs +3 -0
- package/lib/overrides/types.d.ts +9 -0
- package/lib/overrides/types.js.map +1 -0
- package/lib/types/validation.d.ts +4 -2
- package/lib/utils/constants.cjs +5 -18
- package/lib/utils/constants.d.ts +4 -18
- package/lib/utils/constants.js.map +1 -1
- package/lib/utils/dates.cjs +0 -1
- package/lib/utils/dates.d.ts +0 -1
- package/lib/utils/dates.js.map +1 -1
- package/lib/utils/equality.cjs +163 -0
- package/lib/utils/equality.d.ts +56 -0
- package/lib/utils/equality.js.map +1 -0
- package/lib/utils/index.cjs +1 -2
- package/lib/utils/index.d.ts +1 -2
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/registry.d.ts +1 -1
- package/lib/utils/serialization.cjs +10 -2
- package/lib/utils/serialization.d.ts +2 -2
- package/lib/utils/serialization.js.map +1 -1
- package/lib/utils/types.d.ts +0 -102
- package/lib/validation/Validation.cjs +11 -6
- package/lib/validation/Validation.d.ts +2 -3
- package/lib/validation/Validation.js.map +1 -1
- package/lib/validation/Validators/BaseValidator.cjs +7 -3
- package/lib/validation/Validators/BaseValidator.js.map +1 -1
- package/lib/validation/Validators/DiffValidator.cjs +2 -2
- package/lib/validation/Validators/DiffValidator.js.map +1 -1
- package/lib/validation/Validators/EqualsValidator.cjs +2 -2
- package/lib/validation/Validators/EqualsValidator.js.map +1 -1
- package/lib/validation/Validators/GreaterThanOrEqualValidator.cjs +2 -2
- package/lib/validation/Validators/GreaterThanOrEqualValidator.js.map +1 -1
- package/lib/validation/Validators/LessThanOrEqualValidator.cjs +2 -2
- package/lib/validation/Validators/LessThanOrEqualValidator.js.map +1 -1
- package/lib/validation/Validators/ListValidator.cjs +4 -4
- package/lib/validation/Validators/ListValidator.js.map +1 -1
- package/lib/validation/Validators/MaxLengthValidator.cjs +3 -2
- package/lib/validation/Validators/MaxLengthValidator.js.map +1 -1
- package/lib/validation/Validators/MaxValidator.cjs +1 -1
- package/lib/validation/Validators/MaxValidator.js.map +1 -1
- package/lib/validation/Validators/MinLengthValidator.cjs +3 -2
- package/lib/validation/Validators/MinLengthValidator.js.map +1 -1
- package/lib/validation/Validators/MinValidator.cjs +1 -1
- package/lib/validation/Validators/MinValidator.js.map +1 -1
- package/lib/validation/Validators/OptionValidator.cjs +64 -0
- package/lib/validation/Validators/OptionValidator.d.ts +29 -0
- package/lib/validation/Validators/OptionValidator.js.map +1 -0
- package/lib/validation/Validators/TypeValidator.cjs +2 -2
- package/lib/validation/Validators/TypeValidator.js.map +1 -1
- package/lib/validation/Validators/constants.cjs +5 -4
- package/lib/validation/Validators/constants.d.ts +2 -1
- package/lib/validation/Validators/constants.js.map +1 -1
- package/lib/validation/Validators/decorators.cjs +3 -3
- package/lib/validation/Validators/decorators.d.ts +1 -1
- package/lib/validation/Validators/decorators.js.map +1 -1
- package/lib/validation/Validators/index.cjs +1 -0
- package/lib/validation/Validators/index.d.ts +1 -0
- package/lib/validation/Validators/index.js.map +1 -1
- package/lib/validation/Validators/utils.cjs +66 -0
- package/lib/validation/Validators/utils.d.ts +33 -0
- package/lib/validation/Validators/utils.js.map +1 -1
- package/lib/validation/decorators.cjs +102 -69
- package/lib/validation/decorators.d.ts +28 -17
- package/lib/validation/decorators.js.map +1 -1
- package/lib/validation/types.d.ts +15 -5
- package/lib/validation/types.js.map +1 -1
- package/package.json +2 -3
- package/lib/esm/utils/Decoration.d.ts +0 -135
- package/lib/esm/utils/Decoration.js +0 -227
- package/lib/esm/utils/Decoration.js.map +0 -1
- package/lib/esm/utils/decorators.d.ts +0 -38
- package/lib/esm/utils/decorators.js +0 -64
- package/lib/esm/utils/decorators.js.map +0 -1
- package/lib/utils/Decoration.cjs +0 -231
- package/lib/utils/Decoration.d.ts +0 -135
- package/lib/utils/Decoration.js.map +0 -1
- package/lib/utils/decorators.cjs +0 -68
- package/lib/utils/decorators.d.ts +0 -38
- package/lib/utils/decorators.js.map +0 -1
package/lib/model/decorators.cjs
CHANGED
|
@@ -4,11 +4,9 @@ exports.modelBaseDecorator = modelBaseDecorator;
|
|
|
4
4
|
exports.model = model;
|
|
5
5
|
exports.hashedBy = hashedBy;
|
|
6
6
|
exports.serializedBy = serializedBy;
|
|
7
|
-
exports.description = description;
|
|
8
7
|
const construction_1 = require("./construction.cjs");
|
|
9
8
|
const constants_1 = require("./../utils/constants.cjs");
|
|
10
9
|
const Model_1 = require("./Model.cjs");
|
|
11
|
-
const reflection_1 = require("@decaf-ts/reflection");
|
|
12
10
|
const decoration_1 = require("@decaf-ts/decoration");
|
|
13
11
|
function modelBaseDecorator(original) {
|
|
14
12
|
// the new constructor behaviour
|
|
@@ -19,15 +17,10 @@ function modelBaseDecorator(original) {
|
|
|
19
17
|
const builder = Model_1.Model.getBuilder();
|
|
20
18
|
if (builder)
|
|
21
19
|
builder(instance, args.length ? args[0] : undefined);
|
|
22
|
-
(0, reflection_1.metadata)(Model_1.Model.key(constants_1.ModelKeys.MODEL), original.name)(instance.constructor);
|
|
23
20
|
return instance;
|
|
24
21
|
};
|
|
25
22
|
// copy prototype so instanceof operator still works
|
|
26
23
|
newConstructor.prototype = original.prototype;
|
|
27
|
-
(0, reflection_1.metadata)(Model_1.Model.key(constants_1.ModelKeys.MODEL), original.name)(original);
|
|
28
|
-
Reflect.getMetadataKeys(original).forEach((key) => {
|
|
29
|
-
Reflect.defineMetadata(key, Reflect.getMetadata(key, original), newConstructor);
|
|
30
|
-
});
|
|
31
24
|
// Sets the proper constructor name for type verification
|
|
32
25
|
Object.defineProperty(newConstructor, "name", {
|
|
33
26
|
writable: false,
|
|
@@ -35,23 +28,7 @@ function modelBaseDecorator(original) {
|
|
|
35
28
|
configurable: false,
|
|
36
29
|
value: original.prototype.constructor.name,
|
|
37
30
|
});
|
|
38
|
-
|
|
39
|
-
// anchors the original constructor for future reference
|
|
40
|
-
Object.defineProperty(newConstructor, constants_1.ModelKeys.ANCHOR, {
|
|
41
|
-
writable: false,
|
|
42
|
-
enumerable: false,
|
|
43
|
-
configurable: false,
|
|
44
|
-
value: original,
|
|
45
|
-
});
|
|
46
|
-
decoration_1.Metadata.set(newConstructor, decoration_1.DecorationKeys.CONSTRUCTOR, original);
|
|
47
|
-
//
|
|
48
|
-
// // anchors the new constructor for future reference
|
|
49
|
-
// Object.defineProperty(original, ModelKeys.ANCHOR, {
|
|
50
|
-
// writable: false,
|
|
51
|
-
// enumerable: true,
|
|
52
|
-
// configurable: false,
|
|
53
|
-
// value: newConstructor,
|
|
54
|
-
// });
|
|
31
|
+
(0, decoration_1.metadata)(constants_1.ModelKeys.CONSTRUCTOR, original)(newConstructor);
|
|
55
32
|
Model_1.Model.register(newConstructor, original.name);
|
|
56
33
|
// return new constructor (will override original)
|
|
57
34
|
return newConstructor;
|
|
@@ -69,7 +46,7 @@ function modelBaseDecorator(original) {
|
|
|
69
46
|
* @category Class Decorators
|
|
70
47
|
*/
|
|
71
48
|
function model() {
|
|
72
|
-
const key =
|
|
49
|
+
const key = constants_1.ModelKeys.MODEL;
|
|
73
50
|
return decoration_1.Decoration.for(key).define(modelBaseDecorator).apply();
|
|
74
51
|
}
|
|
75
52
|
/**
|
|
@@ -87,7 +64,7 @@ function model() {
|
|
|
87
64
|
* @category Class Decorators
|
|
88
65
|
*/
|
|
89
66
|
function hashedBy(algorithm, ...args) {
|
|
90
|
-
return (0,
|
|
67
|
+
return (0, decoration_1.metadata)(constants_1.ModelKeys.HASHING, {
|
|
91
68
|
algorithm: algorithm,
|
|
92
69
|
args: args,
|
|
93
70
|
});
|
|
@@ -102,21 +79,9 @@ function hashedBy(algorithm, ...args) {
|
|
|
102
79
|
* @category Class Decorators
|
|
103
80
|
*/
|
|
104
81
|
function serializedBy(serializer, ...args) {
|
|
105
|
-
return (0,
|
|
82
|
+
return (0, decoration_1.metadata)(constants_1.ModelKeys.SERIALIZATION, {
|
|
106
83
|
serializer: serializer,
|
|
107
84
|
args: args,
|
|
108
85
|
});
|
|
109
86
|
}
|
|
110
|
-
/**
|
|
111
|
-
* @summary Applies descriptive metadata to a class, property or method
|
|
112
|
-
*
|
|
113
|
-
* @param {string} description the description to apply
|
|
114
|
-
*
|
|
115
|
-
* @function description
|
|
116
|
-
*
|
|
117
|
-
* @category Decorators
|
|
118
|
-
*/
|
|
119
|
-
function description(description) {
|
|
120
|
-
return (0, reflection_1.metadata)(Model_1.Model.key(constants_1.ModelKeys.DESCRIPTION), description);
|
|
121
|
-
}
|
|
122
87
|
//# sourceMappingURL=decorators.js.map
|
|
@@ -26,7 +26,7 @@ export declare function model(): (target: any, propertyKey?: any, descriptor?: T
|
|
|
26
26
|
*
|
|
27
27
|
* @category Class Decorators
|
|
28
28
|
*/
|
|
29
|
-
export declare function hashedBy(algorithm: string, ...args: any[]): (
|
|
29
|
+
export declare function hashedBy(algorithm: string, ...args: any[]): (model: any, prop?: any, descriptor?: PropertyDescriptor | number) => void;
|
|
30
30
|
/**
|
|
31
31
|
* @summary Defines the serialization algorithm to use on the model
|
|
32
32
|
*
|
|
@@ -36,14 +36,4 @@ export declare function hashedBy(algorithm: string, ...args: any[]): (target: ob
|
|
|
36
36
|
*
|
|
37
37
|
* @category Class Decorators
|
|
38
38
|
*/
|
|
39
|
-
export declare function serializedBy(serializer: string, ...args: any[]): (
|
|
40
|
-
/**
|
|
41
|
-
* @summary Applies descriptive metadata to a class, property or method
|
|
42
|
-
*
|
|
43
|
-
* @param {string} description the description to apply
|
|
44
|
-
*
|
|
45
|
-
* @function description
|
|
46
|
-
*
|
|
47
|
-
* @category Decorators
|
|
48
|
-
*/
|
|
49
|
-
export declare function description(description: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
39
|
+
export declare function serializedBy(serializer: string, ...args: any[]): (model: any, prop?: any, descriptor?: PropertyDescriptor | number) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/model/decorators.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/model/decorators.ts"],"names":[],"mappings":";;AAKA,gDA6BC;AAcD,sBAGC;AAgBD,4BAKC;AAWD,oCAKC;AAxFD,qDAA+D;AAC/D,wDAA+C;AAC/C,uCAAgC;AAChC,qDAA4D;AAE5D,SAAgB,kBAAkB,CAAC,QAAa;IAC9C,gCAAgC;IAChC,MAAM,cAAc,GAAQ,UAAU,GAAG,IAAW;QAClD,MAAM,QAAQ,GAAgC,IAAA,wBAAS,EAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;QAC3E,IAAA,iCAAkB,EAAC,QAAQ,CAAC,CAAC;QAE7B,2EAA2E;QAC3E,MAAM,OAAO,GAAG,aAAK,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,OAAO;YAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAElE,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,oDAAoD;IACpD,cAAc,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;IAE9C,yDAAyD;IACzD,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE;QAC5C,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI;KAC3C,CAAC,CAAC;IAEH,IAAA,qBAAQ,EAAC,qBAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC;IAE1D,aAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,kDAAkD;IAClD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,KAAK;IACnB,MAAM,GAAG,GAAG,qBAAS,CAAC,KAAK,CAAC;IAC5B,OAAO,uBAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;AAChE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,QAAQ,CAAC,SAAiB,EAAE,GAAG,IAAW;IACxD,OAAO,IAAA,qBAAQ,EAAC,qBAAS,CAAC,OAAO,EAAE;QACjC,SAAS,EAAE,SAAS;QACpB,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,YAAY,CAAC,UAAkB,EAAE,GAAG,IAAW;IAC7D,OAAO,IAAA,qBAAQ,EAAC,qBAAS,CAAC,aAAa,EAAE;QACvC,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC"}
|
package/lib/model/index.cjs
CHANGED
|
@@ -19,6 +19,7 @@ __exportStar(require("./construction.cjs"), exports);
|
|
|
19
19
|
__exportStar(require("./decorators.cjs"), exports);
|
|
20
20
|
__exportStar(require("./Model.cjs"), exports);
|
|
21
21
|
__exportStar(require("./ModelErrorDefinition.cjs"), exports);
|
|
22
|
+
__exportStar(require("./Builder.cjs"), exports);
|
|
22
23
|
__exportStar(require("./types.cjs"), exports);
|
|
23
24
|
__exportStar(require("./validation.cjs"), exports);
|
|
24
25
|
__exportStar(require("./utils.cjs"), exports);
|
package/lib/model/index.d.ts
CHANGED
package/lib/model/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA4B;AAC5B,qDAA+B;AAC/B,mDAA6B;AAC7B,8CAAwB;AACxB,6DAAuC;AACvC,8CAAwB;AACxB,mDAA6B;AAC7B,8CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA4B;AAC5B,qDAA+B;AAC/B,mDAA6B;AAC7B,8CAAwB;AACxB,6DAAuC;AACvC,gDAA0B;AAC1B,8CAAwB;AACxB,mDAA6B;AAC7B,8CAAwB"}
|
package/lib/model/types.d.ts
CHANGED
|
@@ -21,18 +21,6 @@ export type ModelBuilderFunction = <T extends Model>(self: T, obj?: T | Record<s
|
|
|
21
21
|
* @see ModelConstructor
|
|
22
22
|
*/
|
|
23
23
|
export type ModelArg<T> = T | Partial<T> | Record<string, any>;
|
|
24
|
-
/**
|
|
25
|
-
* @description Generic type for class constructor functions
|
|
26
|
-
* @summary Definition of a Class Constructor that can create instances of a specified type
|
|
27
|
-
* @template T
|
|
28
|
-
* @param {any[]} [args] - Constructor arguments
|
|
29
|
-
* @return {T} - An instance of the class
|
|
30
|
-
* @typedef Constructor
|
|
31
|
-
* @memberOf module:decorator-validation
|
|
32
|
-
*/
|
|
33
|
-
export type Constructor<T> = {
|
|
34
|
-
new (...args: any[]): T;
|
|
35
|
-
};
|
|
36
24
|
/**
|
|
37
25
|
* @description Specialized constructor type for Model classes
|
|
38
26
|
* @summary Definition of a Model Constructor that creates instances of Model subclasses
|
package/lib/model/utils.cjs
CHANGED
|
@@ -1,18 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getModelKey = getModelKey;
|
|
4
|
-
exports.getMetadata = getMetadata;
|
|
5
3
|
exports.toConditionalPromise = toConditionalPromise;
|
|
6
|
-
const constants_1 = require("./../utils/constants.cjs");
|
|
7
|
-
function getModelKey(str) {
|
|
8
|
-
return constants_1.ModelKeys.REFLECT + str;
|
|
9
|
-
}
|
|
10
|
-
function getMetadata(model) {
|
|
11
|
-
const metadata = Reflect.getMetadata(getModelKey(constants_1.ModelKeys.MODEL), model.constructor);
|
|
12
|
-
if (!metadata)
|
|
13
|
-
throw new Error("could not find metadata for provided " + model.constructor.name);
|
|
14
|
-
return metadata;
|
|
15
|
-
}
|
|
16
4
|
/**
|
|
17
5
|
* Wraps a value in a Promise if the `async` flag is true.
|
|
18
6
|
*
|
package/lib/model/utils.d.ts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import { ConditionalAsync } from "../types";
|
|
2
|
-
import { Model } from "./Model";
|
|
3
|
-
export declare function getModelKey(str: string): string;
|
|
4
|
-
export declare function getMetadata<M extends Model>(model: M): any;
|
|
5
2
|
/**
|
|
6
3
|
* Wraps a value in a Promise if the `async` flag is true.
|
|
7
4
|
*
|
package/lib/model/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/model/utils.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/model/utils.ts"],"names":[],"mappings":";;AAaA,oDAKC;AAhBD;;;;;;;;;;GAUG;AACH,SAAgB,oBAAoB,CAClC,KAAQ,EACR,KAAa;IAEb,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAA+B,CAAC;AAChF,CAAC"}
|
package/lib/model/validation.cjs
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getValidationDecorators = getValidationDecorators;
|
|
4
|
-
exports.getValidatableProperties = getValidatableProperties;
|
|
5
3
|
exports.validateChildValue = validateChildValue;
|
|
6
4
|
exports.validateDecorator = validateDecorator;
|
|
7
5
|
exports.validateDecorators = validateDecorators;
|
|
@@ -13,53 +11,8 @@ const Validation_1 = require("./../validation/Validation.cjs");
|
|
|
13
11
|
const constants_2 = require("./../validation/Validators/constants.cjs");
|
|
14
12
|
const PathProxy_1 = require("./../utils/PathProxy.cjs");
|
|
15
13
|
const constants_3 = require("./../constants/index.cjs");
|
|
16
|
-
const reflection_1 = require("@decaf-ts/reflection");
|
|
17
14
|
const utils_1 = require("./utils.cjs");
|
|
18
|
-
|
|
19
|
-
* Retrieves the validation metadata decorators associated with a specific property of a model,
|
|
20
|
-
* using the reflective metadata key.
|
|
21
|
-
*
|
|
22
|
-
* @param model - The model instance or class containing the decorated property.
|
|
23
|
-
* @param {string} prop - The name of the property whose decorators should be retrieved.
|
|
24
|
-
* @param {string} reflectKey - The metadata key used to retrieve the decorators.
|
|
25
|
-
* Defaults to `ValidationKeys.REFLECT`.
|
|
26
|
-
*
|
|
27
|
-
* @returns The validation decorators applied to the property
|
|
28
|
-
*/
|
|
29
|
-
function getValidationDecorators(model, prop, reflectKey = constants_2.ValidationKeys.REFLECT) {
|
|
30
|
-
return reflection_1.Reflection.getPropertyDecorators(reflectKey, model, prop);
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* @description
|
|
34
|
-
* Retrieves all validatable property decorators from a given model, excluding specified properties.
|
|
35
|
-
*
|
|
36
|
-
* @summary
|
|
37
|
-
* Iterates through the own enumerable properties of a model instance, filtering out any properties
|
|
38
|
-
* listed in the `propsToIgnore` array. For each remaining property, it checks whether validation
|
|
39
|
-
* decorators are present using `getValidationDecorators`, and if so, collects them in the result array.
|
|
40
|
-
*
|
|
41
|
-
* @template M - A generic parameter extending the `Model` class, representing the model type being inspected.
|
|
42
|
-
*
|
|
43
|
-
* @param {M} model - An instance of a class extending `Model` from which validatable properties will be extracted.
|
|
44
|
-
* @param {string[]} propsToIgnore - An array of property names that should be excluded from validation inspection.
|
|
45
|
-
*
|
|
46
|
-
* @return {ValidationPropertyDecoratorDefinition[]} An array of validation decorator definitions
|
|
47
|
-
* associated with the model's properties, excluding those listed in `propsToIgnore`.
|
|
48
|
-
*
|
|
49
|
-
* @function getValidatableProperties
|
|
50
|
-
*/
|
|
51
|
-
function getValidatableProperties(model, propsToIgnore) {
|
|
52
|
-
const decoratedProperties = [];
|
|
53
|
-
for (const prop in model) {
|
|
54
|
-
if (Object.prototype.hasOwnProperty.call(model, prop) &&
|
|
55
|
-
!propsToIgnore.includes(prop)) {
|
|
56
|
-
const dec = getValidationDecorators(model, prop);
|
|
57
|
-
if (dec)
|
|
58
|
-
decoratedProperties.push(dec);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return decoratedProperties;
|
|
62
|
-
}
|
|
15
|
+
const decoration_1 = require("@decaf-ts/decoration");
|
|
63
16
|
/**
|
|
64
17
|
* Safely sets temporary metadata on an object
|
|
65
18
|
*/
|
|
@@ -121,22 +74,21 @@ function validateChildValue(prop, childValue, parentModel, allowedTypes, async,
|
|
|
121
74
|
}));
|
|
122
75
|
}
|
|
123
76
|
function validateDecorator(model, value, decorator, async) {
|
|
77
|
+
// throw new Error("validateDecorator is not implemented");
|
|
124
78
|
const validator = Validation_1.Validation.get(decorator.key);
|
|
125
79
|
if (!validator) {
|
|
126
80
|
throw new Error(`Missing validator for ${decorator.key}`);
|
|
127
81
|
}
|
|
128
82
|
// skip async decorators if validateDecorators is called synchronously (async = false)
|
|
129
|
-
if (!async && decorator.
|
|
83
|
+
if (!async && decorator.async)
|
|
130
84
|
return undefined;
|
|
131
|
-
const decoratorProps = decorator.key === constants_1.ModelKeys.TYPE
|
|
132
|
-
? [decorator.props]
|
|
133
|
-
: decorator.props || {};
|
|
85
|
+
const decoratorProps = decorator.key === constants_1.ModelKeys.TYPE ? [decorator] : decorator || {};
|
|
134
86
|
const context = PathProxy_1.PathProxyEngine.create(model, {
|
|
135
87
|
ignoreUndefined: true,
|
|
136
88
|
ignoreNull: true,
|
|
137
89
|
});
|
|
138
90
|
const validatorOptions = decorator.key === constants_1.ModelKeys.TYPE
|
|
139
|
-
?
|
|
91
|
+
? decoratorProps[0]
|
|
140
92
|
: decoratorProps;
|
|
141
93
|
const maybeAsyncErrors = validator.hasErrors(value, validatorOptions, context);
|
|
142
94
|
return (0, utils_1.toConditionalPromise)(maybeAsyncErrors, async);
|
|
@@ -159,7 +111,7 @@ function validateDecorator(model, value, decorator, async) {
|
|
|
159
111
|
* @param {M} model - The model instance that the validation is associated with.
|
|
160
112
|
* @param {string} prop - The model field name
|
|
161
113
|
* @param {any} value - The value to be validated against the provided decorators.
|
|
162
|
-
* @param {DecoratorMetadataAsync
|
|
114
|
+
* @param {DecoratorMetadataAsync} decorators - An object of metadata representing validation decorators.
|
|
163
115
|
* @param {Async} [async] - Optional flag indicating whether validation should be performed asynchronously.
|
|
164
116
|
*
|
|
165
117
|
* @return {ConditionalAsync<Async, Record<string, string>> | undefined}
|
|
@@ -170,9 +122,10 @@ function validateDecorator(model, value, decorator, async) {
|
|
|
170
122
|
*/
|
|
171
123
|
function validateDecorators(model, prop, value, decorators, async, ...propsToIgnore) {
|
|
172
124
|
const result = {};
|
|
173
|
-
for (const
|
|
125
|
+
for (const decoratorKey in decorators) {
|
|
126
|
+
const decorator = { ...decorators[decoratorKey], key: decoratorKey };
|
|
174
127
|
// skip async decorators if validateDecorators is called synchronously (async = false)
|
|
175
|
-
if (!async && decorator.
|
|
128
|
+
if (!async && decorator.async)
|
|
176
129
|
continue;
|
|
177
130
|
let validationErrors = validateDecorator(model, value, decorator, async);
|
|
178
131
|
/*
|
|
@@ -180,12 +133,12 @@ function validateDecorators(model, prop, value, decorators, async, ...propsToIgn
|
|
|
180
133
|
When 'async' is true, the 'err' will always be a pending promise initially,
|
|
181
134
|
so the '!err' check will evaluate to false (even if the promise later resolves with no errors)
|
|
182
135
|
*/
|
|
183
|
-
if (
|
|
136
|
+
if (decoratorKey === constants_2.ValidationKeys.LIST && (!validationErrors || async)) {
|
|
184
137
|
const values = value instanceof Set ? [...value] : value;
|
|
185
138
|
if (values && values.length > 0) {
|
|
186
|
-
let types = (decorator.
|
|
187
|
-
decorator.
|
|
188
|
-
decorator.
|
|
139
|
+
let types = (decorator.class ||
|
|
140
|
+
decorator.clazz ||
|
|
141
|
+
decorator.customTypes);
|
|
189
142
|
types = (Array.isArray(types) ? types : [types]).map((e) => {
|
|
190
143
|
e = typeof e === "function" && !e.name ? e() : e;
|
|
191
144
|
return e.name ? e.name : e;
|
|
@@ -214,7 +167,7 @@ function validateDecorators(model, prop, value, decorators, async, ...propsToIgn
|
|
|
214
167
|
}
|
|
215
168
|
}
|
|
216
169
|
}
|
|
217
|
-
const name =
|
|
170
|
+
const name = decoratorKey === constants_1.ModelKeys.TYPE ? constants_2.ValidationKeys.TYPE : decoratorKey;
|
|
218
171
|
if (validationErrors)
|
|
219
172
|
result[name] = validationErrors;
|
|
220
173
|
}
|
|
@@ -287,42 +240,21 @@ function validateDecorators(model, prop, value, decorators, async, ...propsToIgn
|
|
|
287
240
|
* validate-->>Caller: return ModelErrorDefinition | undefined
|
|
288
241
|
*/
|
|
289
242
|
function validate(model, async, ...propsToIgnore) {
|
|
290
|
-
|
|
243
|
+
// throw new Error("validate is not implemented");
|
|
244
|
+
const decoratedProperties = decoration_1.Metadata.validatableProperties(model.constructor, ...propsToIgnore);
|
|
291
245
|
const result = {};
|
|
292
246
|
const nestedErrors = {};
|
|
293
|
-
for (const
|
|
247
|
+
for (const prop of decoratedProperties) {
|
|
294
248
|
const propKey = String(prop);
|
|
295
|
-
|
|
296
|
-
|
|
249
|
+
const propValue = model[prop];
|
|
250
|
+
const decorators = decoration_1.Metadata.validationFor(model.constructor, prop) || {};
|
|
251
|
+
const { designTypes, designType } = decoration_1.Metadata.getPropDesignTypes(model.constructor, prop);
|
|
252
|
+
if (!designTypes)
|
|
297
253
|
continue;
|
|
298
|
-
// Get the default type validator
|
|
299
|
-
const priority = [constants_2.ValidationKeys.TYPE, constants_1.ModelKeys.TYPE];
|
|
300
|
-
const designTypeDec = priority
|
|
301
|
-
.map((key) => decorators.find((d) => d.key === key))
|
|
302
|
-
.find(Boolean);
|
|
303
|
-
// Ensures that only one type decorator remains.
|
|
304
|
-
if (designTypeDec?.key === constants_2.ValidationKeys.TYPE) {
|
|
305
|
-
decorators.splice(0, decorators.length, ...decorators.filter((d) => d.key !== constants_1.ModelKeys.TYPE));
|
|
306
|
-
}
|
|
307
|
-
if (!designTypeDec)
|
|
308
|
-
continue;
|
|
309
|
-
const designType = designTypeDec.props.class ||
|
|
310
|
-
designTypeDec.props.clazz ||
|
|
311
|
-
designTypeDec.props.customTypes ||
|
|
312
|
-
designTypeDec.props.name;
|
|
313
|
-
// TS emits "Object" as design:type for unions (string | number) and intersections (A & B).
|
|
314
|
-
// Since this metadata is ambiguous for validation, skip design:type checks in these cases.
|
|
315
|
-
// To enforce design:type validation explicitly, the @type validator can be used.
|
|
316
|
-
if (designTypeDec.key === constants_1.ModelKeys.TYPE && designType === "Object")
|
|
317
|
-
decorators.shift();
|
|
318
|
-
const designTypes = (Array.isArray(designType) ? designType : [designType]).map((e) => {
|
|
319
|
-
e = typeof e === "function" && !e.name ? e() : e;
|
|
320
|
-
return e.name ? e.name : e;
|
|
321
|
-
});
|
|
322
254
|
// Handle array or Set types and enforce the presence of @list decorator
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
255
|
+
if (designTypes.some((t) => [Array.name, Set.name].includes(t.name))) {
|
|
256
|
+
if (!decorators ||
|
|
257
|
+
!Object.keys(decorators).includes(constants_2.ValidationKeys.LIST)) {
|
|
326
258
|
result[propKey] = {
|
|
327
259
|
[constants_2.ValidationKeys.TYPE]: `Array or Set property '${propKey}' requires a @list decorator`,
|
|
328
260
|
};
|
|
@@ -335,13 +267,6 @@ function validate(model, async, ...propsToIgnore) {
|
|
|
335
267
|
};
|
|
336
268
|
continue;
|
|
337
269
|
}
|
|
338
|
-
// Remove design:type decorator, since @list decorator already ensures type
|
|
339
|
-
for (let i = decorators.length - 1; i >= 0; i--) {
|
|
340
|
-
if (decorators[i].key === constants_1.ModelKeys.TYPE) {
|
|
341
|
-
decorators.splice(i, 1);
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
propValue = propValue instanceof Set ? [...propValue] : propValue;
|
|
345
270
|
}
|
|
346
271
|
const propErrors = validateDecorators(model, propKey, propValue, decorators, async, ...propsToIgnore) || {};
|
|
347
272
|
// Check for nested properties.
|
|
@@ -349,16 +274,13 @@ function validate(model, async, ...propsToIgnore) {
|
|
|
349
274
|
// let nestedErrors: Record<string, any> = {};
|
|
350
275
|
const isConstr = Model_1.Model.isPropertyModel(model, propKey);
|
|
351
276
|
const hasPropValue = propValue !== null && propValue !== undefined;
|
|
352
|
-
|
|
277
|
+
const isModelInstance = hasPropValue && Model_1.Model.isModel(propValue);
|
|
278
|
+
if (isConstr && hasPropValue && isModelInstance) {
|
|
353
279
|
const instance = propValue;
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
if (
|
|
357
|
-
|
|
358
|
-
console.warn("Model should be validatable but it's not.");
|
|
359
|
-
}
|
|
360
|
-
else {
|
|
361
|
-
const Constr = (Array.isArray(designType) ? designType : [designType])
|
|
280
|
+
// If property comes from a relation and has populate flag set to false, this will have the value of the id of that relation, instead of a model.
|
|
281
|
+
// We need to capture that and excempt it from throwing an error
|
|
282
|
+
if (Model_1.Model["shouldValidateNestedHandler"](model, propKey)) {
|
|
283
|
+
const Constr = (Array.isArray(designType) ? designTypes : [designType])
|
|
362
284
|
.map((d) => {
|
|
363
285
|
if (typeof d === "function" && !d.name)
|
|
364
286
|
d = d();
|
|
@@ -1,41 +1,8 @@
|
|
|
1
1
|
import { ModelErrorDefinition } from "./ModelErrorDefinition";
|
|
2
2
|
import { Model } from "./Model";
|
|
3
|
-
import {
|
|
4
|
-
import { ConditionalAsync, DecoratorMetadataAsync } from "../types";
|
|
5
|
-
/**
|
|
6
|
-
* Retrieves the validation metadata decorators associated with a specific property of a model,
|
|
7
|
-
* using the reflective metadata key.
|
|
8
|
-
*
|
|
9
|
-
* @param model - The model instance or class containing the decorated property.
|
|
10
|
-
* @param {string} prop - The name of the property whose decorators should be retrieved.
|
|
11
|
-
* @param {string} reflectKey - The metadata key used to retrieve the decorators.
|
|
12
|
-
* Defaults to `ValidationKeys.REFLECT`.
|
|
13
|
-
*
|
|
14
|
-
* @returns The validation decorators applied to the property
|
|
15
|
-
*/
|
|
16
|
-
export declare function getValidationDecorators(model: Record<string, any>, prop: string, reflectKey?: string): ValidationPropertyDecoratorDefinition;
|
|
17
|
-
/**
|
|
18
|
-
* @description
|
|
19
|
-
* Retrieves all validatable property decorators from a given model, excluding specified properties.
|
|
20
|
-
*
|
|
21
|
-
* @summary
|
|
22
|
-
* Iterates through the own enumerable properties of a model instance, filtering out any properties
|
|
23
|
-
* listed in the `propsToIgnore` array. For each remaining property, it checks whether validation
|
|
24
|
-
* decorators are present using `getValidationDecorators`, and if so, collects them in the result array.
|
|
25
|
-
*
|
|
26
|
-
* @template M - A generic parameter extending the `Model` class, representing the model type being inspected.
|
|
27
|
-
*
|
|
28
|
-
* @param {M} model - An instance of a class extending `Model` from which validatable properties will be extracted.
|
|
29
|
-
* @param {string[]} propsToIgnore - An array of property names that should be excluded from validation inspection.
|
|
30
|
-
*
|
|
31
|
-
* @return {ValidationPropertyDecoratorDefinition[]} An array of validation decorator definitions
|
|
32
|
-
* associated with the model's properties, excluding those listed in `propsToIgnore`.
|
|
33
|
-
*
|
|
34
|
-
* @function getValidatableProperties
|
|
35
|
-
*/
|
|
36
|
-
export declare function getValidatableProperties<M extends Model>(model: M, propsToIgnore: string[]): ValidationPropertyDecoratorDefinition[];
|
|
3
|
+
import { ConditionalAsync } from "../types";
|
|
37
4
|
export declare function validateChildValue<M extends Model>(prop: string, childValue: any, parentModel: M, allowedTypes: string[], async: boolean, ...propsToIgnore: string[]): string | undefined | ModelErrorDefinition | Promise<string | undefined | ModelErrorDefinition>;
|
|
38
|
-
export declare function validateDecorator<M extends Model, Async extends boolean = false>(model: M, value: any, decorator:
|
|
5
|
+
export declare function validateDecorator<M extends Model, Async extends boolean = false>(model: M, value: any, decorator: any, async?: Async): ConditionalAsync<Async, string | undefined>;
|
|
39
6
|
/**
|
|
40
7
|
* @description
|
|
41
8
|
* Executes validation logic for a set of decorators applied to a model's property, handling both
|
|
@@ -54,7 +21,7 @@ export declare function validateDecorator<M extends Model, Async extends boolean
|
|
|
54
21
|
* @param {M} model - The model instance that the validation is associated with.
|
|
55
22
|
* @param {string} prop - The model field name
|
|
56
23
|
* @param {any} value - The value to be validated against the provided decorators.
|
|
57
|
-
* @param {DecoratorMetadataAsync
|
|
24
|
+
* @param {DecoratorMetadataAsync} decorators - An object of metadata representing validation decorators.
|
|
58
25
|
* @param {Async} [async] - Optional flag indicating whether validation should be performed asynchronously.
|
|
59
26
|
*
|
|
60
27
|
* @return {ConditionalAsync<Async, Record<string, string>> | undefined}
|
|
@@ -63,7 +30,7 @@ export declare function validateDecorator<M extends Model, Async extends boolean
|
|
|
63
30
|
*
|
|
64
31
|
* @function validateDecorators
|
|
65
32
|
*/
|
|
66
|
-
export declare function validateDecorators<M extends Model, Async extends boolean = false>(model: M, prop: string, value: any, decorators:
|
|
33
|
+
export declare function validateDecorators<M extends Model, Async extends boolean = false>(model: M, prop: string, value: any, decorators: any, async?: Async, ...propsToIgnore: string[]): ConditionalAsync<Async, Record<string, string> | undefined>;
|
|
67
34
|
/**
|
|
68
35
|
* @function validate
|
|
69
36
|
* @template M
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/model/validation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/model/validation.ts"],"names":[],"mappings":"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"}
|