@decaf-ts/decorator-validation 1.6.3 → 1.6.5
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/dist/decorator-validation.cjs +1016 -1164
- package/dist/decorator-validation.esm.cjs +971 -1134
- package/lib/constants/index.cjs +18 -0
- package/lib/constants/index.d.ts +1 -0
- package/lib/constants/validation.cjs +14 -0
- package/lib/constants/validation.d.ts +10 -0
- package/lib/esm/constants/index.d.ts +1 -0
- package/lib/esm/constants/index.js +2 -0
- package/lib/esm/constants/validation.d.ts +10 -0
- package/lib/esm/constants/validation.js +11 -0
- package/lib/esm/index.d.ts +37 -5
- package/lib/esm/index.js +38 -6
- package/lib/esm/model/Model.d.ts +29 -100
- package/lib/esm/model/Model.js +37 -104
- package/lib/esm/model/constants.d.ts +3 -3
- package/lib/esm/model/constants.js +4 -4
- package/lib/esm/model/construction.d.ts +3 -3
- package/lib/esm/model/construction.js +4 -4
- package/lib/esm/model/decorators.d.ts +4 -4
- package/lib/esm/model/decorators.js +5 -6
- package/lib/esm/model/types.d.ts +11 -30
- package/lib/esm/model/types.js +1 -1
- package/lib/esm/model/validation.d.ts +2 -2
- package/lib/esm/model/validation.js +18 -7
- package/lib/esm/utils/constants.d.ts +9 -27
- package/lib/esm/utils/constants.js +10 -28
- package/lib/esm/utils/dates.d.ts +16 -26
- package/lib/esm/utils/dates.js +17 -27
- package/lib/esm/utils/decorators.d.ts +0 -41
- package/lib/esm/utils/decorators.js +1 -42
- package/lib/esm/utils/hashing.d.ts +6 -50
- package/lib/esm/utils/hashing.js +5 -49
- package/lib/esm/utils/index.d.ts +0 -1
- package/lib/esm/utils/index.js +1 -2
- package/lib/esm/utils/registry.d.ts +2 -2
- package/lib/esm/utils/registry.js +1 -1
- package/lib/esm/utils/serialization.d.ts +1 -1
- package/lib/esm/utils/serialization.js +2 -2
- package/lib/esm/utils/strings.d.ts +4 -4
- package/lib/esm/utils/strings.js +5 -5
- package/lib/esm/utils/types.d.ts +16 -123
- package/lib/esm/utils/types.js +1 -1
- package/lib/esm/validation/Validators/DateValidator.d.ts +8 -40
- package/lib/esm/validation/Validators/DateValidator.js +9 -41
- package/lib/esm/validation/Validators/DiffValidator.d.ts +27 -0
- package/lib/esm/validation/Validators/DiffValidator.js +58 -0
- package/lib/esm/validation/Validators/EmailValidator.d.ts +7 -39
- package/lib/esm/validation/Validators/EmailValidator.js +8 -40
- package/lib/esm/validation/Validators/EqualsValidator.d.ts +27 -0
- package/lib/esm/validation/Validators/EqualsValidator.js +63 -0
- package/lib/esm/validation/Validators/GreaterThanOrEqualValidator.d.ts +27 -0
- package/lib/esm/validation/Validators/GreaterThanOrEqualValidator.js +65 -0
- package/lib/esm/validation/Validators/GreaterThanValidator.d.ts +27 -0
- package/lib/esm/validation/Validators/GreaterThanValidator.js +62 -0
- package/lib/esm/validation/Validators/LessThanOrEqualValidator.d.ts +27 -0
- package/lib/esm/validation/Validators/LessThanOrEqualValidator.js +65 -0
- package/lib/esm/validation/Validators/LessThanValidator.d.ts +27 -0
- package/lib/esm/validation/Validators/LessThanValidator.js +62 -0
- package/lib/esm/validation/Validators/ListValidator.d.ts +6 -44
- package/lib/esm/validation/Validators/ListValidator.js +7 -45
- package/lib/esm/validation/Validators/MaxValidator.d.ts +6 -52
- package/lib/esm/validation/Validators/MaxValidator.js +7 -53
- package/lib/esm/validation/Validators/MinValidator.d.ts +6 -52
- package/lib/esm/validation/Validators/MinValidator.js +7 -53
- package/lib/esm/validation/Validators/PatternValidator.d.ts +9 -75
- package/lib/esm/validation/Validators/PatternValidator.js +10 -76
- package/lib/esm/validation/Validators/RequiredValidator.d.ts +6 -52
- package/lib/esm/validation/Validators/RequiredValidator.js +7 -53
- package/lib/esm/validation/Validators/TypeValidator.d.ts +6 -60
- package/lib/esm/validation/Validators/TypeValidator.js +7 -69
- package/lib/esm/validation/Validators/URLValidator.d.ts +7 -41
- package/lib/esm/validation/Validators/URLValidator.js +8 -42
- package/lib/esm/validation/Validators/Validator.d.ts +17 -77
- package/lib/esm/validation/Validators/Validator.js +11 -68
- package/lib/esm/validation/Validators/ValidatorRegistry.d.ts +7 -1
- package/lib/esm/validation/Validators/ValidatorRegistry.js +11 -4
- package/lib/esm/validation/Validators/constants.d.ts +41 -0
- package/lib/esm/validation/Validators/constants.js +43 -1
- package/lib/esm/validation/Validators/index.d.ts +7 -0
- package/lib/esm/validation/Validators/index.js +8 -1
- package/lib/esm/validation/Validators/utils.d.ts +52 -0
- package/lib/esm/validation/Validators/utils.js +174 -0
- package/lib/esm/validation/decorators.d.ts +124 -50
- package/lib/esm/validation/decorators.js +173 -102
- package/lib/esm/validation/types.d.ts +46 -146
- package/lib/esm/validation/types.js +1 -1
- package/lib/index.cjs +39 -7
- package/lib/index.d.ts +37 -5
- package/lib/model/Model.cjs +39 -104
- package/lib/model/Model.d.ts +29 -100
- package/lib/model/constants.cjs +4 -4
- package/lib/model/constants.d.ts +3 -3
- package/lib/model/construction.cjs +4 -4
- package/lib/model/construction.d.ts +3 -3
- package/lib/model/decorators.cjs +5 -6
- package/lib/model/decorators.d.ts +4 -4
- package/lib/model/types.cjs +1 -1
- package/lib/model/types.d.ts +11 -30
- package/lib/model/validation.cjs +25 -14
- package/lib/model/validation.d.ts +2 -2
- package/lib/utils/constants.cjs +11 -29
- package/lib/utils/constants.d.ts +9 -27
- package/lib/utils/dates.cjs +17 -27
- package/lib/utils/dates.d.ts +16 -26
- package/lib/utils/decorators.cjs +1 -42
- package/lib/utils/decorators.d.ts +0 -41
- package/lib/utils/hashing.cjs +5 -49
- package/lib/utils/hashing.d.ts +6 -50
- package/lib/utils/index.cjs +1 -2
- package/lib/utils/index.d.ts +0 -1
- package/lib/utils/registry.cjs +1 -1
- package/lib/utils/registry.d.ts +2 -2
- package/lib/utils/serialization.cjs +2 -2
- package/lib/utils/serialization.d.ts +1 -1
- package/lib/utils/strings.cjs +5 -5
- package/lib/utils/strings.d.ts +4 -4
- package/lib/utils/types.cjs +1 -1
- package/lib/utils/types.d.ts +16 -123
- package/lib/validation/Validators/DateValidator.cjs +9 -41
- package/lib/validation/Validators/DateValidator.d.ts +8 -40
- package/lib/validation/Validators/DiffValidator.cjs +61 -0
- package/lib/validation/Validators/DiffValidator.d.ts +27 -0
- package/lib/validation/Validators/EmailValidator.cjs +8 -40
- package/lib/validation/Validators/EmailValidator.d.ts +7 -39
- package/lib/validation/Validators/EqualsValidator.cjs +66 -0
- package/lib/validation/Validators/EqualsValidator.d.ts +27 -0
- package/lib/validation/Validators/GreaterThanOrEqualValidator.cjs +68 -0
- package/lib/validation/Validators/GreaterThanOrEqualValidator.d.ts +27 -0
- package/lib/validation/Validators/GreaterThanValidator.cjs +65 -0
- package/lib/validation/Validators/GreaterThanValidator.d.ts +27 -0
- package/lib/validation/Validators/LessThanOrEqualValidator.cjs +68 -0
- package/lib/validation/Validators/LessThanOrEqualValidator.d.ts +27 -0
- package/lib/validation/Validators/LessThanValidator.cjs +65 -0
- package/lib/validation/Validators/LessThanValidator.d.ts +27 -0
- package/lib/validation/Validators/ListValidator.cjs +7 -45
- package/lib/validation/Validators/ListValidator.d.ts +6 -44
- package/lib/validation/Validators/MaxValidator.cjs +7 -53
- package/lib/validation/Validators/MaxValidator.d.ts +6 -52
- package/lib/validation/Validators/MinValidator.cjs +7 -53
- package/lib/validation/Validators/MinValidator.d.ts +6 -52
- package/lib/validation/Validators/PatternValidator.cjs +10 -76
- package/lib/validation/Validators/PatternValidator.d.ts +9 -75
- package/lib/validation/Validators/RequiredValidator.cjs +7 -53
- package/lib/validation/Validators/RequiredValidator.d.ts +6 -52
- package/lib/validation/Validators/TypeValidator.cjs +7 -69
- package/lib/validation/Validators/TypeValidator.d.ts +6 -60
- package/lib/validation/Validators/URLValidator.cjs +8 -42
- package/lib/validation/Validators/URLValidator.d.ts +7 -41
- package/lib/validation/Validators/Validator.cjs +11 -68
- package/lib/validation/Validators/Validator.d.ts +17 -77
- package/lib/validation/Validators/ValidatorRegistry.cjs +12 -4
- package/lib/validation/Validators/ValidatorRegistry.d.ts +7 -1
- package/lib/validation/Validators/constants.cjs +44 -2
- package/lib/validation/Validators/constants.d.ts +41 -0
- package/lib/validation/Validators/index.cjs +8 -1
- package/lib/validation/Validators/index.d.ts +7 -0
- package/lib/validation/Validators/utils.cjs +180 -0
- package/lib/validation/Validators/utils.d.ts +52 -0
- package/lib/validation/decorators.cjs +179 -102
- package/lib/validation/decorators.d.ts +124 -50
- package/lib/validation/types.cjs +1 -1
- package/lib/validation/types.d.ts +46 -146
- package/package.json +1 -1
- package/lib/esm/utils/Decoration.d.ts +0 -123
- package/lib/esm/utils/Decoration.js +0 -188
- package/lib/utils/Decoration.cjs +0 -192
- package/lib/utils/Decoration.d.ts +0 -123
|
@@ -1,54 +1,28 @@
|
|
|
1
1
|
import "reflect-metadata";
|
|
2
2
|
import { ModelConstructor } from "../model/types";
|
|
3
3
|
/**
|
|
4
|
-
* @
|
|
5
|
-
* @
|
|
6
|
-
* Validators to validate a decorated property must use key {@link ValidationKeys#REQUIRED}.
|
|
7
|
-
* This decorator is commonly used as the first validation step for important fields.
|
|
4
|
+
* @summary Marks the property as required.
|
|
5
|
+
* @description Validators to validate a decorated property must use key {@link ValidationKeys#REQUIRED}
|
|
8
6
|
*
|
|
9
|
-
* @param {string} [message]
|
|
10
|
-
* @return {PropertyDecorator} A decorator function that can be applied to class properties
|
|
7
|
+
* @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#REQUIRED}
|
|
11
8
|
*
|
|
12
9
|
* @function required
|
|
13
|
-
* @category Decorators
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* ```typescript
|
|
17
|
-
* class User {
|
|
18
|
-
* @required()
|
|
19
|
-
* username: string;
|
|
20
10
|
*
|
|
21
|
-
*
|
|
22
|
-
* email: string;
|
|
23
|
-
* }
|
|
24
|
-
* ```
|
|
11
|
+
* @category Decorators
|
|
25
12
|
*/
|
|
26
|
-
export declare function required(message?: string): (target: object, propertyKey?:
|
|
13
|
+
export declare function required(message?: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
27
14
|
/**
|
|
28
|
-
* @
|
|
29
|
-
* @
|
|
30
|
-
* Validators to validate a decorated property must use key {@link ValidationKeys#MIN}.
|
|
31
|
-
* This decorator works with numeric values and dates.
|
|
15
|
+
* @summary Defines a minimum value for the property
|
|
16
|
+
* @description Validators to validate a decorated property must use key {@link ValidationKeys#MIN}
|
|
32
17
|
*
|
|
33
|
-
* @param {number | Date
|
|
34
|
-
* @param {string} [message]
|
|
35
|
-
* @return {PropertyDecorator} A decorator function that can be applied to class properties
|
|
18
|
+
* @param {number | Date} value
|
|
19
|
+
* @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#MIN}
|
|
36
20
|
*
|
|
37
21
|
* @function min
|
|
22
|
+
* @memberOf module:decorator-validation.Decorators.Validation
|
|
38
23
|
* @category Decorators
|
|
39
|
-
*
|
|
40
|
-
* @example
|
|
41
|
-
* ```typescript
|
|
42
|
-
* class Product {
|
|
43
|
-
* @min(0)
|
|
44
|
-
* price: number;
|
|
45
|
-
*
|
|
46
|
-
* @min(new Date(2023, 0, 1), "Date must be after January 1, 2023")
|
|
47
|
-
* releaseDate: Date;
|
|
48
|
-
* }
|
|
49
|
-
* ```
|
|
50
24
|
*/
|
|
51
|
-
export declare function min(value: number | Date | string, message?: string): (target: object, propertyKey?:
|
|
25
|
+
export declare function min(value: number | Date | string, message?: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
52
26
|
/**
|
|
53
27
|
* @summary Defines a maximum value for the property
|
|
54
28
|
* @description Validators to validate a decorated property must use key {@link ValidationKeys#MAX}
|
|
@@ -57,9 +31,10 @@ export declare function min(value: number | Date | string, message?: string): (t
|
|
|
57
31
|
* @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#MAX}
|
|
58
32
|
*
|
|
59
33
|
* @function max
|
|
34
|
+
* @memberOf module:decorator-validation.Decorators.Validation
|
|
60
35
|
* @category Decorators
|
|
61
36
|
*/
|
|
62
|
-
export declare function max(value: number | Date | string, message?: string): (target: object, propertyKey?:
|
|
37
|
+
export declare function max(value: number | Date | string, message?: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
63
38
|
/**
|
|
64
39
|
* @summary Defines a step value for the property
|
|
65
40
|
* @description Validators to validate a decorated property must use key {@link ValidationKeys#STEP}
|
|
@@ -68,9 +43,10 @@ export declare function max(value: number | Date | string, message?: string): (t
|
|
|
68
43
|
* @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#STEP}
|
|
69
44
|
*
|
|
70
45
|
* @function step
|
|
46
|
+
* @memberOf module:decorator-validation.Decorators.Validation
|
|
71
47
|
* @category Decorators
|
|
72
48
|
*/
|
|
73
|
-
export declare function step(value: number, message?: string): (target: object, propertyKey?:
|
|
49
|
+
export declare function step(value: number, message?: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
74
50
|
/**
|
|
75
51
|
* @summary Defines a minimum length for the property
|
|
76
52
|
* @description Validators to validate a decorated property must use key {@link ValidationKeys#MIN_LENGTH}
|
|
@@ -79,9 +55,10 @@ export declare function step(value: number, message?: string): (target: object,
|
|
|
79
55
|
* @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#MIN_LENGTH}
|
|
80
56
|
*
|
|
81
57
|
* @function minlength
|
|
58
|
+
* @memberOf module:decorator-validation.Decorators.Validation
|
|
82
59
|
* @category Decorators
|
|
83
60
|
*/
|
|
84
|
-
export declare function minlength(value: number, message?: string): (target: object, propertyKey?:
|
|
61
|
+
export declare function minlength(value: number, message?: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
85
62
|
/**
|
|
86
63
|
* @summary Defines a maximum length for the property
|
|
87
64
|
* @description Validators to validate a decorated property must use key {@link ValidationKeys#MAX_LENGTH}
|
|
@@ -90,9 +67,10 @@ export declare function minlength(value: number, message?: string): (target: obj
|
|
|
90
67
|
* @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#MAX_LENGTH}
|
|
91
68
|
*
|
|
92
69
|
* @function maxlength
|
|
70
|
+
* @memberOf module:decorator-validation.Decorators.Validation
|
|
93
71
|
* @category Decorators
|
|
94
72
|
*/
|
|
95
|
-
export declare function maxlength(value: number, message?: string): (target: object, propertyKey?:
|
|
73
|
+
export declare function maxlength(value: number, message?: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
96
74
|
/**
|
|
97
75
|
* @summary Defines a RegExp pattern the property must respect
|
|
98
76
|
* @description Validators to validate a decorated property must use key {@link ValidationKeys#PATTERN}
|
|
@@ -101,9 +79,10 @@ export declare function maxlength(value: number, message?: string): (target: obj
|
|
|
101
79
|
* @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#PATTERN}
|
|
102
80
|
*
|
|
103
81
|
* @function pattern
|
|
82
|
+
* @memberOf module:decorator-validation.Decorators.Validation
|
|
104
83
|
* @category Decorators
|
|
105
84
|
*/
|
|
106
|
-
export declare function pattern(value: RegExp | string, message?: string): (target: object, propertyKey?:
|
|
85
|
+
export declare function pattern(value: RegExp | string, message?: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
107
86
|
/**
|
|
108
87
|
* @summary Defines the property as an email
|
|
109
88
|
* @description Validators to validate a decorated property must use key {@link ValidationKeys#EMAIL}
|
|
@@ -111,9 +90,10 @@ export declare function pattern(value: RegExp | string, message?: string): (targ
|
|
|
111
90
|
* @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#EMAIL}
|
|
112
91
|
*
|
|
113
92
|
* @function email
|
|
93
|
+
* @memberOf module:decorator-validation.Decorators.Validation
|
|
114
94
|
* @category Decorators
|
|
115
95
|
*/
|
|
116
|
-
export declare function email(message?: string): (target: object, propertyKey?:
|
|
96
|
+
export declare function email(message?: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
117
97
|
/**
|
|
118
98
|
* @summary Defines the property as an URL
|
|
119
99
|
* @description Validators to validate a decorated property must use key {@link ValidationKeys#URL}
|
|
@@ -121,9 +101,10 @@ export declare function email(message?: string): (target: object, propertyKey?:
|
|
|
121
101
|
* @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#URL}
|
|
122
102
|
*
|
|
123
103
|
* @function url
|
|
104
|
+
* @memberOf module:decorator-validation.Decorators.Validation
|
|
124
105
|
* @category Decorators
|
|
125
106
|
*/
|
|
126
|
-
export declare function url(message?: string): (target: object, propertyKey?:
|
|
107
|
+
export declare function url(message?: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
127
108
|
/**
|
|
128
109
|
* @summary Enforces type verification
|
|
129
110
|
* @description Validators to validate a decorated property must use key {@link ValidationKeys#TYPE}
|
|
@@ -132,9 +113,10 @@ export declare function url(message?: string): (target: object, propertyKey?: an
|
|
|
132
113
|
* @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#TYPE}
|
|
133
114
|
*
|
|
134
115
|
* @function type
|
|
116
|
+
* @memberOf module:decorator-validation.Decorators.Validation
|
|
135
117
|
* @category Decorators
|
|
136
118
|
*/
|
|
137
|
-
export declare function type(types: string[] | string, message?: string): (target: object, propertyKey?:
|
|
119
|
+
export declare function type(types: string[] | string, message?: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
138
120
|
/**
|
|
139
121
|
* @summary Date Handler Decorator
|
|
140
122
|
* @description Validators to validate a decorated property must use key {@link ValidationKeys#DATE}
|
|
@@ -143,24 +125,28 @@ export declare function type(types: string[] | string, message?: string): (targe
|
|
|
143
125
|
*
|
|
144
126
|
* @param {string} format accepted format according to {@link formatDate}
|
|
145
127
|
* @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#DATE}
|
|
128
|
+
* @param {Constructor<Validator>} [validator] the Validator to be used. Defaults to {@link DateValidator}
|
|
146
129
|
*
|
|
147
130
|
* @function date
|
|
148
131
|
*
|
|
132
|
+
* @memberOf module:decorator-validation.Decorators.Validation
|
|
149
133
|
* @category Decorators
|
|
150
134
|
*/
|
|
151
|
-
export declare function date(format?: string, message?: string): (target:
|
|
135
|
+
export declare function date(format?: string, message?: string): (target: Record<string, any>, propertyKey?: any) => any;
|
|
152
136
|
/**
|
|
153
137
|
* @summary Password Handler Decorator
|
|
154
138
|
* @description Validators to validate a decorated property must use key {@link ValidationKeys#PASSWORD}
|
|
155
139
|
*
|
|
156
|
-
* @param {RegExp} [pattern] defaults to {@link
|
|
140
|
+
* @param {RegExp} [pattern] defaults to {@link PasswordPatterns#CHAR8_ONE_OF_EACH}
|
|
157
141
|
* @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#PASSWORD}
|
|
142
|
+
* @param {Constructor<Validator>} [validator] Defaults to {@link PasswordValidator}
|
|
158
143
|
*
|
|
159
144
|
* @function password
|
|
160
145
|
*
|
|
146
|
+
* @memberOf module:decorator-validation.Decorators.Validation
|
|
161
147
|
* @category Decorators
|
|
162
148
|
*/
|
|
163
|
-
export declare function password(pattern?: RegExp, message?: string): (target: object, propertyKey?:
|
|
149
|
+
export declare function password(pattern?: RegExp, message?: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
164
150
|
/**
|
|
165
151
|
* @summary List Decorator
|
|
166
152
|
* @description Also sets the {@link type} to the provided collection
|
|
@@ -168,21 +154,109 @@ export declare function password(pattern?: RegExp, message?: string): (target: o
|
|
|
168
154
|
* @param {ModelConstructor} clazz
|
|
169
155
|
* @param {string} [collection] The collection being used. defaults to Array
|
|
170
156
|
* @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#LIST}
|
|
157
|
+
* @param {Constructor<Validator>} [validator] defaults to {@link ListValidator}
|
|
171
158
|
*
|
|
172
159
|
* @function list
|
|
173
160
|
*
|
|
161
|
+
* @memberOf module:decorator-validation.Decorators.Validation
|
|
174
162
|
* @category Decorators
|
|
175
163
|
*/
|
|
176
|
-
export declare function list(clazz: ModelConstructor<any> | ModelConstructor<any>[], collection?: "Array" | "Set", message?: string): (target: object, propertyKey?:
|
|
164
|
+
export declare function list(clazz: ModelConstructor<any> | ModelConstructor<any>[], collection?: "Array" | "Set", message?: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
177
165
|
/**
|
|
178
166
|
* @summary Set Decorator
|
|
179
167
|
* @description Wrapper for {@link list} with the 'Set' Collection
|
|
180
168
|
*
|
|
181
169
|
* @param {ModelConstructor} clazz
|
|
182
170
|
* @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#LIST}
|
|
171
|
+
* @param {Constructor<Validator>} [validator]
|
|
183
172
|
*
|
|
184
173
|
* @function set
|
|
185
174
|
*
|
|
175
|
+
* @memberOf module:decorator-validation.Decorators.Validation
|
|
176
|
+
* @category Decorators
|
|
177
|
+
*/
|
|
178
|
+
export declare function set(clazz: ModelConstructor<any>, message?: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
179
|
+
/**
|
|
180
|
+
* @summary Declares that the decorated property must be equal to another specified property.
|
|
181
|
+
* @description Applies the {@link ValidationKeys.EQUALS} validator to ensure the decorated value matches the value of the given property.
|
|
182
|
+
*
|
|
183
|
+
* @param {string} propertyToCompare - The name of the property to compare equality against.
|
|
184
|
+
* @param {string} [message=DEFAULT_ERROR_MESSAGES.EQUALS] - Custom error message to return if validation fails.
|
|
185
|
+
*
|
|
186
|
+
* @returns {PropertyDecorator} A property decorator used to register the equality validation metadata.
|
|
187
|
+
*
|
|
188
|
+
* @function eq
|
|
189
|
+
* @memberOf module:decorator-validation.Decorators.Validation
|
|
190
|
+
* @category Decorators
|
|
191
|
+
*/
|
|
192
|
+
export declare function eq(propertyToCompare: string, message?: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
193
|
+
/**
|
|
194
|
+
* @summary Declares that the decorated property must be different from another specified property.
|
|
195
|
+
* @description Applies the {@link ValidationKeys.DIFF} validator to ensure the decorated value is different from the value of the given property.
|
|
196
|
+
*
|
|
197
|
+
* @param {string} propertyToCompare - The name of the property to compare difference against.
|
|
198
|
+
* @param {string} [message=DEFAULT_ERROR_MESSAGES.DIFF] - Custom error message to return if validation fails.
|
|
199
|
+
*
|
|
200
|
+
* @returns {PropertyDecorator} A property decorator used to register the difference validation metadata.
|
|
201
|
+
*
|
|
202
|
+
* @function diff
|
|
203
|
+
* @memberOf module:decorator-validation.Decorators.Validation
|
|
204
|
+
* @category Decorators
|
|
205
|
+
*/
|
|
206
|
+
export declare function diff(propertyToCompare: string, message?: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
207
|
+
/**
|
|
208
|
+
* @summary Declares that the decorated property must be less than another specified property.
|
|
209
|
+
* @description Applies the {@link ValidationKeys.LESS_THAN} validator to ensure the decorated value is less than the value of the given property.
|
|
210
|
+
*
|
|
211
|
+
* @param {string} propertyToCompare - The name of the property to compare against.
|
|
212
|
+
* @param {string} [message=DEFAULT_ERROR_MESSAGES.LESS_THAN] - Custom error message to return if validation fails.
|
|
213
|
+
*
|
|
214
|
+
* @returns {PropertyDecorator} A property decorator used to register the less than validation metadata.
|
|
215
|
+
*
|
|
216
|
+
* @function lt
|
|
217
|
+
* @memberOf module:decorator-validation.Decorators.Validation
|
|
218
|
+
* @category Decorators
|
|
219
|
+
*/
|
|
220
|
+
export declare function lt(propertyToCompare: string, message?: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
221
|
+
/**
|
|
222
|
+
* @summary Declares that the decorated property must be equal or less than another specified property.
|
|
223
|
+
* @description Applies the {@link ValidationKeys.LESS_THAN_OR_EQUAL} validator to ensure the decorated value is equal or less than the value of the given property.
|
|
224
|
+
*
|
|
225
|
+
* @param {string} propertyToCompare - The name of the property to compare against.
|
|
226
|
+
* @param {string} [message=DEFAULT_ERROR_MESSAGES.LESS_THAN_OR_EQUAL] - Custom error message to return if validation fails.
|
|
227
|
+
*
|
|
228
|
+
* @returns {PropertyDecorator} A property decorator used to register the less than or equal validation metadata.
|
|
229
|
+
*
|
|
230
|
+
* @function lte
|
|
231
|
+
* @memberOf module:decorator-validation.Decorators.Validation
|
|
232
|
+
* @category Decorators
|
|
233
|
+
*/
|
|
234
|
+
export declare function lte(propertyToCompare: string, message?: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
235
|
+
/**
|
|
236
|
+
* @summary Declares that the decorated property must be greater than another specified property.
|
|
237
|
+
* @description Applies the {@link ValidationKeys.GREATER_THAN} validator to ensure the decorated value is greater than the value of the given property.
|
|
238
|
+
*
|
|
239
|
+
* @param {string} propertyToCompare - The name of the property to compare against.
|
|
240
|
+
* @param {string} [message=DEFAULT_ERROR_MESSAGES.GREATER_THAN] - Custom error message to return if validation fails.
|
|
241
|
+
*
|
|
242
|
+
* @returns {PropertyDecorator} A property decorator used to register the greater than validation metadata.
|
|
243
|
+
*
|
|
244
|
+
* @function gt
|
|
245
|
+
* @memberOf module:decorator-validation.Decorators.Validation
|
|
246
|
+
* @category Decorators
|
|
247
|
+
*/
|
|
248
|
+
export declare function gt(propertyToCompare: string, message?: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
|
249
|
+
/**
|
|
250
|
+
* @summary Declares that the decorated property must be equal or greater than another specified property.
|
|
251
|
+
* @description Applies the {@link ValidationKeys.GREATER_THAN_OR_EQUAL} validator to ensure the decorated value is equal or greater than the value of the given property.
|
|
252
|
+
*
|
|
253
|
+
* @param {string} propertyToCompare - The name of the property to compare against.
|
|
254
|
+
* @param {string} [message=DEFAULT_ERROR_MESSAGES.GREATER_THAN_OR_EQUAL] - Custom error message to return if validation fails.
|
|
255
|
+
*
|
|
256
|
+
* @returns {PropertyDecorator} A property decorator used to register the greater than or equal validation metadata.
|
|
257
|
+
*
|
|
258
|
+
* @function gte
|
|
259
|
+
* @memberOf module:decorator-validation.Decorators.Validation
|
|
186
260
|
* @category Decorators
|
|
187
261
|
*/
|
|
188
|
-
export declare function
|
|
262
|
+
export declare function gte(propertyToCompare: string, message?: string): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
|
package/lib/validation/types.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const Validators_1 = require("./Validators/index.cjs");
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdGlvbi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLDZDQUF5RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlY29yYXRvck1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9yZWZsZWN0aW9uXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gXCIuLi9tb2RlbFwiO1xuaW1wb3J0IHsgVmFsaWRhdGlvbktleXMsIFZhbGlkYXRvciB9IGZyb20gXCIuL1ZhbGlkYXRvcnNcIjtcbmltcG9ydCB7IElSZWdpc3RyeSB9IGZyb20gXCIuLi91dGlsc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBUeXBlIGRlZmluaXRpb24gZm9yIG1ldGFkYXRhIHVzZWQgYnkgdmFsaWRhdGlvbiBkZWNvcmF0b3JzXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSBzdHJ1Y3R1cmUgb2YgbWV0YWRhdGEgYXR0YWNoZWQgdG8gcHJvcGVydGllcyBieSB2YWxpZGF0aW9uIGRlY29yYXRvcnMuXG4gKiBUaGlzIG1ldGFkYXRhIGlzIHVzZWQgZHVyaW5nIHZhbGlkYXRpb24gdG8gZGV0ZXJtaW5lIHZhbGlkYXRpb24gcnVsZXMgYW5kIGVycm9yIG1lc3NhZ2VzLlxuICpcbiAqIEBwcm9wZXJ0eSB7YW55W119IFthcmdzXSAtIE9wdGlvbmFsIGFyZ3VtZW50cyBmb3IgdGhlIHZhbGlkYXRvclxuICogQHByb3BlcnR5IHtzdHJpbmd9IG1lc3NhZ2UgLSBFcnJvciBtZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiB2YWxpZGF0aW9uIGZhaWxzXG4gKiBAcHJvcGVydHkge3N0cmluZ1tdfSBbdHlwZXNdIC0gQXJyYXkgb2YgdHlwZSBuYW1lcyB0aGF0IHRoZSBwcm9wZXJ0eSBjYW4gaGF2ZVxuICpcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFZhbGlkYXRpb25NZXRhZGF0YVxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IHR5cGUgVmFsaWRhdGlvbk1ldGFkYXRhID0ge1xuICBbaW5kZXhlcjogc3RyaW5nXTogYW55O1xuICBhcmdzPzogYW55W107XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgdHlwZXM/OiBzdHJpbmdbXTtcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFR5cGUgZGVmaW5pdGlvbiBmb3IgcHJvcGVydHktbGV2ZWwgdmFsaWRhdGlvbiBkZWNvcmF0b3IgY29uZmlndXJhdGlvblxuICogQHN1bW1hcnkgRGVmaW5lcyB0aGUgc3RydWN0dXJlIHRoYXQgYXNzb2NpYXRlcyBhIHByb3BlcnR5IHdpdGggaXRzIHZhbGlkYXRpb24gZGVjb3JhdG9ycy5cbiAqIFRoaXMgdHlwZSBpcyB1c2VkIHRvIHRyYWNrIHdoaWNoIGRlY29yYXRvcnMgYXJlIGFwcGxpZWQgdG8gYSBzcGVjaWZpYyBwcm9wZXJ0eSBkdXJpbmcgdmFsaWRhdGlvbi5cbiAqXG4gKiBAcHJvcGVydHkge3N0cmluZ3xzeW1ib2x9IHByb3AgLSBUaGUgcHJvcGVydHkgbmFtZSBvciBzeW1ib2wgdGhhdCB0aGUgZGVjb3JhdG9ycyBhcmUgYXBwbGllZCB0b1xuICogQHByb3BlcnR5IHtWYWxpZGF0aW9uRGVjb3JhdG9yRGVmaW5pdGlvbltdfSBkZWNvcmF0b3JzIC0gQXJyYXkgb2YgZGVjb3JhdG9yIGRlZmluaXRpb25zIGFwcGxpZWQgdG8gdGhlIHByb3BlcnR5XG4gKlxuICogQHR5cGVkZWYge09iamVjdH0gVmFsaWRhdGlvblByb3BlcnR5RGVjb3JhdG9yRGVmaW5pdGlvblxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IHR5cGUgVmFsaWRhdGlvblByb3BlcnR5RGVjb3JhdG9yRGVmaW5pdGlvbiA9IHtcbiAgcHJvcDogc3RyaW5nIHwgc3ltYm9sO1xuICBkZWNvcmF0b3JzOiBWYWxpZGF0aW9uRGVjb3JhdG9yRGVmaW5pdGlvbltdO1xufTtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gVHlwZSBkZWZpbml0aW9uIGZvciBpbmRpdmlkdWFsIHZhbGlkYXRpb24gZGVjb3JhdG9yIG1ldGFkYXRhXG4gKiBAc3VtbWFyeSBFeHRlbmRzIHRoZSBiYXNlIERlY29yYXRvck1ldGFkYXRhIHR5cGUgd2l0aCB2YWxpZGF0aW9uLXNwZWNpZmljIHByb3BlcnRpZXMuXG4gKiBUaGlzIHR5cGUgcmVwcmVzZW50cyB0aGUgbWV0YWRhdGEgZm9yIGEgc2luZ2xlIHZhbGlkYXRpb24gZGVjb3JhdG9yIGFwcGxpZWQgdG8gYSBwcm9wZXJ0eS5cbiAqXG4gKiBAcHJvcGVydHkge1ZhbGlkYXRpb25FbGVtZW50RGVmaW5pdGlvbn0gcHJvcHMgLSBUaGUgdmFsaWRhdGlvbiBlbGVtZW50IHByb3BlcnRpZXMgYW5kIGNvbmZpZ3VyYXRpb25cbiAqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBWYWxpZGF0aW9uRGVjb3JhdG9yRGVmaW5pdGlvblxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IHR5cGUgVmFsaWRhdGlvbkRlY29yYXRvckRlZmluaXRpb24gPSBEZWNvcmF0b3JNZXRhZGF0YSAmIHtcbiAgcHJvcHM6IFZhbGlkYXRpb25FbGVtZW50RGVmaW5pdGlvbjtcbn07XG5cbi8qKlxuICogQHN1bW1hcnkgVHlwZSBmb3IgYSB2YWxpZGF0b3IgZWxlbWVudCBtZXRhZGF0YVxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IHR5cGUgVmFsaWRhdGlvbkVsZW1lbnREZWZpbml0aW9uID0ge1xuICBbaW5kZXhlcjogc3RyaW5nXTogYW55O1xuXG4gIHZhbHVlPzogc3RyaW5nIHwgbnVtYmVyO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHR5cGVzPzogc3RyaW5nW107XG59O1xuXG4vKipcbiAqIEBzdW1tYXJ5IFR5cGUgZm9yIGEgbW9kZWwgZXJyb3JzXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgdHlwZSBNb2RlbEVycm9ycyA9IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHVuZGVmaW5lZD4+O1xuXG4vKipcbiAqIEBzdW1tYXJ5IFV0aWwgdHlwZSBmb3Ige0BsaW5rIFZhbGlkYXRvcn0gY29uZmlndXJhdGlvblxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IHR5cGUgVmFsaWRhdG9yRGVmaW5pdGlvbiA9IHtcbiAgdmFsaWRhdG9yOiBDb25zdHJ1Y3RvcjxWYWxpZGF0b3I+O1xuICB2YWxpZGF0aW9uS2V5OiBzdHJpbmc7XG4gIHNhdmU6IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBJbnRlcmZhY2UgZm9yIGEgcmVnaXN0cnkgdGhhdCBtYW5hZ2VzIHZhbGlkYXRvciBpbnN0YW5jZXNcbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIGNvbnRyYWN0IGZvciBhIHJlZ2lzdHJ5IHRoYXQgc3RvcmVzIGFuZCByZXRyaWV2ZXMgdmFsaWRhdG9ycy5cbiAqIFRoZSByZWdpc3RyeSBpcyByZXNwb25zaWJsZSBmb3IgbWFpbnRhaW5pbmcgYSBjb2xsZWN0aW9uIG9mIHZhbGlkYXRvcnMgYW5kIHByb3ZpZGluZ1xuICogYWNjZXNzIHRvIHRoZW0gYnkga2V5LlxuICpcbiAqIEBpbnRlcmZhY2UgSVZhbGlkYXRvclJlZ2lzdHJ5XG4gKiBAdGVtcGxhdGUgVCBUeXBlIG9mIHZhbGlkYXRvciwgbXVzdCBleHRlbmQgVmFsaWRhdG9yXG4gKiBAZXh0ZW5kcyBJUmVnaXN0cnk8VD5cbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBWYWxpZGF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVZhbGlkYXRvclJlZ2lzdHJ5PFQgZXh0ZW5kcyBWYWxpZGF0b3I+IGV4dGVuZHMgSVJlZ2lzdHJ5PFQ+IHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZXRyaWV2ZXMgY3VzdG9tIHZhbGlkYXRpb24ga2V5cyBkZWZpbmVkIGluIHRoZSByZWdpc3RyeVxuICAgKiBAc3VtbWFyeSBSZXR1cm5zIGEgbWFwcGluZyBvZiBjdXN0b20gdmFsaWRhdGlvbiBrZXlzIHRvIHRoZWlyIGNvcnJlc3BvbmRpbmcgc3RhbmRhcmQga2V5cy5cbiAgICogVGhpcyBhbGxvd3MgZm9yIGFsaWFzaW5nIHZhbGlkYXRpb24ga2V5cyBmb3Igc3BlY2lmaWMgdXNlIGNhc2VzLlxuICAgKlxuICAgKiBAcmV0dXJuIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fSBPYmplY3QgbWFwcGluZyBjdXN0b20ga2V5cyB0byBzdGFuZGFyZCB2YWxpZGF0aW9uIGtleXNcbiAgICovXG4gIGdldEN1c3RvbUtleXMoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEdldHMgYWxsIHJlZ2lzdGVyZWQgdmFsaWRhdG9yIGtleXNcbiAgICogQHN1bW1hcnkgUmV0dXJucyBhbiBhcnJheSBvZiBhbGwgdmFsaWRhdGlvbiBrZXlzIHRoYXQgaGF2ZSByZWdpc3RlcmVkIHZhbGlkYXRvcnMuXG4gICAqXG4gICAqIEByZXR1cm4ge3N0cmluZ1tdfSBBcnJheSBvZiByZWdpc3RlcmVkIHZhbGlkYXRvciBrZXlzXG4gICAqL1xuICBnZXRLZXlzKCk6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVnaXN0ZXJzIG9uZSBvciBtb3JlIHZhbGlkYXRvcnMgd2l0aCB0aGUgcmVnaXN0cnlcbiAgICogQHN1bW1hcnkgQWRkcyB2YWxpZGF0b3JzIHRvIHRoZSByZWdpc3RyeSwgbWFraW5nIHRoZW0gYXZhaWxhYmxlIGZvciB2YWxpZGF0aW9uIG9wZXJhdGlvbnMuXG4gICAqIFZhbGlkYXRvcnMgY2FuIGJlIHByb3ZpZGVkIGFzIGluc3RhbmNlcyBvciBhcyB2YWxpZGF0b3IgZGVmaW5pdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSB7Li4uKFR8VmFsaWRhdG9yRGVmaW5pdGlvbil9IHZhbGlkYXRvciAtIFZhbGlkYXRvciBpbnN0YW5jZXMgb3IgZGVmaW5pdGlvbnMgdG8gcmVnaXN0ZXJcbiAgICogQHJldHVybiB7dm9pZH1cbiAgICovXG4gIHJlZ2lzdGVyPFQgZXh0ZW5kcyBWYWxpZGF0b3I+KFxuICAgIC4uLnZhbGlkYXRvcjogKFQgfCBWYWxpZGF0b3JEZWZpbml0aW9uKVtdXG4gICk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZXRyaWV2ZXMgYSB2YWxpZGF0b3IgYnkgaXRzIGtleVxuICAgKiBAc3VtbWFyeSBMb29rcyB1cCBhIHZhbGlkYXRvciBpbiB0aGUgcmVnaXN0cnkgdXNpbmcgaXRzIHZhbGlkYXRpb24ga2V5LlxuICAgKiBSZXR1cm5zIHRoZSB2YWxpZGF0b3IgaWYgZm91bmQsIG9yIHVuZGVmaW5lZCBpZiBubyB2YWxpZGF0b3IgaXMgcmVnaXN0ZXJlZCBmb3IgdGhlIGtleS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSAtIFRoZSB2YWxpZGF0aW9uIGtleSB0byBsb29rIHVwLCB0eXBpY2FsbHkgb25lIG9mIHRoZSB7QGxpbmsgVmFsaWRhdGlvbktleXN9XG4gICAqIEByZXR1cm4ge1R8dW5kZWZpbmVkfSBUaGUgcmVnaXN0ZXJlZCB2YWxpZGF0b3Igb3IgdW5kZWZpbmVkIGlmIG5vbmUgbWF0Y2hlcyB0aGUgcHJvdmlkZWQga2V5XG4gICAqL1xuICBnZXQ8VCBleHRlbmRzIFZhbGlkYXRvcj4oa2V5OiBzdHJpbmcpOiBUIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBCYXNlIG9wdGlvbnMgdHlwZSBmb3IgYWxsIHZhbGlkYXRvcnNcbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIGNvbW1vbiBwcm9wZXJ0aWVzIGF2YWlsYWJsZSB0byBhbGwgdmFsaWRhdG9yc1xuICogQHR5cGVkZWYgVmFsaWRhdG9yT3B0aW9uc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFttZXNzYWdlXSAtIEN1c3RvbSBlcnJvciBtZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiB2YWxpZGF0aW9uIGZhaWxzXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgdHlwZSBWYWxpZGF0b3JPcHRpb25zID0ge1xuICBtZXNzYWdlPzogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gVVJMIHZhbGlkYXRpb24gb3B0aW9ucyBpbnRlcmZhY2VcbiAqIEBzdW1tYXJ5IERlZmluZXMgb3B0aW9ucyBmb3IgVVJMIHZhbGlkYXRpb24sIGluY2x1ZGluZyBhbGxvd2VkIFVSTCB0eXBlc1xuICogQGludGVyZmFjZSBVUkxWYWxpZGF0b3JPcHRpb25zXG4gKiBAcHJvcGVydHkgeyhzdHJpbmd8c3RyaW5nW118eyBuYW1lOiBzdHJpbmcgfSl9IHR5cGVzIC0gU3BlY2lmaWVzIHRoZSBhbGxvd2VkIFVSTCB0eXBlcyBvciBwYXR0ZXJuc1xuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVUkxWYWxpZGF0b3JPcHRpb25zIGV4dGVuZHMgVmFsaWRhdG9yT3B0aW9ucyB7XG4gIHR5cGVzOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHsgbmFtZTogc3RyaW5nIH07XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFR5cGUgdmFsaWRhdGlvbiBvcHRpb25zIGludGVyZmFjZVxuICogQHN1bW1hcnkgRGVmaW5lcyBvcHRpb25zIGZvciB0eXBlIHZhbGlkYXRpb24sIHNwZWNpZnlpbmcgYWxsb3dlZCB0eXBlc1xuICogQGludGVyZmFjZSBUeXBlVmFsaWRhdG9yT3B0aW9uc1xuICogQHByb3BlcnR5IHsoc3RyaW5nfHN0cmluZ1tdfHsgbmFtZTogc3RyaW5nIH0pfSB0eXBlcyAtIFNwZWNpZmllcyB0aGUgYWxsb3dlZCBkYXRhIHR5cGVzXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVWYWxpZGF0b3JPcHRpb25zIGV4dGVuZHMgVmFsaWRhdG9yT3B0aW9ucyB7XG4gIHR5cGVzOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHsgbmFtZTogc3RyaW5nIH07XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFN0ZXAgdmFsaWRhdGlvbiBvcHRpb25zIGludGVyZmFjZVxuICogQHN1bW1hcnkgRGVmaW5lcyBvcHRpb25zIGZvciBzdGVwIHZhbGlkYXRpb24sIHNwZWNpZnlpbmcgdGhlIHN0ZXAgaW5jcmVtZW50XG4gKiBAaW50ZXJmYWNlIFN0ZXBWYWxpZGF0b3JPcHRpb25zXG4gKiBAcHJvcGVydHkgeyhudW1iZXJ8c3RyaW5nKX0gW1ZhbGlkYXRpb25LZXlzLlNURVBdIC0gVGhlIHN0ZXAgdmFsdWUgZm9yIG51bWVyaWNhbCB2YWxpZGF0aW9uXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0ZXBWYWxpZGF0b3JPcHRpb25zIGV4dGVuZHMgVmFsaWRhdG9yT3B0aW9ucyB7XG4gIFtWYWxpZGF0aW9uS2V5cy5TVEVQXTogbnVtYmVyIHwgc3RyaW5nO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIHZhbGlkYXRpb24gb3B0aW9ucyBpbnRlcmZhY2VcbiAqIEBzdW1tYXJ5IERlZmluZXMgb3B0aW9ucyBmb3IgcGF0dGVybiB2YWxpZGF0aW9uIHVzaW5nIHJlZ3VsYXIgZXhwcmVzc2lvbnNcbiAqIEBpbnRlcmZhY2UgUGF0dGVyblZhbGlkYXRvck9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7KFJlZ0V4cHxzdHJpbmcpfSBbVmFsaWRhdGlvbktleXMuUEFUVEVSTl0gLSBUaGUgcGF0dGVybiB0byBtYXRjaCBhZ2FpbnN0XG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhdHRlcm5WYWxpZGF0b3JPcHRpb25zIGV4dGVuZHMgVmFsaWRhdG9yT3B0aW9ucyB7XG4gIFtWYWxpZGF0aW9uS2V5cy5QQVRURVJOXT86IFJlZ0V4cCB8IHN0cmluZztcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gTWluaW11bSB2YWx1ZSB2YWxpZGF0aW9uIG9wdGlvbnMgaW50ZXJmYWNlXG4gKiBAc3VtbWFyeSBEZWZpbmVzIG9wdGlvbnMgZm9yIG1pbmltdW0gdmFsdWUgdmFsaWRhdGlvblxuICogQGludGVyZmFjZSBNaW5WYWxpZGF0b3JPcHRpb25zXG4gKiBAcHJvcGVydHkgeyhudW1iZXJ8RGF0ZXxzdHJpbmcpfSBbVmFsaWRhdGlvbktleXMuTUlOXSAtIFRoZSBtaW5pbXVtIGFsbG93ZWQgdmFsdWVcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBWYWxpZGF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWluVmFsaWRhdG9yT3B0aW9ucyBleHRlbmRzIFZhbGlkYXRvck9wdGlvbnMge1xuICBbVmFsaWRhdGlvbktleXMuTUlOXTogbnVtYmVyIHwgRGF0ZSB8IHN0cmluZztcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gTWluaW11bSBsZW5ndGggdmFsaWRhdGlvbiBvcHRpb25zIGludGVyZmFjZVxuICogQHN1bW1hcnkgRGVmaW5lcyBvcHRpb25zIGZvciBtaW5pbXVtIGxlbmd0aCB2YWxpZGF0aW9uXG4gKiBAaW50ZXJmYWNlIE1pbkxlbmd0aFZhbGlkYXRvck9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbVmFsaWRhdGlvbktleXMuTUlOX0xFTkdUSF0gLSBUaGUgbWluaW11bSBhbGxvd2VkIGxlbmd0aFxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNaW5MZW5ndGhWYWxpZGF0b3JPcHRpb25zIGV4dGVuZHMgVmFsaWRhdG9yT3B0aW9ucyB7XG4gIFtWYWxpZGF0aW9uS2V5cy5NSU5fTEVOR1RIXTogbnVtYmVyO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBNYXhpbXVtIHZhbHVlIHZhbGlkYXRpb24gb3B0aW9ucyBpbnRlcmZhY2VcbiAqIEBzdW1tYXJ5IERlZmluZXMgb3B0aW9ucyBmb3IgbWF4aW11bSB2YWx1ZSB2YWxpZGF0aW9uXG4gKiBAaW50ZXJmYWNlIE1heFZhbGlkYXRvck9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7KG51bWJlcnxEYXRlfHN0cmluZyl9IFtWYWxpZGF0aW9uS2V5cy5NQVhdIC0gVGhlIG1heGltdW0gYWxsb3dlZCB2YWx1ZVxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNYXhWYWxpZGF0b3JPcHRpb25zIGV4dGVuZHMgVmFsaWRhdG9yT3B0aW9ucyB7XG4gIFtWYWxpZGF0aW9uS2V5cy5NQVhdOiBudW1iZXIgfCBEYXRlIHwgc3RyaW5nO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBNYXhpbXVtIGxlbmd0aCB2YWxpZGF0aW9uIG9wdGlvbnMgaW50ZXJmYWNlXG4gKiBAc3VtbWFyeSBEZWZpbmVzIG9wdGlvbnMgZm9yIG1heGltdW0gbGVuZ3RoIHZhbGlkYXRpb25cbiAqIEBpbnRlcmZhY2UgTWF4TGVuZ3RoVmFsaWRhdG9yT3B0aW9uc1xuICogQHByb3BlcnR5IHtudW1iZXJ9IFtWYWxpZGF0aW9uS2V5cy5NQVhfTEVOR1RIXSAtIFRoZSBtYXhpbXVtIGFsbG93ZWQgbGVuZ3RoXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1heExlbmd0aFZhbGlkYXRvck9wdGlvbnMgZXh0ZW5kcyBWYWxpZGF0b3JPcHRpb25zIHtcbiAgW1ZhbGlkYXRpb25LZXlzLk1BWF9MRU5HVEhdOiBudW1iZXI7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIExpc3QgdmFsaWRhdGlvbiBvcHRpb25zIGludGVyZmFjZVxuICogQHN1bW1hcnkgRGVmaW5lcyBvcHRpb25zIGZvciBsaXN0IHZhbGlkYXRpb25cbiAqIEBpbnRlcmZhY2UgTGlzdFZhbGlkYXRvck9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IGNsYXp6IC0gQXJyYXkgb2YgYWxsb3dlZCBjbGFzcyBuYW1lcyBvciB0eXBlc1xuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaXN0VmFsaWRhdG9yT3B0aW9ucyBleHRlbmRzIFZhbGlkYXRvck9wdGlvbnMge1xuICBjbGF6ejogc3RyaW5nW107XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERhdGUgdmFsaWRhdGlvbiBvcHRpb25zIGludGVyZmFjZVxuICogQHN1bW1hcnkgRGVmaW5lcyBvcHRpb25zIGZvciBkYXRlIHZhbGlkYXRpb25cbiAqIEBpbnRlcmZhY2UgRGF0ZVZhbGlkYXRvck9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbVmFsaWRhdGlvbktleXMuRk9STUFUXSAtIFRoZSBleHBlY3RlZCBkYXRlIGZvcm1hdCBwYXR0ZXJuXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGVWYWxpZGF0b3JPcHRpb25zIGV4dGVuZHMgVmFsaWRhdG9yT3B0aW9ucyB7XG4gIFtWYWxpZGF0aW9uS2V5cy5GT1JNQVRdPzogc3RyaW5nO1xufVxuIl19
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdGlvbi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLDZDQUF5RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlY29yYXRvck1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9yZWZsZWN0aW9uXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gXCIuLi9tb2RlbFwiO1xuaW1wb3J0IHsgVmFsaWRhdGlvbktleXMsIFZhbGlkYXRvciB9IGZyb20gXCIuL1ZhbGlkYXRvcnNcIjtcbmltcG9ydCB7IElSZWdpc3RyeSB9IGZyb20gXCIuLi91dGlsc1wiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IFR5cGUgZm9yIHZhbGlkYXRpb24gZGVjb3JhdG9yIG1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uLlJlZmxlY3Rpb25cbiAqIEBjYXRlZ29yeSBSZWZsZWN0aW9uXG4gKi9cbmV4cG9ydCB0eXBlIFZhbGlkYXRpb25NZXRhZGF0YSA9IHtcbiAgW2luZGV4ZXI6IHN0cmluZ106IGFueTtcbiAgYXJncz86IGFueVtdO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHR5cGVzPzogc3RyaW5nW107XG59O1xuXG4vKipcbiAqIEBzdW1tYXJ5IFR5cGUgZm9yIGEgdmFsaWRhdG9yIHByb3BlcnR5IGRlY29yYXRvciBkZWZpbml0aW9uXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uLlZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBWYWxpZGF0aW9uXG4gKi9cbmV4cG9ydCB0eXBlIFZhbGlkYXRpb25Qcm9wZXJ0eURlY29yYXRvckRlZmluaXRpb24gPSB7XG4gIHByb3A6IHN0cmluZyB8IHN5bWJvbDtcbiAgZGVjb3JhdG9yczogVmFsaWRhdGlvbkRlY29yYXRvckRlZmluaXRpb25bXTtcbn07XG5cbi8qKlxuICogQHN1bW1hcnkgVHlwZSBmb3IgYSB2YWxpZGF0b3IgZGVjb3JhdG9yIGRlZmluaXRpb25cbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uVmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IHR5cGUgVmFsaWRhdGlvbkRlY29yYXRvckRlZmluaXRpb24gPSBEZWNvcmF0b3JNZXRhZGF0YSAmIHtcbiAgcHJvcHM6IFZhbGlkYXRpb25FbGVtZW50RGVmaW5pdGlvbjtcbn07XG5cbi8qKlxuICogQHN1bW1hcnkgVHlwZSBmb3IgYSB2YWxpZGF0b3IgZWxlbWVudCBtZXRhZGF0YVxuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgdHlwZSBWYWxpZGF0aW9uRWxlbWVudERlZmluaXRpb24gPSB7XG4gIFtpbmRleGVyOiBzdHJpbmddOiBhbnk7XG5cbiAgdmFsdWU/OiBzdHJpbmcgfCBudW1iZXI7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgdHlwZXM/OiBzdHJpbmdbXTtcbn07XG5cbi8qKlxuICogQHN1bW1hcnkgVHlwZSBmb3IgYSBtb2RlbCBlcnJvcnNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uVmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IHR5cGUgTW9kZWxFcnJvcnMgPSBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+PjtcblxuLyoqXG4gKiBAc3VtbWFyeSBVdGlsIHR5cGUgZm9yIHtAbGluayBWYWxpZGF0b3J9IGNvbmZpZ3VyYXRpb25cbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uVmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IHR5cGUgVmFsaWRhdG9yRGVmaW5pdGlvbiA9IHtcbiAgdmFsaWRhdG9yOiBDb25zdHJ1Y3RvcjxWYWxpZGF0b3I+O1xuICB2YWxpZGF0aW9uS2V5OiBzdHJpbmc7XG4gIHNhdmU6IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIEBzdW1tYXJ5IEJhc2UgQVBJIGZvciBhIHtAbGluayBWYWxpZGF0b3J9IHJlZ2lzdHJ5XG4gKlxuICogQGludGVyZmFjZSBWYWxpZGF0b3JSZWdpc3RyeVxuICogQGV4dGVuZHMgSVJlZ2lzdHJ5XG4gKlxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJVmFsaWRhdG9yUmVnaXN0cnk8VCBleHRlbmRzIFZhbGlkYXRvcj4gZXh0ZW5kcyBJUmVnaXN0cnk8VD4ge1xuICAvKipcbiAgICogQHN1bW1hcnkgcmV0cmlldmVzIHRoZSBjdXN0b20ga2V5c1xuICAgKiBAbWV0aG9kXG4gICAqL1xuICBnZXRDdXN0b21LZXlzKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFJldHJpZXZlcyB0aGUgUmVnaXN0ZXJlZCB2YWxpZGF0b3Iga2V5c1xuICAgKiBAcmV0dXJuIHtzdHJpbmdbXX0gdGhlIHJlZ2lzdGVyZWQgdmFsaWRhdG9ycyBrZXlzXG4gICAqIEBtZXRob2RcbiAgICovXG4gIGdldEtleXMoKTogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFJlZ2lzdGVycyB0aGUgcHJvdmlkZWQgdmFsaWRhdG9ycyBvbnRvIHRoZSByZWdpc3RyeVxuICAgKlxuICAgKiBAdHlwZWRlZiBUIGV4dGVuZHMgVmFsaWRhdG9yXG4gICAqIEBwYXJhbSB7VFtdIHwgVmFsaWRhdG9yRGVmaW5pdGlvbltdfSB2YWxpZGF0b3JcbiAgICogQG1ldGhvZFxuICAgKi9cbiAgcmVnaXN0ZXI8VCBleHRlbmRzIFZhbGlkYXRvcj4oXG4gICAgLi4udmFsaWRhdG9yOiAoVCB8IFZhbGlkYXRvckRlZmluaXRpb24pW11cbiAgKTogdm9pZDtcblxuICAvKipcbiAgICogQHN1bW1hcnkgUmV0cmlldmVzIHRoZSBWYWxpZGF0b3IgY29uc3RydWN0b3IgaWYgcmVnaXN0ZXJlZFxuICAgKlxuICAgKiBAdHlwZWRlZiBUIGV4dGVuZHMgVmFsaWRhdG9yXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgb25lIG9mIHRoZSB7QGxpbmsgVmFsaWRhdGlvbktleXN9XG4gICAqIEByZXR1cm4ge1ZhbGlkYXRvciB8IHVuZGVmaW5lZH0gdGhlIHJlZ2lzdGVyZWQgVmFsaWRhdG9yIG9yIHVuZGVmaW5lZCBpZiB0aGVyZSBpcyBub25vIG1hdGNoaW5nIHRoZSBwcm92aWRlZCBrZXlcbiAgICogQG1ldGhvZFxuICAgKi9cbiAgZ2V0PFQgZXh0ZW5kcyBWYWxpZGF0b3I+KGtleTogc3RyaW5nKTogVCB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IHR5cGUgVmFsaWRhdG9yT3B0aW9ucyA9IHtcbiAgbWVzc2FnZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVVJMVmFsaWRhdG9yT3B0aW9ucyBleHRlbmRzIFZhbGlkYXRvck9wdGlvbnMge1xuICB0eXBlczogc3RyaW5nIHwgc3RyaW5nW10gfCB7IG5hbWU6IHN0cmluZyB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVWYWxpZGF0b3JPcHRpb25zIGV4dGVuZHMgVmFsaWRhdG9yT3B0aW9ucyB7XG4gIHR5cGVzOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHsgbmFtZTogc3RyaW5nIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RlcFZhbGlkYXRvck9wdGlvbnMgZXh0ZW5kcyBWYWxpZGF0b3JPcHRpb25zIHtcbiAgW1ZhbGlkYXRpb25LZXlzLlNURVBdOiBudW1iZXIgfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMgZXh0ZW5kcyBWYWxpZGF0b3JPcHRpb25zIHtcbiAgW1ZhbGlkYXRpb25LZXlzLlBBVFRFUk5dPzogUmVnRXhwIHwgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pblZhbGlkYXRvck9wdGlvbnMgZXh0ZW5kcyBWYWxpZGF0b3JPcHRpb25zIHtcbiAgW1ZhbGlkYXRpb25LZXlzLk1JTl06IG51bWJlciB8IERhdGUgfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWluTGVuZ3RoVmFsaWRhdG9yT3B0aW9ucyBleHRlbmRzIFZhbGlkYXRvck9wdGlvbnMge1xuICBbVmFsaWRhdGlvbktleXMuTUlOX0xFTkdUSF06IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXhWYWxpZGF0b3JPcHRpb25zIGV4dGVuZHMgVmFsaWRhdG9yT3B0aW9ucyB7XG4gIFtWYWxpZGF0aW9uS2V5cy5NQVhdOiBudW1iZXIgfCBEYXRlIHwgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1heExlbmd0aFZhbGlkYXRvck9wdGlvbnMgZXh0ZW5kcyBWYWxpZGF0b3JPcHRpb25zIHtcbiAgW1ZhbGlkYXRpb25LZXlzLk1BWF9MRU5HVEhdOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFZhbGlkYXRvck9wdGlvbnMgZXh0ZW5kcyBWYWxpZGF0b3JPcHRpb25zIHtcbiAgY2xheno6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGVWYWxpZGF0b3JPcHRpb25zIGV4dGVuZHMgVmFsaWRhdG9yT3B0aW9ucyB7XG4gIFtWYWxpZGF0aW9uS2V5cy5GT1JNQVRdPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVxdWFsc1ZhbGlkYXRvck9wdGlvbnMgZXh0ZW5kcyBWYWxpZGF0b3JPcHRpb25zIHtcbiAgW1ZhbGlkYXRpb25LZXlzLkVRVUFMU106IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaWZmVmFsaWRhdG9yT3B0aW9ucyBleHRlbmRzIFZhbGlkYXRvck9wdGlvbnMge1xuICBbVmFsaWRhdGlvbktleXMuRElGRl06IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMZXNzVGhhblZhbGlkYXRvck9wdGlvbnMgZXh0ZW5kcyBWYWxpZGF0b3JPcHRpb25zIHtcbiAgW1ZhbGlkYXRpb25LZXlzLkxFU1NfVEhBTl06IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMZXNzVGhhbk9yRXF1YWxWYWxpZGF0b3JPcHRpb25zIGV4dGVuZHMgVmFsaWRhdG9yT3B0aW9ucyB7XG4gIFtWYWxpZGF0aW9uS2V5cy5MRVNTX1RIQU5fT1JfRVFVQUxdOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JlYXRlclRoYW5WYWxpZGF0b3JPcHRpb25zIGV4dGVuZHMgVmFsaWRhdG9yT3B0aW9ucyB7XG4gIFtWYWxpZGF0aW9uS2V5cy5HUkVBVEVSX1RIQU5dOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JlYXRlclRoYW5PckVxdWFsVmFsaWRhdG9yT3B0aW9ucyBleHRlbmRzIFZhbGlkYXRvck9wdGlvbnMge1xuICBbVmFsaWRhdGlvbktleXMuR1JFQVRFUl9USEFOX09SX0VRVUFMXTogc3RyaW5nO1xufVxuIl19
|
|
@@ -3,17 +3,9 @@ import { Constructor } from "../model";
|
|
|
3
3
|
import { ValidationKeys, Validator } from "./Validators";
|
|
4
4
|
import { IRegistry } from "../utils";
|
|
5
5
|
/**
|
|
6
|
-
* @
|
|
7
|
-
* @
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* @property {any[]} [args] - Optional arguments for the validator
|
|
11
|
-
* @property {string} message - Error message to display when validation fails
|
|
12
|
-
* @property {string[]} [types] - Array of type names that the property can have
|
|
13
|
-
*
|
|
14
|
-
* @typedef {Object} ValidationMetadata
|
|
15
|
-
* @memberOf module:decorator-validation
|
|
16
|
-
* @category Validation
|
|
6
|
+
* @summary Type for validation decorator metadata
|
|
7
|
+
* @memberOf module:decorator-validation.Reflection
|
|
8
|
+
* @category Reflection
|
|
17
9
|
*/
|
|
18
10
|
export type ValidationMetadata = {
|
|
19
11
|
[indexer: string]: any;
|
|
@@ -22,15 +14,8 @@ export type ValidationMetadata = {
|
|
|
22
14
|
types?: string[];
|
|
23
15
|
};
|
|
24
16
|
/**
|
|
25
|
-
* @
|
|
26
|
-
* @
|
|
27
|
-
* This type is used to track which decorators are applied to a specific property during validation.
|
|
28
|
-
*
|
|
29
|
-
* @property {string|symbol} prop - The property name or symbol that the decorators are applied to
|
|
30
|
-
* @property {ValidationDecoratorDefinition[]} decorators - Array of decorator definitions applied to the property
|
|
31
|
-
*
|
|
32
|
-
* @typedef {Object} ValidationPropertyDecoratorDefinition
|
|
33
|
-
* @memberOf module:decorator-validation
|
|
17
|
+
* @summary Type for a validator property decorator definition
|
|
18
|
+
* @memberOf module:decorator-validation.Validation
|
|
34
19
|
* @category Validation
|
|
35
20
|
*/
|
|
36
21
|
export type ValidationPropertyDecoratorDefinition = {
|
|
@@ -38,14 +23,8 @@ export type ValidationPropertyDecoratorDefinition = {
|
|
|
38
23
|
decorators: ValidationDecoratorDefinition[];
|
|
39
24
|
};
|
|
40
25
|
/**
|
|
41
|
-
* @
|
|
42
|
-
* @
|
|
43
|
-
* This type represents the metadata for a single validation decorator applied to a property.
|
|
44
|
-
*
|
|
45
|
-
* @property {ValidationElementDefinition} props - The validation element properties and configuration
|
|
46
|
-
*
|
|
47
|
-
* @typedef {Object} ValidationDecoratorDefinition
|
|
48
|
-
* @memberOf module:decorator-validation
|
|
26
|
+
* @summary Type for a validator decorator definition
|
|
27
|
+
* @memberOf module:decorator-validation.Validation
|
|
49
28
|
* @category Validation
|
|
50
29
|
*/
|
|
51
30
|
export type ValidationDecoratorDefinition = DecoratorMetadata & {
|
|
@@ -53,7 +32,7 @@ export type ValidationDecoratorDefinition = DecoratorMetadata & {
|
|
|
53
32
|
};
|
|
54
33
|
/**
|
|
55
34
|
* @summary Type for a validator element metadata
|
|
56
|
-
* @memberOf module:decorator-validation
|
|
35
|
+
* @memberOf module:decorator-validation.Validation
|
|
57
36
|
* @category Validation
|
|
58
37
|
*/
|
|
59
38
|
export type ValidationElementDefinition = {
|
|
@@ -64,13 +43,13 @@ export type ValidationElementDefinition = {
|
|
|
64
43
|
};
|
|
65
44
|
/**
|
|
66
45
|
* @summary Type for a model errors
|
|
67
|
-
* @memberOf module:decorator-validation
|
|
46
|
+
* @memberOf module:decorator-validation.Validation
|
|
68
47
|
* @category Validation
|
|
69
48
|
*/
|
|
70
49
|
export type ModelErrors = Record<string, Record<string, string | undefined>>;
|
|
71
50
|
/**
|
|
72
51
|
* @summary Util type for {@link Validator} configuration
|
|
73
|
-
* @memberOf module:decorator-validation
|
|
52
|
+
* @memberOf module:decorator-validation.Validation
|
|
74
53
|
* @category Validation
|
|
75
54
|
*/
|
|
76
55
|
export type ValidatorDefinition = {
|
|
@@ -79,174 +58,95 @@ export type ValidatorDefinition = {
|
|
|
79
58
|
save: boolean;
|
|
80
59
|
};
|
|
81
60
|
/**
|
|
82
|
-
* @
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
61
|
+
* @summary Base API for a {@link Validator} registry
|
|
62
|
+
*
|
|
63
|
+
* @interface ValidatorRegistry
|
|
64
|
+
* @extends IRegistry
|
|
86
65
|
*
|
|
87
|
-
* @interface IValidatorRegistry
|
|
88
|
-
* @template T Type of validator, must extend Validator
|
|
89
|
-
* @extends IRegistry<T>
|
|
90
|
-
* @memberOf module:decorator-validation
|
|
91
66
|
* @category Validation
|
|
92
67
|
*/
|
|
93
68
|
export interface IValidatorRegistry<T extends Validator> extends IRegistry<T> {
|
|
94
69
|
/**
|
|
95
|
-
* @
|
|
96
|
-
* @
|
|
97
|
-
* This allows for aliasing validation keys for specific use cases.
|
|
98
|
-
*
|
|
99
|
-
* @return {Record<string, string>} Object mapping custom keys to standard validation keys
|
|
70
|
+
* @summary retrieves the custom keys
|
|
71
|
+
* @method
|
|
100
72
|
*/
|
|
101
73
|
getCustomKeys(): Record<string, string>;
|
|
102
74
|
/**
|
|
103
|
-
* @
|
|
104
|
-
* @
|
|
105
|
-
*
|
|
106
|
-
* @return {string[]} Array of registered validator keys
|
|
75
|
+
* @summary Retrieves the Registered validator keys
|
|
76
|
+
* @return {string[]} the registered validators keys
|
|
77
|
+
* @method
|
|
107
78
|
*/
|
|
108
79
|
getKeys(): string[];
|
|
109
80
|
/**
|
|
110
|
-
* @
|
|
111
|
-
* @summary Adds validators to the registry, making them available for validation operations.
|
|
112
|
-
* Validators can be provided as instances or as validator definitions.
|
|
81
|
+
* @summary Registers the provided validators onto the registry
|
|
113
82
|
*
|
|
114
|
-
* @
|
|
115
|
-
* @
|
|
83
|
+
* @typedef T extends Validator
|
|
84
|
+
* @param {T[] | ValidatorDefinition[]} validator
|
|
85
|
+
* @method
|
|
116
86
|
*/
|
|
117
87
|
register<T extends Validator>(...validator: (T | ValidatorDefinition)[]): void;
|
|
118
88
|
/**
|
|
119
|
-
* @
|
|
120
|
-
* @summary Looks up a validator in the registry using its validation key.
|
|
121
|
-
* Returns the validator if found, or undefined if no validator is registered for the key.
|
|
89
|
+
* @summary Retrieves the Validator constructor if registered
|
|
122
90
|
*
|
|
123
|
-
* @
|
|
124
|
-
* @
|
|
91
|
+
* @typedef T extends Validator
|
|
92
|
+
* @param {string} key one of the {@link ValidationKeys}
|
|
93
|
+
* @return {Validator | undefined} the registered Validator or undefined if there is nono matching the provided key
|
|
94
|
+
* @method
|
|
125
95
|
*/
|
|
126
96
|
get<T extends Validator>(key: string): T | undefined;
|
|
127
97
|
}
|
|
128
|
-
/**
|
|
129
|
-
* @description Base options type for all validators
|
|
130
|
-
* @summary Defines the common properties available to all validators
|
|
131
|
-
* @typedef ValidatorOptions
|
|
132
|
-
* @property {string} [message] - Custom error message to display when validation fails
|
|
133
|
-
* @memberOf module:decorator-validation
|
|
134
|
-
* @category Validation
|
|
135
|
-
*/
|
|
136
98
|
export type ValidatorOptions = {
|
|
137
99
|
message?: string;
|
|
138
100
|
};
|
|
139
|
-
/**
|
|
140
|
-
* @description URL validation options interface
|
|
141
|
-
* @summary Defines options for URL validation, including allowed URL types
|
|
142
|
-
* @interface URLValidatorOptions
|
|
143
|
-
* @property {(string|string[]|{ name: string })} types - Specifies the allowed URL types or patterns
|
|
144
|
-
* @memberOf module:decorator-validation
|
|
145
|
-
* @category Validation
|
|
146
|
-
*/
|
|
147
101
|
export interface URLValidatorOptions extends ValidatorOptions {
|
|
148
102
|
types: string | string[] | {
|
|
149
103
|
name: string;
|
|
150
104
|
};
|
|
151
105
|
}
|
|
152
|
-
/**
|
|
153
|
-
* @description Type validation options interface
|
|
154
|
-
* @summary Defines options for type validation, specifying allowed types
|
|
155
|
-
* @interface TypeValidatorOptions
|
|
156
|
-
* @property {(string|string[]|{ name: string })} types - Specifies the allowed data types
|
|
157
|
-
* @memberOf module:decorator-validation
|
|
158
|
-
* @category Validation
|
|
159
|
-
*/
|
|
160
106
|
export interface TypeValidatorOptions extends ValidatorOptions {
|
|
161
107
|
types: string | string[] | {
|
|
162
108
|
name: string;
|
|
163
109
|
};
|
|
164
110
|
}
|
|
165
|
-
/**
|
|
166
|
-
* @description Step validation options interface
|
|
167
|
-
* @summary Defines options for step validation, specifying the step increment
|
|
168
|
-
* @interface StepValidatorOptions
|
|
169
|
-
* @property {(number|string)} [ValidationKeys.STEP] - The step value for numerical validation
|
|
170
|
-
* @memberOf module:decorator-validation
|
|
171
|
-
* @category Validation
|
|
172
|
-
*/
|
|
173
111
|
export interface StepValidatorOptions extends ValidatorOptions {
|
|
174
112
|
[ValidationKeys.STEP]: number | string;
|
|
175
113
|
}
|
|
176
|
-
/**
|
|
177
|
-
* @description Pattern validation options interface
|
|
178
|
-
* @summary Defines options for pattern validation using regular expressions
|
|
179
|
-
* @interface PatternValidatorOptions
|
|
180
|
-
* @property {(RegExp|string)} [ValidationKeys.PATTERN] - The pattern to match against
|
|
181
|
-
* @memberOf module:decorator-validation
|
|
182
|
-
* @category Validation
|
|
183
|
-
*/
|
|
184
114
|
export interface PatternValidatorOptions extends ValidatorOptions {
|
|
185
115
|
[ValidationKeys.PATTERN]?: RegExp | string;
|
|
186
116
|
}
|
|
187
|
-
/**
|
|
188
|
-
* @description Minimum value validation options interface
|
|
189
|
-
* @summary Defines options for minimum value validation
|
|
190
|
-
* @interface MinValidatorOptions
|
|
191
|
-
* @property {(number|Date|string)} [ValidationKeys.MIN] - The minimum allowed value
|
|
192
|
-
* @memberOf module:decorator-validation
|
|
193
|
-
* @category Validation
|
|
194
|
-
*/
|
|
195
117
|
export interface MinValidatorOptions extends ValidatorOptions {
|
|
196
118
|
[ValidationKeys.MIN]: number | Date | string;
|
|
197
119
|
}
|
|
198
|
-
/**
|
|
199
|
-
* @description Minimum length validation options interface
|
|
200
|
-
* @summary Defines options for minimum length validation
|
|
201
|
-
* @interface MinLengthValidatorOptions
|
|
202
|
-
* @property {number} [ValidationKeys.MIN_LENGTH] - The minimum allowed length
|
|
203
|
-
* @memberOf module:decorator-validation
|
|
204
|
-
* @category Validation
|
|
205
|
-
*/
|
|
206
120
|
export interface MinLengthValidatorOptions extends ValidatorOptions {
|
|
207
121
|
[ValidationKeys.MIN_LENGTH]: number;
|
|
208
122
|
}
|
|
209
|
-
/**
|
|
210
|
-
* @description Maximum value validation options interface
|
|
211
|
-
* @summary Defines options for maximum value validation
|
|
212
|
-
* @interface MaxValidatorOptions
|
|
213
|
-
* @property {(number|Date|string)} [ValidationKeys.MAX] - The maximum allowed value
|
|
214
|
-
* @memberOf module:decorator-validation
|
|
215
|
-
* @category Validation
|
|
216
|
-
*/
|
|
217
123
|
export interface MaxValidatorOptions extends ValidatorOptions {
|
|
218
124
|
[ValidationKeys.MAX]: number | Date | string;
|
|
219
125
|
}
|
|
220
|
-
/**
|
|
221
|
-
* @description Maximum length validation options interface
|
|
222
|
-
* @summary Defines options for maximum length validation
|
|
223
|
-
* @interface MaxLengthValidatorOptions
|
|
224
|
-
* @property {number} [ValidationKeys.MAX_LENGTH] - The maximum allowed length
|
|
225
|
-
* @memberOf module:decorator-validation
|
|
226
|
-
* @category Validation
|
|
227
|
-
*/
|
|
228
126
|
export interface MaxLengthValidatorOptions extends ValidatorOptions {
|
|
229
127
|
[ValidationKeys.MAX_LENGTH]: number;
|
|
230
128
|
}
|
|
231
|
-
/**
|
|
232
|
-
* @description List validation options interface
|
|
233
|
-
* @summary Defines options for list validation
|
|
234
|
-
* @interface ListValidatorOptions
|
|
235
|
-
* @property {string[]} clazz - Array of allowed class names or types
|
|
236
|
-
* @memberOf module:decorator-validation
|
|
237
|
-
* @category Validation
|
|
238
|
-
*/
|
|
239
129
|
export interface ListValidatorOptions extends ValidatorOptions {
|
|
240
130
|
clazz: string[];
|
|
241
131
|
}
|
|
242
|
-
/**
|
|
243
|
-
* @description Date validation options interface
|
|
244
|
-
* @summary Defines options for date validation
|
|
245
|
-
* @interface DateValidatorOptions
|
|
246
|
-
* @property {string} [ValidationKeys.FORMAT] - The expected date format pattern
|
|
247
|
-
* @memberOf module:decorator-validation
|
|
248
|
-
* @category Validation
|
|
249
|
-
*/
|
|
250
132
|
export interface DateValidatorOptions extends ValidatorOptions {
|
|
251
133
|
[ValidationKeys.FORMAT]?: string;
|
|
252
134
|
}
|
|
135
|
+
export interface EqualsValidatorOptions extends ValidatorOptions {
|
|
136
|
+
[ValidationKeys.EQUALS]: string;
|
|
137
|
+
}
|
|
138
|
+
export interface DiffValidatorOptions extends ValidatorOptions {
|
|
139
|
+
[ValidationKeys.DIFF]: string;
|
|
140
|
+
}
|
|
141
|
+
export interface LessThanValidatorOptions extends ValidatorOptions {
|
|
142
|
+
[ValidationKeys.LESS_THAN]: string;
|
|
143
|
+
}
|
|
144
|
+
export interface LessThanOrEqualValidatorOptions extends ValidatorOptions {
|
|
145
|
+
[ValidationKeys.LESS_THAN_OR_EQUAL]: string;
|
|
146
|
+
}
|
|
147
|
+
export interface GreaterThanValidatorOptions extends ValidatorOptions {
|
|
148
|
+
[ValidationKeys.GREATER_THAN]: string;
|
|
149
|
+
}
|
|
150
|
+
export interface GreaterThanOrEqualValidatorOptions extends ValidatorOptions {
|
|
151
|
+
[ValidationKeys.GREATER_THAN_OR_EQUAL]: string;
|
|
152
|
+
}
|