@decaf-ts/decorator-validation 1.7.1 → 1.7.3
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 +312 -20
- package/dist/decorator-validation.cjs +245 -94
- package/dist/decorator-validation.esm.cjs +245 -95
- package/lib/constants/validation.cjs +6 -8
- package/lib/constants/validation.d.ts +4 -6
- package/lib/esm/constants/validation.d.ts +4 -6
- package/lib/esm/constants/validation.js +6 -8
- package/lib/esm/index.d.ts +8 -1
- package/lib/esm/index.js +9 -2
- package/lib/esm/model/Model.d.ts +164 -40
- package/lib/esm/model/Model.js +165 -41
- package/lib/esm/model/construction.d.ts +4 -2
- package/lib/esm/model/construction.js +4 -2
- package/lib/esm/model/decorators.d.ts +25 -1
- package/lib/esm/model/decorators.js +26 -2
- package/lib/esm/model/types.d.ts +48 -31
- package/lib/esm/model/types.js +1 -1
- package/lib/esm/utils/decorators.d.ts +7 -12
- package/lib/esm/utils/decorators.js +8 -13
- package/lib/esm/validation/Validators/EmailValidator.js +2 -1
- package/lib/esm/validation/Validators/PasswordValidator.js +3 -2
- package/lib/esm/validation/Validators/URLValidator.js +2 -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/utils.d.ts +4 -0
- package/lib/esm/validation/Validators/utils.js +5 -1
- package/lib/esm/validation/decorators.d.ts +20 -26
- package/lib/esm/validation/decorators.js +21 -27
- package/lib/index.cjs +9 -2
- package/lib/index.d.ts +8 -1
- package/lib/model/Model.cjs +165 -41
- package/lib/model/Model.d.ts +164 -40
- package/lib/model/construction.cjs +4 -2
- package/lib/model/construction.d.ts +4 -2
- package/lib/model/decorators.cjs +26 -2
- package/lib/model/decorators.d.ts +25 -1
- package/lib/model/types.cjs +1 -1
- package/lib/model/types.d.ts +48 -31
- package/lib/utils/decorators.cjs +8 -13
- package/lib/utils/decorators.d.ts +7 -12
- package/lib/validation/Validators/EmailValidator.cjs +2 -1
- package/lib/validation/Validators/PasswordValidator.cjs +2 -1
- package/lib/validation/Validators/URLValidator.cjs +2 -1
- package/lib/validation/Validators/decorators.cjs +2 -2
- package/lib/validation/Validators/decorators.d.ts +1 -1
- package/lib/validation/Validators/utils.cjs +5 -1
- package/lib/validation/Validators/utils.d.ts +4 -0
- package/lib/validation/decorators.cjs +21 -27
- package/lib/validation/decorators.d.ts +20 -26
- package/package.json +1 -1
|
@@ -18,8 +18,32 @@ export type InstanceCallback = (instance: any, ...args: any[]) => void;
|
|
|
18
18
|
*
|
|
19
19
|
* @function model
|
|
20
20
|
*
|
|
21
|
-
* @category Decorators
|
|
21
|
+
* @category Class Decorators
|
|
22
22
|
*/
|
|
23
23
|
export declare function model(instanceCallback?: InstanceCallback): any;
|
|
24
|
+
/**
|
|
25
|
+
* @summary Defines the hashing algorithm to use on the model
|
|
26
|
+
* @description
|
|
27
|
+
*
|
|
28
|
+
* - Registers the class under the model registry so it can be easily rebuilt;
|
|
29
|
+
* - Overrides the class constructor;
|
|
30
|
+
* - Runs the global {@link ModelBuilderFunction} if defined;
|
|
31
|
+
* - Runs the optional {@link InstanceCallback} if provided;
|
|
32
|
+
*
|
|
33
|
+
* @param {string} algorithm the algorithm to use
|
|
34
|
+
*
|
|
35
|
+
* @function hashedBy
|
|
36
|
+
*
|
|
37
|
+
* @category Class Decorators
|
|
38
|
+
*/
|
|
24
39
|
export declare function hashedBy(algorithm: string, ...args: any[]): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
40
|
+
/**
|
|
41
|
+
* @summary Defines the serialization algorithm to use on the model
|
|
42
|
+
*
|
|
43
|
+
* @param {string} serializer the algorithm to use
|
|
44
|
+
*
|
|
45
|
+
* @function serializedBy
|
|
46
|
+
*
|
|
47
|
+
* @category Class Decorators
|
|
48
|
+
*/
|
|
25
49
|
export declare function serializedBy(serializer: string, ...args: any[]): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
@@ -15,7 +15,7 @@ import { metadata } from "@decaf-ts/reflection";
|
|
|
15
15
|
*
|
|
16
16
|
* @function model
|
|
17
17
|
*
|
|
18
|
-
* @category Decorators
|
|
18
|
+
* @category Class Decorators
|
|
19
19
|
*/
|
|
20
20
|
export function model(instanceCallback) {
|
|
21
21
|
return ((original) => {
|
|
@@ -50,16 +50,40 @@ export function model(instanceCallback) {
|
|
|
50
50
|
return newConstructor;
|
|
51
51
|
});
|
|
52
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* @summary Defines the hashing algorithm to use on the model
|
|
55
|
+
* @description
|
|
56
|
+
*
|
|
57
|
+
* - Registers the class under the model registry so it can be easily rebuilt;
|
|
58
|
+
* - Overrides the class constructor;
|
|
59
|
+
* - Runs the global {@link ModelBuilderFunction} if defined;
|
|
60
|
+
* - Runs the optional {@link InstanceCallback} if provided;
|
|
61
|
+
*
|
|
62
|
+
* @param {string} algorithm the algorithm to use
|
|
63
|
+
*
|
|
64
|
+
* @function hashedBy
|
|
65
|
+
*
|
|
66
|
+
* @category Class Decorators
|
|
67
|
+
*/
|
|
53
68
|
export function hashedBy(algorithm, ...args) {
|
|
54
69
|
return metadata(Model.key(ModelKeys.HASHING), {
|
|
55
70
|
algorithm: algorithm,
|
|
56
71
|
args: args,
|
|
57
72
|
});
|
|
58
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* @summary Defines the serialization algorithm to use on the model
|
|
76
|
+
*
|
|
77
|
+
* @param {string} serializer the algorithm to use
|
|
78
|
+
*
|
|
79
|
+
* @function serializedBy
|
|
80
|
+
*
|
|
81
|
+
* @category Class Decorators
|
|
82
|
+
*/
|
|
59
83
|
export function serializedBy(serializer, ...args) {
|
|
60
84
|
return metadata(Model.key(ModelKeys.SERIALIZATION), {
|
|
61
85
|
serializer: serializer,
|
|
62
86
|
args: args,
|
|
63
87
|
});
|
|
64
88
|
}
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RlbC9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNoQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFVaEQ7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxNQUFNLFVBQVUsS0FBSyxDQUFDLGdCQUFtQztJQUN2RCxPQUFPLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtRQUN4QixnQ0FBZ0M7UUFDaEMsTUFBTSxjQUFjLEdBQVEsVUFBVSxHQUFHLElBQVc7WUFDbEQsTUFBTSxRQUFRLEdBQWdDLFNBQVMsQ0FDckQsUUFBUSxFQUNSLEdBQUcsSUFBSSxDQUNSLENBQUM7WUFDRixrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3QiwyRUFBMkU7WUFDM0UsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ25DLElBQUksT0FBTztnQkFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFbEUsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFMUUsSUFBSSxnQkFBZ0I7Z0JBQUUsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFFMUQsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQyxDQUFDO1FBRUYsb0RBQW9EO1FBQ3BELGNBQWMsQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztRQUU5QyxPQUFPLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2hELE9BQU8sQ0FBQyxjQUFjLENBQ3BCLEdBQUcsRUFDSCxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsRUFDbEMsY0FBYyxDQUNmLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNILHlEQUF5RDtRQUN6RCxNQUFNLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUU7WUFDNUMsUUFBUSxFQUFFLEtBQUs7WUFDZixVQUFVLEVBQUUsSUFBSTtZQUNoQixZQUFZLEVBQUUsS0FBSztZQUNuQixLQUFLLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSTtTQUMzQyxDQUFDLENBQUM7UUFFSCxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTlELEtBQUssQ0FBQyxRQUFRLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5QyxrREFBa0Q7UUFDbEQsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQyxDQUFRLENBQUM7QUFDWixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUFDLFNBQWlCLEVBQUUsR0FBRyxJQUFXO0lBQ3hELE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQzVDLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLElBQUksRUFBRSxJQUFJO0tBQ1gsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxVQUFrQixFQUFFLEdBQUcsSUFBVztJQUM3RCxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsRUFBRTtRQUNsRCxVQUFVLEVBQUUsVUFBVTtRQUN0QixJQUFJLEVBQUUsSUFBSTtLQUNYLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBiaW5kTW9kZWxQcm90b3R5cGUsIGNvbnN0cnVjdCB9IGZyb20gXCIuL2NvbnN0cnVjdGlvblwiO1xuaW1wb3J0IHsgTW9kZWxLZXlzIH0gZnJvbSBcIi4uL3V0aWxzL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgTW9kZWwgfSBmcm9tIFwiLi9Nb2RlbFwiO1xuaW1wb3J0IHsgbWV0YWRhdGEgfSBmcm9tIFwiQGRlY2FmLXRzL3JlZmxlY3Rpb25cIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBkZWZpbmVzIHRoZSB0cGUgb3MgYW4gSW5zdGFuY2VDYWxsYmFjayBmdW5jdGlvblxuICpcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBNb2RlbFxuICovXG5leHBvcnQgdHlwZSBJbnN0YW5jZUNhbGxiYWNrID0gKGluc3RhbmNlOiBhbnksIC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkO1xuXG4vKipcbiAqIEBzdW1tYXJ5IERlZmluZXMgYSBjbGFzcyBhcyBhIE1vZGVsIGNsYXNzXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiAtIFJlZ2lzdGVycyB0aGUgY2xhc3MgdW5kZXIgdGhlIG1vZGVsIHJlZ2lzdHJ5IHNvIGl0IGNhbiBiZSBlYXNpbHkgcmVidWlsdDtcbiAqIC0gT3ZlcnJpZGVzIHRoZSBjbGFzcyBjb25zdHJ1Y3RvcjtcbiAqIC0gUnVucyB0aGUgZ2xvYmFsIHtAbGluayBNb2RlbEJ1aWxkZXJGdW5jdGlvbn0gaWYgZGVmaW5lZDtcbiAqIC0gUnVucyB0aGUgb3B0aW9uYWwge0BsaW5rIEluc3RhbmNlQ2FsbGJhY2t9IGlmIHByb3ZpZGVkO1xuICpcbiAqIEBwYXJhbSB7SW5zdGFuY2VDYWxsYmFja30gW2luc3RhbmNlQ2FsbGJhY2tdIG9wdGlvbmFsIGNhbGxiYWNrIHRoYXQgd2lsbCBiZSBjYWxsZWQgd2l0aCB0aGUgaW5zdGFuY2UgdXBvbiBpbnN0YW50aWF0aW9uLiBkZWZhdWx0cyB0byB1bmRlZmluZWRcbiAqXG4gKiBAZnVuY3Rpb24gbW9kZWxcbiAqXG4gKiBAY2F0ZWdvcnkgQ2xhc3MgRGVjb3JhdG9yc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbW9kZWwoaW5zdGFuY2VDYWxsYmFjaz86IEluc3RhbmNlQ2FsbGJhY2spIHtcbiAgcmV0dXJuICgob3JpZ2luYWw6IGFueSkgPT4ge1xuICAgIC8vIHRoZSBuZXcgY29uc3RydWN0b3IgYmVoYXZpb3VyXG4gICAgY29uc3QgbmV3Q29uc3RydWN0b3I6IGFueSA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgY29uc3QgaW5zdGFuY2U6IFJldHVyblR5cGU8dHlwZW9mIG9yaWdpbmFsPiA9IGNvbnN0cnVjdChcbiAgICAgICAgb3JpZ2luYWwsXG4gICAgICAgIC4uLmFyZ3NcbiAgICAgICk7XG4gICAgICBiaW5kTW9kZWxQcm90b3R5cGUoaW5zdGFuY2UpO1xuICAgICAgLy8gcnVuIGEgYnVpbGRlciBmdW5jdGlvbiBpZiBkZWZpbmVkIHdpdGggdGhlIGZpcnN0IGFyZ3VtZW50IChUaGUgTW9kZWxBcmcpXG4gICAgICBjb25zdCBidWlsZGVyID0gTW9kZWwuZ2V0QnVpbGRlcigpO1xuICAgICAgaWYgKGJ1aWxkZXIpIGJ1aWxkZXIoaW5zdGFuY2UsIGFyZ3MubGVuZ3RoID8gYXJnc1swXSA6IHVuZGVmaW5lZCk7XG5cbiAgICAgIG1ldGFkYXRhKE1vZGVsLmtleShNb2RlbEtleXMuTU9ERUwpLCBvcmlnaW5hbC5uYW1lKShpbnN0YW5jZS5jb25zdHJ1Y3Rvcik7XG5cbiAgICAgIGlmIChpbnN0YW5jZUNhbGxiYWNrKSBpbnN0YW5jZUNhbGxiYWNrKGluc3RhbmNlLCAuLi5hcmdzKTtcblxuICAgICAgcmV0dXJuIGluc3RhbmNlO1xuICAgIH07XG5cbiAgICAvLyBjb3B5IHByb3RvdHlwZSBzbyBpbnN0YW5jZW9mIG9wZXJhdG9yIHN0aWxsIHdvcmtzXG4gICAgbmV3Q29uc3RydWN0b3IucHJvdG90eXBlID0gb3JpZ2luYWwucHJvdG90eXBlO1xuXG4gICAgUmVmbGVjdC5nZXRNZXRhZGF0YUtleXMob3JpZ2luYWwpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShcbiAgICAgICAga2V5LFxuICAgICAgICBSZWZsZWN0LmdldE1ldGFkYXRhKGtleSwgb3JpZ2luYWwpLFxuICAgICAgICBuZXdDb25zdHJ1Y3RvclxuICAgICAgKTtcbiAgICB9KTtcbiAgICAvLyBTZXRzIHRoZSBwcm9wZXIgY29uc3RydWN0b3IgbmFtZSBmb3IgdHlwZSB2ZXJpZmljYXRpb25cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3Q29uc3RydWN0b3IsIFwibmFtZVwiLCB7XG4gICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIHZhbHVlOiBvcmlnaW5hbC5wcm90b3R5cGUuY29uc3RydWN0b3IubmFtZSxcbiAgICB9KTtcblxuICAgIG1ldGFkYXRhKE1vZGVsLmtleShNb2RlbEtleXMuTU9ERUwpLCBvcmlnaW5hbC5uYW1lKShvcmlnaW5hbCk7XG5cbiAgICBNb2RlbC5yZWdpc3RlcihuZXdDb25zdHJ1Y3Rvciwgb3JpZ2luYWwubmFtZSk7XG5cbiAgICAvLyByZXR1cm4gbmV3IGNvbnN0cnVjdG9yICh3aWxsIG92ZXJyaWRlIG9yaWdpbmFsKVxuICAgIHJldHVybiBuZXdDb25zdHJ1Y3RvcjtcbiAgfSkgYXMgYW55O1xufVxuXG4vKipcbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIGhhc2hpbmcgYWxnb3JpdGhtIHRvIHVzZSBvbiB0aGUgbW9kZWxcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIC0gUmVnaXN0ZXJzIHRoZSBjbGFzcyB1bmRlciB0aGUgbW9kZWwgcmVnaXN0cnkgc28gaXQgY2FuIGJlIGVhc2lseSByZWJ1aWx0O1xuICogLSBPdmVycmlkZXMgdGhlIGNsYXNzIGNvbnN0cnVjdG9yO1xuICogLSBSdW5zIHRoZSBnbG9iYWwge0BsaW5rIE1vZGVsQnVpbGRlckZ1bmN0aW9ufSBpZiBkZWZpbmVkO1xuICogLSBSdW5zIHRoZSBvcHRpb25hbCB7QGxpbmsgSW5zdGFuY2VDYWxsYmFja30gaWYgcHJvdmlkZWQ7XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGFsZ29yaXRobSB0aGUgYWxnb3JpdGhtIHRvIHVzZVxuICpcbiAqIEBmdW5jdGlvbiBoYXNoZWRCeVxuICpcbiAqIEBjYXRlZ29yeSBDbGFzcyBEZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNoZWRCeShhbGdvcml0aG06IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgcmV0dXJuIG1ldGFkYXRhKE1vZGVsLmtleShNb2RlbEtleXMuSEFTSElORyksIHtcbiAgICBhbGdvcml0aG06IGFsZ29yaXRobSxcbiAgICBhcmdzOiBhcmdzLFxuICB9KTtcbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSBzZXJpYWxpemF0aW9uIGFsZ29yaXRobSB0byB1c2Ugb24gdGhlIG1vZGVsXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHNlcmlhbGl6ZXIgdGhlIGFsZ29yaXRobSB0byB1c2VcbiAqXG4gKiBAZnVuY3Rpb24gc2VyaWFsaXplZEJ5XG4gKlxuICogQGNhdGVnb3J5IENsYXNzIERlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZWRCeShzZXJpYWxpemVyOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSB7XG4gIHJldHVybiBtZXRhZGF0YShNb2RlbC5rZXkoTW9kZWxLZXlzLlNFUklBTElaQVRJT04pLCB7XG4gICAgc2VyaWFsaXplcjogc2VyaWFsaXplcixcbiAgICBhcmdzOiBhcmdzLFxuICB9KTtcbn1cbiJdfQ==
|
package/lib/esm/model/types.d.ts
CHANGED
|
@@ -1,98 +1,115 @@
|
|
|
1
1
|
import { ModelErrorDefinition } from "./ModelErrorDefinition";
|
|
2
2
|
import { Model } from "./Model";
|
|
3
3
|
/**
|
|
4
|
-
* @
|
|
4
|
+
* @description Function type for building model instances from objects
|
|
5
|
+
* @summary Type definition for a model builder function that populates model properties
|
|
6
|
+
* @template T
|
|
7
|
+
* @param {T} self - The target model instance to populate
|
|
8
|
+
* @param {T | Record<string, any>} [obj] - The source object containing properties to copy
|
|
9
|
+
* @return {T} - The populated model instance
|
|
10
|
+
* @typedef ModelBuilderFunction
|
|
5
11
|
* @memberOf module:decorator-validation
|
|
6
12
|
*/
|
|
7
13
|
export type ModelBuilderFunction = <T extends Model>(self: T, obj?: T | Record<string, any>) => T;
|
|
8
14
|
/**
|
|
9
|
-
* @
|
|
10
|
-
*
|
|
15
|
+
* @description Type representing valid argument types for model constructors
|
|
16
|
+
* @summary Definition of a Model Constructor Argument that can be a complete model, partial model, or plain object
|
|
17
|
+
* @template T
|
|
18
|
+
* @typedef ModelArg
|
|
11
19
|
* @memberOf module:decorator-validation
|
|
12
|
-
*
|
|
13
20
|
* @see ModelConstructor
|
|
14
21
|
*/
|
|
15
22
|
export type ModelArg<T> = T | Partial<T> | Record<string, any>;
|
|
16
23
|
/**
|
|
17
|
-
* @
|
|
18
|
-
* @
|
|
19
|
-
*
|
|
24
|
+
* @description Generic type for class constructor functions
|
|
25
|
+
* @summary Definition of a Class Constructor that can create instances of a specified type
|
|
26
|
+
* @template T
|
|
27
|
+
* @param {any[]} [args] - Constructor arguments
|
|
28
|
+
* @return {T} - An instance of the class
|
|
20
29
|
* @typedef Constructor
|
|
21
|
-
*
|
|
22
|
-
* @param {any[]} [args]
|
|
23
30
|
* @memberOf module:decorator-validation
|
|
24
31
|
*/
|
|
25
32
|
export type Constructor<T> = {
|
|
26
33
|
new (...args: any[]): T;
|
|
27
34
|
};
|
|
28
35
|
/**
|
|
29
|
-
* @
|
|
30
|
-
* @
|
|
31
|
-
*
|
|
36
|
+
* @description Specialized constructor type for Model classes
|
|
37
|
+
* @summary Definition of a Model Constructor that creates instances of Model subclasses
|
|
38
|
+
* @template T
|
|
39
|
+
* @param {ModelArg<T>} [model] - Initial data to populate the model with
|
|
40
|
+
* @param {any[]} [args] - Additional constructor arguments
|
|
41
|
+
* @return {T} - An instance of the model class
|
|
32
42
|
* @typedef ModelConstructor
|
|
33
|
-
*
|
|
34
|
-
* @param {ModelArg<T>} [model]
|
|
35
|
-
* @param {any[]} [args]
|
|
36
43
|
* @memberOf module:decorator-validation
|
|
37
44
|
*/
|
|
38
45
|
export type ModelConstructor<T extends Model> = {
|
|
39
46
|
new (model?: ModelArg<T>, ...args: any[]): T;
|
|
40
47
|
};
|
|
41
48
|
/**
|
|
49
|
+
* @description Interface for objects that can be validated
|
|
42
50
|
* @summary Defines the Validation API for validatable models
|
|
43
51
|
* @interface Validatable
|
|
44
|
-
*
|
|
52
|
+
* @memberOf module:decorator-validation
|
|
45
53
|
* @category Model
|
|
46
54
|
*/
|
|
47
55
|
export interface Validatable {
|
|
48
56
|
/**
|
|
49
|
-
* @
|
|
50
|
-
* @
|
|
51
|
-
*
|
|
57
|
+
* @description Validates the object against its validation rules
|
|
58
|
+
* @summary Validates the model and returns the {@link ModelErrorDefinition} if any errors exist
|
|
59
|
+
* @param {any[]} [args] - Optional arguments to control validation behavior
|
|
60
|
+
* @return {ModelErrorDefinition | undefined} - Validation errors if any, otherwise undefined
|
|
52
61
|
* @method
|
|
53
62
|
*/
|
|
54
63
|
hasErrors(...args: any[]): ModelErrorDefinition | undefined;
|
|
55
64
|
}
|
|
56
65
|
/**
|
|
57
|
-
* @
|
|
58
|
-
*
|
|
66
|
+
* @description Interface for objects that can be serialized to string
|
|
67
|
+
* @summary Defines the serialization API for model objects
|
|
59
68
|
* @interface Serializable
|
|
60
|
-
*
|
|
69
|
+
* @memberOf module:decorator-validation
|
|
61
70
|
* @category Model
|
|
62
71
|
*/
|
|
63
72
|
export interface Serializable {
|
|
64
73
|
/**
|
|
65
|
-
* @
|
|
74
|
+
* @description Converts the object to a serialized string representation
|
|
75
|
+
* @summary Serializes the model to a string format
|
|
76
|
+
* @return {string} - The serialized string representation
|
|
66
77
|
* @method
|
|
67
78
|
*/
|
|
68
79
|
serialize(): string;
|
|
69
80
|
}
|
|
70
81
|
/**
|
|
71
|
-
* @
|
|
82
|
+
* @description Interface for objects that can generate a hash representation
|
|
83
|
+
* @summary Defines the hashing API for model objects
|
|
72
84
|
* @interface Hashable
|
|
85
|
+
* @memberOf module:decorator-validation
|
|
73
86
|
* @category Model
|
|
74
87
|
*/
|
|
75
88
|
export interface Hashable {
|
|
76
89
|
/**
|
|
77
|
-
* @
|
|
90
|
+
* @description Generates a unique hash string for the object
|
|
91
|
+
* @summary Creates a hash string representation of the object
|
|
92
|
+
* @return {string} - Hash value representing the object
|
|
78
93
|
* @method
|
|
79
|
-
* @returns {string} Hash value representing the object
|
|
80
94
|
*/
|
|
81
95
|
hash(): string;
|
|
82
96
|
}
|
|
83
97
|
/**
|
|
84
|
-
* @
|
|
98
|
+
* @description Interface for objects that can be compared with other objects
|
|
99
|
+
* @summary Defines the equality comparison API for model objects
|
|
100
|
+
* @template T
|
|
85
101
|
* @interface Comparable
|
|
86
|
-
* @
|
|
102
|
+
* @memberOf module:decorator-validation
|
|
87
103
|
* @category Model
|
|
88
104
|
*/
|
|
89
105
|
export interface Comparable<T> {
|
|
90
106
|
/**
|
|
107
|
+
* @description Determines if this object is equal to another object
|
|
91
108
|
* @summary Compares this object with another for equality
|
|
92
|
-
* @method
|
|
93
109
|
* @param {T} other - The object to compare with
|
|
94
|
-
* @param {
|
|
95
|
-
* @
|
|
110
|
+
* @param {any[]} [args] - Additional arguments for comparison
|
|
111
|
+
* @return {boolean} - True if the objects are equal, false otherwise
|
|
112
|
+
* @method
|
|
96
113
|
*/
|
|
97
114
|
equals(other: T, ...args: any[]): boolean;
|
|
98
115
|
}
|
package/lib/esm/model/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWwvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsRXJyb3JEZWZpbml0aW9uIH0gZnJvbSBcIi4vTW9kZWxFcnJvckRlZmluaXRpb25cIjtcbmltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIi4vTW9kZWxcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gdHlwZSBmb3IgYnVpbGRpbmcgbW9kZWwgaW5zdGFuY2VzIGZyb20gb2JqZWN0c1xuICogQHN1bW1hcnkgVHlwZSBkZWZpbml0aW9uIGZvciBhIG1vZGVsIGJ1aWxkZXIgZnVuY3Rpb24gdGhhdCBwb3B1bGF0ZXMgbW9kZWwgcHJvcGVydGllc1xuICogQHRlbXBsYXRlIFRcbiAqIEBwYXJhbSB7VH0gc2VsZiAtIFRoZSB0YXJnZXQgbW9kZWwgaW5zdGFuY2UgdG8gcG9wdWxhdGVcbiAqIEBwYXJhbSB7VCB8IFJlY29yZDxzdHJpbmcsIGFueT59IFtvYmpdIC0gVGhlIHNvdXJjZSBvYmplY3QgY29udGFpbmluZyBwcm9wZXJ0aWVzIHRvIGNvcHlcbiAqIEByZXR1cm4ge1R9IC0gVGhlIHBvcHVsYXRlZCBtb2RlbCBpbnN0YW5jZVxuICogQHR5cGVkZWYgTW9kZWxCdWlsZGVyRnVuY3Rpb25cbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IHR5cGUgTW9kZWxCdWlsZGVyRnVuY3Rpb24gPSA8VCBleHRlbmRzIE1vZGVsPihcbiAgc2VsZjogVCxcbiAgb2JqPzogVCB8IFJlY29yZDxzdHJpbmcsIGFueT5cbikgPT4gVDtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gVHlwZSByZXByZXNlbnRpbmcgdmFsaWQgYXJndW1lbnQgdHlwZXMgZm9yIG1vZGVsIGNvbnN0cnVjdG9yc1xuICogQHN1bW1hcnkgRGVmaW5pdGlvbiBvZiBhIE1vZGVsIENvbnN0cnVjdG9yIEFyZ3VtZW50IHRoYXQgY2FuIGJlIGEgY29tcGxldGUgbW9kZWwsIHBhcnRpYWwgbW9kZWwsIG9yIHBsYWluIG9iamVjdFxuICogQHRlbXBsYXRlIFRcbiAqIEB0eXBlZGVmIE1vZGVsQXJnXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uXG4gKiBAc2VlIE1vZGVsQ29uc3RydWN0b3JcbiAqL1xuZXhwb3J0IHR5cGUgTW9kZWxBcmc8VD4gPSBUIHwgUGFydGlhbDxUPiB8IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEdlbmVyaWMgdHlwZSBmb3IgY2xhc3MgY29uc3RydWN0b3IgZnVuY3Rpb25zXG4gKiBAc3VtbWFyeSBEZWZpbml0aW9uIG9mIGEgQ2xhc3MgQ29uc3RydWN0b3IgdGhhdCBjYW4gY3JlYXRlIGluc3RhbmNlcyBvZiBhIHNwZWNpZmllZCB0eXBlXG4gKiBAdGVtcGxhdGUgVFxuICogQHBhcmFtIHthbnlbXX0gW2FyZ3NdIC0gQ29uc3RydWN0b3IgYXJndW1lbnRzXG4gKiBAcmV0dXJuIHtUfSAtIEFuIGluc3RhbmNlIG9mIHRoZSBjbGFzc1xuICogQHR5cGVkZWYgQ29uc3RydWN0b3JcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IHR5cGUgQ29uc3RydWN0b3I8VD4gPSB7XG4gIG5ldyAoLi4uYXJnczogYW55W10pOiBUO1xufTtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gU3BlY2lhbGl6ZWQgY29uc3RydWN0b3IgdHlwZSBmb3IgTW9kZWwgY2xhc3Nlc1xuICogQHN1bW1hcnkgRGVmaW5pdGlvbiBvZiBhIE1vZGVsIENvbnN0cnVjdG9yIHRoYXQgY3JlYXRlcyBpbnN0YW5jZXMgb2YgTW9kZWwgc3ViY2xhc3Nlc1xuICogQHRlbXBsYXRlIFRcbiAqIEBwYXJhbSB7TW9kZWxBcmc8VD59IFttb2RlbF0gLSBJbml0aWFsIGRhdGEgdG8gcG9wdWxhdGUgdGhlIG1vZGVsIHdpdGhcbiAqIEBwYXJhbSB7YW55W119IFthcmdzXSAtIEFkZGl0aW9uYWwgY29uc3RydWN0b3IgYXJndW1lbnRzXG4gKiBAcmV0dXJuIHtUfSAtIEFuIGluc3RhbmNlIG9mIHRoZSBtb2RlbCBjbGFzc1xuICogQHR5cGVkZWYgTW9kZWxDb25zdHJ1Y3RvclxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvblxuICovXG5leHBvcnQgdHlwZSBNb2RlbENvbnN0cnVjdG9yPFQgZXh0ZW5kcyBNb2RlbD4gPSB7XG4gIG5ldyAobW9kZWw/OiBNb2RlbEFyZzxUPiwgLi4uYXJnczogYW55W10pOiBUO1xufTtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gSW50ZXJmYWNlIGZvciBvYmplY3RzIHRoYXQgY2FuIGJlIHZhbGlkYXRlZFxuICogQHN1bW1hcnkgRGVmaW5lcyB0aGUgVmFsaWRhdGlvbiBBUEkgZm9yIHZhbGlkYXRhYmxlIG1vZGVsc1xuICogQGludGVyZmFjZSBWYWxpZGF0YWJsZVxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvblxuICogQGNhdGVnb3J5IE1vZGVsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGFibGUge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFZhbGlkYXRlcyB0aGUgb2JqZWN0IGFnYWluc3QgaXRzIHZhbGlkYXRpb24gcnVsZXNcbiAgICogQHN1bW1hcnkgVmFsaWRhdGVzIHRoZSBtb2RlbCBhbmQgcmV0dXJucyB0aGUge0BsaW5rIE1vZGVsRXJyb3JEZWZpbml0aW9ufSBpZiBhbnkgZXJyb3JzIGV4aXN0XG4gICAqIEBwYXJhbSB7YW55W119IFthcmdzXSAtIE9wdGlvbmFsIGFyZ3VtZW50cyB0byBjb250cm9sIHZhbGlkYXRpb24gYmVoYXZpb3JcbiAgICogQHJldHVybiB7TW9kZWxFcnJvckRlZmluaXRpb24gfCB1bmRlZmluZWR9IC0gVmFsaWRhdGlvbiBlcnJvcnMgaWYgYW55LCBvdGhlcndpc2UgdW5kZWZpbmVkXG4gICAqIEBtZXRob2RcbiAgICovXG4gIGhhc0Vycm9ycyguLi5hcmdzOiBhbnlbXSk6IE1vZGVsRXJyb3JEZWZpbml0aW9uIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBJbnRlcmZhY2UgZm9yIG9iamVjdHMgdGhhdCBjYW4gYmUgc2VyaWFsaXplZCB0byBzdHJpbmdcbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIHNlcmlhbGl6YXRpb24gQVBJIGZvciBtb2RlbCBvYmplY3RzXG4gKiBAaW50ZXJmYWNlIFNlcmlhbGl6YWJsZVxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvblxuICogQGNhdGVnb3J5IE1vZGVsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VyaWFsaXphYmxlIHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDb252ZXJ0cyB0aGUgb2JqZWN0IHRvIGEgc2VyaWFsaXplZCBzdHJpbmcgcmVwcmVzZW50YXRpb25cbiAgICogQHN1bW1hcnkgU2VyaWFsaXplcyB0aGUgbW9kZWwgdG8gYSBzdHJpbmcgZm9ybWF0XG4gICAqIEByZXR1cm4ge3N0cmluZ30gLSBUaGUgc2VyaWFsaXplZCBzdHJpbmcgcmVwcmVzZW50YXRpb25cbiAgICogQG1ldGhvZFxuICAgKi9cbiAgc2VyaWFsaXplKCk6IHN0cmluZztcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gSW50ZXJmYWNlIGZvciBvYmplY3RzIHRoYXQgY2FuIGdlbmVyYXRlIGEgaGFzaCByZXByZXNlbnRhdGlvblxuICogQHN1bW1hcnkgRGVmaW5lcyB0aGUgaGFzaGluZyBBUEkgZm9yIG1vZGVsIG9iamVjdHNcbiAqIEBpbnRlcmZhY2UgSGFzaGFibGVcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBNb2RlbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhhc2hhYmxlIHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBHZW5lcmF0ZXMgYSB1bmlxdWUgaGFzaCBzdHJpbmcgZm9yIHRoZSBvYmplY3RcbiAgICogQHN1bW1hcnkgQ3JlYXRlcyBhIGhhc2ggc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBvYmplY3RcbiAgICogQHJldHVybiB7c3RyaW5nfSAtIEhhc2ggdmFsdWUgcmVwcmVzZW50aW5nIHRoZSBvYmplY3RcbiAgICogQG1ldGhvZFxuICAgKi9cbiAgaGFzaCgpOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEludGVyZmFjZSBmb3Igb2JqZWN0cyB0aGF0IGNhbiBiZSBjb21wYXJlZCB3aXRoIG90aGVyIG9iamVjdHNcbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIGVxdWFsaXR5IGNvbXBhcmlzb24gQVBJIGZvciBtb2RlbCBvYmplY3RzXG4gKiBAdGVtcGxhdGUgVFxuICogQGludGVyZmFjZSBDb21wYXJhYmxlXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgTW9kZWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wYXJhYmxlPFQ+IHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBEZXRlcm1pbmVzIGlmIHRoaXMgb2JqZWN0IGlzIGVxdWFsIHRvIGFub3RoZXIgb2JqZWN0XG4gICAqIEBzdW1tYXJ5IENvbXBhcmVzIHRoaXMgb2JqZWN0IHdpdGggYW5vdGhlciBmb3IgZXF1YWxpdHlcbiAgICogQHBhcmFtIHtUfSBvdGhlciAtIFRoZSBvYmplY3QgdG8gY29tcGFyZSB3aXRoXG4gICAqIEBwYXJhbSB7YW55W119IFthcmdzXSAtIEFkZGl0aW9uYWwgYXJndW1lbnRzIGZvciBjb21wYXJpc29uXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IC0gVHJ1ZSBpZiB0aGUgb2JqZWN0cyBhcmUgZXF1YWwsIGZhbHNlIG90aGVyd2lzZVxuICAgKiBAbWV0aG9kXG4gICAqL1xuICBlcXVhbHMob3RoZXI6IFQsIC4uLmFyZ3M6IGFueVtdKTogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @description Property decorator factory for model attributes
|
|
3
|
-
* @summary Creates a decorator that marks class properties as model attributes
|
|
4
|
-
* of property keys under a specified metadata key in the model. If the key doesn't exist, it creates a new array;
|
|
5
|
-
* if it exists, it appends the property key to the existing array, avoiding duplicates.
|
|
3
|
+
* @summary Creates a decorator that marks class properties as model attributes
|
|
6
4
|
*
|
|
7
5
|
* @param {string} [key=ModelKeys.ATTRIBUTE] - The metadata key under which to store the property name
|
|
8
|
-
* @return {function(object, any?): void} Decorator function that registers the property
|
|
9
|
-
*
|
|
6
|
+
* @return {function(object, any?): void} - Decorator function that registers the property
|
|
10
7
|
* @function prop
|
|
11
|
-
* @category Decorators
|
|
8
|
+
* @category Property Decorators
|
|
12
9
|
*
|
|
13
10
|
* @mermaid
|
|
14
11
|
* sequenceDiagram
|
|
@@ -29,15 +26,13 @@
|
|
|
29
26
|
export declare function prop(key?: string): (model: object, propertyKey?: any) => void;
|
|
30
27
|
/**
|
|
31
28
|
* @description Combined property decorator factory for metadata and attribute marking
|
|
32
|
-
* @summary Creates a decorator that both marks a property as a model attribute and assigns metadata to it
|
|
33
|
-
* Combines the functionality of prop() and metadata() decorators.
|
|
29
|
+
* @summary Creates a decorator that both marks a property as a model attribute and assigns metadata to it
|
|
34
30
|
*
|
|
35
|
-
* @template V
|
|
31
|
+
* @template V
|
|
36
32
|
* @param {string} key - The metadata key
|
|
37
33
|
* @param {V} value - The metadata value to associate with the property
|
|
38
|
-
* @return {Function} Combined decorator function
|
|
39
|
-
*
|
|
34
|
+
* @return {Function} - Combined decorator function
|
|
40
35
|
* @function propMetadata
|
|
41
|
-
* @category Decorators
|
|
36
|
+
* @category Property Decorators
|
|
42
37
|
*/
|
|
43
38
|
export declare function propMetadata<V>(key: string, value: V): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
@@ -2,15 +2,12 @@ import { apply, metadata } from "@decaf-ts/reflection";
|
|
|
2
2
|
import { ModelKeys } from "./constants";
|
|
3
3
|
/**
|
|
4
4
|
* @description Property decorator factory for model attributes
|
|
5
|
-
* @summary Creates a decorator that marks class properties as model attributes
|
|
6
|
-
* of property keys under a specified metadata key in the model. If the key doesn't exist, it creates a new array;
|
|
7
|
-
* if it exists, it appends the property key to the existing array, avoiding duplicates.
|
|
5
|
+
* @summary Creates a decorator that marks class properties as model attributes
|
|
8
6
|
*
|
|
9
7
|
* @param {string} [key=ModelKeys.ATTRIBUTE] - The metadata key under which to store the property name
|
|
10
|
-
* @return {function(object, any?): void} Decorator function that registers the property
|
|
11
|
-
*
|
|
8
|
+
* @return {function(object, any?): void} - Decorator function that registers the property
|
|
12
9
|
* @function prop
|
|
13
|
-
* @category Decorators
|
|
10
|
+
* @category Property Decorators
|
|
14
11
|
*
|
|
15
12
|
* @mermaid
|
|
16
13
|
* sequenceDiagram
|
|
@@ -43,18 +40,16 @@ export function prop(key = ModelKeys.ATTRIBUTE) {
|
|
|
43
40
|
}
|
|
44
41
|
/**
|
|
45
42
|
* @description Combined property decorator factory for metadata and attribute marking
|
|
46
|
-
* @summary Creates a decorator that both marks a property as a model attribute and assigns metadata to it
|
|
47
|
-
* Combines the functionality of prop() and metadata() decorators.
|
|
43
|
+
* @summary Creates a decorator that both marks a property as a model attribute and assigns metadata to it
|
|
48
44
|
*
|
|
49
|
-
* @template V
|
|
45
|
+
* @template V
|
|
50
46
|
* @param {string} key - The metadata key
|
|
51
47
|
* @param {V} value - The metadata value to associate with the property
|
|
52
|
-
* @return {Function} Combined decorator function
|
|
53
|
-
*
|
|
48
|
+
* @return {Function} - Combined decorator function
|
|
54
49
|
* @function propMetadata
|
|
55
|
-
* @category Decorators
|
|
50
|
+
* @category Property Decorators
|
|
56
51
|
*/
|
|
57
52
|
export function propMetadata(key, value) {
|
|
58
53
|
return apply(prop(), metadata(key, value));
|
|
59
54
|
}
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JHO0FBQ0gsTUFBTSxVQUFVLElBQUksQ0FBQyxNQUFjLFNBQVMsQ0FBQyxTQUFTO0lBQ3BELE9BQU8sQ0FBQyxLQUFhLEVBQUUsV0FBaUIsRUFBUSxFQUFFO1FBQ2hELElBQUksS0FBZSxDQUFDO1FBQ3BCLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3JELEtBQUssR0FBSSxLQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsQ0FBQzthQUFNLENBQUM7WUFDTixLQUFLLEdBQUksS0FBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBcUIsQ0FBQztZQUN4QyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQXFCLENBQUMsQ0FBQztJQUN0QyxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUksR0FBVyxFQUFFLEtBQVE7SUFDbkQsT0FBTyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsUUFBUSxDQUFJLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ2hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhcHBseSwgbWV0YWRhdGEgfSBmcm9tIFwiQGRlY2FmLXRzL3JlZmxlY3Rpb25cIjtcbmltcG9ydCB7IE1vZGVsS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBQcm9wZXJ0eSBkZWNvcmF0b3IgZmFjdG9yeSBmb3IgbW9kZWwgYXR0cmlidXRlc1xuICogQHN1bW1hcnkgQ3JlYXRlcyBhIGRlY29yYXRvciB0aGF0IG1hcmtzIGNsYXNzIHByb3BlcnRpZXMgYXMgbW9kZWwgYXR0cmlidXRlc1xuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBba2V5PU1vZGVsS2V5cy5BVFRSSUJVVEVdIC0gVGhlIG1ldGFkYXRhIGtleSB1bmRlciB3aGljaCB0byBzdG9yZSB0aGUgcHJvcGVydHkgbmFtZVxuICogQHJldHVybiB7ZnVuY3Rpb24ob2JqZWN0LCBhbnk/KTogdm9pZH0gLSBEZWNvcmF0b3IgZnVuY3Rpb24gdGhhdCByZWdpc3RlcnMgdGhlIHByb3BlcnR5XG4gKiBAZnVuY3Rpb24gcHJvcFxuICogQGNhdGVnb3J5IFByb3BlcnR5IERlY29yYXRvcnNcbiAqXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgICBwYXJ0aWNpcGFudCBEIGFzIERlY29yYXRvclxuICogICAgcGFydGljaXBhbnQgTSBhcyBNb2RlbFxuICpcbiAqICAgIEQtPj5NOiBDaGVjayBpZiBrZXkgZXhpc3RzXG4gKiAgICBhbHQga2V5IGV4aXN0c1xuICogICAgICAgIE0tLT4+RDogUmV0dXJuIGV4aXN0aW5nIHByb3BzIGFycmF5XG4gKiAgICBlbHNlIGtleSBkb2Vzbid0IGV4aXN0XG4gKiAgICAgICAgRC0+Pk06IENyZWF0ZSBuZXcgcHJvcHMgYXJyYXlcbiAqICAgIGVuZFxuICogICAgRC0+Pk06IENoZWNrIGlmIHByb3BlcnR5IGV4aXN0c1xuICogICAgYWx0IHByb3BlcnR5IG5vdCBpbiBhcnJheVxuICogICAgICAgIEQtPj5NOiBBZGQgcHJvcGVydHkgdG8gYXJyYXlcbiAqICAgIGVuZFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvcChrZXk6IHN0cmluZyA9IE1vZGVsS2V5cy5BVFRSSUJVVEUpIHtcbiAgcmV0dXJuIChtb2RlbDogb2JqZWN0LCBwcm9wZXJ0eUtleT86IGFueSk6IHZvaWQgPT4ge1xuICAgIGxldCBwcm9wczogc3RyaW5nW107XG4gICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChtb2RlbCwga2V5KSkge1xuICAgICAgcHJvcHMgPSAobW9kZWwgYXMgYW55KVtrZXldO1xuICAgIH0gZWxzZSB7XG4gICAgICBwcm9wcyA9IChtb2RlbCBhcyBhbnkpW2tleV0gPSBbXTtcbiAgICB9XG4gICAgaWYgKCFwcm9wcy5pbmNsdWRlcyhwcm9wZXJ0eUtleSBhcyBzdHJpbmcpKVxuICAgICAgcHJvcHMucHVzaChwcm9wZXJ0eUtleSBhcyBzdHJpbmcpO1xuICB9O1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDb21iaW5lZCBwcm9wZXJ0eSBkZWNvcmF0b3IgZmFjdG9yeSBmb3IgbWV0YWRhdGEgYW5kIGF0dHJpYnV0ZSBtYXJraW5nXG4gKiBAc3VtbWFyeSBDcmVhdGVzIGEgZGVjb3JhdG9yIHRoYXQgYm90aCBtYXJrcyBhIHByb3BlcnR5IGFzIGEgbW9kZWwgYXR0cmlidXRlIGFuZCBhc3NpZ25zIG1ldGFkYXRhIHRvIGl0XG4gKlxuICogQHRlbXBsYXRlIFZcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgLSBUaGUgbWV0YWRhdGEga2V5XG4gKiBAcGFyYW0ge1Z9IHZhbHVlIC0gVGhlIG1ldGFkYXRhIHZhbHVlIHRvIGFzc29jaWF0ZSB3aXRoIHRoZSBwcm9wZXJ0eVxuICogQHJldHVybiB7RnVuY3Rpb259IC0gQ29tYmluZWQgZGVjb3JhdG9yIGZ1bmN0aW9uXG4gKiBAZnVuY3Rpb24gcHJvcE1ldGFkYXRhXG4gKiBAY2F0ZWdvcnkgUHJvcGVydHkgRGVjb3JhdG9yc1xuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvcE1ldGFkYXRhPFY+KGtleTogc3RyaW5nLCB2YWx1ZTogVikge1xuICByZXR1cm4gYXBwbHkocHJvcCgpLCBtZXRhZGF0YTxWPihrZXksIHZhbHVlKSk7XG59XG4iXX0=
|
|
@@ -71,6 +71,7 @@ let EmailValidator = class EmailValidator extends PatternValidator {
|
|
|
71
71
|
hasErrors(value, options = {}) {
|
|
72
72
|
return super.hasErrors(value, {
|
|
73
73
|
...options,
|
|
74
|
+
message: options.message || this.message,
|
|
74
75
|
pattern: options?.pattern || DEFAULT_PATTERNS.EMAIL,
|
|
75
76
|
});
|
|
76
77
|
}
|
|
@@ -80,4 +81,4 @@ EmailValidator = __decorate([
|
|
|
80
81
|
__metadata("design:paramtypes", [String])
|
|
81
82
|
], EmailValidator);
|
|
82
83
|
export { EmailValidator };
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW1haWxWYWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdmFsaWRhdGlvbi9WYWxpZGF0b3JzL0VtYWlsVmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsZ0JBQWdCLEVBQ2hCLGNBQWMsR0FDZixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR3pDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNDRztBQUVJLElBQU0sY0FBYyxHQUFwQixNQUFNLGNBQWUsU0FBUSxnQkFBZ0I7SUFDbEQsWUFBWSxVQUFrQixzQkFBc0IsQ0FBQyxLQUFLO1FBQ3hELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7O09BY0c7SUFDYSxTQUFTLENBQ3ZCLEtBQWEsRUFDYixVQUFtQyxFQUFFO1FBRXJDLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUU7WUFDNUIsR0FBRyxPQUFPO1lBQ1YsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU87WUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLElBQUksZ0JBQWdCLENBQUMsS0FBSztTQUNwRCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YsQ0FBQTtBQTlCWSxjQUFjO0lBRDFCLFNBQVMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDOztHQUNuQixjQUFjLENBOEIxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERFRkFVTFRfRVJST1JfTUVTU0FHRVMsXG4gIERFRkFVTFRfUEFUVEVSTlMsXG4gIFZhbGlkYXRpb25LZXlzLFxufSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IFBhdHRlcm5WYWxpZGF0b3IgfSBmcm9tIFwiLi9QYXR0ZXJuVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyB2YWxpZGF0b3IgfSBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucyB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBWYWxpZGF0b3IgZm9yIGNoZWNraW5nIGlmIGEgc3RyaW5nIGlzIGEgdmFsaWQgZW1haWwgYWRkcmVzc1xuICogQHN1bW1hcnkgVGhlIEVtYWlsVmFsaWRhdG9yIGNoZWNrcyBpZiBhIHN0cmluZyBtYXRjaGVzIGEgc3RhbmRhcmQgZW1haWwgYWRkcmVzcyBwYXR0ZXJuLlxuICogSXQgZXh0ZW5kcyB0aGUgUGF0dGVyblZhbGlkYXRvciBhbmQgdXNlcyBhIHByZWRlZmluZWQgZW1haWwgcmVnZXggcGF0dGVybiB0byB2YWxpZGF0ZSBlbWFpbCBhZGRyZXNzZXMuXG4gKiBUaGlzIHZhbGlkYXRvciBpcyB0eXBpY2FsbHkgdXNlZCB3aXRoIHRoZSBAZW1haWwgZGVjb3JhdG9yLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV0gLSBDdXN0b20gZXJyb3IgbWVzc2FnZSB0byBkaXNwbGF5IHdoZW4gdmFsaWRhdGlvbiBmYWlscywgZGVmYXVsdHMgdG8ge0BsaW5rIERFRkFVTFRfRVJST1JfTUVTU0FHRVMjRU1BSUx9XG4gKlxuICogQGNsYXNzIEVtYWlsVmFsaWRhdG9yXG4gKiBAZXh0ZW5kcyBQYXR0ZXJuVmFsaWRhdG9yXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIENyZWF0ZSBhbiBlbWFpbCB2YWxpZGF0b3Igd2l0aCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIGNvbnN0IGVtYWlsVmFsaWRhdG9yID0gbmV3IEVtYWlsVmFsaWRhdG9yKCk7XG4gKlxuICogLy8gQ3JlYXRlIGFuIGVtYWlsIHZhbGlkYXRvciB3aXRoIGN1c3RvbSBlcnJvciBtZXNzYWdlXG4gKiBjb25zdCBjdXN0b21FbWFpbFZhbGlkYXRvciA9IG5ldyBFbWFpbFZhbGlkYXRvcihcIlBsZWFzZSBlbnRlciBhIHZhbGlkIGVtYWlsIGFkZHJlc3NcIik7XG4gKlxuICogLy8gVmFsaWRhdGUgYW4gZW1haWxcbiAqIGNvbnN0IHJlc3VsdCA9IGVtYWlsVmFsaWRhdG9yLmhhc0Vycm9ycyhcInVzZXJAZXhhbXBsZS5jb21cIik7IC8vIHVuZGVmaW5lZCAodmFsaWQpXG4gKiBjb25zdCBpbnZhbGlkUmVzdWx0ID0gZW1haWxWYWxpZGF0b3IuaGFzRXJyb3JzKFwiaW52YWxpZC1lbWFpbFwiKTsgLy8gUmV0dXJucyBlcnJvciBtZXNzYWdlIChpbnZhbGlkKVxuICogYGBgXG4gKlxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBDIGFzIENsaWVudFxuICogICBwYXJ0aWNpcGFudCBFIGFzIEVtYWlsVmFsaWRhdG9yXG4gKiAgIHBhcnRpY2lwYW50IFAgYXMgUGF0dGVyblZhbGlkYXRvclxuICpcbiAqICAgQy0+PkU6IG5ldyBFbWFpbFZhbGlkYXRvcihtZXNzYWdlKVxuICogICBFLT4+UDogc3VwZXIobWVzc2FnZSlcbiAqICAgQy0+PkU6IGhhc0Vycm9ycyh2YWx1ZSwgb3B0aW9ucylcbiAqICAgRS0+PlA6IHN1cGVyLmhhc0Vycm9ycyh2YWx1ZSwgb3B0aW9ucyB3aXRoIEVNQUlMIHBhdHRlcm4pXG4gKiAgIFAtLT4+RTogdmFsaWRhdGlvbiByZXN1bHRcbiAqICAgRS0tPj5DOiB2YWxpZGF0aW9uIHJlc3VsdFxuICpcbiAqIEBjYXRlZ29yeSBWYWxpZGF0b3JzXG4gKi9cbkB2YWxpZGF0b3IoVmFsaWRhdGlvbktleXMuRU1BSUwpXG5leHBvcnQgY2xhc3MgRW1haWxWYWxpZGF0b3IgZXh0ZW5kcyBQYXR0ZXJuVmFsaWRhdG9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nID0gREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5FTUFJTCkge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDaGVja3MgaWYgYSBzdHJpbmcgaXMgYSB2YWxpZCBlbWFpbCBhZGRyZXNzXG4gICAqIEBzdW1tYXJ5IFZhbGlkYXRlcyB0aGF0IHRoZSBwcm92aWRlZCBzdHJpbmcgbWF0Y2hlcyB0aGUgZW1haWwgcGF0dGVybi5cbiAgICogVGhpcyBtZXRob2QgZXh0ZW5kcyB0aGUgUGF0dGVyblZhbGlkYXRvcidzIGhhc0Vycm9ycyBtZXRob2QgYnkgZW5zdXJpbmdcbiAgICogdGhlIGVtYWlsIHBhdHRlcm4gaXMgdXNlZCwgZXZlbiBpZiBub3QgZXhwbGljaXRseSBwcm92aWRlZCBpbiB0aGUgb3B0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlIC0gVGhlIHN0cmluZyB0byB2YWxpZGF0ZSBhcyBhbiBlbWFpbCBhZGRyZXNzXG4gICAqIEBwYXJhbSB7UGF0dGVyblZhbGlkYXRvck9wdGlvbnN9IFtvcHRpb25zPXt9XSAtIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gb3B0aW9uc1xuICAgKlxuICAgKiBAcmV0dXJuIHtzdHJpbmcgfCB1bmRlZmluZWR9IEVycm9yIG1lc3NhZ2UgaWYgdmFsaWRhdGlvbiBmYWlscywgdW5kZWZpbmVkIGlmIHZhbGlkYXRpb24gcGFzc2VzXG4gICAqXG4gICAqIEBvdmVycmlkZVxuICAgKlxuICAgKiBAc2VlIFBhdHRlcm5WYWxpZGF0b3IjaGFzRXJyb3JzXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgaGFzRXJyb3JzKFxuICAgIHZhbHVlOiBzdHJpbmcsXG4gICAgb3B0aW9uczogUGF0dGVyblZhbGlkYXRvck9wdGlvbnMgPSB7fVxuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBzdXBlci5oYXNFcnJvcnModmFsdWUsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBtZXNzYWdlOiBvcHRpb25zLm1lc3NhZ2UgfHwgdGhpcy5tZXNzYWdlLFxuICAgICAgcGF0dGVybjogb3B0aW9ucz8ucGF0dGVybiB8fCBERUZBVUxUX1BBVFRFUk5TLkVNQUlMLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -8,7 +8,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
10
|
import { PatternValidator } from "./PatternValidator";
|
|
11
|
-
import { DEFAULT_ERROR_MESSAGES, ValidationKeys } from "./constants";
|
|
11
|
+
import { DEFAULT_ERROR_MESSAGES, DEFAULT_PATTERNS, ValidationKeys, } from "./constants";
|
|
12
12
|
import { validator } from "./decorators";
|
|
13
13
|
/**
|
|
14
14
|
* @summary Handles Password Validation
|
|
@@ -40,6 +40,7 @@ let PasswordValidator = class PasswordValidator extends PatternValidator {
|
|
|
40
40
|
return super.hasErrors(value, {
|
|
41
41
|
...options,
|
|
42
42
|
message: options.message || this.message,
|
|
43
|
+
[ValidationKeys.PATTERN]: options?.pattern || DEFAULT_PATTERNS.PASSWORD.CHAR8_ONE_OF_EACH,
|
|
43
44
|
});
|
|
44
45
|
}
|
|
45
46
|
};
|
|
@@ -48,4 +49,4 @@ PasswordValidator = __decorate([
|
|
|
48
49
|
__metadata("design:paramtypes", [Object])
|
|
49
50
|
], PasswordValidator);
|
|
50
51
|
export { PasswordValidator };
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFzc3dvcmRWYWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdmFsaWRhdGlvbi9WYWxpZGF0b3JzL1Bhc3N3b3JkVmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsZ0JBQWdCLEVBQ2hCLGNBQWMsR0FDZixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR3pDOzs7Ozs7Ozs7R0FTRztBQUVJLElBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWtCLFNBQVEsZ0JBQWdCO0lBQ3JELFlBQVksT0FBTyxHQUFHLHNCQUFzQixDQUFDLFFBQVE7UUFDbkQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNhLFNBQVMsQ0FDdkIsS0FBYSxFQUNiLFVBQW1DLEVBQUU7UUFFckMsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRTtZQUM1QixHQUFHLE9BQU87WUFDVixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTztZQUN4QyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFDdEIsT0FBTyxFQUFFLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsaUJBQWlCO1NBQ2xFLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRixDQUFBO0FBNUJZLGlCQUFpQjtJQUQ3QixTQUFTLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQzs7R0FDdEIsaUJBQWlCLENBNEI3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhdHRlcm5WYWxpZGF0b3IgfSBmcm9tIFwiLi9QYXR0ZXJuVmFsaWRhdG9yXCI7XG5pbXBvcnQge1xuICBERUZBVUxUX0VSUk9SX01FU1NBR0VTLFxuICBERUZBVUxUX1BBVFRFUk5TLFxuICBWYWxpZGF0aW9uS2V5cyxcbn0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyB2YWxpZGF0b3IgfSBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucyB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IEhhbmRsZXMgUGFzc3dvcmQgVmFsaWRhdGlvblxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbZXJyb3JNZXNzYWdlXSBkZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNQQVNTV09SRH1cbiAqXG4gKiBAY2xhc3MgUGFzc3dvcmRWYWxpZGF0b3JcbiAqIEBleHRlbmRzIFBhdHRlcm5WYWxpZGF0b3JcbiAqXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdG9yc1xuICovXG5AdmFsaWRhdG9yKFZhbGlkYXRpb25LZXlzLlBBU1NXT1JEKVxuZXhwb3J0IGNsYXNzIFBhc3N3b3JkVmFsaWRhdG9yIGV4dGVuZHMgUGF0dGVyblZhbGlkYXRvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLlBBU1NXT1JEKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgVmFsaWRhdGVzIGEgbW9kZWxcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gICAqIEBwYXJhbSB7UGF0dGVyblZhbGlkYXRvck9wdGlvbnN9IFtvcHRpb25zPXt9XVxuICAgKlxuICAgKiBAcmV0dXJuIHtzdHJpbmcgfCB1bmRlZmluZWR9XG4gICAqXG4gICAqIEBvdmVycmlkZVxuICAgKlxuICAgKiBAc2VlIFBhdHRlcm5WYWxpZGF0b3IjaGFzRXJyb3JzXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgaGFzRXJyb3JzKFxuICAgIHZhbHVlOiBzdHJpbmcsXG4gICAgb3B0aW9uczogUGF0dGVyblZhbGlkYXRvck9wdGlvbnMgPSB7fVxuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBzdXBlci5oYXNFcnJvcnModmFsdWUsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBtZXNzYWdlOiBvcHRpb25zLm1lc3NhZ2UgfHwgdGhpcy5tZXNzYWdlLFxuICAgICAgW1ZhbGlkYXRpb25LZXlzLlBBVFRFUk5dOlxuICAgICAgICBvcHRpb25zPy5wYXR0ZXJuIHx8IERFRkFVTFRfUEFUVEVSTlMuUEFTU1dPUkQuQ0hBUjhfT05FX09GX0VBQ0gsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -72,6 +72,7 @@ let URLValidator = class URLValidator extends PatternValidator {
|
|
|
72
72
|
hasErrors(value, options = {}) {
|
|
73
73
|
return super.hasErrors(value, {
|
|
74
74
|
...options,
|
|
75
|
+
message: options.message || this.message,
|
|
75
76
|
pattern: options.pattern || DEFAULT_PATTERNS.URL,
|
|
76
77
|
});
|
|
77
78
|
}
|
|
@@ -81,4 +82,4 @@ URLValidator = __decorate([
|
|
|
81
82
|
__metadata("design:paramtypes", [String])
|
|
82
83
|
], URLValidator);
|
|
83
84
|
export { URLValidator };
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVVJMVmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3ZhbGlkYXRpb24vVmFsaWRhdG9ycy9VUkxWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLGNBQWMsRUFDZCxzQkFBc0IsRUFDdEIsZ0JBQWdCLEdBQ2pCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHekM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVDRztBQUVJLElBQU0sWUFBWSxHQUFsQixNQUFNLFlBQWEsU0FBUSxnQkFBZ0I7SUFDaEQsWUFBWSxVQUFrQixzQkFBc0IsQ0FBQyxHQUFHO1FBQ3RELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7O09BY0c7SUFDYSxTQUFTLENBQ3ZCLEtBQWEsRUFDYixVQUFtQyxFQUFFO1FBRXJDLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUU7WUFDNUIsR0FBRyxPQUFPO1lBQ1YsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU87WUFDeEMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLElBQUksZ0JBQWdCLENBQUMsR0FBRztTQUNqRCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YsQ0FBQTtBQTlCWSxZQUFZO0lBRHhCLFNBQVMsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDOztHQUNqQixZQUFZLENBOEJ4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFZhbGlkYXRpb25LZXlzLFxuICBERUZBVUxUX0VSUk9SX01FU1NBR0VTLFxuICBERUZBVUxUX1BBVFRFUk5TLFxufSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IFBhdHRlcm5WYWxpZGF0b3IgfSBmcm9tIFwiLi9QYXR0ZXJuVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyB2YWxpZGF0b3IgfSBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucyB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBWYWxpZGF0b3IgZm9yIGNoZWNraW5nIGlmIGEgc3RyaW5nIGlzIGEgdmFsaWQgVVJMXG4gKiBAc3VtbWFyeSBUaGUgVVJMVmFsaWRhdG9yIGNoZWNrcyBpZiBhIHN0cmluZyBtYXRjaGVzIGEgc3RhbmRhcmQgVVJMIHBhdHRlcm4uXG4gKiBJdCBleHRlbmRzIHRoZSBQYXR0ZXJuVmFsaWRhdG9yIGFuZCB1c2VzIGEgcm9idXN0IFVSTCByZWdleCBwYXR0ZXJuIHRvIHZhbGlkYXRlIHdlYiBhZGRyZXNzZXMuXG4gKiBUaGUgcGF0dGVybiBpcyBzb3VyY2VkIGZyb20ge0BsaW5rIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2RwZXJpbmkvNzI5Mjk0fSBhbmQgaXMgd2lkZWx5XG4gKiByZWNvZ25pemVkIGZvciBpdHMgYWNjdXJhY3kgaW4gdmFsaWRhdGluZyBVUkxzLiBUaGlzIHZhbGlkYXRvciBpcyB0eXBpY2FsbHkgdXNlZCB3aXRoIHRoZSBAdXJsIGRlY29yYXRvci5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdIC0gQ3VzdG9tIGVycm9yIG1lc3NhZ2UgdG8gZGlzcGxheSB3aGVuIHZhbGlkYXRpb24gZmFpbHMsIGRlZmF1bHRzIHRvIHtAbGluayBERUZBVUxUX0VSUk9SX01FU1NBR0VTI1VSTH1cbiAqXG4gKiBAY2xhc3MgVVJMVmFsaWRhdG9yXG4gKiBAZXh0ZW5kcyBQYXR0ZXJuVmFsaWRhdG9yXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIENyZWF0ZSBhIFVSTCB2YWxpZGF0b3Igd2l0aCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIGNvbnN0IHVybFZhbGlkYXRvciA9IG5ldyBVUkxWYWxpZGF0b3IoKTtcbiAqXG4gKiAvLyBDcmVhdGUgYSBVUkwgdmFsaWRhdG9yIHdpdGggY3VzdG9tIGVycm9yIG1lc3NhZ2VcbiAqIGNvbnN0IGN1c3RvbVVybFZhbGlkYXRvciA9IG5ldyBVUkxWYWxpZGF0b3IoXCJQbGVhc2UgZW50ZXIgYSB2YWxpZCB3ZWIgYWRkcmVzc1wiKTtcbiAqXG4gKiAvLyBWYWxpZGF0ZSBhIFVSTFxuICogY29uc3QgcmVzdWx0ID0gdXJsVmFsaWRhdG9yLmhhc0Vycm9ycyhcImh0dHBzOi8vZXhhbXBsZS5jb21cIik7IC8vIHVuZGVmaW5lZCAodmFsaWQpXG4gKiBjb25zdCBpbnZhbGlkUmVzdWx0ID0gdXJsVmFsaWRhdG9yLmhhc0Vycm9ycyhcIm5vdC1hLXVybFwiKTsgLy8gUmV0dXJucyBlcnJvciBtZXNzYWdlIChpbnZhbGlkKVxuICogYGBgXG4gKlxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBDIGFzIENsaWVudFxuICogICBwYXJ0aWNpcGFudCBVIGFzIFVSTFZhbGlkYXRvclxuICogICBwYXJ0aWNpcGFudCBQIGFzIFBhdHRlcm5WYWxpZGF0b3JcbiAqXG4gKiAgIEMtPj5VOiBuZXcgVVJMVmFsaWRhdG9yKG1lc3NhZ2UpXG4gKiAgIFUtPj5QOiBzdXBlcihtZXNzYWdlKVxuICogICBDLT4+VTogaGFzRXJyb3JzKHZhbHVlLCBvcHRpb25zKVxuICogICBVLT4+UDogc3VwZXIuaGFzRXJyb3JzKHZhbHVlLCBvcHRpb25zIHdpdGggVVJMIHBhdHRlcm4pXG4gKiAgIFAtLT4+VTogdmFsaWRhdGlvbiByZXN1bHRcbiAqICAgVS0tPj5DOiB2YWxpZGF0aW9uIHJlc3VsdFxuICpcbiAqIEBjYXRlZ29yeSBWYWxpZGF0b3JzXG4gKi9cbkB2YWxpZGF0b3IoVmFsaWRhdGlvbktleXMuVVJMKVxuZXhwb3J0IGNsYXNzIFVSTFZhbGlkYXRvciBleHRlbmRzIFBhdHRlcm5WYWxpZGF0b3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLlVSTCkge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDaGVja3MgaWYgYSBzdHJpbmcgaXMgYSB2YWxpZCBVUkxcbiAgICogQHN1bW1hcnkgVmFsaWRhdGVzIHRoYXQgdGhlIHByb3ZpZGVkIHN0cmluZyBtYXRjaGVzIHRoZSBVUkwgcGF0dGVybi5cbiAgICogVGhpcyBtZXRob2QgZXh0ZW5kcyB0aGUgUGF0dGVyblZhbGlkYXRvcidzIGhhc0Vycm9ycyBtZXRob2QgYnkgZW5zdXJpbmdcbiAgICogdGhlIFVSTCBwYXR0ZXJuIGlzIHVzZWQsIGV2ZW4gaWYgbm90IGV4cGxpY2l0bHkgcHJvdmlkZWQgaW4gdGhlIG9wdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZSAtIFRoZSBzdHJpbmcgdG8gdmFsaWRhdGUgYXMgYSBVUkxcbiAgICogQHBhcmFtIHtQYXR0ZXJuVmFsaWRhdG9yT3B0aW9uc30gW29wdGlvbnM9e31dIC0gT3B0aW9uYWwgY29uZmlndXJhdGlvbiBvcHRpb25zXG4gICAqXG4gICAqIEByZXR1cm4ge3N0cmluZyB8IHVuZGVmaW5lZH0gRXJyb3IgbWVzc2FnZSBpZiB2YWxpZGF0aW9uIGZhaWxzLCB1bmRlZmluZWQgaWYgdmFsaWRhdGlvbiBwYXNzZXNcbiAgICpcbiAgICogQG92ZXJyaWRlXG4gICAqXG4gICAqIEBzZWUgUGF0dGVyblZhbGlkYXRvciNoYXNFcnJvcnNcbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBoYXNFcnJvcnMoXG4gICAgdmFsdWU6IHN0cmluZyxcbiAgICBvcHRpb25zOiBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucyA9IHt9XG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHN1cGVyLmhhc0Vycm9ycyh2YWx1ZSwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIG1lc3NhZ2U6IG9wdGlvbnMubWVzc2FnZSB8fCB0aGlzLm1lc3NhZ2UsXG4gICAgICBwYXR0ZXJuOiBvcHRpb25zLnBhdHRlcm4gfHwgREVGQVVMVF9QQVRURVJOUy5VUkwsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -7,6 +7,6 @@ import { Validator } from "./Validator";
|
|
|
7
7
|
*
|
|
8
8
|
* @function validator
|
|
9
9
|
*
|
|
10
|
-
* @category Decorators
|
|
10
|
+
* @category Class Decorators
|
|
11
11
|
*/
|
|
12
12
|
export declare function validator<T extends Validator>(...keys: string[]): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
@@ -9,7 +9,7 @@ import { apply, metadata } from "@decaf-ts/reflection";
|
|
|
9
9
|
*
|
|
10
10
|
* @function validator
|
|
11
11
|
*
|
|
12
|
-
* @category Decorators
|
|
12
|
+
* @category Class Decorators
|
|
13
13
|
*/
|
|
14
14
|
export function validator(...keys) {
|
|
15
15
|
return apply(((original) => {
|
|
@@ -23,4 +23,4 @@ export function validator(...keys) {
|
|
|
23
23
|
return original;
|
|
24
24
|
}), metadata(Validation.key(ValidationKeys.VALIDATOR), keys));
|
|
25
25
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvZGVjb3JhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUd2RDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFzQixHQUFHLElBQWM7SUFDOUQsT0FBTyxLQUFLLENBQ1YsQ0FBQyxDQUFDLFFBQXdCLEVBQUUsRUFBRTtRQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBUyxFQUFFLEVBQUU7WUFDekIsVUFBVSxDQUFDLFFBQVEsQ0FBQztnQkFDbEIsU0FBUyxFQUFFLFFBQVE7Z0JBQ25CLGFBQWEsRUFBRSxDQUFDO2dCQUNoQixJQUFJLEVBQUUsSUFBSTthQUNZLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUMsQ0FBbUIsRUFDcEIsUUFBUSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUN6RCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRvciB9IGZyb20gXCIuL1ZhbGlkYXRvclwiO1xuaW1wb3J0IHsgVmFsaWRhdGlvbiB9IGZyb20gXCIuLi9WYWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gXCIuLi8uLi9tb2RlbC90eXBlc1wiO1xuaW1wb3J0IHsgVmFsaWRhdGlvbktleXMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGFwcGx5LCBtZXRhZGF0YSB9IGZyb20gXCJAZGVjYWYtdHMvcmVmbGVjdGlvblwiO1xuaW1wb3J0IHsgVmFsaWRhdG9yRGVmaW5pdGlvbiB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IE1hcmtzIHRoZSBjbGFzcyBhcyBhIHZhbGlkYXRvciBmb3IgYSBjZXJ0YWluIGtleS5cbiAqIEBkZXNjcmlwdGlvbiBSZWdpc3RlcnMgdGhlIGNsYXNzIGluIHRoZSB7QGxpbmsgVmFsaWRhdGlvbn0gd2l0aCB0aGUgcHJvdmlkZWQga2V5XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGtleXMgdGhlIHZhbGlkYXRpb24ga2V5XG4gKlxuICogQGZ1bmN0aW9uIHZhbGlkYXRvclxuICpcbiAqIEBjYXRlZ29yeSBDbGFzcyBEZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0b3I8VCBleHRlbmRzIFZhbGlkYXRvcj4oLi4ua2V5czogc3RyaW5nW10pIHtcbiAgcmV0dXJuIGFwcGx5KFxuICAgICgob3JpZ2luYWw6IENvbnN0cnVjdG9yPFQ+KSA9PiB7XG4gICAgICBrZXlzLmZvckVhY2goKGs6IHN0cmluZykgPT4ge1xuICAgICAgICBWYWxpZGF0aW9uLnJlZ2lzdGVyKHtcbiAgICAgICAgICB2YWxpZGF0b3I6IG9yaWdpbmFsLFxuICAgICAgICAgIHZhbGlkYXRpb25LZXk6IGssXG4gICAgICAgICAgc2F2ZTogdHJ1ZSxcbiAgICAgICAgfSBhcyBWYWxpZGF0b3JEZWZpbml0aW9uKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIG9yaWdpbmFsO1xuICAgIH0pIGFzIENsYXNzRGVjb3JhdG9yLFxuICAgIG1ldGFkYXRhKFZhbGlkYXRpb24ua2V5KFZhbGlkYXRpb25LZXlzLlZBTElEQVRPUiksIGtleXMpXG4gICk7XG59XG4iXX0=
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* @returns {T} - The value found at the specified path
|
|
10
10
|
*
|
|
11
11
|
* @throws {Error} - Throws an error if the path is not a non-empty string or if any part of the path does not exist in the object.
|
|
12
|
+
* @memberOf module:decorator-validation
|
|
12
13
|
*/
|
|
13
14
|
export declare function getValueByPath<T>(obj: Record<string, any>, path: string): T;
|
|
14
15
|
/**
|
|
@@ -22,6 +23,7 @@ export declare function getValueByPath<T>(obj: Record<string, any>, path: string
|
|
|
22
23
|
* @returns {boolean} True if both values are of supported types.
|
|
23
24
|
*
|
|
24
25
|
* @throws {TypeError} If either value is of an unsupported type.
|
|
26
|
+
* @memberOf module:decorator-validation
|
|
25
27
|
*/
|
|
26
28
|
export declare function isValidForGteOrLteComparison(a: any, b: any): boolean;
|
|
27
29
|
/**
|
|
@@ -35,6 +37,7 @@ export declare function isValidForGteOrLteComparison(a: any, b: any): boolean;
|
|
|
35
37
|
*
|
|
36
38
|
* @throws {Error} If either `a` or `b` is `null` or `undefined`.
|
|
37
39
|
* @throws {TypeError} If values are of mismatched or unsupported types.
|
|
40
|
+
* @memberOf module:decorator-validation
|
|
38
41
|
*/
|
|
39
42
|
export declare function isLessThan(a: any, b: any): boolean;
|
|
40
43
|
/**
|
|
@@ -48,5 +51,6 @@ export declare function isLessThan(a: any, b: any): boolean;
|
|
|
48
51
|
*
|
|
49
52
|
* @throws {Error} If either `a` or `b` is `null` or `undefined`.
|
|
50
53
|
* @throws {TypeError} If values are of mismatched or unsupported types.
|
|
54
|
+
* @memberOf module:decorator-validation
|
|
51
55
|
*/
|
|
52
56
|
export declare function isGreaterThan(a: any, b: any): boolean;
|