@decaf-ts/decorator-validation 1.0.7 → 1.0.11

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.
Files changed (141) hide show
  1. package/dist/decorator-validation.bundle.min.js +1 -1
  2. package/dist/esm/decorator-validation.bundle.min.esm.js +1 -1
  3. package/lib/esm/index.d.ts +6 -1
  4. package/lib/esm/index.js +68 -1
  5. package/lib/esm/model/Model.d.ts +3 -1
  6. package/lib/esm/model/Model.js +316 -1
  7. package/lib/esm/model/ModelErrorDefinition.d.ts +1 -1
  8. package/lib/esm/model/ModelErrorDefinition.js +55 -3
  9. package/lib/esm/model/Registry.d.ts +1 -1
  10. package/lib/esm/model/Registry.js +76 -1
  11. package/lib/esm/model/constants.js +44 -1
  12. package/lib/esm/model/construction.js +124 -1
  13. package/lib/esm/model/decorators.d.ts +3 -3
  14. package/lib/esm/model/decorators.js +68 -1
  15. package/lib/esm/model/index.d.ts +3 -3
  16. package/lib/esm/model/index.js +9 -1
  17. package/lib/esm/model/types.js +3 -0
  18. package/lib/esm/reflection/decorators.d.ts +15 -0
  19. package/lib/esm/reflection/decorators.js +28 -0
  20. package/lib/esm/reflection/index.d.ts +2 -0
  21. package/lib/esm/reflection/index.js +4 -0
  22. package/lib/esm/{utils/general.d.ts → reflection/utils.d.ts} +7 -87
  23. package/lib/esm/reflection/utils.js +239 -0
  24. package/lib/esm/utils/constants.js +25 -1
  25. package/lib/esm/utils/dates.d.ts +76 -0
  26. package/lib/esm/utils/dates.js +241 -0
  27. package/lib/esm/utils/equality.d.ts +14 -0
  28. package/lib/esm/utils/equality.js +34 -0
  29. package/lib/esm/utils/hashing.d.ts +42 -0
  30. package/lib/esm/utils/hashing.js +73 -0
  31. package/lib/esm/utils/index.d.ts +6 -2
  32. package/lib/esm/utils/index.js +10 -1
  33. package/lib/esm/utils/registry.js +3 -0
  34. package/lib/esm/utils/serialization.js +53 -1
  35. package/lib/esm/utils/strings.d.ts +25 -0
  36. package/lib/esm/utils/strings.js +31 -0
  37. package/lib/esm/validation/Validation.d.ts +2 -1
  38. package/lib/esm/validation/Validation.js +63 -1
  39. package/lib/esm/validation/Validators/DateValidator.js +55 -1
  40. package/lib/esm/validation/Validators/EmailValidator.d.ts +0 -1
  41. package/lib/esm/validation/Validators/EmailValidator.js +49 -1
  42. package/lib/esm/validation/Validators/ListValidator.js +67 -1
  43. package/lib/esm/validation/Validators/MaxLengthValidator.js +55 -1
  44. package/lib/esm/validation/Validators/MaxValidator.js +59 -1
  45. package/lib/esm/validation/Validators/MinLengthValidator.js +55 -1
  46. package/lib/esm/validation/Validators/MinValidator.js +59 -1
  47. package/lib/esm/validation/Validators/PasswordValidator.js +52 -1
  48. package/lib/esm/validation/Validators/PatternValidator.d.ts +3 -3
  49. package/lib/esm/validation/Validators/PatternValidator.js +72 -1
  50. package/lib/esm/validation/Validators/RequiredValidator.js +57 -1
  51. package/lib/esm/validation/Validators/StepValidator.js +54 -1
  52. package/lib/esm/validation/Validators/TypeValidator.js +42 -1
  53. package/lib/esm/validation/Validators/URLValidator.d.ts +0 -1
  54. package/lib/esm/validation/Validators/URLValidator.js +48 -1
  55. package/lib/esm/validation/Validators/Validator.js +50 -1
  56. package/lib/esm/validation/Validators/ValidatorRegistry.js +81 -1
  57. package/lib/esm/validation/Validators/constants.d.ts +8 -4
  58. package/lib/esm/validation/Validators/constants.js +135 -1
  59. package/lib/esm/validation/Validators/decorators.d.ts +13 -0
  60. package/lib/esm/validation/Validators/decorators.js +23 -0
  61. package/lib/esm/validation/Validators/index.d.ts +9 -7
  62. package/lib/esm/validation/Validators/index.js +54 -1
  63. package/lib/esm/validation/Validators/types.d.ts +2 -2
  64. package/lib/esm/validation/Validators/types.js +3 -0
  65. package/lib/esm/validation/decorators.d.ts +14 -87
  66. package/lib/esm/validation/decorators.js +320 -1
  67. package/lib/esm/validation/index.d.ts +1 -10
  68. package/lib/esm/validation/index.js +6 -1
  69. package/lib/esm/validation/types.d.ts +11 -0
  70. package/lib/esm/validation/types.js +3 -0
  71. package/lib/index.cjs +85 -1
  72. package/lib/index.d.ts +6 -1
  73. package/lib/model/Model.cjs +321 -1
  74. package/lib/model/Model.d.ts +3 -1
  75. package/lib/model/ModelErrorDefinition.cjs +59 -3
  76. package/lib/model/ModelErrorDefinition.d.ts +1 -1
  77. package/lib/model/Registry.cjs +81 -1
  78. package/lib/model/Registry.d.ts +1 -1
  79. package/lib/model/constants.cjs +47 -1
  80. package/lib/model/construction.cjs +129 -1
  81. package/lib/model/decorators.cjs +73 -1
  82. package/lib/model/decorators.d.ts +3 -3
  83. package/lib/model/index.cjs +25 -1
  84. package/lib/model/index.d.ts +3 -3
  85. package/lib/model/types.cjs +4 -1
  86. package/lib/reflection/decorators.cjs +31 -0
  87. package/lib/reflection/decorators.d.ts +15 -0
  88. package/lib/reflection/index.cjs +20 -0
  89. package/lib/reflection/index.d.ts +2 -0
  90. package/lib/reflection/utils.cjs +251 -0
  91. package/lib/{utils/general.d.ts → reflection/utils.d.ts} +7 -87
  92. package/lib/utils/constants.cjs +28 -1
  93. package/lib/utils/dates.cjs +249 -0
  94. package/lib/utils/dates.d.ts +76 -0
  95. package/lib/utils/equality.cjs +37 -0
  96. package/lib/utils/equality.d.ts +14 -0
  97. package/lib/utils/hashing.cjs +78 -0
  98. package/lib/utils/hashing.d.ts +42 -0
  99. package/lib/utils/index.cjs +26 -1
  100. package/lib/utils/index.d.ts +6 -2
  101. package/lib/utils/registry.cjs +4 -1
  102. package/lib/utils/serialization.cjs +57 -1
  103. package/lib/utils/strings.cjs +35 -0
  104. package/lib/utils/strings.d.ts +25 -0
  105. package/lib/validation/Validation.cjs +67 -1
  106. package/lib/validation/Validation.d.ts +2 -1
  107. package/lib/validation/Validators/DateValidator.cjs +58 -1
  108. package/lib/validation/Validators/EmailValidator.cjs +52 -1
  109. package/lib/validation/Validators/EmailValidator.d.ts +0 -1
  110. package/lib/validation/Validators/ListValidator.cjs +70 -1
  111. package/lib/validation/Validators/MaxLengthValidator.cjs +58 -1
  112. package/lib/validation/Validators/MaxValidator.cjs +62 -1
  113. package/lib/validation/Validators/MinLengthValidator.cjs +58 -1
  114. package/lib/validation/Validators/MinValidator.cjs +62 -1
  115. package/lib/validation/Validators/PasswordValidator.cjs +55 -1
  116. package/lib/validation/Validators/PatternValidator.cjs +75 -1
  117. package/lib/validation/Validators/PatternValidator.d.ts +3 -3
  118. package/lib/validation/Validators/RequiredValidator.cjs +60 -1
  119. package/lib/validation/Validators/StepValidator.cjs +57 -1
  120. package/lib/validation/Validators/TypeValidator.cjs +46 -1
  121. package/lib/validation/Validators/URLValidator.cjs +51 -1
  122. package/lib/validation/Validators/URLValidator.d.ts +0 -1
  123. package/lib/validation/Validators/Validator.cjs +54 -1
  124. package/lib/validation/Validators/ValidatorRegistry.cjs +86 -1
  125. package/lib/validation/Validators/constants.cjs +138 -1
  126. package/lib/validation/Validators/constants.d.ts +8 -4
  127. package/lib/validation/Validators/decorators.cjs +26 -0
  128. package/lib/validation/Validators/decorators.d.ts +13 -0
  129. package/lib/validation/Validators/index.cjs +71 -1
  130. package/lib/validation/Validators/index.d.ts +9 -7
  131. package/lib/validation/Validators/types.cjs +4 -1
  132. package/lib/validation/Validators/types.d.ts +2 -2
  133. package/lib/validation/decorators.cjs +337 -1
  134. package/lib/validation/decorators.d.ts +14 -87
  135. package/lib/validation/index.cjs +22 -1
  136. package/lib/validation/index.d.ts +1 -10
  137. package/lib/validation/types.cjs +4 -1
  138. package/lib/validation/types.d.ts +11 -0
  139. package/package.json +17 -13
  140. package/lib/esm/utils/general.js +0 -1
  141. package/lib/utils/general.cjs +0 -1
@@ -1 +1,135 @@
1
- const ValidationKeys={REFLECT:"model.validation.",REQUIRED:"required",MIN:"min",MAX:"max",STEP:"step",MIN_LENGTH:"minlength",MAX_LENGTH:"maxlength",PATTERN:"pattern",EMAIL:"email",URL:"url",DATE:"date",TYPE:"type",PASSWORD:"password",LIST:"list"},MONTH_NAMES=["January","February","March","April","May","June","July","August","September","October","November","December"],DAYS_OF_WEEK_NAMES=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],DEFAULT_ERROR_MESSAGES={REQUIRED:"This field is required",MIN:"The minimum value is {0}",MAX:"The maximum value is {0}",MIN_LENGTH:"The minimum length is {0}",MAX_LENGTH:"The maximum length is {0}",PATTERN:"The value does not match the pattern",EMAIL:"The value is not a valid email",URL:"The value is not a valid URL",TYPE:"Invalid type. Expected {0}, received {1}",STEP:"Invalid value. Not a step of {0}",DATE:"Invalid value. not a valid Date",DEFAULT:"There is an Error",PASSWORD:"Must be at least 8 characters and contain one of number, lower and upper case letters, and special character (@$!%*?&_-.,)",LIST:"Invalid list of {0}",LIST_INSIDE:"Elements of list are invalid: {0}",MODEL_NOT_FOUND:"No model registered under {0}"},PasswordPatterns={CHAR8_ONE_OF_EACH:/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&_\-.,])[A-Za-z\d@$!%*?&_\-.,]{8,}$/g};export{ValidationKeys,MONTH_NAMES,DAYS_OF_WEEK_NAMES,DEFAULT_ERROR_MESSAGES,PasswordPatterns};
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 "./Validator";
16
- export * from "./types";
17
- export * from "./ValidatorRegistry";
15
+ export * from "./DateValidator";
16
+ export * from "./decorators";
18
17
  export * from "./EmailValidator";
19
- export * from "./RequiredValidator";
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 "./URLValidator";
25
+ export * from "./RequiredValidator";
26
26
  export * from "./StepValidator";
27
- export * from "./DateValidator";
27
+ export * from "./types";
28
28
  export * from "./TypeValidator";
29
- export * from "./PasswordValidator";
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";import{TypeValidator}from"./TypeValidator";import{PasswordValidator}from"./PasswordValidator";import{StepValidator}from"./StepValidator";import{URLValidator}from"./URLValidator";import{PatternValidator}from"./PatternValidator";import{MinValidator}from"./MinValidator";import{MinLengthValidator}from"./MinLengthValidator";import{MaxValidator}from"./MaxValidator";import{MaxLengthValidator}from"./MaxLengthValidator";import{RequiredValidator}from"./RequiredValidator";import{EmailValidator}from"./EmailValidator";import{ListValidator}from"./ListValidator";export*from"./constants";export*from"./Validator";export*from"./types";export*from"./ValidatorRegistry";export*from"./EmailValidator";export*from"./RequiredValidator";export*from"./MaxLengthValidator";export*from"./MaxValidator";export*from"./MinLengthValidator";export*from"./MinValidator";export*from"./PatternValidator";export*from"./URLValidator";export*from"./StepValidator";export*from"./DateValidator";export*from"./TypeValidator";export*from"./PasswordValidator";const Validators={EmailValidator:EmailValidator,RequiredValidator:RequiredValidator,MaxLengthValidator:MaxLengthValidator,MaxValidator:MaxValidator,MinLengthValidator:MinLengthValidator,MinValidator:MinValidator,PatternValidator:PatternValidator,URLValidator:URLValidator,StepValidator:StepValidator,DateValidator:DateValidator,TypeValidator:TypeValidator,PasswordValidator:PasswordValidator,ListValidator:ListValidator};export{Validators};
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 { Validator } from "./Validators";
3
- import { Constructor, ModelConstructor } from "../model";
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
- * @memberOf module:decorator-validation.Decorators.Validation
22
+ *
24
23
  * @category Decorators
25
24
  */
26
- export declare function required(message?: string, validator?: Constructor<Validator>): (target: any, propertyKey: string) => void;
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, validator?: Constructor<Validator>): (target: any, propertyKey: string) => void;
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, validator?: Constructor<Validator>): (target: any, propertyKey: string) => void;
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, validator?: Constructor<Validator>): (target: any, propertyKey: string) => void;
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, validator?: Constructor<Validator>): (target: any, propertyKey: string) => void;
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, validator?: Constructor<Validator>): (target: any, propertyKey: string) => void;
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, validator?: Constructor<Validator>): (target: any, propertyKey: string) => void;
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, validator?: Constructor<Validator>): (target: any, propertyKey: string) => void;
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, validator?: Constructor<Validator>): (target: any, propertyKey: string) => void;
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, validator?: Constructor<Validator>): (target: any, propertyKey: string) => void;
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, validator?: Constructor<Validator>): (target: Record<string, any>, propertyKey: string) => any;
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}