@decaf-ts/decorator-validation 1.0.7 → 1.0.12
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.bundle.min.js +1 -1
- package/dist/esm/decorator-validation.bundle.min.esm.js +1 -1
- package/lib/esm/index.d.ts +6 -1
- package/lib/esm/index.js +68 -1
- package/lib/esm/model/Model.d.ts +3 -1
- package/lib/esm/model/Model.js +316 -1
- package/lib/esm/model/ModelErrorDefinition.d.ts +1 -1
- package/lib/esm/model/ModelErrorDefinition.js +55 -3
- package/lib/esm/model/Registry.d.ts +1 -1
- package/lib/esm/model/Registry.js +76 -1
- package/lib/esm/model/constants.js +44 -1
- package/lib/esm/model/construction.js +124 -1
- package/lib/esm/model/decorators.d.ts +3 -3
- package/lib/esm/model/decorators.js +68 -1
- package/lib/esm/model/index.d.ts +3 -3
- package/lib/esm/model/index.js +9 -1
- package/lib/esm/model/types.js +3 -0
- package/lib/esm/reflection/decorators.d.ts +15 -0
- package/lib/esm/reflection/decorators.js +28 -0
- package/lib/esm/reflection/index.d.ts +2 -0
- package/lib/esm/reflection/index.js +4 -0
- package/lib/esm/{utils/general.d.ts → reflection/utils.d.ts} +7 -87
- package/lib/esm/reflection/utils.js +239 -0
- package/lib/esm/utils/constants.js +25 -1
- package/lib/esm/utils/dates.d.ts +76 -0
- package/lib/esm/utils/dates.js +241 -0
- package/lib/esm/utils/equality.d.ts +14 -0
- package/lib/esm/utils/equality.js +34 -0
- package/lib/esm/utils/hashing.d.ts +42 -0
- package/lib/esm/utils/hashing.js +73 -0
- package/lib/esm/utils/index.d.ts +6 -2
- package/lib/esm/utils/index.js +10 -1
- package/lib/esm/utils/registry.js +3 -0
- package/lib/esm/utils/serialization.js +53 -1
- package/lib/esm/utils/strings.d.ts +25 -0
- package/lib/esm/utils/strings.js +31 -0
- package/lib/esm/validation/Validation.d.ts +2 -1
- package/lib/esm/validation/Validation.js +63 -1
- package/lib/esm/validation/Validators/DateValidator.js +55 -1
- package/lib/esm/validation/Validators/EmailValidator.d.ts +0 -1
- package/lib/esm/validation/Validators/EmailValidator.js +49 -1
- package/lib/esm/validation/Validators/ListValidator.js +67 -1
- package/lib/esm/validation/Validators/MaxLengthValidator.js +55 -1
- package/lib/esm/validation/Validators/MaxValidator.js +59 -1
- package/lib/esm/validation/Validators/MinLengthValidator.js +55 -1
- package/lib/esm/validation/Validators/MinValidator.js +59 -1
- package/lib/esm/validation/Validators/PasswordValidator.js +52 -1
- package/lib/esm/validation/Validators/PatternValidator.d.ts +3 -3
- package/lib/esm/validation/Validators/PatternValidator.js +72 -1
- package/lib/esm/validation/Validators/RequiredValidator.js +57 -1
- package/lib/esm/validation/Validators/StepValidator.js +54 -1
- package/lib/esm/validation/Validators/TypeValidator.js +42 -1
- package/lib/esm/validation/Validators/URLValidator.d.ts +0 -1
- package/lib/esm/validation/Validators/URLValidator.js +48 -1
- package/lib/esm/validation/Validators/Validator.js +50 -1
- package/lib/esm/validation/Validators/ValidatorRegistry.js +81 -1
- package/lib/esm/validation/Validators/constants.d.ts +8 -4
- package/lib/esm/validation/Validators/constants.js +135 -1
- package/lib/esm/validation/Validators/decorators.d.ts +13 -0
- package/lib/esm/validation/Validators/decorators.js +23 -0
- package/lib/esm/validation/Validators/index.d.ts +9 -7
- package/lib/esm/validation/Validators/index.js +54 -1
- package/lib/esm/validation/Validators/types.d.ts +2 -2
- package/lib/esm/validation/Validators/types.js +3 -0
- package/lib/esm/validation/decorators.d.ts +14 -87
- package/lib/esm/validation/decorators.js +320 -1
- package/lib/esm/validation/index.d.ts +1 -10
- package/lib/esm/validation/index.js +6 -1
- package/lib/esm/validation/types.d.ts +11 -0
- package/lib/esm/validation/types.js +3 -0
- package/lib/index.cjs +85 -1
- package/lib/index.d.ts +6 -1
- package/lib/model/Model.cjs +321 -1
- package/lib/model/Model.d.ts +3 -1
- package/lib/model/ModelErrorDefinition.cjs +59 -3
- package/lib/model/ModelErrorDefinition.d.ts +1 -1
- package/lib/model/Registry.cjs +81 -1
- package/lib/model/Registry.d.ts +1 -1
- package/lib/model/constants.cjs +47 -1
- package/lib/model/construction.cjs +129 -1
- package/lib/model/decorators.cjs +73 -1
- package/lib/model/decorators.d.ts +3 -3
- package/lib/model/index.cjs +25 -1
- package/lib/model/index.d.ts +3 -3
- package/lib/model/types.cjs +4 -1
- package/lib/reflection/decorators.cjs +31 -0
- package/lib/reflection/decorators.d.ts +15 -0
- package/lib/reflection/index.cjs +20 -0
- package/lib/reflection/index.d.ts +2 -0
- package/lib/reflection/utils.cjs +251 -0
- package/lib/{utils/general.d.ts → reflection/utils.d.ts} +7 -87
- package/lib/utils/constants.cjs +28 -1
- package/lib/utils/dates.cjs +249 -0
- package/lib/utils/dates.d.ts +76 -0
- package/lib/utils/equality.cjs +37 -0
- package/lib/utils/equality.d.ts +14 -0
- package/lib/utils/hashing.cjs +78 -0
- package/lib/utils/hashing.d.ts +42 -0
- package/lib/utils/index.cjs +26 -1
- package/lib/utils/index.d.ts +6 -2
- package/lib/utils/registry.cjs +4 -1
- package/lib/utils/serialization.cjs +57 -1
- package/lib/utils/strings.cjs +35 -0
- package/lib/utils/strings.d.ts +25 -0
- package/lib/validation/Validation.cjs +67 -1
- package/lib/validation/Validation.d.ts +2 -1
- package/lib/validation/Validators/DateValidator.cjs +58 -1
- package/lib/validation/Validators/EmailValidator.cjs +52 -1
- package/lib/validation/Validators/EmailValidator.d.ts +0 -1
- package/lib/validation/Validators/ListValidator.cjs +70 -1
- package/lib/validation/Validators/MaxLengthValidator.cjs +58 -1
- package/lib/validation/Validators/MaxValidator.cjs +62 -1
- package/lib/validation/Validators/MinLengthValidator.cjs +58 -1
- package/lib/validation/Validators/MinValidator.cjs +62 -1
- package/lib/validation/Validators/PasswordValidator.cjs +55 -1
- package/lib/validation/Validators/PatternValidator.cjs +75 -1
- package/lib/validation/Validators/PatternValidator.d.ts +3 -3
- package/lib/validation/Validators/RequiredValidator.cjs +60 -1
- package/lib/validation/Validators/StepValidator.cjs +57 -1
- package/lib/validation/Validators/TypeValidator.cjs +46 -1
- package/lib/validation/Validators/URLValidator.cjs +51 -1
- package/lib/validation/Validators/URLValidator.d.ts +0 -1
- package/lib/validation/Validators/Validator.cjs +54 -1
- package/lib/validation/Validators/ValidatorRegistry.cjs +86 -1
- package/lib/validation/Validators/constants.cjs +138 -1
- package/lib/validation/Validators/constants.d.ts +8 -4
- package/lib/validation/Validators/decorators.cjs +26 -0
- package/lib/validation/Validators/decorators.d.ts +13 -0
- package/lib/validation/Validators/index.cjs +71 -1
- package/lib/validation/Validators/index.d.ts +9 -7
- package/lib/validation/Validators/types.cjs +4 -1
- package/lib/validation/Validators/types.d.ts +2 -2
- package/lib/validation/decorators.cjs +337 -1
- package/lib/validation/decorators.d.ts +14 -87
- package/lib/validation/index.cjs +22 -1
- package/lib/validation/index.d.ts +1 -10
- package/lib/validation/types.cjs +4 -1
- package/lib/validation/types.d.ts +11 -0
- package/package.json +17 -13
- package/lib/esm/utils/general.js +0 -1
- package/lib/utils/general.cjs +0 -1
|
@@ -1 +1,135 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @summary The keys used for validation
|
|
3
|
+
*
|
|
4
|
+
* @property {string} REFLECT prefixes others
|
|
5
|
+
* @property {string} REQUIRED sets as required
|
|
6
|
+
* @property {string} MIN defines min value
|
|
7
|
+
* @property {string} MAX defines max value
|
|
8
|
+
* @property {string} STEP defines step
|
|
9
|
+
* @property {string} MIN_LENGTH defines min length
|
|
10
|
+
* @property {string} MAX_LENGTH defines max length
|
|
11
|
+
* @property {string} PATTERN defines pattern
|
|
12
|
+
* @property {string} EMAIL defines email
|
|
13
|
+
* @property {string} URL defines url
|
|
14
|
+
* @property {string} DATE defines date
|
|
15
|
+
* @property {string} TYPE defines type
|
|
16
|
+
* @property {string} PASSWORD defines password
|
|
17
|
+
* @property {string} LIST defines list
|
|
18
|
+
*
|
|
19
|
+
* @constant ValidationKeys
|
|
20
|
+
* @memberOf module:decorator-validation.Validation
|
|
21
|
+
* @category Validation
|
|
22
|
+
*/
|
|
23
|
+
export const ValidationKeys = {
|
|
24
|
+
REFLECT: "model.validation.",
|
|
25
|
+
REQUIRED: "required",
|
|
26
|
+
MIN: "min",
|
|
27
|
+
MAX: "max",
|
|
28
|
+
STEP: "step",
|
|
29
|
+
MIN_LENGTH: "minlength",
|
|
30
|
+
MAX_LENGTH: "maxlength",
|
|
31
|
+
PATTERN: "pattern",
|
|
32
|
+
EMAIL: "email",
|
|
33
|
+
URL: "url",
|
|
34
|
+
DATE: "date",
|
|
35
|
+
TYPE: "type",
|
|
36
|
+
PASSWORD: "password",
|
|
37
|
+
LIST: "list",
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* @summary list of month names
|
|
41
|
+
* @description Stores month names. Can be changed for localization purposes
|
|
42
|
+
*
|
|
43
|
+
* @constant MONTH_NAMES
|
|
44
|
+
* @memberOf module:decorator-validation.Validation
|
|
45
|
+
* @category Validation
|
|
46
|
+
*/
|
|
47
|
+
export const MONTH_NAMES = [
|
|
48
|
+
"January",
|
|
49
|
+
"February",
|
|
50
|
+
"March",
|
|
51
|
+
"April",
|
|
52
|
+
"May",
|
|
53
|
+
"June",
|
|
54
|
+
"July",
|
|
55
|
+
"August",
|
|
56
|
+
"September",
|
|
57
|
+
"October",
|
|
58
|
+
"November",
|
|
59
|
+
"December",
|
|
60
|
+
];
|
|
61
|
+
/**
|
|
62
|
+
* @summary list of names of days of the week
|
|
63
|
+
* @description Stores names for days of the week. Can be changed for localization purposes
|
|
64
|
+
*
|
|
65
|
+
* @constant DAYS_OF_WEEK_NAMES
|
|
66
|
+
* @memberOf module:decorator-validation.Validation
|
|
67
|
+
* @category Validation
|
|
68
|
+
*/
|
|
69
|
+
export const DAYS_OF_WEEK_NAMES = [
|
|
70
|
+
"Sunday",
|
|
71
|
+
"Monday",
|
|
72
|
+
"Tuesday",
|
|
73
|
+
"Wednesday",
|
|
74
|
+
"Thursday",
|
|
75
|
+
"Friday",
|
|
76
|
+
"Saturday",
|
|
77
|
+
];
|
|
78
|
+
/**
|
|
79
|
+
* @summary Defines the default error messages
|
|
80
|
+
*
|
|
81
|
+
* @property {string} REQUIRED default error message
|
|
82
|
+
* @property {string} MIN default error message
|
|
83
|
+
* @property {string} MAX default error message
|
|
84
|
+
* @property {string} MIN_LENGTH default error message
|
|
85
|
+
* @property {string} MAX_LENGTH default error message
|
|
86
|
+
* @property {string} PATTERN default error message
|
|
87
|
+
* @property {string} EMAIL default error message
|
|
88
|
+
* @property {string} URL default error message
|
|
89
|
+
* @property {string} TYPE default error message
|
|
90
|
+
* @property {string} STEP default error message
|
|
91
|
+
* @property {string} DATE default error message
|
|
92
|
+
* @property {string} DEFAULT default error message
|
|
93
|
+
* @property {string} PASSWORD default error message
|
|
94
|
+
* @property {string} LIST default error message
|
|
95
|
+
* @property {string} LIST_INSIDE default error message
|
|
96
|
+
* @property {string} MODEL_NOT_FOUND default error message
|
|
97
|
+
*
|
|
98
|
+
* @constant DEFAULT_ERROR_MESSAGES
|
|
99
|
+
* @memberOf module:decorator-validation.Validation
|
|
100
|
+
* @category Validation
|
|
101
|
+
*/
|
|
102
|
+
export const DEFAULT_ERROR_MESSAGES = {
|
|
103
|
+
REQUIRED: "This field is required",
|
|
104
|
+
MIN: "The minimum value is {0}",
|
|
105
|
+
MAX: "The maximum value is {0}",
|
|
106
|
+
MIN_LENGTH: "The minimum length is {0}",
|
|
107
|
+
MAX_LENGTH: "The maximum length is {0}",
|
|
108
|
+
PATTERN: "The value does not match the pattern",
|
|
109
|
+
EMAIL: "The value is not a valid email",
|
|
110
|
+
URL: "The value is not a valid URL",
|
|
111
|
+
TYPE: "Invalid type. Expected {0}, received {1}",
|
|
112
|
+
STEP: "Invalid value. Not a step of {0}",
|
|
113
|
+
DATE: "Invalid value. not a valid Date",
|
|
114
|
+
DEFAULT: "There is an Error",
|
|
115
|
+
PASSWORD: "Must be at least 8 characters and contain one of number, lower and upper case letters, and special character (@$!%*?&_-.,)",
|
|
116
|
+
LIST: "Invalid list of {0}",
|
|
117
|
+
LIST_INSIDE: "Elements of list are invalid: {0}",
|
|
118
|
+
MODEL_NOT_FOUND: "No model registered under {0}",
|
|
119
|
+
};
|
|
120
|
+
/**
|
|
121
|
+
* @summary Defines the various default regexp patterns used
|
|
122
|
+
*
|
|
123
|
+
* @enum DEFAULT_PATTERNS
|
|
124
|
+
* @memberOf module:decorator-validation.Validation
|
|
125
|
+
* @category Validation
|
|
126
|
+
*/
|
|
127
|
+
export const DEFAULT_PATTERNS = {
|
|
128
|
+
EMAIL: /[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?/,
|
|
129
|
+
URL: /^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i,
|
|
130
|
+
PASSWORD: {
|
|
131
|
+
CHAR8_ONE_OF_EACH: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&_\-.,])[A-Za-z\d@$!%*?&_\-.,]{8,}$/g,
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsT0FBTyxFQUFFLG1CQUFtQjtJQUM1QixRQUFRLEVBQUUsVUFBVTtJQUNwQixHQUFHLEVBQUUsS0FBSztJQUNWLEdBQUcsRUFBRSxLQUFLO0lBQ1YsSUFBSSxFQUFFLE1BQU07SUFDWixVQUFVLEVBQUUsV0FBVztJQUN2QixVQUFVLEVBQUUsV0FBVztJQUN2QixPQUFPLEVBQUUsU0FBUztJQUNsQixLQUFLLEVBQUUsT0FBTztJQUNkLEdBQUcsRUFBRSxLQUFLO0lBQ1YsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsTUFBTTtJQUNaLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLElBQUksRUFBRSxNQUFNO0NBQ2IsQ0FBQztBQUVGOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsU0FBUztJQUNULFVBQVU7SUFDVixPQUFPO0lBQ1AsT0FBTztJQUNQLEtBQUs7SUFDTCxNQUFNO0lBQ04sTUFBTTtJQUNOLFFBQVE7SUFDUixXQUFXO0lBQ1gsU0FBUztJQUNULFVBQVU7SUFDVixVQUFVO0NBQ1gsQ0FBQztBQUVGOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUNoQyxRQUFRO0lBQ1IsUUFBUTtJQUNSLFNBQVM7SUFDVCxXQUFXO0lBQ1gsVUFBVTtJQUNWLFFBQVE7SUFDUixVQUFVO0NBQ1gsQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUEyQjtJQUM1RCxRQUFRLEVBQUUsd0JBQXdCO0lBQ2xDLEdBQUcsRUFBRSwwQkFBMEI7SUFDL0IsR0FBRyxFQUFFLDBCQUEwQjtJQUMvQixVQUFVLEVBQUUsMkJBQTJCO0lBQ3ZDLFVBQVUsRUFBRSwyQkFBMkI7SUFDdkMsT0FBTyxFQUFFLHNDQUFzQztJQUMvQyxLQUFLLEVBQUUsZ0NBQWdDO0lBQ3ZDLEdBQUcsRUFBRSw4QkFBOEI7SUFDbkMsSUFBSSxFQUFFLDBDQUEwQztJQUNoRCxJQUFJLEVBQUUsa0NBQWtDO0lBQ3hDLElBQUksRUFBRSxpQ0FBaUM7SUFDdkMsT0FBTyxFQUFFLG1CQUFtQjtJQUM1QixRQUFRLEVBQ04sNEhBQTRIO0lBQzlILElBQUksRUFBRSxxQkFBcUI7SUFDM0IsV0FBVyxFQUFFLG1DQUFtQztJQUNoRCxlQUFlLEVBQUUsK0JBQStCO0NBQ2pELENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5QixLQUFLLEVBQ0gsNEpBQTRKO0lBQzlKLEdBQUcsRUFBRSx5YUFBeWE7SUFDOWEsUUFBUSxFQUFFO1FBQ1IsaUJBQWlCLEVBQ2YsaUZBQWlGO0tBQ3BGO0NBQ0YsQ0FBQyIsImZpbGUiOiJ2YWxpZGF0aW9uL1ZhbGlkYXRvcnMvY29uc3RhbnRzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc3VtbWFyeSBUaGUga2V5cyB1c2VkIGZvciB2YWxpZGF0aW9uXG4gKlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFJFRkxFQ1QgcHJlZml4ZXMgb3RoZXJzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gUkVRVUlSRUQgc2V0cyBhcyByZXF1aXJlZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IE1JTiBkZWZpbmVzIG1pbiB2YWx1ZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IE1BWCBkZWZpbmVzIG1heCB2YWx1ZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFNURVAgZGVmaW5lcyBzdGVwXG4gKiBAcHJvcGVydHkge3N0cmluZ30gTUlOX0xFTkdUSCBkZWZpbmVzIG1pbiBsZW5ndGhcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBNQVhfTEVOR1RIIGRlZmluZXMgbWF4IGxlbmd0aFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFBBVFRFUk4gZGVmaW5lcyBwYXR0ZXJuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gRU1BSUwgZGVmaW5lcyBlbWFpbFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFVSTCBkZWZpbmVzIHVybFxuICogQHByb3BlcnR5IHtzdHJpbmd9IERBVEUgZGVmaW5lcyBkYXRlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gVFlQRSBkZWZpbmVzIHR5cGVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBQQVNTV09SRCBkZWZpbmVzIHBhc3N3b3JkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gTElTVCBkZWZpbmVzIGxpc3RcbiAqXG4gKiBAY29uc3RhbnQgVmFsaWRhdGlvbktleXNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uVmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IFZhbGlkYXRpb25LZXlzID0ge1xuICBSRUZMRUNUOiBcIm1vZGVsLnZhbGlkYXRpb24uXCIsXG4gIFJFUVVJUkVEOiBcInJlcXVpcmVkXCIsXG4gIE1JTjogXCJtaW5cIixcbiAgTUFYOiBcIm1heFwiLFxuICBTVEVQOiBcInN0ZXBcIixcbiAgTUlOX0xFTkdUSDogXCJtaW5sZW5ndGhcIixcbiAgTUFYX0xFTkdUSDogXCJtYXhsZW5ndGhcIixcbiAgUEFUVEVSTjogXCJwYXR0ZXJuXCIsXG4gIEVNQUlMOiBcImVtYWlsXCIsXG4gIFVSTDogXCJ1cmxcIixcbiAgREFURTogXCJkYXRlXCIsXG4gIFRZUEU6IFwidHlwZVwiLFxuICBQQVNTV09SRDogXCJwYXNzd29yZFwiLFxuICBMSVNUOiBcImxpc3RcIixcbn07XG5cbi8qKlxuICogQHN1bW1hcnkgbGlzdCBvZiBtb250aCBuYW1lc1xuICogQGRlc2NyaXB0aW9uIFN0b3JlcyBtb250aCBuYW1lcy4gQ2FuIGJlIGNoYW5nZWQgZm9yIGxvY2FsaXphdGlvbiBwdXJwb3Nlc1xuICpcbiAqIEBjb25zdGFudCBNT05USF9OQU1FU1xuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgY29uc3QgTU9OVEhfTkFNRVMgPSBbXG4gIFwiSmFudWFyeVwiLFxuICBcIkZlYnJ1YXJ5XCIsXG4gIFwiTWFyY2hcIixcbiAgXCJBcHJpbFwiLFxuICBcIk1heVwiLFxuICBcIkp1bmVcIixcbiAgXCJKdWx5XCIsXG4gIFwiQXVndXN0XCIsXG4gIFwiU2VwdGVtYmVyXCIsXG4gIFwiT2N0b2JlclwiLFxuICBcIk5vdmVtYmVyXCIsXG4gIFwiRGVjZW1iZXJcIixcbl07XG5cbi8qKlxuICogQHN1bW1hcnkgbGlzdCBvZiBuYW1lcyBvZiBkYXlzIG9mIHRoZSB3ZWVrXG4gKiBAZGVzY3JpcHRpb24gU3RvcmVzIG5hbWVzIGZvciBkYXlzIG9mIHRoZSB3ZWVrLiBDYW4gYmUgY2hhbmdlZCBmb3IgbG9jYWxpemF0aW9uIHB1cnBvc2VzXG4gKlxuICogQGNvbnN0YW50IERBWVNfT0ZfV0VFS19OQU1FU1xuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgY29uc3QgREFZU19PRl9XRUVLX05BTUVTID0gW1xuICBcIlN1bmRheVwiLFxuICBcIk1vbmRheVwiLFxuICBcIlR1ZXNkYXlcIixcbiAgXCJXZWRuZXNkYXlcIixcbiAgXCJUaHVyc2RheVwiLFxuICBcIkZyaWRheVwiLFxuICBcIlNhdHVyZGF5XCIsXG5dO1xuXG4vKipcbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIGRlZmF1bHQgZXJyb3IgbWVzc2FnZXNcbiAqXG4gKiBAcHJvcGVydHkge3N0cmluZ30gUkVRVUlSRUQgZGVmYXVsdCBlcnJvciBtZXNzYWdlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gTUlOIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IE1BWCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBNSU5fTEVOR1RIIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IE1BWF9MRU5HVEggZGVmYXVsdCBlcnJvciBtZXNzYWdlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gUEFUVEVSTiBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBFTUFJTCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBVUkwgZGVmYXVsdCBlcnJvciBtZXNzYWdlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gVFlQRSBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBTVEVQIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IERBVEUgZGVmYXVsdCBlcnJvciBtZXNzYWdlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gREVGQVVMVCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBQQVNTV09SRCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBMSVNUIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IExJU1RfSU5TSURFIGRlZmF1bHQgZXJyb3IgbWVzc2FnZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IE1PREVMX05PVF9GT1VORCBkZWZhdWx0IGVycm9yIG1lc3NhZ2VcbiAqXG4gKiBAY29uc3RhbnQgREVGQVVMVF9FUlJPUl9NRVNTQUdFU1xuICogQG1lbWJlck9mIG1vZHVsZTpkZWNvcmF0b3ItdmFsaWRhdGlvbi5WYWxpZGF0aW9uXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9FUlJPUl9NRVNTQUdFUzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgUkVRVUlSRUQ6IFwiVGhpcyBmaWVsZCBpcyByZXF1aXJlZFwiLFxuICBNSU46IFwiVGhlIG1pbmltdW0gdmFsdWUgaXMgezB9XCIsXG4gIE1BWDogXCJUaGUgbWF4aW11bSB2YWx1ZSBpcyB7MH1cIixcbiAgTUlOX0xFTkdUSDogXCJUaGUgbWluaW11bSBsZW5ndGggaXMgezB9XCIsXG4gIE1BWF9MRU5HVEg6IFwiVGhlIG1heGltdW0gbGVuZ3RoIGlzIHswfVwiLFxuICBQQVRURVJOOiBcIlRoZSB2YWx1ZSBkb2VzIG5vdCBtYXRjaCB0aGUgcGF0dGVyblwiLFxuICBFTUFJTDogXCJUaGUgdmFsdWUgaXMgbm90IGEgdmFsaWQgZW1haWxcIixcbiAgVVJMOiBcIlRoZSB2YWx1ZSBpcyBub3QgYSB2YWxpZCBVUkxcIixcbiAgVFlQRTogXCJJbnZhbGlkIHR5cGUuIEV4cGVjdGVkIHswfSwgcmVjZWl2ZWQgezF9XCIsXG4gIFNURVA6IFwiSW52YWxpZCB2YWx1ZS4gTm90IGEgc3RlcCBvZiB7MH1cIixcbiAgREFURTogXCJJbnZhbGlkIHZhbHVlLiBub3QgYSB2YWxpZCBEYXRlXCIsXG4gIERFRkFVTFQ6IFwiVGhlcmUgaXMgYW4gRXJyb3JcIixcbiAgUEFTU1dPUkQ6XG4gICAgXCJNdXN0IGJlIGF0IGxlYXN0IDggY2hhcmFjdGVycyBhbmQgY29udGFpbiBvbmUgb2YgbnVtYmVyLCBsb3dlciBhbmQgdXBwZXIgY2FzZSBsZXR0ZXJzLCBhbmQgc3BlY2lhbCBjaGFyYWN0ZXIgKEAkISUqPyZfLS4sKVwiLFxuICBMSVNUOiBcIkludmFsaWQgbGlzdCBvZiB7MH1cIixcbiAgTElTVF9JTlNJREU6IFwiRWxlbWVudHMgb2YgbGlzdCBhcmUgaW52YWxpZDogezB9XCIsXG4gIE1PREVMX05PVF9GT1VORDogXCJObyBtb2RlbCByZWdpc3RlcmVkIHVuZGVyIHswfVwiLFxufTtcblxuLyoqXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSB2YXJpb3VzIGRlZmF1bHQgcmVnZXhwIHBhdHRlcm5zIHVzZWRcbiAqXG4gKiBAZW51bSBERUZBVUxUX1BBVFRFUk5TXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uLlZhbGlkYXRpb25cbiAqIEBjYXRlZ29yeSBWYWxpZGF0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX1BBVFRFUk5TID0ge1xuICBFTUFJTDpcbiAgICAvW2EtekEtWjAtOSEjJCUmJyorLz0/Xl9ge3x9fi1dKyg/OlxcLlthLXpBLVowLTkhIyQlJicqKy89P15fYHt8fX4tXSspKkAoPzpbYS16QS1aMC05XSg/OlthLXowLTktXSpbYS16QS1aMC05XSk/XFwuKStbYS16QS1aMC05XSg/OlthLXpBLVowLTktXSpbYS16QS1aMC05XSk/LyxcbiAgVVJMOiAvXig/Oig/Oig/Omh0dHBzP3xmdHApOik/XFwvXFwvKSg/OlxcUysoPzo6XFxTKik/QCk/KD86KD8hKD86MTB8MTI3KSg/OlxcLlxcZHsxLDN9KXszfSkoPyEoPzoxNjlcXC4yNTR8MTkyXFwuMTY4KSg/OlxcLlxcZHsxLDN9KXsyfSkoPyExNzJcXC4oPzoxWzYtOV18MlxcZHwzWzAtMV0pKD86XFwuXFxkezEsM30pezJ9KSg/OlsxLTldXFxkP3wxXFxkXFxkfDJbMDFdXFxkfDIyWzAtM10pKD86XFwuKD86MT9cXGR7MSwyfXwyWzAtNF1cXGR8MjVbMC01XSkpezJ9KD86XFwuKD86WzEtOV1cXGQ/fDFcXGRcXGR8MlswLTRdXFxkfDI1WzAtNF0pKXwoPzooPzpbYS16MC05XFx1MDBhMS1cXHVmZmZmXVthLXowLTlcXHUwMGExLVxcdWZmZmZfLV17MCw2Mn0pP1thLXowLTlcXHUwMGExLVxcdWZmZmZdXFwuKSsoPzpbYS16XFx1MDBhMS1cXHVmZmZmXXsyLH1cXC4/KSkoPzo6XFxkezIsNX0pPyg/OlsvPyNdXFxTKik/JC9pLFxuICBQQVNTV09SRDoge1xuICAgIENIQVI4X09ORV9PRl9FQUNIOlxuICAgICAgL14oPz0uKlthLXpdKSg/PS4qW0EtWl0pKD89LipcXGQpKD89LipbQCQhJSo/Jl9cXC0uLF0pW0EtWmEtelxcZEAkISUqPyZfXFwtLixdezgsfSQvZyxcbiAgfSxcbn07XG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Validator } from "./Validator";
|
|
2
|
+
import { Constructor } from "../../model/types";
|
|
3
|
+
/**
|
|
4
|
+
* @summary Marks the class as a validator for a certain key.
|
|
5
|
+
* @description Registers the class in the {@link Validation} with the provided key
|
|
6
|
+
*
|
|
7
|
+
* @param {string} key the validation key
|
|
8
|
+
*
|
|
9
|
+
* @function validator
|
|
10
|
+
*
|
|
11
|
+
* @category Decorators
|
|
12
|
+
*/
|
|
13
|
+
export declare function validator<T extends Validator>(key: string): (original: Constructor<T>) => Constructor<T>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Validation } from "../Validation";
|
|
2
|
+
/**
|
|
3
|
+
* @summary Marks the class as a validator for a certain key.
|
|
4
|
+
* @description Registers the class in the {@link Validation} with the provided key
|
|
5
|
+
*
|
|
6
|
+
* @param {string} key the validation key
|
|
7
|
+
*
|
|
8
|
+
* @function validator
|
|
9
|
+
*
|
|
10
|
+
* @category Decorators
|
|
11
|
+
*/
|
|
12
|
+
export function validator(key) {
|
|
13
|
+
return (original) => {
|
|
14
|
+
Validation.register({
|
|
15
|
+
validator: original,
|
|
16
|
+
validationKey: key,
|
|
17
|
+
save: true,
|
|
18
|
+
});
|
|
19
|
+
return original;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvZGVjb3JhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQXNCLEdBQVc7SUFDeEQsT0FBTyxDQUFDLFFBQXdCLEVBQUUsRUFBRTtRQUNsQyxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ2xCLFNBQVMsRUFBRSxRQUFRO1lBQ25CLGFBQWEsRUFBRSxHQUFHO1lBQ2xCLElBQUksRUFBRSxJQUFJO1NBQ1ksQ0FBQyxDQUFDO1FBQzFCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUMsQ0FBQztBQUNKLENBQUMiLCJmaWxlIjoidmFsaWRhdGlvbi9WYWxpZGF0b3JzL2RlY29yYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3IgfSBmcm9tIFwiLi9WYWxpZGF0b3JcIjtcbmltcG9ydCB7IFZhbGlkYXRpb24gfSBmcm9tIFwiLi4vVmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgVmFsaWRhdG9yRGVmaW5pdGlvbiB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gXCIuLi8uLi9tb2RlbC90eXBlc1wiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IE1hcmtzIHRoZSBjbGFzcyBhcyBhIHZhbGlkYXRvciBmb3IgYSBjZXJ0YWluIGtleS5cbiAqIEBkZXNjcmlwdGlvbiBSZWdpc3RlcnMgdGhlIGNsYXNzIGluIHRoZSB7QGxpbmsgVmFsaWRhdGlvbn0gd2l0aCB0aGUgcHJvdmlkZWQga2V5XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSB0aGUgdmFsaWRhdGlvbiBrZXlcbiAqXG4gKiBAZnVuY3Rpb24gdmFsaWRhdG9yXG4gKlxuICogQGNhdGVnb3J5IERlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRvcjxUIGV4dGVuZHMgVmFsaWRhdG9yPihrZXk6IHN0cmluZykge1xuICByZXR1cm4gKG9yaWdpbmFsOiBDb25zdHJ1Y3RvcjxUPikgPT4ge1xuICAgIFZhbGlkYXRpb24ucmVnaXN0ZXIoe1xuICAgICAgdmFsaWRhdG9yOiBvcmlnaW5hbCxcbiAgICAgIHZhbGlkYXRpb25LZXk6IGtleSxcbiAgICAgIHNhdmU6IHRydWUsXG4gICAgfSBhcyBWYWxpZGF0b3JEZWZpbml0aW9uKTtcbiAgICByZXR1cm4gb3JpZ2luYWw7XG4gIH07XG59XG4iXX0=
|
|
@@ -12,21 +12,23 @@ import { RequiredValidator } from "./RequiredValidator";
|
|
|
12
12
|
import { EmailValidator } from "./EmailValidator";
|
|
13
13
|
import { ListValidator } from "./ListValidator";
|
|
14
14
|
export * from "./constants";
|
|
15
|
-
export * from "./
|
|
16
|
-
export * from "./
|
|
17
|
-
export * from "./ValidatorRegistry";
|
|
15
|
+
export * from "./DateValidator";
|
|
16
|
+
export * from "./decorators";
|
|
18
17
|
export * from "./EmailValidator";
|
|
19
|
-
export * from "./
|
|
18
|
+
export * from "./ListValidator";
|
|
20
19
|
export * from "./MaxLengthValidator";
|
|
21
20
|
export * from "./MaxValidator";
|
|
22
21
|
export * from "./MinLengthValidator";
|
|
23
22
|
export * from "./MinValidator";
|
|
23
|
+
export * from "./PasswordValidator";
|
|
24
24
|
export * from "./PatternValidator";
|
|
25
|
-
export * from "./
|
|
25
|
+
export * from "./RequiredValidator";
|
|
26
26
|
export * from "./StepValidator";
|
|
27
|
-
export * from "./
|
|
27
|
+
export * from "./types";
|
|
28
28
|
export * from "./TypeValidator";
|
|
29
|
-
export * from "./
|
|
29
|
+
export * from "./URLValidator";
|
|
30
|
+
export * from "./Validator";
|
|
31
|
+
export * from "./ValidatorRegistry";
|
|
30
32
|
/**
|
|
31
33
|
* @summary constant holding all {@link Validator}s
|
|
32
34
|
* @constant Validators
|
|
@@ -1 +1,54 @@
|
|
|
1
|
-
import{DateValidator}from"./DateValidator";
|
|
1
|
+
import { DateValidator } from "./DateValidator";
|
|
2
|
+
import { TypeValidator } from "./TypeValidator";
|
|
3
|
+
import { PasswordValidator } from "./PasswordValidator";
|
|
4
|
+
import { StepValidator } from "./StepValidator";
|
|
5
|
+
import { URLValidator } from "./URLValidator";
|
|
6
|
+
import { PatternValidator } from "./PatternValidator";
|
|
7
|
+
import { MinValidator } from "./MinValidator";
|
|
8
|
+
import { MinLengthValidator } from "./MinLengthValidator";
|
|
9
|
+
import { MaxValidator } from "./MaxValidator";
|
|
10
|
+
import { MaxLengthValidator } from "./MaxLengthValidator";
|
|
11
|
+
import { RequiredValidator } from "./RequiredValidator";
|
|
12
|
+
import { EmailValidator } from "./EmailValidator";
|
|
13
|
+
import { ListValidator } from "./ListValidator";
|
|
14
|
+
export * from "./constants";
|
|
15
|
+
export * from "./DateValidator";
|
|
16
|
+
export * from "./decorators";
|
|
17
|
+
export * from "./EmailValidator";
|
|
18
|
+
export * from "./ListValidator";
|
|
19
|
+
export * from "./MaxLengthValidator";
|
|
20
|
+
export * from "./MaxValidator";
|
|
21
|
+
export * from "./MinLengthValidator";
|
|
22
|
+
export * from "./MinValidator";
|
|
23
|
+
export * from "./PasswordValidator";
|
|
24
|
+
export * from "./PatternValidator";
|
|
25
|
+
export * from "./RequiredValidator";
|
|
26
|
+
export * from "./StepValidator";
|
|
27
|
+
export * from "./types";
|
|
28
|
+
export * from "./TypeValidator";
|
|
29
|
+
export * from "./URLValidator";
|
|
30
|
+
export * from "./Validator";
|
|
31
|
+
export * from "./ValidatorRegistry";
|
|
32
|
+
/**
|
|
33
|
+
* @summary constant holding all {@link Validator}s
|
|
34
|
+
* @constant Validators
|
|
35
|
+
* @memberOf module:decorator-validation.Validation.Validators
|
|
36
|
+
* @category Validation
|
|
37
|
+
*/
|
|
38
|
+
export const Validators = {
|
|
39
|
+
EmailValidator,
|
|
40
|
+
RequiredValidator,
|
|
41
|
+
MaxLengthValidator,
|
|
42
|
+
MaxValidator,
|
|
43
|
+
MinLengthValidator,
|
|
44
|
+
MinValidator,
|
|
45
|
+
PatternValidator,
|
|
46
|
+
URLValidator,
|
|
47
|
+
StepValidator,
|
|
48
|
+
DateValidator,
|
|
49
|
+
TypeValidator,
|
|
50
|
+
PasswordValidator,
|
|
51
|
+
ListValidator,
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRCxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMscUJBQXFCLENBQUM7QUFDcEM7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDeEIsY0FBYztJQUNkLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLFlBQVk7SUFDWixhQUFhO0lBQ2IsYUFBYTtJQUNiLGFBQWE7SUFDYixpQkFBaUI7SUFDakIsYUFBYTtDQUNkLENBQUMiLCJmaWxlIjoidmFsaWRhdGlvbi9WYWxpZGF0b3JzL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVZhbGlkYXRvciB9IGZyb20gXCIuL0RhdGVWYWxpZGF0b3JcIjtcbmltcG9ydCB7IFR5cGVWYWxpZGF0b3IgfSBmcm9tIFwiLi9UeXBlVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBQYXNzd29yZFZhbGlkYXRvciB9IGZyb20gXCIuL1Bhc3N3b3JkVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBTdGVwVmFsaWRhdG9yIH0gZnJvbSBcIi4vU3RlcFZhbGlkYXRvclwiO1xuaW1wb3J0IHsgVVJMVmFsaWRhdG9yIH0gZnJvbSBcIi4vVVJMVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBQYXR0ZXJuVmFsaWRhdG9yIH0gZnJvbSBcIi4vUGF0dGVyblZhbGlkYXRvclwiO1xuaW1wb3J0IHsgTWluVmFsaWRhdG9yIH0gZnJvbSBcIi4vTWluVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBNaW5MZW5ndGhWYWxpZGF0b3IgfSBmcm9tIFwiLi9NaW5MZW5ndGhWYWxpZGF0b3JcIjtcbmltcG9ydCB7IE1heFZhbGlkYXRvciB9IGZyb20gXCIuL01heFZhbGlkYXRvclwiO1xuaW1wb3J0IHsgTWF4TGVuZ3RoVmFsaWRhdG9yIH0gZnJvbSBcIi4vTWF4TGVuZ3RoVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBSZXF1aXJlZFZhbGlkYXRvciB9IGZyb20gXCIuL1JlcXVpcmVkVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBFbWFpbFZhbGlkYXRvciB9IGZyb20gXCIuL0VtYWlsVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBMaXN0VmFsaWRhdG9yIH0gZnJvbSBcIi4vTGlzdFZhbGlkYXRvclwiO1xuXG5leHBvcnQgKiBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0RhdGVWYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0VtYWlsVmFsaWRhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9MaXN0VmFsaWRhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9NYXhMZW5ndGhWYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL01heFZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vTWluTGVuZ3RoVmFsaWRhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9NaW5WYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1Bhc3N3b3JkVmFsaWRhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9QYXR0ZXJuVmFsaWRhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9SZXF1aXJlZFZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vU3RlcFZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1R5cGVWYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1VSTFZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vVmFsaWRhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9WYWxpZGF0b3JSZWdpc3RyeVwiO1xuLyoqXG4gKiBAc3VtbWFyeSBjb25zdGFudCBob2xkaW5nIGFsbCB7QGxpbmsgVmFsaWRhdG9yfXNcbiAqIEBjb25zdGFudCBWYWxpZGF0b3JzXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRlY29yYXRvci12YWxpZGF0aW9uLlZhbGlkYXRpb24uVmFsaWRhdG9yc1xuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IFZhbGlkYXRvcnMgPSB7XG4gIEVtYWlsVmFsaWRhdG9yLFxuICBSZXF1aXJlZFZhbGlkYXRvcixcbiAgTWF4TGVuZ3RoVmFsaWRhdG9yLFxuICBNYXhWYWxpZGF0b3IsXG4gIE1pbkxlbmd0aFZhbGlkYXRvcixcbiAgTWluVmFsaWRhdG9yLFxuICBQYXR0ZXJuVmFsaWRhdG9yLFxuICBVUkxWYWxpZGF0b3IsXG4gIFN0ZXBWYWxpZGF0b3IsXG4gIERhdGVWYWxpZGF0b3IsXG4gIFR5cGVWYWxpZGF0b3IsXG4gIFBhc3N3b3JkVmFsaWRhdG9yLFxuICBMaXN0VmFsaWRhdG9yLFxufTtcbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Validator } from "./Validator";
|
|
2
|
-
import { IRegistry } from "../../utils";
|
|
3
|
-
import { Constructor } from "../../model";
|
|
2
|
+
import { IRegistry } from "../../utils/registry";
|
|
3
|
+
import { Constructor } from "../../model/types";
|
|
4
4
|
/**
|
|
5
5
|
* @summary Util type for {@link Validator} configuration
|
|
6
6
|
* @memberOf module:decorator-validation.Validation
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJ2YWxpZGF0aW9uL1ZhbGlkYXRvcnMvdHlwZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3IgfSBmcm9tIFwiLi9WYWxpZGF0b3JcIjtcbmltcG9ydCB7IElSZWdpc3RyeSB9IGZyb20gXCIuLi8uLi91dGlscy9yZWdpc3RyeVwiO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tIFwiLi4vLi4vbW9kZWwvdHlwZXNcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBVdGlsIHR5cGUgZm9yIHtAbGluayBWYWxpZGF0b3J9IGNvbmZpZ3VyYXRpb25cbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGVjb3JhdG9yLXZhbGlkYXRpb24uVmFsaWRhdGlvblxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IHR5cGUgVmFsaWRhdG9yRGVmaW5pdGlvbiA9IHtcbiAgdmFsaWRhdG9yOiBDb25zdHJ1Y3RvcjxWYWxpZGF0b3I+O1xuICB2YWxpZGF0aW9uS2V5OiBzdHJpbmc7XG4gIHNhdmU6IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIEBzdW1tYXJ5IEJhc2UgQVBJIGZvciBhIHtAbGluayBWYWxpZGF0b3J9IHJlZ2lzdHJ5XG4gKlxuICogQGludGVyZmFjZSBWYWxpZGF0b3JSZWdpc3RyeVxuICogQGV4dGVuZHMgSVJlZ2lzdHJ5XG4gKlxuICogQGNhdGVnb3J5IFZhbGlkYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJVmFsaWRhdG9yUmVnaXN0cnk8VCBleHRlbmRzIFZhbGlkYXRvcj4gZXh0ZW5kcyBJUmVnaXN0cnk8VD4ge1xuICAvKipcbiAgICogQHN1bW1hcnkgcmV0cmlldmVzIHRoZSBjdXN0b20ga2V5c1xuICAgKiBAbWV0aG9kXG4gICAqL1xuICBnZXRDdXN0b21LZXlzKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFJldHJpZXZlcyB0aGUgUmVnaXN0ZXJlZCB2YWxpZGF0b3Iga2V5c1xuICAgKiBAcmV0dXJuIHtzdHJpbmdbXX0gdGhlIHJlZ2lzdGVyZWQgdmFsaWRhdG9ycyBrZXlzXG4gICAqIEBtZXRob2RcbiAgICovXG4gIGdldEtleXMoKTogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFJlZ2lzdGVycyB0aGUgcHJvdmlkZWQgdmFsaWRhdG9ycyBvbnRvIHRoZSByZWdpc3RyeVxuICAgKlxuICAgKiBAdHlwZWRlZiBUIGV4dGVuZHMgVmFsaWRhdG9yXG4gICAqIEBwYXJhbSB7VFtdIHwgVmFsaWRhdG9yRGVmaW5pdGlvbltdfSB2YWxpZGF0b3JcbiAgICogQG1ldGhvZFxuICAgKi9cbiAgcmVnaXN0ZXI8VCBleHRlbmRzIFZhbGlkYXRvcj4oXG4gICAgLi4udmFsaWRhdG9yOiAoVCB8IFZhbGlkYXRvckRlZmluaXRpb24pW11cbiAgKTogdm9pZDtcblxuICAvKipcbiAgICogQHN1bW1hcnkgUmV0cmlldmVzIHRoZSBWYWxpZGF0b3IgY29uc3RydWN0b3IgaWYgcmVnaXN0ZXJlZFxuICAgKlxuICAgKiBAdHlwZWRlZiBUIGV4dGVuZHMgVmFsaWRhdG9yXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgb25lIG9mIHRoZSB7QGxpbmsgVmFsaWRhdGlvbktleXN9XG4gICAqIEByZXR1cm4ge1ZhbGlkYXRvciB8IHVuZGVmaW5lZH0gdGhlIHJlZ2lzdGVyZWQgVmFsaWRhdG9yIG9yIHVuZGVmaW5lZCBpZiB0aGVyZSBpcyBub25vIG1hdGNoaW5nIHRoZSBwcm92aWRlZCBrZXlcbiAgICogQG1ldGhvZFxuICAgKi9cbiAgZ2V0PFQgZXh0ZW5kcyBWYWxpZGF0b3I+KGtleTogc3RyaW5nKTogVCB8IHVuZGVmaW5lZDtcbn1cbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "reflect-metadata";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { Constructor, ModelConstructor } from "../model/types";
|
|
3
|
+
import { Validator } from "./Validators/Validator";
|
|
4
4
|
/**
|
|
5
5
|
* @summary Builds the key to store as Metadata under Reflections
|
|
6
6
|
* @description concatenates {@link ValidationKeys#REFLECT} with the provided key
|
|
@@ -17,191 +17,118 @@ export declare function getValidationKey(key: string): string;
|
|
|
17
17
|
* @description Validators to validate a decorated property must use key {@link ValidationKeys#REQUIRED}
|
|
18
18
|
*
|
|
19
19
|
* @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#REQUIRED}
|
|
20
|
-
* @param {Constructor<Validator>} [validator] the Validator to be used. Defaults to {@link RequiredValidator}
|
|
21
20
|
*
|
|
22
21
|
* @function required
|
|
23
|
-
*
|
|
22
|
+
*
|
|
24
23
|
* @category Decorators
|
|
25
24
|
*/
|
|
26
|
-
export declare function required(message?: string
|
|
25
|
+
export declare function required(message?: string): import("../reflection/decorators").CustomDecorator<V>;
|
|
27
26
|
/**
|
|
28
27
|
* @summary Defines a minimum value for the property
|
|
29
28
|
* @description Validators to validate a decorated property must use key {@link ValidationKeys#MIN}
|
|
30
29
|
*
|
|
31
30
|
* @param {number | Date} value
|
|
32
31
|
* @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#MIN}
|
|
33
|
-
* @param {Constructor<Validator>} [validator] the Validator to be used. Defaults to {@link MinValidator}
|
|
34
32
|
*
|
|
35
33
|
* @function min
|
|
36
34
|
* @memberOf module:decorator-validation.Decorators.Validation
|
|
37
35
|
* @category Decorators
|
|
38
36
|
*/
|
|
39
|
-
export declare function min(value: number | Date | string, message?: string
|
|
37
|
+
export declare function min(value: number | Date | string, message?: string): import("../reflection/decorators").CustomDecorator<V>;
|
|
40
38
|
/**
|
|
41
39
|
* @summary Defines a maximum value for the property
|
|
42
40
|
* @description Validators to validate a decorated property must use key {@link ValidationKeys#MAX}
|
|
43
41
|
*
|
|
44
42
|
* @param {number | Date} value
|
|
45
43
|
* @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#MAX}
|
|
46
|
-
* @param {Constructor<Validator>} [validator] the Validator to be used. Defaults to {@link MaxValidator}
|
|
47
44
|
*
|
|
48
45
|
* @function max
|
|
49
46
|
* @memberOf module:decorator-validation.Decorators.Validation
|
|
50
47
|
* @category Decorators
|
|
51
48
|
*/
|
|
52
|
-
export declare function max(value: number | Date | string, message?: string
|
|
49
|
+
export declare function max(value: number | Date | string, message?: string): import("../reflection/decorators").CustomDecorator<V>;
|
|
53
50
|
/**
|
|
54
51
|
* @summary Defines a step value for the property
|
|
55
52
|
* @description Validators to validate a decorated property must use key {@link ValidationKeys#STEP}
|
|
56
53
|
*
|
|
57
54
|
* @param {number} value
|
|
58
55
|
* @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#STEP}
|
|
59
|
-
* @param {Constructor<Validator>} [validator] the Validator to be used. Defaults to {@link StepValidator}
|
|
60
56
|
*
|
|
61
57
|
* @function step
|
|
62
58
|
* @memberOf module:decorator-validation.Decorators.Validation
|
|
63
59
|
* @category Decorators
|
|
64
60
|
*/
|
|
65
|
-
export declare function step(value: number, message?: string
|
|
61
|
+
export declare function step(value: number, message?: string): import("../reflection/decorators").CustomDecorator<V>;
|
|
66
62
|
/**
|
|
67
63
|
* @summary Defines a minimum length for the property
|
|
68
64
|
* @description Validators to validate a decorated property must use key {@link ValidationKeys#MIN_LENGTH}
|
|
69
65
|
*
|
|
70
66
|
* @param {string} value
|
|
71
67
|
* @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#MIN_LENGTH}
|
|
72
|
-
* @param {Constructor<Validator>} [validator] the Validator to be used. Defaults to {@link MinLengthValidator}
|
|
73
68
|
*
|
|
74
69
|
* @function minlength
|
|
75
70
|
* @memberOf module:decorator-validation.Decorators.Validation
|
|
76
71
|
* @category Decorators
|
|
77
72
|
*/
|
|
78
|
-
export declare function minlength(value: number, message?: string
|
|
73
|
+
export declare function minlength(value: number, message?: string): import("../reflection/decorators").CustomDecorator<V>;
|
|
79
74
|
/**
|
|
80
75
|
* @summary Defines a maximum length for the property
|
|
81
76
|
* @description Validators to validate a decorated property must use key {@link ValidationKeys#MAX_LENGTH}
|
|
82
77
|
*
|
|
83
78
|
* @param {string} value
|
|
84
79
|
* @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#MAX_LENGTH}
|
|
85
|
-
* @param {Constructor<Validator>} [validator] the Validator to be used. Defaults to {@link MaxLengthValidator}
|
|
86
80
|
*
|
|
87
81
|
* @function maxlength
|
|
88
82
|
* @memberOf module:decorator-validation.Decorators.Validation
|
|
89
83
|
* @category Decorators
|
|
90
84
|
*/
|
|
91
|
-
export declare function maxlength(value: number, message?: string
|
|
85
|
+
export declare function maxlength(value: number, message?: string): import("../reflection/decorators").CustomDecorator<V>;
|
|
92
86
|
/**
|
|
93
87
|
* @summary Defines a RegExp pattern the property must respect
|
|
94
88
|
* @description Validators to validate a decorated property must use key {@link ValidationKeys#PATTERN}
|
|
95
89
|
*
|
|
96
90
|
* @param {string} value
|
|
97
91
|
* @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#PATTERN}
|
|
98
|
-
* @param {Constructor<Validator>} [validator] the Validator to be used. Defaults to {@link PatternValidator}
|
|
99
92
|
*
|
|
100
93
|
* @function pattern
|
|
101
94
|
* @memberOf module:decorator-validation.Decorators.Validation
|
|
102
95
|
* @category Decorators
|
|
103
96
|
*/
|
|
104
|
-
export declare function pattern(value: RegExp | string, message?: string
|
|
97
|
+
export declare function pattern(value: RegExp | string, message?: string): import("../reflection/decorators").CustomDecorator<V>;
|
|
105
98
|
/**
|
|
106
99
|
* @summary Defines the property as an email
|
|
107
100
|
* @description Validators to validate a decorated property must use key {@link ValidationKeys#EMAIL}
|
|
108
101
|
*
|
|
109
102
|
* @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#EMAIL}
|
|
110
|
-
* @param {Constructor<Validator>} [validator] the Validator to be used. Defaults to {@link EmailValidator}
|
|
111
103
|
*
|
|
112
104
|
* @function email
|
|
113
105
|
* @memberOf module:decorator-validation.Decorators.Validation
|
|
114
106
|
* @category Decorators
|
|
115
107
|
*/
|
|
116
|
-
export declare function email(message?: string
|
|
108
|
+
export declare function email(message?: string): import("../reflection/decorators").CustomDecorator<V>;
|
|
117
109
|
/**
|
|
118
110
|
* @summary Defines the property as an URL
|
|
119
111
|
* @description Validators to validate a decorated property must use key {@link ValidationKeys#URL}
|
|
120
112
|
*
|
|
121
113
|
* @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#URL}
|
|
122
|
-
* @param {Constructor<Validator>} [validator] the Validator to be used. Defaults to {@link URLValidator}
|
|
123
114
|
*
|
|
124
115
|
* @function url
|
|
125
116
|
* @memberOf module:decorator-validation.Decorators.Validation
|
|
126
117
|
* @category Decorators
|
|
127
118
|
*/
|
|
128
|
-
export declare function url(message?: string
|
|
119
|
+
export declare function url(message?: string): import("../reflection/decorators").CustomDecorator<V>;
|
|
129
120
|
/**
|
|
130
121
|
* @summary Enforces type verification
|
|
131
122
|
* @description Validators to validate a decorated property must use key {@link ValidationKeys#TYPE}
|
|
132
123
|
*
|
|
133
124
|
* @param {string[] | string} types accepted types
|
|
134
125
|
* @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#TYPE}
|
|
135
|
-
* @param {Constructor<Validator>} [validator] the Validator to be used. Defaults to {@link TypeValidator}
|
|
136
126
|
*
|
|
137
127
|
* @function type
|
|
138
128
|
* @memberOf module:decorator-validation.Decorators.Validation
|
|
139
129
|
* @category Decorators
|
|
140
130
|
*/
|
|
141
|
-
export declare function type(types: string[] | string, message?: string
|
|
142
|
-
/**
|
|
143
|
-
* @summary Binds a date format to a string
|
|
144
|
-
* @param {Date} [date]
|
|
145
|
-
* @param {string} [format]
|
|
146
|
-
* @memberOf module:decorator-validation.Utils.Format
|
|
147
|
-
* @category Utilities
|
|
148
|
-
*/
|
|
149
|
-
export declare function bindDateToString(date: Date | undefined, format: string): Date | undefined;
|
|
150
|
-
/**
|
|
151
|
-
* @summary Helper function to be used instead of instanceOf Date
|
|
152
|
-
* @param date
|
|
153
|
-
* @memberOf module:decorator-validation.Utils.Dates
|
|
154
|
-
* @category Validation
|
|
155
|
-
*/
|
|
156
|
-
export declare function isValidDate(date: any): boolean;
|
|
157
|
-
/**
|
|
158
|
-
* @summary Util function to pad numbers
|
|
159
|
-
* @param {number} num
|
|
160
|
-
*
|
|
161
|
-
* @return {string}
|
|
162
|
-
*
|
|
163
|
-
* @function twoDigitPad
|
|
164
|
-
* @memberOf module:decorator-validation.Utils.Format
|
|
165
|
-
* @category Format
|
|
166
|
-
*/
|
|
167
|
-
export declare function twoDigitPad(num: number): string;
|
|
168
|
-
/**
|
|
169
|
-
* @summary Date Format Handling
|
|
170
|
-
* @description Code from {@link https://stackoverflow.com/questions/3552461/how-to-format-a-javascript-date}
|
|
171
|
-
*
|
|
172
|
-
* <pre>
|
|
173
|
-
* Using similar formatting as Moment.js, Class DateTimeFormatter (Java), and Class SimpleDateFormat (Java),
|
|
174
|
-
* I implemented a comprehensive solution formatDate(date, patternStr) where the code is easy to read and modify.
|
|
175
|
-
* You can display date, time, AM/PM, etc.
|
|
176
|
-
*
|
|
177
|
-
* Date and Time Patterns
|
|
178
|
-
* yy = 2-digit year; yyyy = full year
|
|
179
|
-
* M = digit month; MM = 2-digit month; MMM = short month name; MMMM = full month name
|
|
180
|
-
* EEEE = full weekday name; EEE = short weekday name
|
|
181
|
-
* d = digit day; dd = 2-digit day
|
|
182
|
-
* h = hours am/pm; hh = 2-digit hours am/pm; H = hours; HH = 2-digit hours
|
|
183
|
-
* m = minutes; mm = 2-digit minutes; aaa = AM/PM
|
|
184
|
-
* s = seconds; ss = 2-digit seconds
|
|
185
|
-
* S = miliseconds
|
|
186
|
-
* </pre>
|
|
187
|
-
*
|
|
188
|
-
* @param {Date} date
|
|
189
|
-
* @param {string} [patternStr] defaults to 'yyyy/MM/dd'
|
|
190
|
-
* @return {string} the formatted date
|
|
191
|
-
*
|
|
192
|
-
* @function formatDate
|
|
193
|
-
* @memberOf module:decorator-validation.Utils.Dates
|
|
194
|
-
* @category Format
|
|
195
|
-
*/
|
|
196
|
-
export declare function formatDate(date: Date, patternStr?: string): string;
|
|
197
|
-
/**
|
|
198
|
-
* @summary Parses a date from a specified format
|
|
199
|
-
* @param {string} format
|
|
200
|
-
* @param {string | Date | number} [v]
|
|
201
|
-
* @memberOf module:decorator-validation.Utils.Dates
|
|
202
|
-
* @category Format
|
|
203
|
-
*/
|
|
204
|
-
export declare function parseDate(format: string, v?: string | Date | number): Date | undefined;
|
|
131
|
+
export declare function type(types: string[] | string, message?: string): import("../reflection/decorators").CustomDecorator<V>;
|
|
205
132
|
/**
|
|
206
133
|
* @summary Date Handler Decorator
|
|
207
134
|
* @description Validators to validate a decorated property must use key {@link ValidationKeys#DATE}
|
|
@@ -217,7 +144,7 @@ export declare function parseDate(format: string, v?: string | Date | number): D
|
|
|
217
144
|
* @memberOf module:decorator-validation.Decorators.Validation
|
|
218
145
|
* @category Decorators
|
|
219
146
|
*/
|
|
220
|
-
export declare function date(format?: string, message?: string
|
|
147
|
+
export declare function date(format?: string, message?: string): (target: Record<string, any>, propertyKey: string) => any;
|
|
221
148
|
/**
|
|
222
149
|
* @summary Password Handler Decorator
|
|
223
150
|
* @description Validators to validate a decorated property must use key {@link ValidationKeys#PASSWORD}
|