@decaf-ts/decorator-validation 1.14.0 → 1.16.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/lib/cjs/constants/errors.cjs +1 -0
- package/lib/cjs/constants/errors.cjs.map +1 -0
- package/lib/cjs/constants/index.cjs +1 -0
- package/lib/cjs/constants/index.cjs.map +1 -0
- package/lib/cjs/constants/validation.cjs +1 -0
- package/lib/cjs/constants/validation.cjs.map +1 -0
- package/lib/cjs/index.cjs +2 -1
- package/lib/cjs/index.cjs.map +1 -0
- package/lib/cjs/model/Builder.cjs +49 -48
- package/lib/cjs/model/Builder.cjs.map +1 -0
- package/lib/cjs/model/Model.cjs +31 -30
- package/lib/cjs/model/Model.cjs.map +1 -0
- package/lib/cjs/model/ModelErrorDefinition.cjs +1 -0
- package/lib/cjs/model/ModelErrorDefinition.cjs.map +1 -0
- package/lib/cjs/model/ModelRegistry.cjs +7 -6
- package/lib/cjs/model/ModelRegistry.cjs.map +1 -0
- package/lib/cjs/model/constants.cjs +2 -13
- package/lib/cjs/model/constants.cjs.map +1 -0
- package/lib/cjs/model/construction.cjs +5 -4
- package/lib/cjs/model/construction.cjs.map +1 -0
- package/lib/cjs/model/decorators.cjs +12 -11
- package/lib/cjs/model/decorators.cjs.map +1 -0
- package/lib/cjs/model/index.cjs +1 -0
- package/lib/cjs/model/index.cjs.map +1 -0
- package/lib/cjs/model/types.cjs +1 -0
- package/lib/cjs/model/types.cjs.map +1 -0
- package/lib/cjs/model/utils.cjs +1 -0
- package/lib/cjs/model/utils.cjs.map +1 -0
- package/lib/cjs/model/validation.cjs +33 -32
- package/lib/cjs/model/validation.cjs.map +1 -0
- package/lib/cjs/overrides/Metadata.cjs +1 -0
- package/lib/cjs/overrides/Metadata.cjs.map +1 -0
- package/lib/cjs/overrides/index.cjs +1 -0
- package/lib/cjs/overrides/index.cjs.map +1 -0
- package/lib/cjs/overrides/overrides.cjs +20 -19
- package/lib/cjs/overrides/overrides.cjs.map +1 -0
- package/lib/cjs/overrides/types.cjs +1 -0
- package/lib/cjs/overrides/types.cjs.map +1 -0
- package/lib/cjs/types/index.cjs +1 -0
- package/lib/cjs/types/index.cjs.map +1 -0
- package/lib/cjs/types/validation.cjs +1 -0
- package/lib/cjs/types/{validation.js.map → validation.cjs.map} +1 -1
- package/lib/cjs/utils/DateBuilder.cjs +1 -0
- package/lib/cjs/utils/DateBuilder.cjs.map +1 -0
- package/lib/cjs/utils/PathProxy.cjs +9 -8
- package/lib/cjs/utils/PathProxy.cjs.map +1 -0
- package/lib/cjs/utils/constants.cjs +2 -21
- package/lib/cjs/utils/constants.cjs.map +1 -0
- package/lib/cjs/utils/dates.cjs +9 -8
- package/lib/cjs/utils/dates.cjs.map +1 -0
- package/lib/cjs/utils/equality.cjs +1 -0
- package/lib/cjs/utils/equality.cjs.map +1 -0
- package/lib/cjs/utils/hashing.cjs +6 -3
- package/lib/cjs/utils/hashing.cjs.map +1 -0
- package/lib/cjs/utils/index.cjs +1 -0
- package/lib/cjs/utils/index.cjs.map +1 -0
- package/lib/cjs/utils/registry.cjs +1 -0
- package/lib/cjs/utils/registry.cjs.map +1 -0
- package/lib/cjs/utils/serialization.cjs +3 -2
- package/lib/cjs/utils/serialization.cjs.map +1 -0
- package/lib/cjs/utils/serializers.cjs +8 -7
- package/lib/cjs/utils/serializers.cjs.map +1 -0
- package/lib/cjs/utils/strings.cjs +1 -0
- package/lib/cjs/utils/strings.cjs.map +1 -0
- package/lib/cjs/utils/types.cjs +1 -0
- package/lib/cjs/utils/types.cjs.map +1 -0
- package/lib/cjs/validation/Validation.cjs +9 -8
- package/lib/cjs/validation/Validation.cjs.map +1 -0
- package/lib/cjs/validation/Validators/AsyncValidator.cjs +5 -4
- package/lib/cjs/validation/Validators/AsyncValidator.cjs.map +1 -0
- package/lib/cjs/validation/Validators/BaseValidator.cjs +8 -7
- package/lib/cjs/validation/Validators/BaseValidator.cjs.map +1 -0
- package/lib/cjs/validation/Validators/DateValidator.cjs +17 -11
- package/lib/cjs/validation/Validators/DateValidator.cjs.map +1 -0
- package/lib/cjs/validation/Validators/DiffValidator.cjs +21 -15
- package/lib/cjs/validation/Validators/DiffValidator.cjs.map +1 -0
- package/lib/cjs/validation/Validators/EmailValidator.cjs +18 -12
- package/lib/cjs/validation/Validators/EmailValidator.cjs.map +1 -0
- package/lib/cjs/validation/Validators/EqualsValidator.cjs +21 -15
- package/lib/cjs/validation/Validators/EqualsValidator.cjs.map +1 -0
- package/lib/cjs/validation/Validators/GreaterThanOrEqualValidator.cjs +24 -18
- package/lib/cjs/validation/Validators/GreaterThanOrEqualValidator.cjs.map +1 -0
- package/lib/cjs/validation/Validators/GreaterThanValidator.cjs +21 -15
- package/lib/cjs/validation/Validators/GreaterThanValidator.cjs.map +1 -0
- package/lib/cjs/validation/Validators/LessThanOrEqualValidator.cjs +24 -18
- package/lib/cjs/validation/Validators/LessThanOrEqualValidator.cjs.map +1 -0
- package/lib/cjs/validation/Validators/LessThanValidator.cjs +21 -15
- package/lib/cjs/validation/Validators/LessThanValidator.cjs.map +1 -0
- package/lib/cjs/validation/Validators/ListValidator.cjs +17 -11
- package/lib/cjs/validation/Validators/ListValidator.cjs.map +1 -0
- package/lib/cjs/validation/Validators/MaxLengthValidator.cjs +19 -13
- package/lib/cjs/validation/Validators/MaxLengthValidator.cjs.map +1 -0
- package/lib/cjs/validation/Validators/MaxValidator.cjs +17 -11
- package/lib/cjs/validation/Validators/MaxValidator.cjs.map +1 -0
- package/lib/cjs/validation/Validators/MinLengthValidator.cjs +19 -13
- package/lib/cjs/validation/Validators/MinLengthValidator.cjs.map +1 -0
- package/lib/cjs/validation/Validators/MinValidator.cjs +17 -11
- package/lib/cjs/validation/Validators/MinValidator.cjs.map +1 -0
- package/lib/cjs/validation/Validators/OptionValidator.cjs +17 -11
- package/lib/cjs/validation/Validators/OptionValidator.cjs.map +1 -0
- package/lib/cjs/validation/Validators/PasswordValidator.cjs +18 -12
- package/lib/cjs/validation/Validators/PasswordValidator.cjs.map +1 -0
- package/lib/cjs/validation/Validators/PatternValidator.cjs +17 -11
- package/lib/cjs/validation/Validators/PatternValidator.cjs.map +1 -0
- package/lib/cjs/validation/Validators/RequiredValidator.cjs +17 -11
- package/lib/cjs/validation/Validators/RequiredValidator.cjs.map +1 -0
- package/lib/cjs/validation/Validators/StepValidator.cjs +17 -11
- package/lib/cjs/validation/Validators/StepValidator.cjs.map +1 -0
- package/lib/cjs/validation/Validators/TypeValidator.cjs +23 -17
- package/lib/cjs/validation/Validators/TypeValidator.cjs.map +1 -0
- package/lib/cjs/validation/Validators/URLValidator.cjs +18 -12
- package/lib/cjs/validation/Validators/URLValidator.cjs.map +1 -0
- package/lib/cjs/validation/Validators/Validator.cjs +5 -4
- package/lib/cjs/validation/Validators/Validator.cjs.map +1 -0
- package/lib/cjs/validation/Validators/ValidatorRegistry.cjs +4 -3
- package/lib/cjs/validation/Validators/ValidatorRegistry.cjs.map +1 -0
- package/lib/cjs/validation/Validators/constants.cjs +3 -2
- package/lib/cjs/validation/Validators/constants.cjs.map +1 -0
- package/lib/cjs/validation/Validators/decorators.cjs +5 -4
- package/lib/cjs/validation/Validators/decorators.cjs.map +1 -0
- package/lib/cjs/validation/Validators/index.cjs +1 -0
- package/lib/cjs/validation/Validators/index.cjs.map +1 -0
- package/lib/cjs/validation/Validators/utils.cjs +14 -13
- package/lib/cjs/validation/Validators/utils.cjs.map +1 -0
- package/lib/cjs/validation/decorators.cjs +70 -69
- package/lib/cjs/validation/decorators.cjs.map +1 -0
- package/lib/cjs/validation/index.cjs +1 -0
- package/lib/cjs/validation/index.cjs.map +1 -0
- package/lib/cjs/validation/types.cjs +2 -1
- package/lib/cjs/validation/types.cjs.map +1 -0
- package/lib/esm/index.js +1 -1
- package/lib/types/constants/errors.d.cts +17 -0
- package/lib/types/constants/errors.d.mts +17 -0
- package/lib/types/constants/index.d.cts +2 -0
- package/lib/types/constants/index.d.mts +2 -0
- package/lib/types/constants/validation.d.cts +16 -0
- package/lib/types/constants/validation.d.mts +16 -0
- package/lib/types/index.d.cts +20 -0
- package/lib/types/index.d.mts +20 -0
- package/lib/types/index.d.ts +1 -1
- package/lib/types/model/Builder.d.cts +86 -0
- package/lib/types/model/Builder.d.mts +86 -0
- package/lib/types/model/Model.d.cts +286 -0
- package/lib/types/model/Model.d.mts +286 -0
- package/lib/types/model/ModelErrorDefinition.d.cts +22 -0
- package/lib/types/model/ModelErrorDefinition.d.mts +22 -0
- package/lib/types/model/ModelRegistry.d.cts +181 -0
- package/lib/types/model/ModelRegistry.d.mts +181 -0
- package/lib/types/model/constants.d.cts +65 -0
- package/lib/types/model/constants.d.mts +65 -0
- package/lib/types/model/construction.d.cts +46 -0
- package/lib/types/model/construction.d.mts +46 -0
- package/lib/types/model/decorators.d.cts +47 -0
- package/lib/types/model/decorators.d.mts +47 -0
- package/lib/types/model/index.d.cts +10 -0
- package/lib/types/model/index.d.mts +10 -0
- package/lib/types/model/types.d.cts +145 -0
- package/lib/types/model/types.d.mts +145 -0
- package/lib/types/model/utils.d.cts +13 -0
- package/lib/types/model/utils.d.mts +13 -0
- package/lib/types/model/validation.d.cts +92 -0
- package/lib/types/model/validation.d.mts +92 -0
- package/lib/types/overrides/Metadata.d.cts +132 -0
- package/lib/types/overrides/Metadata.d.mts +132 -0
- package/lib/types/overrides/index.d.cts +4 -0
- package/lib/types/overrides/index.d.mts +4 -0
- package/lib/types/overrides/overrides.d.cts +1 -0
- package/lib/types/overrides/overrides.d.mts +1 -0
- package/lib/types/overrides/types.d.cts +17 -0
- package/lib/types/overrides/types.d.mts +17 -0
- package/lib/types/types/index.d.cts +1 -0
- package/lib/types/types/index.d.mts +1 -0
- package/lib/types/types/validation.d.cts +28 -0
- package/lib/types/types/validation.d.mts +28 -0
- package/lib/types/utils/DateBuilder.d.cts +121 -0
- package/lib/types/utils/DateBuilder.d.mts +121 -0
- package/lib/types/utils/PathProxy.d.cts +43 -0
- package/lib/types/utils/PathProxy.d.mts +43 -0
- package/lib/types/utils/constants.d.cts +32 -0
- package/lib/types/utils/constants.d.mts +32 -0
- package/lib/types/utils/dates.d.cts +86 -0
- package/lib/types/utils/dates.d.mts +86 -0
- package/lib/types/utils/equality.d.cts +56 -0
- package/lib/types/utils/equality.d.mts +56 -0
- package/lib/types/utils/hashing.d.cts +82 -0
- package/lib/types/utils/hashing.d.mts +82 -0
- package/lib/types/utils/index.d.cts +11 -0
- package/lib/types/utils/index.d.mts +11 -0
- package/lib/types/utils/registry.d.cts +68 -0
- package/lib/types/utils/registry.d.mts +68 -0
- package/lib/types/utils/serialization.d.cts +12 -0
- package/lib/types/utils/serialization.d.mts +12 -0
- package/lib/types/utils/serializers.d.cts +41 -0
- package/lib/types/utils/serializers.d.mts +41 -0
- package/lib/types/utils/strings.d.cts +25 -0
- package/lib/types/utils/strings.d.mts +25 -0
- package/lib/types/utils/types.d.cts +35 -0
- package/lib/types/utils/types.d.mts +35 -0
- package/lib/types/validation/Validation.d.cts +53 -0
- package/lib/types/validation/Validation.d.mts +53 -0
- package/lib/types/validation/Validators/AsyncValidator.d.cts +72 -0
- package/lib/types/validation/Validators/AsyncValidator.d.mts +72 -0
- package/lib/types/validation/Validators/BaseValidator.d.cts +118 -0
- package/lib/types/validation/Validators/BaseValidator.d.mts +118 -0
- package/lib/types/validation/Validators/DateValidator.d.cts +60 -0
- package/lib/types/validation/Validators/DateValidator.d.mts +60 -0
- package/lib/types/validation/Validators/DiffValidator.d.cts +29 -0
- package/lib/types/validation/Validators/DiffValidator.d.mts +29 -0
- package/lib/types/validation/Validators/EmailValidator.d.cts +60 -0
- package/lib/types/validation/Validators/EmailValidator.d.mts +60 -0
- package/lib/types/validation/Validators/EqualsValidator.d.cts +29 -0
- package/lib/types/validation/Validators/EqualsValidator.d.mts +29 -0
- package/lib/types/validation/Validators/GreaterThanOrEqualValidator.d.cts +29 -0
- package/lib/types/validation/Validators/GreaterThanOrEqualValidator.d.mts +29 -0
- package/lib/types/validation/Validators/GreaterThanValidator.d.cts +29 -0
- package/lib/types/validation/Validators/GreaterThanValidator.d.mts +29 -0
- package/lib/types/validation/Validators/LessThanOrEqualValidator.d.cts +29 -0
- package/lib/types/validation/Validators/LessThanOrEqualValidator.d.mts +29 -0
- package/lib/types/validation/Validators/LessThanValidator.d.cts +29 -0
- package/lib/types/validation/Validators/LessThanValidator.d.mts +29 -0
- package/lib/types/validation/Validators/ListValidator.d.cts +66 -0
- package/lib/types/validation/Validators/ListValidator.d.mts +66 -0
- package/lib/types/validation/Validators/MaxLengthValidator.d.cts +29 -0
- package/lib/types/validation/Validators/MaxLengthValidator.d.mts +29 -0
- package/lib/types/validation/Validators/MaxValidator.d.cts +74 -0
- package/lib/types/validation/Validators/MaxValidator.d.mts +74 -0
- package/lib/types/validation/Validators/MinLengthValidator.d.cts +29 -0
- package/lib/types/validation/Validators/MinLengthValidator.d.mts +29 -0
- package/lib/types/validation/Validators/MinValidator.d.cts +74 -0
- package/lib/types/validation/Validators/MinValidator.d.mts +74 -0
- package/lib/types/validation/Validators/OptionValidator.d.cts +29 -0
- package/lib/types/validation/Validators/OptionValidator.d.mts +29 -0
- package/lib/types/validation/Validators/PasswordValidator.d.cts +28 -0
- package/lib/types/validation/Validators/PasswordValidator.d.mts +28 -0
- package/lib/types/validation/Validators/PatternValidator.d.cts +103 -0
- package/lib/types/validation/Validators/PatternValidator.d.mts +103 -0
- package/lib/types/validation/Validators/RequiredValidator.d.cts +74 -0
- package/lib/types/validation/Validators/RequiredValidator.d.mts +74 -0
- package/lib/types/validation/Validators/StepValidator.d.cts +29 -0
- package/lib/types/validation/Validators/StepValidator.d.mts +29 -0
- package/lib/types/validation/Validators/TypeValidator.d.cts +79 -0
- package/lib/types/validation/Validators/TypeValidator.d.mts +79 -0
- package/lib/types/validation/Validators/URLValidator.d.cts +61 -0
- package/lib/types/validation/Validators/URLValidator.d.mts +61 -0
- package/lib/types/validation/Validators/Validator.d.cts +65 -0
- package/lib/types/validation/Validators/Validator.d.mts +65 -0
- package/lib/types/validation/Validators/ValidatorRegistry.d.cts +41 -0
- package/lib/types/validation/Validators/ValidatorRegistry.d.mts +41 -0
- package/lib/types/validation/Validators/constants.d.cts +157 -0
- package/lib/types/validation/Validators/constants.d.mts +157 -0
- package/lib/types/validation/Validators/decorators.d.cts +12 -0
- package/lib/types/validation/Validators/decorators.d.mts +12 -0
- package/lib/types/validation/Validators/index.d.cts +26 -0
- package/lib/types/validation/Validators/index.d.mts +26 -0
- package/lib/types/validation/Validators/utils.d.cts +75 -0
- package/lib/types/validation/Validators/utils.d.mts +75 -0
- package/lib/types/validation/decorators.d.cts +313 -0
- package/lib/types/validation/decorators.d.mts +313 -0
- package/lib/types/validation/index.d.cts +9 -0
- package/lib/types/validation/index.d.mts +9 -0
- package/lib/types/validation/types.d.cts +309 -0
- package/lib/types/validation/types.d.mts +309 -0
- package/package.json +1 -1
- package/lib/cjs/constants/errors.js.map +0 -1
- package/lib/cjs/constants/index.js.map +0 -1
- package/lib/cjs/constants/validation.js.map +0 -1
- package/lib/cjs/index.js.map +0 -1
- package/lib/cjs/model/Builder.js.map +0 -1
- package/lib/cjs/model/Model.js.map +0 -1
- package/lib/cjs/model/ModelErrorDefinition.js.map +0 -1
- package/lib/cjs/model/ModelRegistry.js.map +0 -1
- package/lib/cjs/model/constants.js.map +0 -1
- package/lib/cjs/model/construction.js.map +0 -1
- package/lib/cjs/model/decorators.js.map +0 -1
- package/lib/cjs/model/index.js.map +0 -1
- package/lib/cjs/model/types.js.map +0 -1
- package/lib/cjs/model/utils.js.map +0 -1
- package/lib/cjs/model/validation.js.map +0 -1
- package/lib/cjs/overrides/Metadata.js.map +0 -1
- package/lib/cjs/overrides/index.js.map +0 -1
- package/lib/cjs/overrides/overrides.js.map +0 -1
- package/lib/cjs/overrides/types.js.map +0 -1
- package/lib/cjs/types/index.js.map +0 -1
- package/lib/cjs/utils/DateBuilder.js.map +0 -1
- package/lib/cjs/utils/PathProxy.js.map +0 -1
- package/lib/cjs/utils/constants.js.map +0 -1
- package/lib/cjs/utils/dates.js.map +0 -1
- package/lib/cjs/utils/equality.js.map +0 -1
- package/lib/cjs/utils/hashing.js.map +0 -1
- package/lib/cjs/utils/index.js.map +0 -1
- package/lib/cjs/utils/registry.js.map +0 -1
- package/lib/cjs/utils/serialization.js.map +0 -1
- package/lib/cjs/utils/serializers.js.map +0 -1
- package/lib/cjs/utils/strings.js.map +0 -1
- package/lib/cjs/utils/types.js.map +0 -1
- package/lib/cjs/validation/Validation.js.map +0 -1
- package/lib/cjs/validation/Validators/AsyncValidator.js.map +0 -1
- package/lib/cjs/validation/Validators/BaseValidator.js.map +0 -1
- package/lib/cjs/validation/Validators/DateValidator.js.map +0 -1
- package/lib/cjs/validation/Validators/DiffValidator.js.map +0 -1
- package/lib/cjs/validation/Validators/EmailValidator.js.map +0 -1
- package/lib/cjs/validation/Validators/EqualsValidator.js.map +0 -1
- package/lib/cjs/validation/Validators/GreaterThanOrEqualValidator.js.map +0 -1
- package/lib/cjs/validation/Validators/GreaterThanValidator.js.map +0 -1
- package/lib/cjs/validation/Validators/LessThanOrEqualValidator.js.map +0 -1
- package/lib/cjs/validation/Validators/LessThanValidator.js.map +0 -1
- package/lib/cjs/validation/Validators/ListValidator.js.map +0 -1
- package/lib/cjs/validation/Validators/MaxLengthValidator.js.map +0 -1
- package/lib/cjs/validation/Validators/MaxValidator.js.map +0 -1
- package/lib/cjs/validation/Validators/MinLengthValidator.js.map +0 -1
- package/lib/cjs/validation/Validators/MinValidator.js.map +0 -1
- package/lib/cjs/validation/Validators/OptionValidator.js.map +0 -1
- package/lib/cjs/validation/Validators/PasswordValidator.js.map +0 -1
- package/lib/cjs/validation/Validators/PatternValidator.js.map +0 -1
- package/lib/cjs/validation/Validators/RequiredValidator.js.map +0 -1
- package/lib/cjs/validation/Validators/StepValidator.js.map +0 -1
- package/lib/cjs/validation/Validators/TypeValidator.js.map +0 -1
- package/lib/cjs/validation/Validators/URLValidator.js.map +0 -1
- package/lib/cjs/validation/Validators/Validator.js.map +0 -1
- package/lib/cjs/validation/Validators/ValidatorRegistry.js.map +0 -1
- package/lib/cjs/validation/Validators/constants.js.map +0 -1
- package/lib/cjs/validation/Validators/decorators.js.map +0 -1
- package/lib/cjs/validation/Validators/index.js.map +0 -1
- package/lib/cjs/validation/Validators/utils.js.map +0 -1
- package/lib/cjs/validation/decorators.js.map +0 -1
- package/lib/cjs/validation/index.js.map +0 -1
- package/lib/cjs/validation/types.js.map +0 -1
|
@@ -18,4 +18,5 @@ exports.COMPARISON_ERROR_MESSAGES = {
|
|
|
18
18
|
TYPE_MISMATCH_COMPARISON: "Cannot compare values of different types: {0} and {1}.",
|
|
19
19
|
NAN_COMPARISON: "Comparison not supported for NaN values",
|
|
20
20
|
};
|
|
21
|
+
//# sourceMappingURL=errors.js.map
|
|
21
22
|
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["errors.js"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACU,QAAA,yBAAyB,GAAG;IACrC,YAAY,EAAE,sEAAsE;IACpF,6BAA6B,EAAE,uFAAuF;IACtH,gBAAgB,EAAE,0EAA0E;IAC5F,kBAAkB,EAAE,wDAAwD;IAC5E,4BAA4B,EAAE,mDAAmD;IACjF,4BAA4B,EAAE,kDAAkD;IAChF,uBAAuB,EAAE,yCAAyC;IAClE,wBAAwB,EAAE,wDAAwD;IAClF,cAAc,EAAE,yCAAyC;CAC5D,CAAC;AACF,kCAAkC"}
|
|
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./errors.cjs"), exports);
|
|
18
18
|
__exportStar(require("./validation.cjs"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,kDAAgC;AAChC,iCAAiC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["validation.js"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACU,QAAA,qBAAqB,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AACvD;;;;;;GAMG;AACU,QAAA,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAChD,sCAAsC"}
|
package/lib/cjs/index.cjs
CHANGED
|
@@ -35,7 +35,7 @@ __exportStar(require("./model/index.cjs"), exports);
|
|
|
35
35
|
* @const VERSION
|
|
36
36
|
* @memberOf module:decorator-validation
|
|
37
37
|
*/
|
|
38
|
-
exports.VERSION = "1.
|
|
38
|
+
exports.VERSION = "1.15.0";
|
|
39
39
|
/**
|
|
40
40
|
* @description Current version of the reflection package
|
|
41
41
|
* @summary Stores the semantic version number of the package
|
|
@@ -44,4 +44,5 @@ exports.VERSION = "1.13.0";
|
|
|
44
44
|
*/
|
|
45
45
|
exports.PACKAGE_NAME = "@decaf-ts/decorator-validation";
|
|
46
46
|
decoration_1.Metadata.registerLibrary(exports.PACKAGE_NAME, exports.VERSION);
|
|
47
|
+
//# sourceMappingURL=index.js.map
|
|
47
48
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;;GAMG;AACH,qDAAgD;AAChD,uDAAqC;AACrC,uDAAqC;AACrC,mDAAiC;AACjC,mDAAiC;AACjC,wDAAsC;AACtC,mDAAiC;AACjC;;;;;GAKG;AACU,QAAA,OAAO,GAAG,aAAa,CAAC;AACrC;;;;;GAKG;AACU,QAAA,YAAY,GAAG,aAAa,CAAC;AAC1C,qBAAQ,CAAC,eAAe,CAAC,oBAAY,EAAE,eAAO,CAAC,CAAC;AAChD,iCAAiC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ModelBuilder = exports.AttributeBuilder = void 0;
|
|
4
|
-
const
|
|
4
|
+
const Model_js_1 = require("./Model.cjs");
|
|
5
5
|
const typed_object_accumulator_1 = require("typed-object-accumulator");
|
|
6
6
|
const decoration_1 = require("@decaf-ts/decoration");
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
7
|
+
const decorators_js_1 = require("./decorators.cjs");
|
|
8
|
+
const decorators_js_2 = require("./../validation/decorators.cjs");
|
|
9
|
+
const constants_js_1 = require("./../validation/Validators/constants.cjs");
|
|
10
|
+
const Validation_js_1 = require("./../validation/Validation.cjs");
|
|
11
11
|
class AttributeBuilder {
|
|
12
12
|
constructor(parent, attr, declaredType) {
|
|
13
13
|
this.parent = parent;
|
|
@@ -37,92 +37,92 @@ class AttributeBuilder {
|
|
|
37
37
|
const message = typeof messageOrMeta === "string"
|
|
38
38
|
? messageOrMeta
|
|
39
39
|
: AttributeBuilder.resolveMessage(meta);
|
|
40
|
-
return this.decorate((0,
|
|
40
|
+
return this.decorate((0, decorators_js_2.required)(message));
|
|
41
41
|
}
|
|
42
42
|
min(valueOrMeta, message) {
|
|
43
43
|
const meta = AttributeBuilder.asMeta(valueOrMeta);
|
|
44
|
-
const value = meta?.[
|
|
44
|
+
const value = meta?.[constants_js_1.ValidationKeys.MIN] ??
|
|
45
45
|
(meta ? undefined : valueOrMeta);
|
|
46
46
|
if (value === undefined)
|
|
47
|
-
throw new Error(`Missing ${
|
|
48
|
-
return this.decorate((0,
|
|
47
|
+
throw new Error(`Missing ${constants_js_1.ValidationKeys.MIN} for ${String(this.attr)}`);
|
|
48
|
+
return this.decorate((0, decorators_js_2.min)(value, AttributeBuilder.resolveMessage(meta, message)));
|
|
49
49
|
}
|
|
50
50
|
max(valueOrMeta, message) {
|
|
51
51
|
const meta = AttributeBuilder.asMeta(valueOrMeta);
|
|
52
|
-
const value = meta?.[
|
|
52
|
+
const value = meta?.[constants_js_1.ValidationKeys.MAX] ??
|
|
53
53
|
(meta ? undefined : valueOrMeta);
|
|
54
54
|
if (value === undefined)
|
|
55
|
-
throw new Error(`Missing ${
|
|
56
|
-
return this.decorate((0,
|
|
55
|
+
throw new Error(`Missing ${constants_js_1.ValidationKeys.MAX} for ${String(this.attr)}`);
|
|
56
|
+
return this.decorate((0, decorators_js_2.max)(value, AttributeBuilder.resolveMessage(meta, message)));
|
|
57
57
|
}
|
|
58
58
|
step(valueOrMeta, message) {
|
|
59
59
|
const meta = AttributeBuilder.asMeta(valueOrMeta);
|
|
60
|
-
const value = meta?.[
|
|
60
|
+
const value = meta?.[constants_js_1.ValidationKeys.STEP] ??
|
|
61
61
|
(meta ? undefined : valueOrMeta);
|
|
62
62
|
if (value === undefined)
|
|
63
|
-
throw new Error(`Missing ${
|
|
64
|
-
return this.decorate((0,
|
|
63
|
+
throw new Error(`Missing ${constants_js_1.ValidationKeys.STEP} for ${String(this.attr)}`);
|
|
64
|
+
return this.decorate((0, decorators_js_2.step)(value, AttributeBuilder.resolveMessage(meta, message)));
|
|
65
65
|
}
|
|
66
66
|
minlength(valueOrMeta, message) {
|
|
67
67
|
const meta = AttributeBuilder.asMeta(valueOrMeta);
|
|
68
|
-
const value = meta?.[
|
|
68
|
+
const value = meta?.[constants_js_1.ValidationKeys.MIN_LENGTH] ??
|
|
69
69
|
(meta ? undefined : valueOrMeta);
|
|
70
70
|
if (value === undefined)
|
|
71
|
-
throw new Error(`Missing ${
|
|
72
|
-
return this.decorate((0,
|
|
71
|
+
throw new Error(`Missing ${constants_js_1.ValidationKeys.MIN_LENGTH} for ${String(this.attr)}`);
|
|
72
|
+
return this.decorate((0, decorators_js_2.minlength)(value, AttributeBuilder.resolveMessage(meta, message)));
|
|
73
73
|
}
|
|
74
74
|
maxlength(valueOrMeta, message) {
|
|
75
75
|
const meta = AttributeBuilder.asMeta(valueOrMeta);
|
|
76
|
-
const value = meta?.[
|
|
76
|
+
const value = meta?.[constants_js_1.ValidationKeys.MAX_LENGTH] ??
|
|
77
77
|
(meta ? undefined : valueOrMeta);
|
|
78
78
|
if (value === undefined)
|
|
79
|
-
throw new Error(`Missing ${
|
|
80
|
-
return this.decorate((0,
|
|
79
|
+
throw new Error(`Missing ${constants_js_1.ValidationKeys.MAX_LENGTH} for ${String(this.attr)}`);
|
|
80
|
+
return this.decorate((0, decorators_js_2.maxlength)(value, AttributeBuilder.resolveMessage(meta, message)));
|
|
81
81
|
}
|
|
82
82
|
pattern(valueOrMeta, message) {
|
|
83
83
|
const meta = AttributeBuilder.asMeta(valueOrMeta);
|
|
84
|
-
const rawPattern = meta?.[
|
|
84
|
+
const rawPattern = meta?.[constants_js_1.ValidationKeys.PATTERN] ??
|
|
85
85
|
(meta ? undefined : valueOrMeta);
|
|
86
86
|
const regex = AttributeBuilder.patternFromString(rawPattern) ?? /.*/;
|
|
87
|
-
return this.decorate((0,
|
|
87
|
+
return this.decorate((0, decorators_js_2.pattern)(regex, AttributeBuilder.resolveMessage(meta, message)));
|
|
88
88
|
}
|
|
89
89
|
email(messageOrMeta) {
|
|
90
90
|
const meta = AttributeBuilder.asMeta(messageOrMeta);
|
|
91
91
|
const message = typeof messageOrMeta === "string"
|
|
92
92
|
? messageOrMeta
|
|
93
93
|
: AttributeBuilder.resolveMessage(meta);
|
|
94
|
-
return this.decorate((0,
|
|
94
|
+
return this.decorate((0, decorators_js_2.email)(message));
|
|
95
95
|
}
|
|
96
96
|
url(messageOrMeta) {
|
|
97
97
|
const meta = AttributeBuilder.asMeta(messageOrMeta);
|
|
98
98
|
const message = typeof messageOrMeta === "string"
|
|
99
99
|
? messageOrMeta
|
|
100
100
|
: AttributeBuilder.resolveMessage(meta);
|
|
101
|
-
return this.decorate((0,
|
|
101
|
+
return this.decorate((0, decorators_js_2.url)(message));
|
|
102
102
|
}
|
|
103
103
|
type(valueOrMeta, message) {
|
|
104
104
|
const meta = AttributeBuilder.asMeta(valueOrMeta);
|
|
105
105
|
const types = meta?.customTypes ?? meta?.type ?? (meta ? undefined : valueOrMeta);
|
|
106
|
-
return this.decorate((0,
|
|
106
|
+
return this.decorate((0, decorators_js_2.type)(types, AttributeBuilder.resolveMessage(meta, message)));
|
|
107
107
|
}
|
|
108
108
|
date(formatOrMeta, message) {
|
|
109
109
|
const meta = AttributeBuilder.asMeta(formatOrMeta);
|
|
110
|
-
const format = meta?.[
|
|
110
|
+
const format = meta?.[constants_js_1.ValidationKeys.FORMAT] ??
|
|
111
111
|
(meta ? undefined : formatOrMeta);
|
|
112
|
-
return this.decorate((0,
|
|
112
|
+
return this.decorate((0, decorators_js_2.date)(format, AttributeBuilder.resolveMessage(meta, message)));
|
|
113
113
|
}
|
|
114
114
|
password(valueOrMeta, message) {
|
|
115
115
|
const meta = AttributeBuilder.asMeta(valueOrMeta);
|
|
116
|
-
const rawPattern = meta?.[
|
|
116
|
+
const rawPattern = meta?.[constants_js_1.ValidationKeys.PATTERN] ??
|
|
117
117
|
(meta ? undefined : valueOrMeta);
|
|
118
118
|
const regex = AttributeBuilder.patternFromString(rawPattern);
|
|
119
|
-
return this.decorate((0,
|
|
119
|
+
return this.decorate((0, decorators_js_2.password)(regex, AttributeBuilder.resolveMessage(meta, message)));
|
|
120
120
|
}
|
|
121
121
|
list(clazzOrMeta, collection, message) {
|
|
122
122
|
const meta = AttributeBuilder.asMeta(clazzOrMeta);
|
|
123
123
|
const clazz = meta?.clazz ?? (meta ? undefined : clazzOrMeta);
|
|
124
124
|
const typeOfCollection = meta?.type ?? collection;
|
|
125
|
-
return this.decorate((0,
|
|
125
|
+
return this.decorate((0, decorators_js_2.list)(clazz, typeOfCollection, AttributeBuilder.resolveMessage(meta, message)));
|
|
126
126
|
}
|
|
127
127
|
set(clazzOrMeta, message) {
|
|
128
128
|
if (AttributeBuilder.isMetadataPayload(clazzOrMeta))
|
|
@@ -131,8 +131,8 @@ class AttributeBuilder {
|
|
|
131
131
|
}
|
|
132
132
|
enum(valueOrMeta, message) {
|
|
133
133
|
const meta = AttributeBuilder.asMeta(valueOrMeta);
|
|
134
|
-
const values = meta?.[
|
|
135
|
-
return this.decorate((0,
|
|
134
|
+
const values = meta?.[constants_js_1.ValidationKeys.ENUM] ?? (meta ? undefined : valueOrMeta);
|
|
135
|
+
return this.decorate((0, decorators_js_2.option)(values, AttributeBuilder.resolveMessage(meta, message)));
|
|
136
136
|
}
|
|
137
137
|
option(value, message) {
|
|
138
138
|
return this.enum(value, message);
|
|
@@ -180,43 +180,43 @@ class AttributeBuilder {
|
|
|
180
180
|
return { target: propertyOrMeta, options };
|
|
181
181
|
}
|
|
182
182
|
equals(propertyOrMeta, options) {
|
|
183
|
-
const { target, options: resolvedOptions } = this.resolveComparison(propertyOrMeta,
|
|
184
|
-
return this.decorate((0,
|
|
183
|
+
const { target, options: resolvedOptions } = this.resolveComparison(propertyOrMeta, constants_js_1.ValidationKeys.EQUALS, options);
|
|
184
|
+
return this.decorate((0, decorators_js_2.eq)(target, resolvedOptions));
|
|
185
185
|
}
|
|
186
186
|
eq(propertyOrMeta, options) {
|
|
187
187
|
return this.equals(propertyOrMeta, options);
|
|
188
188
|
}
|
|
189
189
|
different(propertyOrMeta, options) {
|
|
190
|
-
const { target, options: resolvedOptions } = this.resolveComparison(propertyOrMeta,
|
|
191
|
-
return this.decorate((0,
|
|
190
|
+
const { target, options: resolvedOptions } = this.resolveComparison(propertyOrMeta, constants_js_1.ValidationKeys.DIFF, options);
|
|
191
|
+
return this.decorate((0, decorators_js_2.diff)(target, resolvedOptions));
|
|
192
192
|
}
|
|
193
193
|
diff(propertyOrMeta, options) {
|
|
194
194
|
return this.different(propertyOrMeta, options);
|
|
195
195
|
}
|
|
196
196
|
lessThan(propertyOrMeta, options) {
|
|
197
|
-
const { target, options: resolvedOptions } = this.resolveComparison(propertyOrMeta,
|
|
198
|
-
return this.decorate((0,
|
|
197
|
+
const { target, options: resolvedOptions } = this.resolveComparison(propertyOrMeta, constants_js_1.ValidationKeys.LESS_THAN, options);
|
|
198
|
+
return this.decorate((0, decorators_js_2.lt)(target, resolvedOptions));
|
|
199
199
|
}
|
|
200
200
|
lt(propertyOrMeta, options) {
|
|
201
201
|
return this.lessThan(propertyOrMeta, options);
|
|
202
202
|
}
|
|
203
203
|
lessThanOrEqual(propertyOrMeta, options) {
|
|
204
|
-
const { target, options: resolvedOptions } = this.resolveComparison(propertyOrMeta,
|
|
205
|
-
return this.decorate((0,
|
|
204
|
+
const { target, options: resolvedOptions } = this.resolveComparison(propertyOrMeta, constants_js_1.ValidationKeys.LESS_THAN_OR_EQUAL, options);
|
|
205
|
+
return this.decorate((0, decorators_js_2.lte)(target, resolvedOptions));
|
|
206
206
|
}
|
|
207
207
|
lte(propertyOrMeta, options) {
|
|
208
208
|
return this.lessThanOrEqual(propertyOrMeta, options);
|
|
209
209
|
}
|
|
210
210
|
greaterThan(propertyOrMeta, options) {
|
|
211
|
-
const { target, options: resolvedOptions } = this.resolveComparison(propertyOrMeta,
|
|
212
|
-
return this.decorate((0,
|
|
211
|
+
const { target, options: resolvedOptions } = this.resolveComparison(propertyOrMeta, constants_js_1.ValidationKeys.GREATER_THAN, options);
|
|
212
|
+
return this.decorate((0, decorators_js_2.gt)(target, resolvedOptions));
|
|
213
213
|
}
|
|
214
214
|
gt(propertyOrMeta, options) {
|
|
215
215
|
return this.greaterThan(propertyOrMeta, options);
|
|
216
216
|
}
|
|
217
217
|
greaterThanOrEqual(propertyOrMeta, options) {
|
|
218
|
-
const { target, options: resolvedOptions } = this.resolveComparison(propertyOrMeta,
|
|
219
|
-
return this.decorate((0,
|
|
218
|
+
const { target, options: resolvedOptions } = this.resolveComparison(propertyOrMeta, constants_js_1.ValidationKeys.GREATER_THAN_OR_EQUAL, options);
|
|
219
|
+
return this.decorate((0, decorators_js_2.gte)(target, resolvedOptions));
|
|
220
220
|
}
|
|
221
221
|
gte(propertyOrMeta, options) {
|
|
222
222
|
return this.greaterThanOrEqual(propertyOrMeta, options);
|
|
@@ -347,7 +347,7 @@ class ModelBuilder extends typed_object_accumulator_1.ObjectAccumulator {
|
|
|
347
347
|
build() {
|
|
348
348
|
if (!this._name)
|
|
349
349
|
throw new Error("name is required");
|
|
350
|
-
const Parent = this._parent ??
|
|
350
|
+
const Parent = this._parent ?? Model_js_1.Model;
|
|
351
351
|
class DynamicBuiltClass extends Parent {
|
|
352
352
|
constructor(arg) {
|
|
353
353
|
super(arg);
|
|
@@ -360,7 +360,7 @@ class ModelBuilder extends typed_object_accumulator_1.ObjectAccumulator {
|
|
|
360
360
|
for (const attribute of this.attributes.values()) {
|
|
361
361
|
attribute.build(DynamicBuiltClass);
|
|
362
362
|
}
|
|
363
|
-
let result = (0,
|
|
363
|
+
let result = (0, decorators_js_1.model)()(DynamicBuiltClass);
|
|
364
364
|
for (const decorator of this._classDecorators) {
|
|
365
365
|
const decorated = decorator(result);
|
|
366
366
|
if (decorated)
|
|
@@ -392,7 +392,7 @@ class ModelBuilder extends typed_object_accumulator_1.ObjectAccumulator {
|
|
|
392
392
|
continue;
|
|
393
393
|
}
|
|
394
394
|
try {
|
|
395
|
-
const decoratorFactory =
|
|
395
|
+
const decoratorFactory = Validation_js_1.Validation.decoratorFromKey(key);
|
|
396
396
|
const decorator = typeof decoratorFactory === "function"
|
|
397
397
|
? decoratorFactory(validationMeta)
|
|
398
398
|
: decoratorFactory;
|
|
@@ -408,4 +408,5 @@ class ModelBuilder extends typed_object_accumulator_1.ObjectAccumulator {
|
|
|
408
408
|
}
|
|
409
409
|
}
|
|
410
410
|
exports.ModelBuilder = ModelBuilder;
|
|
411
|
+
//# sourceMappingURL=Builder.js.map
|
|
411
412
|
//# sourceMappingURL=Builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Builder.js","sourceRoot":"","sources":["Builder.js"],"names":[],"mappings":"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"}
|
package/lib/cjs/model/Model.cjs
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Model = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
4
|
+
const serialization_js_1 = require("./../utils/serialization.cjs");
|
|
5
|
+
const validation_js_1 = require("./validation.cjs");
|
|
6
|
+
const hashing_js_1 = require("./../utils/hashing.cjs");
|
|
7
|
+
const constants_js_1 = require("./../utils/constants.cjs");
|
|
8
|
+
const index_js_1 = require("./../constants/index.cjs");
|
|
9
9
|
const decoration_1 = require("@decaf-ts/decoration");
|
|
10
|
-
const
|
|
11
|
-
const
|
|
10
|
+
const equality_js_1 = require("./../utils/equality.cjs");
|
|
11
|
+
const ModelRegistry_js_1 = require("./ModelRegistry.cjs");
|
|
12
12
|
/**
|
|
13
13
|
* @summary Abstract class representing a Validatable Model object
|
|
14
14
|
* @description Meant to be used as a base class for all Model classes
|
|
@@ -38,7 +38,7 @@ class Model {
|
|
|
38
38
|
constructor(arg = undefined) { }
|
|
39
39
|
isAsync() {
|
|
40
40
|
const self = this;
|
|
41
|
-
return !!(self[
|
|
41
|
+
return !!(self[index_js_1.ASYNC_META_KEY] ?? self?.constructor[index_js_1.ASYNC_META_KEY]);
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
44
44
|
* @description Validates the model object against its defined validation rules
|
|
@@ -48,7 +48,7 @@ class Model {
|
|
|
48
48
|
* @return {ModelErrorDefinition | undefined} - Returns a ModelErrorDefinition object if validation errors exist, otherwise undefined
|
|
49
49
|
*/
|
|
50
50
|
hasErrors(...exceptions) {
|
|
51
|
-
return (0,
|
|
51
|
+
return (0, validation_js_1.validate)(this, this.isAsync(), ...exceptions);
|
|
52
52
|
}
|
|
53
53
|
/**
|
|
54
54
|
* @description Determines if this model is equal to another object
|
|
@@ -59,7 +59,7 @@ class Model {
|
|
|
59
59
|
* @return {boolean} - True if objects are equal, false otherwise
|
|
60
60
|
*/
|
|
61
61
|
equals(obj, ...exceptions) {
|
|
62
|
-
return (0,
|
|
62
|
+
return (0, equality_js_1.isEqual)(this, obj, ...exceptions);
|
|
63
63
|
}
|
|
64
64
|
compare(other, ...exceptions) {
|
|
65
65
|
const props = decoration_1.Metadata.properties(this.constructor);
|
|
@@ -77,7 +77,7 @@ class Model {
|
|
|
77
77
|
acc[k] = { other: undefined, current: this[k] };
|
|
78
78
|
return acc;
|
|
79
79
|
}
|
|
80
|
-
if ((0,
|
|
80
|
+
if ((0, equality_js_1.isEqual)(this[k], other[k]))
|
|
81
81
|
return acc;
|
|
82
82
|
if (Model.isPropertyModel(this, k)) {
|
|
83
83
|
const nestedDiff = this[k].compare(other[k]);
|
|
@@ -92,7 +92,7 @@ class Model {
|
|
|
92
92
|
return acc;
|
|
93
93
|
}
|
|
94
94
|
const listDiff = this[k].map((item, i) => {
|
|
95
|
-
if ((0,
|
|
95
|
+
if ((0, equality_js_1.isEqual)(item, other[k][i]))
|
|
96
96
|
return null;
|
|
97
97
|
if (item instanceof Model &&
|
|
98
98
|
other[k][i] instanceof Model) {
|
|
@@ -149,15 +149,15 @@ class Model {
|
|
|
149
149
|
static deserialize(str) {
|
|
150
150
|
let metadata;
|
|
151
151
|
try {
|
|
152
|
-
metadata = decoration_1.Metadata.get(this.constructor,
|
|
152
|
+
metadata = decoration_1.Metadata.get(this.constructor, constants_js_1.ModelKeys.SERIALIZATION);
|
|
153
153
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
154
154
|
}
|
|
155
155
|
catch (e) {
|
|
156
156
|
metadata = undefined;
|
|
157
157
|
}
|
|
158
158
|
if (metadata && metadata.serializer)
|
|
159
|
-
return
|
|
160
|
-
return
|
|
159
|
+
return serialization_js_1.Serialization.deserialize(str, metadata.serializer, ...(metadata.args || []));
|
|
160
|
+
return serialization_js_1.Serialization.deserialize(str);
|
|
161
161
|
}
|
|
162
162
|
/**
|
|
163
163
|
* @description Copies properties from a source object to a model instance
|
|
@@ -220,7 +220,7 @@ class Model {
|
|
|
220
220
|
* M-->>C: Return updated self
|
|
221
221
|
*/
|
|
222
222
|
static fromModel(self, obj) {
|
|
223
|
-
return
|
|
223
|
+
return ModelRegistry_js_1.ModelRegistryManager.fromModel(self, obj);
|
|
224
224
|
}
|
|
225
225
|
/**
|
|
226
226
|
* @description Configures the global model builder function
|
|
@@ -230,7 +230,7 @@ class Model {
|
|
|
230
230
|
* @return {void}
|
|
231
231
|
*/
|
|
232
232
|
static setBuilder(builder) {
|
|
233
|
-
|
|
233
|
+
ModelRegistry_js_1.ModelRegistryManager.setBuilder(builder);
|
|
234
234
|
}
|
|
235
235
|
/**
|
|
236
236
|
* @description Retrieves the currently configured global model builder function
|
|
@@ -239,7 +239,7 @@ class Model {
|
|
|
239
239
|
* @return {ModelBuilderFunction | undefined} - The current global builder function or undefined if not set
|
|
240
240
|
*/
|
|
241
241
|
static getBuilder() {
|
|
242
|
-
return
|
|
242
|
+
return ModelRegistry_js_1.ModelRegistryManager.getBuilder();
|
|
243
243
|
}
|
|
244
244
|
/**
|
|
245
245
|
* @description Provides access to the current model registry
|
|
@@ -249,7 +249,7 @@ class Model {
|
|
|
249
249
|
* @private
|
|
250
250
|
*/
|
|
251
251
|
static getRegistry() {
|
|
252
|
-
return
|
|
252
|
+
return ModelRegistry_js_1.ModelRegistryManager.getRegistry();
|
|
253
253
|
}
|
|
254
254
|
/**
|
|
255
255
|
* @description Configures the model registry to be used by the Model system
|
|
@@ -259,7 +259,7 @@ class Model {
|
|
|
259
259
|
* @return {void}
|
|
260
260
|
*/
|
|
261
261
|
static setRegistry(modelRegistry) {
|
|
262
|
-
|
|
262
|
+
ModelRegistry_js_1.ModelRegistryManager.setRegistry(modelRegistry);
|
|
263
263
|
}
|
|
264
264
|
/**
|
|
265
265
|
* @description Registers a model constructor with the model registry
|
|
@@ -273,7 +273,7 @@ class Model {
|
|
|
273
273
|
* @see ModelRegistry
|
|
274
274
|
*/
|
|
275
275
|
static register(constructor, name) {
|
|
276
|
-
return
|
|
276
|
+
return ModelRegistry_js_1.ModelRegistryManager.getRegistry().register(constructor, name);
|
|
277
277
|
}
|
|
278
278
|
/**
|
|
279
279
|
* @description Retrieves a registered model constructor by name
|
|
@@ -286,7 +286,7 @@ class Model {
|
|
|
286
286
|
* @see ModelRegistry
|
|
287
287
|
*/
|
|
288
288
|
static get(name) {
|
|
289
|
-
return
|
|
289
|
+
return ModelRegistry_js_1.ModelRegistryManager.getRegistry().get(name);
|
|
290
290
|
}
|
|
291
291
|
/**
|
|
292
292
|
* @description Creates a model instance from a plain object
|
|
@@ -325,7 +325,7 @@ class Model {
|
|
|
325
325
|
* @return {boolean} - True if the models are equal, false otherwise
|
|
326
326
|
*/
|
|
327
327
|
static equals(obj1, obj2, ...exceptions) {
|
|
328
|
-
return (0,
|
|
328
|
+
return (0, equality_js_1.isEqual)(obj1, obj2, ...exceptions);
|
|
329
329
|
}
|
|
330
330
|
/**
|
|
331
331
|
* @description Validates a model instance against its validation rules
|
|
@@ -338,7 +338,7 @@ class Model {
|
|
|
338
338
|
* @return {ModelErrorDefinition | undefined} - Returns validation errors if any, otherwise undefined
|
|
339
339
|
*/
|
|
340
340
|
static hasErrors(model, async, ...propsToIgnore) {
|
|
341
|
-
return (0,
|
|
341
|
+
return (0, validation_js_1.validate)(model, async, ...propsToIgnore);
|
|
342
342
|
}
|
|
343
343
|
/**
|
|
344
344
|
* @description Converts a model instance to a serialized string
|
|
@@ -351,15 +351,15 @@ class Model {
|
|
|
351
351
|
static serialize(model) {
|
|
352
352
|
let metadata;
|
|
353
353
|
try {
|
|
354
|
-
metadata = decoration_1.Metadata.get(model.constructor,
|
|
354
|
+
metadata = decoration_1.Metadata.get(model.constructor, constants_js_1.ModelKeys.SERIALIZATION);
|
|
355
355
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
356
356
|
}
|
|
357
357
|
catch (e) {
|
|
358
358
|
metadata = undefined;
|
|
359
359
|
}
|
|
360
360
|
if (metadata && metadata.serializer)
|
|
361
|
-
return
|
|
362
|
-
return
|
|
361
|
+
return serialization_js_1.Serialization.serialize(this, metadata.serializer, ...(metadata.args || []));
|
|
362
|
+
return serialization_js_1.Serialization.serialize(model);
|
|
363
363
|
}
|
|
364
364
|
/**
|
|
365
365
|
* @description Generates a hash string for a model instance
|
|
@@ -370,10 +370,10 @@ class Model {
|
|
|
370
370
|
* @return {string} - The hash string representing the model
|
|
371
371
|
*/
|
|
372
372
|
static hash(model) {
|
|
373
|
-
const metadata = decoration_1.Metadata.get(model.constructor,
|
|
373
|
+
const metadata = decoration_1.Metadata.get(model.constructor, constants_js_1.ModelKeys.HASHING);
|
|
374
374
|
if (metadata && metadata.algorithm)
|
|
375
|
-
return
|
|
376
|
-
return
|
|
375
|
+
return hashing_js_1.Hashing.hash(model, metadata.algorithm, ...(metadata.args || []));
|
|
376
|
+
return hashing_js_1.Hashing.hash(model);
|
|
377
377
|
}
|
|
378
378
|
/**
|
|
379
379
|
* @description Determines if an object is a model instance or has model metadata
|
|
@@ -418,4 +418,5 @@ class Model {
|
|
|
418
418
|
}
|
|
419
419
|
}
|
|
420
420
|
exports.Model = Model;
|
|
421
|
+
//# sourceMappingURL=Model.js.map
|
|
421
422
|
//# sourceMappingURL=Model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Model.js","sourceRoot":"","sources":["Model.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModelErrorDefinition.js","sourceRoot":"","sources":["ModelErrorDefinition.js"],"names":[],"mappings":";;;AAAA;;;;;;;;;;GAUG;AACH,MAAa,oBAAoB;IAC7B,YAAY,MAAM;QACd,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YACxB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC;gBAClE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE;oBAC9B,UAAU,EAAE,IAAI;oBAChB,YAAY,EAAE,KAAK;oBACnB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC;oBACnB,QAAQ,EAAE,KAAK;iBAClB,CAAC,CAAC;QACX,CAAC;IACL,CAAC;IACD;;;;OAIG;IACH,QAAQ;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;aACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC;aAC7B,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACxB,IAAI,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE;gBAC9D,IAAI,CAAC,SAAS;oBACV,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;;oBAE5B,SAAS,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,OAAO,SAAS,CAAC;YACrB,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,IAAI,SAAS,EAAE,CAAC;gBACZ,SAAS,GAAG,GAAG,IAAI,MAAM,SAAS,EAAE,CAAC;gBACrC,IAAI,CAAC,KAAK;oBACN,KAAK,GAAG,SAAS,CAAC;;oBAElB,KAAK,IAAI,KAAK,SAAS,EAAE,CAAC;YAClC,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IACX,CAAC;CACJ;AAxCD,oDAwCC;AACD,gDAAgD"}
|
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ModelRegistryManager = void 0;
|
|
4
4
|
exports.bulkModelRegister = bulkModelRegister;
|
|
5
5
|
const decoration_1 = require("@decaf-ts/decoration");
|
|
6
|
-
const
|
|
7
|
-
const
|
|
6
|
+
const constants_js_1 = require("./constants.cjs");
|
|
7
|
+
const index_js_1 = require("./../validation/index.cjs");
|
|
8
8
|
let modelBuilderFunction;
|
|
9
9
|
let actingModelRegistry;
|
|
10
10
|
/**
|
|
@@ -200,7 +200,7 @@ class ModelRegistryManager {
|
|
|
200
200
|
if (!decorators || !decorators.length)
|
|
201
201
|
throw new Error(`failed to find decorators for property ${prop}`);
|
|
202
202
|
const clazz = decorators.map((t) => typeof t === "function" && !t.name ? t() : t);
|
|
203
|
-
const reserved = Object.values(
|
|
203
|
+
const reserved = Object.values(constants_js_1.ReservedModels);
|
|
204
204
|
clazz.forEach((c) => {
|
|
205
205
|
if (!reserved.includes(c))
|
|
206
206
|
try {
|
|
@@ -208,14 +208,14 @@ class ModelRegistryManager {
|
|
|
208
208
|
case "Array":
|
|
209
209
|
case "Set": {
|
|
210
210
|
const validation = decoration_1.Metadata.validationFor(self.constructor, prop);
|
|
211
|
-
if (!validation || !validation[
|
|
211
|
+
if (!validation || !validation[index_js_1.ValidationKeys.LIST])
|
|
212
212
|
break;
|
|
213
|
-
const listDec = validation[
|
|
213
|
+
const listDec = validation[index_js_1.ValidationKeys.LIST];
|
|
214
214
|
const clazzName = listDec.clazz
|
|
215
215
|
.map((t) => typeof t === "function" && !t.name
|
|
216
216
|
? t()
|
|
217
217
|
: t)
|
|
218
|
-
.find((t) => !
|
|
218
|
+
.find((t) => !constants_js_1.jsTypes.includes(t.name));
|
|
219
219
|
if (c.name === "Array")
|
|
220
220
|
self[prop] = self[prop].map((el) => {
|
|
221
221
|
return ["object", "function"].includes(typeof el) &&
|
|
@@ -293,4 +293,5 @@ function bulkModelRegister(...models) {
|
|
|
293
293
|
ModelRegistryManager.getRegistry().register(constructor, m.name);
|
|
294
294
|
});
|
|
295
295
|
}
|
|
296
|
+
//# sourceMappingURL=ModelRegistry.js.map
|
|
296
297
|
//# sourceMappingURL=ModelRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModelRegistry.js","sourceRoot":"","sources":["ModelRegistry.js"],"names":[],"mappings":";;;AA4RA,8CAKC;AAjSD,qDAAgD;AAChD,iDAAyD;AACzD,uDAA0D;AAC1D,IAAI,oBAAoB,CAAC;AACzB,IAAI,mBAAmB,CAAC;AACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAa,oBAAoB;IAC7B,YAAY,YAAY,GAAG,qBAAQ,CAAC,OAAO;QACvC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;IACD;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,WAAW,EAAE,IAAI;QACtB,IAAI,OAAO,WAAW,KAAK,UAAU;YACjC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACnF,IAAI,GAAG,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;IACnC,CAAC;IACD;;;OAGG;IACH,GAAG,CAAC,IAAI;QACJ,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxB,6DAA6D;QACjE,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IACD;;;;;OAKG;IACH,KAAK,CAAC,GAAG,GAAG,EAAE,EAAE,KAAK;QACjB,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,KAAK,IAAI,qBAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,mCAAmC,CAAC,CAAC;QAC/E,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IACD;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,OAAO;QACrB,oBAAoB,GAAG,OAAO,CAAC;IACnC,CAAC;IACD;;;;;OAKG;IACH,MAAM,CAAC,UAAU;QACb,OAAO,oBAAoB,IAAI,oBAAoB,CAAC,SAAS,CAAC;IAClE,CAAC;IACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG;QACtB,IAAI,CAAC,GAAG;YACJ,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,UAAU,CAAC;QACf,MAAM,KAAK,GAAG,qBAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,UAAU,CAAC;QACf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC;oBACN,GAAG,CAAC,IAAI,CAAC;wBACL,IAAI,CAAC,IAAI,CAAC;wBACV,SAAS,CAAC;YACtB,CAAC;YACD,OAAO,CAAC,EAAE,CAAC;gBACP,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC1D,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,QAAQ;oBAClC,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,cAAc,CAAC,EAAE,CAAC,CAAC;YAC3E,CAAC;YACD,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,QAAQ;gBAC9B,SAAS;YACb,MAAM,KAAK,GAAG,qBAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACnD,IAAI,KAAK,EAAE,CAAC;gBACR,IAAI,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC;wBACN,oBAAoB,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAC5G,CAAC;gBACD,OAAO,CAAC,EAAE,CAAC;oBACP,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnB,CAAC;gBACD,SAAS;YACb,CAAC;YACD,UAAU,GAAG,qBAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM;gBACjC,MAAM,IAAI,KAAK,CAAC,0CAA0C,IAAI,EAAE,CAAC,CAAC;YACtE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,6BAAc,CAAC,CAAC;YAC/C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAChB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACrB,IAAI,CAAC;wBACD,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;4BACb,KAAK,OAAO,CAAC;4BACb,KAAK,KAAK,CAAC,CAAC,CAAC;gCACT,MAAM,UAAU,GAAG,qBAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gCAClE,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,yBAAc,CAAC,IAAI,CAAC;oCAC/C,MAAM;gCACV,MAAM,OAAO,GAAG,UAAU,CAAC,yBAAc,CAAC,IAAI,CAAC,CAAC;gCAChD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK;qCAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,CAAC,IAAI;oCAC9C,CAAC,CAAC,CAAC,EAAE;oCACL,CAAC,CAAC,CAAC,CAAC;qCACH,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,sBAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gCAC5C,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;oCAClB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;wCAC/B,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;4CAC7C,SAAS;4CACT,CAAC,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC;4CAC9D,CAAC,CAAC,EAAE,CAAC;oCACb,CAAC,CAAC,CAAC;gCACP,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;oCACnB,MAAM,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;oCACpB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wCACzB,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;4CACzC,SAAS,EAAE,CAAC;4CACZ,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;wCACvE,CAAC;6CACI,CAAC;4CACF,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wCACb,CAAC;oCACL,CAAC;oCACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gCACnB,CAAC;gCACD,MAAM;4BACV,CAAC;4BACD;gCACI,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,WAAW;oCACjC,oBAAoB,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;oCAC9C,IAAI,CAAC,IAAI,CAAC;wCACN,oBAAoB,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;wBAC7E,CAAC;oBACL,CAAC;oBACD,OAAO,CAAC,EAAE,CAAC;wBACP,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBACf,gDAAgD;oBACpD,CAAC;YACT,CAAC,CAAC,CAAC;QACP,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD;;;;;;OAMG;IACH,MAAM,CAAC,WAAW;QACd,IAAI,CAAC,mBAAmB;YACpB,mBAAmB,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACrD,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IACD;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAC,aAAa;QAC5B,mBAAmB,GAAG,aAAa,CAAC;IACxC,CAAC;CACJ;AA7ND,oDA6NC;AACD;;;;;;;;;GASG;AACH,SAAgB,iBAAiB,CAAC,GAAG,MAAM;IACvC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACjB,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,oBAAoB,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACP,CAAC;AACD,yCAAyC"}
|