@decaf-ts/decorator-validation 1.10.5 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. package/README.md +1 -1
  2. package/dist/decorator-validation.cjs +1 -1
  3. package/dist/decorator-validation.cjs.map +1 -1
  4. package/dist/decorator-validation.js +1 -1
  5. package/dist/decorator-validation.js.map +1 -1
  6. package/lib/esm/index.d.ts +2 -1
  7. package/lib/esm/index.js +2 -1
  8. package/lib/esm/index.js.map +1 -1
  9. package/lib/esm/model/Builder.d.ts +84 -0
  10. package/lib/esm/model/Builder.js +395 -129
  11. package/lib/esm/model/Builder.js.map +1 -1
  12. package/lib/esm/model/Model.d.ts +21 -19
  13. package/lib/esm/model/Model.js +112 -105
  14. package/lib/esm/model/Model.js.map +1 -1
  15. package/lib/esm/model/constants.d.ts +8 -8
  16. package/lib/esm/model/constants.js +8 -9
  17. package/lib/esm/model/constants.js.map +1 -1
  18. package/lib/esm/model/decorators.d.ts +2 -12
  19. package/lib/esm/model/decorators.js +5 -39
  20. package/lib/esm/model/decorators.js.map +1 -1
  21. package/lib/esm/model/index.d.ts +1 -0
  22. package/lib/esm/model/index.js +1 -0
  23. package/lib/esm/model/index.js.map +1 -1
  24. package/lib/esm/model/types.d.ts +0 -12
  25. package/lib/esm/model/utils.d.ts +0 -3
  26. package/lib/esm/model/utils.js +0 -10
  27. package/lib/esm/model/utils.js.map +1 -1
  28. package/lib/esm/model/validation.d.ts +4 -37
  29. package/lib/esm/model/validation.js +30 -106
  30. package/lib/esm/model/validation.js.map +1 -1
  31. package/lib/esm/overrides/Metadata.d.ts +128 -0
  32. package/lib/esm/overrides/Metadata.js +2 -0
  33. package/lib/esm/overrides/Metadata.js.map +1 -0
  34. package/lib/esm/overrides/index.d.ts +3 -0
  35. package/lib/esm/overrides/index.js +4 -0
  36. package/lib/esm/overrides/index.js.map +1 -0
  37. package/lib/esm/overrides/overrides.d.ts +1 -0
  38. package/lib/esm/overrides/overrides.js +79 -0
  39. package/lib/esm/overrides/overrides.js.map +1 -0
  40. package/lib/esm/overrides/types.d.ts +9 -0
  41. package/lib/esm/overrides/types.js +2 -0
  42. package/lib/esm/overrides/types.js.map +1 -0
  43. package/lib/esm/types/validation.d.ts +4 -2
  44. package/lib/esm/utils/constants.d.ts +4 -18
  45. package/lib/esm/utils/constants.js +4 -17
  46. package/lib/esm/utils/constants.js.map +1 -1
  47. package/lib/esm/utils/dates.d.ts +0 -1
  48. package/lib/esm/utils/dates.js +0 -1
  49. package/lib/esm/utils/dates.js.map +1 -1
  50. package/lib/esm/utils/equality.d.ts +56 -0
  51. package/lib/esm/utils/equality.js +160 -0
  52. package/lib/esm/utils/equality.js.map +1 -0
  53. package/lib/esm/utils/index.d.ts +1 -2
  54. package/lib/esm/utils/index.js +1 -2
  55. package/lib/esm/utils/index.js.map +1 -1
  56. package/lib/esm/utils/registry.d.ts +1 -1
  57. package/lib/esm/utils/serialization.d.ts +2 -2
  58. package/lib/esm/utils/serialization.js +10 -2
  59. package/lib/esm/utils/serialization.js.map +1 -1
  60. package/lib/esm/utils/types.d.ts +0 -102
  61. package/lib/esm/validation/Validation.d.ts +2 -3
  62. package/lib/esm/validation/Validation.js +11 -6
  63. package/lib/esm/validation/Validation.js.map +1 -1
  64. package/lib/esm/validation/Validators/BaseValidator.js +7 -3
  65. package/lib/esm/validation/Validators/BaseValidator.js.map +1 -1
  66. package/lib/esm/validation/Validators/DiffValidator.js +1 -1
  67. package/lib/esm/validation/Validators/DiffValidator.js.map +1 -1
  68. package/lib/esm/validation/Validators/EqualsValidator.js +1 -1
  69. package/lib/esm/validation/Validators/EqualsValidator.js.map +1 -1
  70. package/lib/esm/validation/Validators/GreaterThanOrEqualValidator.js +1 -1
  71. package/lib/esm/validation/Validators/GreaterThanOrEqualValidator.js.map +1 -1
  72. package/lib/esm/validation/Validators/LessThanOrEqualValidator.js +1 -1
  73. package/lib/esm/validation/Validators/LessThanOrEqualValidator.js.map +1 -1
  74. package/lib/esm/validation/Validators/ListValidator.js +4 -4
  75. package/lib/esm/validation/Validators/ListValidator.js.map +1 -1
  76. package/lib/esm/validation/Validators/MaxLengthValidator.js +3 -2
  77. package/lib/esm/validation/Validators/MaxLengthValidator.js.map +1 -1
  78. package/lib/esm/validation/Validators/MaxValidator.js +1 -1
  79. package/lib/esm/validation/Validators/MaxValidator.js.map +1 -1
  80. package/lib/esm/validation/Validators/MinLengthValidator.js +3 -2
  81. package/lib/esm/validation/Validators/MinLengthValidator.js.map +1 -1
  82. package/lib/esm/validation/Validators/MinValidator.js +1 -1
  83. package/lib/esm/validation/Validators/MinValidator.js.map +1 -1
  84. package/lib/esm/validation/Validators/OptionValidator.d.ts +29 -0
  85. package/lib/esm/validation/Validators/OptionValidator.js +61 -0
  86. package/lib/esm/validation/Validators/OptionValidator.js.map +1 -0
  87. package/lib/esm/validation/Validators/TypeValidator.js +2 -2
  88. package/lib/esm/validation/Validators/TypeValidator.js.map +1 -1
  89. package/lib/esm/validation/Validators/constants.d.ts +2 -1
  90. package/lib/esm/validation/Validators/constants.js +3 -2
  91. package/lib/esm/validation/Validators/constants.js.map +1 -1
  92. package/lib/esm/validation/Validators/decorators.d.ts +1 -1
  93. package/lib/esm/validation/Validators/decorators.js +2 -2
  94. package/lib/esm/validation/Validators/decorators.js.map +1 -1
  95. package/lib/esm/validation/Validators/index.d.ts +1 -0
  96. package/lib/esm/validation/Validators/index.js +1 -0
  97. package/lib/esm/validation/Validators/index.js.map +1 -1
  98. package/lib/esm/validation/Validators/utils.d.ts +33 -0
  99. package/lib/esm/validation/Validators/utils.js +62 -0
  100. package/lib/esm/validation/Validators/utils.js.map +1 -1
  101. package/lib/esm/validation/decorators.d.ts +28 -17
  102. package/lib/esm/validation/decorators.js +86 -55
  103. package/lib/esm/validation/decorators.js.map +1 -1
  104. package/lib/esm/validation/types.d.ts +15 -5
  105. package/lib/esm/validation/types.js.map +1 -1
  106. package/lib/index.cjs +2 -1
  107. package/lib/index.d.ts +2 -1
  108. package/lib/index.js.map +1 -1
  109. package/lib/model/Builder.cjs +399 -128
  110. package/lib/model/Builder.d.ts +84 -0
  111. package/lib/model/Builder.js.map +1 -1
  112. package/lib/model/Model.cjs +114 -107
  113. package/lib/model/Model.d.ts +21 -19
  114. package/lib/model/Model.js.map +1 -1
  115. package/lib/model/constants.cjs +8 -9
  116. package/lib/model/constants.d.ts +8 -8
  117. package/lib/model/constants.js.map +1 -1
  118. package/lib/model/decorators.cjs +4 -39
  119. package/lib/model/decorators.d.ts +2 -12
  120. package/lib/model/decorators.js.map +1 -1
  121. package/lib/model/index.cjs +1 -0
  122. package/lib/model/index.d.ts +1 -0
  123. package/lib/model/index.js.map +1 -1
  124. package/lib/model/types.d.ts +0 -12
  125. package/lib/model/utils.cjs +0 -12
  126. package/lib/model/utils.d.ts +0 -3
  127. package/lib/model/utils.js.map +1 -1
  128. package/lib/model/validation.cjs +30 -108
  129. package/lib/model/validation.d.ts +4 -37
  130. package/lib/model/validation.js.map +1 -1
  131. package/lib/overrides/Metadata.cjs +3 -0
  132. package/lib/overrides/Metadata.d.ts +128 -0
  133. package/lib/overrides/Metadata.js.map +1 -0
  134. package/lib/overrides/index.cjs +20 -0
  135. package/lib/overrides/index.d.ts +3 -0
  136. package/lib/overrides/index.js.map +1 -0
  137. package/lib/overrides/overrides.cjs +81 -0
  138. package/lib/overrides/overrides.d.ts +1 -0
  139. package/lib/overrides/overrides.js.map +1 -0
  140. package/lib/overrides/types.cjs +3 -0
  141. package/lib/overrides/types.d.ts +9 -0
  142. package/lib/overrides/types.js.map +1 -0
  143. package/lib/types/validation.d.ts +4 -2
  144. package/lib/utils/constants.cjs +5 -18
  145. package/lib/utils/constants.d.ts +4 -18
  146. package/lib/utils/constants.js.map +1 -1
  147. package/lib/utils/dates.cjs +0 -1
  148. package/lib/utils/dates.d.ts +0 -1
  149. package/lib/utils/dates.js.map +1 -1
  150. package/lib/utils/equality.cjs +163 -0
  151. package/lib/utils/equality.d.ts +56 -0
  152. package/lib/utils/equality.js.map +1 -0
  153. package/lib/utils/index.cjs +1 -2
  154. package/lib/utils/index.d.ts +1 -2
  155. package/lib/utils/index.js.map +1 -1
  156. package/lib/utils/registry.d.ts +1 -1
  157. package/lib/utils/serialization.cjs +10 -2
  158. package/lib/utils/serialization.d.ts +2 -2
  159. package/lib/utils/serialization.js.map +1 -1
  160. package/lib/utils/types.d.ts +0 -102
  161. package/lib/validation/Validation.cjs +11 -6
  162. package/lib/validation/Validation.d.ts +2 -3
  163. package/lib/validation/Validation.js.map +1 -1
  164. package/lib/validation/Validators/BaseValidator.cjs +7 -3
  165. package/lib/validation/Validators/BaseValidator.js.map +1 -1
  166. package/lib/validation/Validators/DiffValidator.cjs +2 -2
  167. package/lib/validation/Validators/DiffValidator.js.map +1 -1
  168. package/lib/validation/Validators/EqualsValidator.cjs +2 -2
  169. package/lib/validation/Validators/EqualsValidator.js.map +1 -1
  170. package/lib/validation/Validators/GreaterThanOrEqualValidator.cjs +2 -2
  171. package/lib/validation/Validators/GreaterThanOrEqualValidator.js.map +1 -1
  172. package/lib/validation/Validators/LessThanOrEqualValidator.cjs +2 -2
  173. package/lib/validation/Validators/LessThanOrEqualValidator.js.map +1 -1
  174. package/lib/validation/Validators/ListValidator.cjs +4 -4
  175. package/lib/validation/Validators/ListValidator.js.map +1 -1
  176. package/lib/validation/Validators/MaxLengthValidator.cjs +3 -2
  177. package/lib/validation/Validators/MaxLengthValidator.js.map +1 -1
  178. package/lib/validation/Validators/MaxValidator.cjs +1 -1
  179. package/lib/validation/Validators/MaxValidator.js.map +1 -1
  180. package/lib/validation/Validators/MinLengthValidator.cjs +3 -2
  181. package/lib/validation/Validators/MinLengthValidator.js.map +1 -1
  182. package/lib/validation/Validators/MinValidator.cjs +1 -1
  183. package/lib/validation/Validators/MinValidator.js.map +1 -1
  184. package/lib/validation/Validators/OptionValidator.cjs +64 -0
  185. package/lib/validation/Validators/OptionValidator.d.ts +29 -0
  186. package/lib/validation/Validators/OptionValidator.js.map +1 -0
  187. package/lib/validation/Validators/TypeValidator.cjs +2 -2
  188. package/lib/validation/Validators/TypeValidator.js.map +1 -1
  189. package/lib/validation/Validators/constants.cjs +5 -4
  190. package/lib/validation/Validators/constants.d.ts +2 -1
  191. package/lib/validation/Validators/constants.js.map +1 -1
  192. package/lib/validation/Validators/decorators.cjs +3 -3
  193. package/lib/validation/Validators/decorators.d.ts +1 -1
  194. package/lib/validation/Validators/decorators.js.map +1 -1
  195. package/lib/validation/Validators/index.cjs +1 -0
  196. package/lib/validation/Validators/index.d.ts +1 -0
  197. package/lib/validation/Validators/index.js.map +1 -1
  198. package/lib/validation/Validators/utils.cjs +66 -0
  199. package/lib/validation/Validators/utils.d.ts +33 -0
  200. package/lib/validation/Validators/utils.js.map +1 -1
  201. package/lib/validation/decorators.cjs +102 -69
  202. package/lib/validation/decorators.d.ts +28 -17
  203. package/lib/validation/decorators.js.map +1 -1
  204. package/lib/validation/types.d.ts +15 -5
  205. package/lib/validation/types.js.map +1 -1
  206. package/package.json +2 -3
  207. package/lib/esm/utils/Decoration.d.ts +0 -135
  208. package/lib/esm/utils/Decoration.js +0 -227
  209. package/lib/esm/utils/Decoration.js.map +0 -1
  210. package/lib/esm/utils/decorators.d.ts +0 -38
  211. package/lib/esm/utils/decorators.js +0 -64
  212. package/lib/esm/utils/decorators.js.map +0 -1
  213. package/lib/utils/Decoration.cjs +0 -231
  214. package/lib/utils/Decoration.d.ts +0 -135
  215. package/lib/utils/Decoration.js.map +0 -1
  216. package/lib/utils/decorators.cjs +0 -68
  217. package/lib/utils/decorators.d.ts +0 -38
  218. package/lib/utils/decorators.js.map +0 -1
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validationMetadata = validationMetadata;
4
+ exports.innerValidationDecorator = innerValidationDecorator;
4
5
  exports.async = async;
5
6
  exports.required = required;
6
7
  exports.min = min;
@@ -22,14 +23,12 @@ exports.lt = lt;
22
23
  exports.lte = lte;
23
24
  exports.gt = gt;
24
25
  exports.gte = gte;
25
- require("reflect-metadata");
26
+ exports.option = option;
26
27
  const constants_1 = require("./Validators/constants.cjs");
27
28
  const strings_1 = require("./../utils/strings.cjs");
28
29
  const dates_1 = require("./../utils/dates.cjs");
29
- const decorators_1 = require("./../utils/decorators.cjs");
30
30
  const Validation_1 = require("./Validation.cjs");
31
- const Decoration_1 = require("./../utils/Decoration.cjs");
32
- const reflection_1 = require("@decaf-ts/reflection");
31
+ const decoration_1 = require("@decaf-ts/decoration");
33
32
  const constants_2 = require("./../constants/index.cjs");
34
33
  /**
35
34
  * @description Combined property decorator factory for metadata and attribute marking
@@ -44,8 +43,13 @@ const constants_2 = require("./../constants/index.cjs");
44
43
  * @category Property Decorators
45
44
  */
46
45
  function validationMetadata(decorator, key, value) {
47
- Validation_1.Validation.registerDecorator(key, decorator);
48
- return (0, reflection_1.apply)((0, decorators_1.propMetadata)(key, value));
46
+ return (0, decoration_1.apply)((0, decoration_1.propMetadata)(key, value));
47
+ }
48
+ function innerValidationDecorator(dec, key, meta) {
49
+ Validation_1.Validation.registerDecorator(key, dec);
50
+ return function innerValidationDecorator(obj, prop) {
51
+ return validationMetadata(dec, `${constants_1.ValidationKeys.REFLECT}.${prop}.${key}`, meta)(obj, prop);
52
+ };
49
53
  }
50
54
  function async() {
51
55
  return (model) => {
@@ -77,15 +81,15 @@ function async() {
77
81
  * ```
78
82
  */
79
83
  function required(message = constants_1.DEFAULT_ERROR_MESSAGES.REQUIRED) {
80
- const key = Validation_1.Validation.key(constants_1.ValidationKeys.REQUIRED);
84
+ const key = constants_1.ValidationKeys.REQUIRED;
81
85
  const meta = {
82
86
  message: message,
83
87
  description: `defines the attribute as required`,
84
88
  async: false,
85
89
  };
86
- return Decoration_1.Decoration.for(key)
90
+ return decoration_1.Decoration.for(key)
87
91
  .define({
88
- decorator: (validationMetadata),
92
+ decorator: innerValidationDecorator,
89
93
  args: [required, key, meta],
90
94
  })
91
95
  .apply();
@@ -115,17 +119,16 @@ function required(message = constants_1.DEFAULT_ERROR_MESSAGES.REQUIRED) {
115
119
  * ```
116
120
  */
117
121
  function min(value, message = constants_1.DEFAULT_ERROR_MESSAGES.MIN) {
118
- const key = Validation_1.Validation.key(constants_1.ValidationKeys.MIN);
122
+ const key = constants_1.ValidationKeys.MIN;
119
123
  const meta = {
120
124
  [constants_1.ValidationKeys.MIN]: value,
121
125
  message: message,
122
- types: [Number.name, Date.name],
123
126
  description: `defines the max value of the attribute as ${value} (applies to numbers or Dates)`,
124
127
  async: false,
125
128
  };
126
- return Decoration_1.Decoration.for(key)
129
+ return decoration_1.Decoration.for(key)
127
130
  .define({
128
- decorator: (validationMetadata),
131
+ decorator: innerValidationDecorator,
129
132
  args: [min, key, meta],
130
133
  })
131
134
  .apply();
@@ -141,17 +144,16 @@ function min(value, message = constants_1.DEFAULT_ERROR_MESSAGES.MIN) {
141
144
  * @category Property Decorators
142
145
  */
143
146
  function max(value, message = constants_1.DEFAULT_ERROR_MESSAGES.MAX) {
144
- const key = Validation_1.Validation.key(constants_1.ValidationKeys.MAX);
147
+ const key = constants_1.ValidationKeys.MAX;
145
148
  const meta = {
146
149
  [constants_1.ValidationKeys.MAX]: value,
147
150
  message: message,
148
- types: [Number.name, Date.name],
149
151
  description: `defines the max value of the attribute as ${value} (applies to numbers or Dates)`,
150
152
  async: false,
151
153
  };
152
- return Decoration_1.Decoration.for(key)
154
+ return decoration_1.Decoration.for(key)
153
155
  .define({
154
- decorator: (validationMetadata),
156
+ decorator: innerValidationDecorator,
155
157
  args: [max, key, meta],
156
158
  })
157
159
  .apply();
@@ -167,17 +169,16 @@ function max(value, message = constants_1.DEFAULT_ERROR_MESSAGES.MAX) {
167
169
  * @category Property Decorators
168
170
  */
169
171
  function step(value, message = constants_1.DEFAULT_ERROR_MESSAGES.STEP) {
170
- const key = Validation_1.Validation.key(constants_1.ValidationKeys.STEP);
172
+ const key = constants_1.ValidationKeys.STEP;
171
173
  const meta = {
172
174
  [constants_1.ValidationKeys.STEP]: value,
173
175
  message: message,
174
- types: [Number.name],
175
176
  description: `defines the step of the attribute as ${value}`,
176
177
  async: false,
177
178
  };
178
- return Decoration_1.Decoration.for(key)
179
+ return decoration_1.Decoration.for(key)
179
180
  .define({
180
- decorator: (validationMetadata),
181
+ decorator: innerValidationDecorator,
181
182
  args: [step, key, meta],
182
183
  })
183
184
  .apply();
@@ -193,17 +194,16 @@ function step(value, message = constants_1.DEFAULT_ERROR_MESSAGES.STEP) {
193
194
  * @category Property Decorators
194
195
  */
195
196
  function minlength(value, message = constants_1.DEFAULT_ERROR_MESSAGES.MIN_LENGTH) {
196
- const key = Validation_1.Validation.key(constants_1.ValidationKeys.MIN_LENGTH);
197
+ const key = constants_1.ValidationKeys.MIN_LENGTH;
197
198
  const meta = {
198
199
  [constants_1.ValidationKeys.MIN_LENGTH]: value,
199
200
  message: message,
200
- types: [String.name, Array.name, Set.name],
201
201
  description: `defines the min length of the attribute as ${value} (applies to strings or lists)`,
202
202
  async: false,
203
203
  };
204
- return Decoration_1.Decoration.for(key)
204
+ return decoration_1.Decoration.for(key)
205
205
  .define({
206
- decorator: (validationMetadata),
206
+ decorator: innerValidationDecorator,
207
207
  args: [minlength, key, meta],
208
208
  })
209
209
  .apply();
@@ -219,17 +219,16 @@ function minlength(value, message = constants_1.DEFAULT_ERROR_MESSAGES.MIN_LENGT
219
219
  * @category Property Decorators
220
220
  */
221
221
  function maxlength(value, message = constants_1.DEFAULT_ERROR_MESSAGES.MAX_LENGTH) {
222
- const key = Validation_1.Validation.key(constants_1.ValidationKeys.MAX_LENGTH);
222
+ const key = constants_1.ValidationKeys.MAX_LENGTH;
223
223
  const meta = {
224
224
  [constants_1.ValidationKeys.MAX_LENGTH]: value,
225
225
  message: message,
226
- types: [String.name, Array.name, Set.name],
227
226
  description: `defines the max length of the attribute as ${value} (applies to strings or lists)`,
228
227
  async: false,
229
228
  };
230
- return Decoration_1.Decoration.for(key)
229
+ return decoration_1.Decoration.for(key)
231
230
  .define({
232
- decorator: (validationMetadata),
231
+ decorator: innerValidationDecorator,
233
232
  args: [maxlength, key, meta],
234
233
  })
235
234
  .apply();
@@ -245,17 +244,16 @@ function maxlength(value, message = constants_1.DEFAULT_ERROR_MESSAGES.MAX_LENGT
245
244
  * @category Property Decorators
246
245
  */
247
246
  function pattern(value, message = constants_1.DEFAULT_ERROR_MESSAGES.PATTERN) {
248
- const key = Validation_1.Validation.key(constants_1.ValidationKeys.PATTERN);
247
+ const key = constants_1.ValidationKeys.PATTERN;
249
248
  const meta = {
250
249
  [constants_1.ValidationKeys.PATTERN]: typeof value === "string" ? value : value.toString(),
251
250
  message: message,
252
- types: [String.name],
253
251
  description: `assigns the ${value === "string" ? value : value.toString()} pattern to the attribute`,
254
252
  async: false,
255
253
  };
256
- return Decoration_1.Decoration.for(key)
254
+ return decoration_1.Decoration.for(key)
257
255
  .define({
258
- decorator: (validationMetadata),
256
+ decorator: innerValidationDecorator,
259
257
  args: [pattern, key, meta],
260
258
  })
261
259
  .apply();
@@ -270,17 +268,16 @@ function pattern(value, message = constants_1.DEFAULT_ERROR_MESSAGES.PATTERN) {
270
268
  * @category Property Decorators
271
269
  */
272
270
  function email(message = constants_1.DEFAULT_ERROR_MESSAGES.EMAIL) {
273
- const key = Validation_1.Validation.key(constants_1.ValidationKeys.EMAIL);
271
+ const key = constants_1.ValidationKeys.EMAIL;
274
272
  const meta = {
275
273
  [constants_1.ValidationKeys.PATTERN]: constants_1.DEFAULT_PATTERNS.EMAIL.toString(),
276
274
  message: message,
277
- types: [String.name],
278
275
  description: "marks the attribute as an email",
279
276
  async: false,
280
277
  };
281
- return Decoration_1.Decoration.for(key)
278
+ return decoration_1.Decoration.for(key)
282
279
  .define({
283
- decorator: (validationMetadata),
280
+ decorator: innerValidationDecorator,
284
281
  args: [email, key, meta],
285
282
  })
286
283
  .apply();
@@ -295,17 +292,16 @@ function email(message = constants_1.DEFAULT_ERROR_MESSAGES.EMAIL) {
295
292
  * @category Property Decorators
296
293
  */
297
294
  function url(message = constants_1.DEFAULT_ERROR_MESSAGES.URL) {
298
- const key = Validation_1.Validation.key(constants_1.ValidationKeys.URL);
295
+ const key = constants_1.ValidationKeys.URL;
299
296
  const meta = {
300
297
  [constants_1.ValidationKeys.PATTERN]: constants_1.DEFAULT_PATTERNS.URL.toString(),
301
298
  message: message,
302
- types: [String.name],
303
299
  description: "marks the attribute as an url",
304
300
  async: false,
305
301
  };
306
- return Decoration_1.Decoration.for(key)
302
+ return decoration_1.Decoration.for(key)
307
303
  .define({
308
- decorator: (validationMetadata),
304
+ decorator: innerValidationDecorator,
309
305
  args: [url, key, meta],
310
306
  })
311
307
  .apply();
@@ -314,23 +310,24 @@ function url(message = constants_1.DEFAULT_ERROR_MESSAGES.URL) {
314
310
  * @summary Enforces type verification
315
311
  * @description Validators to validate a decorated property must use key {@link ValidationKeys#TYPE}
316
312
  *
317
- * @param {string[] | string} types accepted types
318
- * @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#TYPE}
313
+ * @param {Constructor[] | Constructor} types accepted types
314
+ * @param {Constructor} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#TYPE}
319
315
  *
320
316
  * @function type
321
317
  * @category Property Decorators
322
318
  */
319
+ //TODO
323
320
  function type(types, message = constants_1.DEFAULT_ERROR_MESSAGES.TYPE) {
324
- const key = Validation_1.Validation.key(constants_1.ValidationKeys.TYPE);
321
+ const key = constants_1.ValidationKeys.TYPE;
325
322
  const meta = {
326
323
  customTypes: types,
327
324
  message: message,
328
325
  description: "defines the accepted types for the attribute",
329
326
  async: false,
330
327
  };
331
- return Decoration_1.Decoration.for(key)
328
+ return decoration_1.Decoration.for(key)
332
329
  .define({
333
- decorator: (validationMetadata),
330
+ decorator: innerValidationDecorator,
334
331
  args: [type, key, meta],
335
332
  })
336
333
  .apply();
@@ -349,19 +346,18 @@ function type(types, message = constants_1.DEFAULT_ERROR_MESSAGES.TYPE) {
349
346
  * @category Property Decorators
350
347
  */
351
348
  function date(format = "dd/MM/yyyy", message = constants_1.DEFAULT_ERROR_MESSAGES.DATE) {
352
- const key = Validation_1.Validation.key(constants_1.ValidationKeys.DATE);
353
- function dateDec(format, message) {
349
+ const key = constants_1.ValidationKeys.DATE;
350
+ function innerDateDec(format, message) {
354
351
  const meta = {
355
352
  [constants_1.ValidationKeys.FORMAT]: format,
356
353
  message: message,
357
- types: [Date.name],
358
354
  description: `defines the attribute as a date with the format ${format}`,
359
355
  async: false,
360
356
  };
361
357
  return function dateDec(target, propertyKey) {
362
358
  const values = new WeakMap();
363
359
  Object.defineProperty(target, propertyKey, {
364
- configurable: false,
360
+ configurable: true,
365
361
  set(newValue) {
366
362
  const descriptor = Object.getOwnPropertyDescriptor(this, propertyKey);
367
363
  if (!descriptor || descriptor.configurable)
@@ -386,12 +382,12 @@ function date(format = "dd/MM/yyyy", message = constants_1.DEFAULT_ERROR_MESSAGE
386
382
  return values.get(this);
387
383
  },
388
384
  });
389
- return validationMetadata(date, key, meta)(target, propertyKey);
385
+ return innerValidationDecorator(date, key, meta)(target, propertyKey);
390
386
  };
391
387
  }
392
- return Decoration_1.Decoration.for(key)
388
+ return decoration_1.Decoration.for(key)
393
389
  .define({
394
- decorator: dateDec,
390
+ decorator: innerDateDec,
395
391
  args: [format, message],
396
392
  })
397
393
  .apply();
@@ -408,17 +404,16 @@ function date(format = "dd/MM/yyyy", message = constants_1.DEFAULT_ERROR_MESSAGE
408
404
  * @category Property Decorators
409
405
  */
410
406
  function password(pattern = constants_1.DEFAULT_PATTERNS.PASSWORD.CHAR8_ONE_OF_EACH, message = constants_1.DEFAULT_ERROR_MESSAGES.PASSWORD) {
411
- const key = Validation_1.Validation.key(constants_1.ValidationKeys.PASSWORD);
407
+ const key = constants_1.ValidationKeys.PASSWORD;
412
408
  const meta = {
413
409
  [constants_1.ValidationKeys.PATTERN]: pattern.toString(),
414
410
  message: message,
415
- types: [String.name],
416
411
  description: `attribute as a password`,
417
412
  async: false,
418
413
  };
419
- return Decoration_1.Decoration.for(key)
414
+ return decoration_1.Decoration.for(key)
420
415
  .define({
421
- decorator: validationMetadata,
416
+ decorator: innerValidationDecorator,
422
417
  args: [password, key, meta],
423
418
  })
424
419
  .apply();
@@ -436,19 +431,17 @@ function password(pattern = constants_1.DEFAULT_PATTERNS.PASSWORD.CHAR8_ONE_OF_E
436
431
  * @category Property Decorators
437
432
  */
438
433
  function list(clazz, collection = "Array", message = constants_1.DEFAULT_ERROR_MESSAGES.LIST) {
439
- const key = Validation_1.Validation.key(constants_1.ValidationKeys.LIST);
434
+ const key = constants_1.ValidationKeys.LIST;
440
435
  const meta = {
441
- clazz: (Array.isArray(clazz)
442
- ? clazz.map((c) => (c.name ? c.name : c))
443
- : [clazz.name ? clazz.name : clazz]),
436
+ clazz: (Array.isArray(clazz) ? clazz : [clazz]),
444
437
  type: collection,
445
438
  message: message,
446
439
  async: false,
447
440
  description: `defines the attribute as a ${collection} of ${clazz.name}`,
448
441
  };
449
- return Decoration_1.Decoration.for(key)
442
+ return decoration_1.Decoration.for(key)
450
443
  .define({
451
- decorator: validationMetadata,
444
+ decorator: innerValidationDecorator,
452
445
  args: [list, key, meta],
453
446
  })
454
447
  .apply();
@@ -490,7 +483,10 @@ function eq(propertyToCompare, options
490
483
  [constants_1.ValidationKeys.EQUALS]: propertyToCompare,
491
484
  description: `defines attribute as equal to ${propertyToCompare}`,
492
485
  };
493
- return validationMetadata(eq, Validation_1.Validation.key(constants_1.ValidationKeys.EQUALS), { ...equalsOptions, async: false });
486
+ return innerValidationDecorator(eq, constants_1.ValidationKeys.EQUALS, {
487
+ ...equalsOptions,
488
+ async: false,
489
+ });
494
490
  }
495
491
  /**
496
492
  * @summary Declares that the decorated property must be different from another specified property.
@@ -513,7 +509,7 @@ function diff(propertyToCompare, options) {
513
509
  [constants_1.ValidationKeys.DIFF]: propertyToCompare,
514
510
  description: `defines attribute as different to ${propertyToCompare}`,
515
511
  };
516
- return validationMetadata(diff, Validation_1.Validation.key(constants_1.ValidationKeys.DIFF), {
512
+ return innerValidationDecorator(diff, constants_1.ValidationKeys.DIFF, {
517
513
  ...diffOptions,
518
514
  async: false,
519
515
  });
@@ -539,7 +535,10 @@ function lt(propertyToCompare, options) {
539
535
  [constants_1.ValidationKeys.LESS_THAN]: propertyToCompare,
540
536
  description: `defines attribute as less than to ${propertyToCompare}`,
541
537
  };
542
- return validationMetadata(lt, Validation_1.Validation.key(constants_1.ValidationKeys.LESS_THAN), { ...ltOptions, async: false });
538
+ return innerValidationDecorator(lt, constants_1.ValidationKeys.LESS_THAN, {
539
+ ...ltOptions,
540
+ async: false,
541
+ });
543
542
  }
544
543
  /**
545
544
  * @summary Declares that the decorated property must be equal or less than another specified property.
@@ -562,7 +561,10 @@ function lte(propertyToCompare, options) {
562
561
  [constants_1.ValidationKeys.LESS_THAN_OR_EQUAL]: propertyToCompare,
563
562
  description: `defines attribute as less or equal to ${propertyToCompare}`,
564
563
  };
565
- return validationMetadata(lte, Validation_1.Validation.key(constants_1.ValidationKeys.LESS_THAN_OR_EQUAL), { ...lteOptions, async: false });
564
+ return innerValidationDecorator(lte, constants_1.ValidationKeys.LESS_THAN_OR_EQUAL, {
565
+ ...lteOptions,
566
+ async: false,
567
+ });
566
568
  }
567
569
  /**
568
570
  * @summary Declares that the decorated property must be greater than another specified property.
@@ -585,7 +587,10 @@ function gt(propertyToCompare, options) {
585
587
  [constants_1.ValidationKeys.GREATER_THAN]: propertyToCompare,
586
588
  description: `defines attribute as greater than ${propertyToCompare}`,
587
589
  };
588
- return validationMetadata(gt, Validation_1.Validation.key(constants_1.ValidationKeys.GREATER_THAN), { ...gtOptions, async: false });
590
+ return innerValidationDecorator(gt, constants_1.ValidationKeys.GREATER_THAN, {
591
+ ...gtOptions,
592
+ async: false,
593
+ });
589
594
  }
590
595
  /**
591
596
  * @summary Declares that the decorated property must be equal or greater than another specified property.
@@ -608,6 +613,34 @@ function gte(propertyToCompare, options) {
608
613
  [constants_1.ValidationKeys.GREATER_THAN_OR_EQUAL]: propertyToCompare,
609
614
  description: `defines attribute as greater or equal to ${propertyToCompare}`,
610
615
  };
611
- return validationMetadata(gte, Validation_1.Validation.key(constants_1.ValidationKeys.GREATER_THAN_OR_EQUAL), { ...gteOptions, async: false });
616
+ return innerValidationDecorator(gte, constants_1.ValidationKeys.GREATER_THAN_OR_EQUAL, {
617
+ ...gteOptions,
618
+ async: false,
619
+ });
620
+ }
621
+ /**
622
+ * @summary Defines a list or an object of accepted values for the property
623
+ * @description Validators to validate a decorated property must use key {@link ValidationKeys#ENUM}
624
+ *
625
+ * @param {any[] | Record<any, any>} value
626
+ * @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#ENUM}
627
+ *
628
+ * @function option
629
+ * @category Property Decorators
630
+ */
631
+ function option(value, message = constants_1.DEFAULT_ERROR_MESSAGES.ENUM) {
632
+ const key = constants_1.ValidationKeys.ENUM;
633
+ const meta = {
634
+ [constants_1.ValidationKeys.ENUM]: value,
635
+ message: message,
636
+ description: `defines a list or an object of accepted values for the attribute`,
637
+ async: false,
638
+ };
639
+ return decoration_1.Decoration.for(key)
640
+ .define({
641
+ decorator: innerValidationDecorator,
642
+ args: [option, key, meta],
643
+ })
644
+ .apply();
612
645
  }
613
646
  //# sourceMappingURL=decorators.js.map
@@ -1,6 +1,6 @@
1
- import "reflect-metadata";
2
1
  import { ComparisonValidatorOptions, DateValidatorOptions, ListValidatorOptions, ValidatorOptions } from "./types";
3
- import { Constructor, ModelConstructor } from "../model/types";
2
+ import { ModelConstructor } from "../model/types";
3
+ import { Constructor } from "@decaf-ts/decoration";
4
4
  /**
5
5
  * @description Combined property decorator factory for metadata and attribute marking
6
6
  * @summary Creates a decorator that both marks a property as a model attribute and assigns metadata to it
@@ -13,7 +13,8 @@ import { Constructor, ModelConstructor } from "../model/types";
13
13
  * @function validationMetadata
14
14
  * @category Property Decorators
15
15
  */
16
- export declare function validationMetadata<V>(decorator: any, key: string, value: V): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
16
+ export declare function validationMetadata<V>(decorator: any, key: string, value: V): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor | number) => void;
17
+ export declare function innerValidationDecorator(dec: any, key: string, meta: any): (obj: any, prop: any) => void;
17
18
  export declare function async(): (model: object) => void;
18
19
  /**
19
20
  * @description Property decorator that marks a field as required
@@ -139,23 +140,22 @@ export declare function email(message?: string): (target: any, propertyKey?: any
139
140
  * @category Property Decorators
140
141
  */
141
142
  export declare function url(message?: string): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
143
+ export type TypeConstructor = Constructor | typeof BigInt;
142
144
  export interface TypeMetadata extends ValidatorOptions {
143
- customTypes: (string | (() => string))[] | string | (() => string);
145
+ customTypes: (TypeConstructor | (() => TypeConstructor))[] | TypeConstructor | (() => TypeConstructor);
144
146
  }
145
147
  /**
146
148
  * @summary Enforces type verification
147
149
  * @description Validators to validate a decorated property must use key {@link ValidationKeys#TYPE}
148
150
  *
149
- * @param {string[] | string} types accepted types
150
- * @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#TYPE}
151
+ * @param {Constructor[] | Constructor} types accepted types
152
+ * @param {Constructor} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#TYPE}
151
153
  *
152
154
  * @function type
153
155
  * @category Property Decorators
154
156
  */
155
- export declare function type(types: (string | (() => string))[] | string | (() => string), message?: string): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
156
- export interface DateMetadata extends DateValidatorOptions {
157
- types: string[];
158
- }
157
+ export declare function type(types: (TypeConstructor | (() => TypeConstructor))[] | TypeConstructor | (() => TypeConstructor), message?: string): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
158
+ export type DateMetadata = DateValidatorOptions;
159
159
  /**
160
160
  * @summary Date Handler Decorator
161
161
  * @description Validators to validate a decorated property must use key {@link ValidationKeys#DATE}
@@ -197,7 +197,7 @@ export interface ListMetadata extends ListValidatorOptions {
197
197
  *
198
198
  * @category Property Decorators
199
199
  */
200
- export declare function list(clazz: Constructor<any> | (() => Constructor<any>) | (Constructor<any> | (() => Constructor<any>))[], collection?: "Array" | "Set", message?: string): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
200
+ export declare function list(clazz: Constructor | (() => Constructor) | (Constructor | (() => Constructor))[], collection?: "Array" | "Set", message?: string): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
201
201
  /**
202
202
  * @summary Set Decorator
203
203
  * @description Wrapper for {@link list} with the 'Set' Collection
@@ -224,7 +224,7 @@ export declare function set(clazz: ModelConstructor<any>, message?: string): (ta
224
224
  * @function eq
225
225
  * @category Property Decorators
226
226
  */
227
- export declare function eq(propertyToCompare: string, options?: Omit<ComparisonValidatorOptions, "async" | "description">): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
227
+ export declare function eq(propertyToCompare: string, options?: Omit<ComparisonValidatorOptions, "async" | "description">): (obj: any, prop: any) => void;
228
228
  /**
229
229
  * @summary Declares that the decorated property must be different from another specified property.
230
230
  * @description Applies the {@link ValidationKeys.DIFF} validator to ensure the decorated value is different from the value of the given property.
@@ -239,7 +239,7 @@ export declare function eq(propertyToCompare: string, options?: Omit<ComparisonV
239
239
  * @function diff
240
240
  * @category Property Decorators
241
241
  */
242
- export declare function diff(propertyToCompare: string, options?: Omit<ComparisonValidatorOptions, "async" | "description">): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
242
+ export declare function diff(propertyToCompare: string, options?: Omit<ComparisonValidatorOptions, "async" | "description">): (obj: any, prop: any) => void;
243
243
  /**
244
244
  * @summary Declares that the decorated property must be less than another specified property.
245
245
  * @description Applies the {@link ValidationKeys.LESS_THAN} validator to ensure the decorated value is less than the value of the given property.
@@ -254,7 +254,7 @@ export declare function diff(propertyToCompare: string, options?: Omit<Compariso
254
254
  * @function lt
255
255
  * @category Property Decorators
256
256
  */
257
- export declare function lt(propertyToCompare: string, options?: Omit<ComparisonValidatorOptions, "async" | "description">): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
257
+ export declare function lt(propertyToCompare: string, options?: Omit<ComparisonValidatorOptions, "async" | "description">): (obj: any, prop: any) => void;
258
258
  /**
259
259
  * @summary Declares that the decorated property must be equal or less than another specified property.
260
260
  * @description Applies the {@link ValidationKeys.LESS_THAN_OR_EQUAL} validator to ensure the decorated value is equal or less than the value of the given property.
@@ -269,7 +269,7 @@ export declare function lt(propertyToCompare: string, options?: Omit<ComparisonV
269
269
  * @function lte
270
270
  * @category Property Decorators
271
271
  */
272
- export declare function lte(propertyToCompare: string, options?: Omit<ComparisonValidatorOptions, "async" | "description">): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
272
+ export declare function lte(propertyToCompare: string, options?: Omit<ComparisonValidatorOptions, "async" | "description">): (obj: any, prop: any) => void;
273
273
  /**
274
274
  * @summary Declares that the decorated property must be greater than another specified property.
275
275
  * @description Applies the {@link ValidationKeys.GREATER_THAN} validator to ensure the decorated value is greater than the value of the given property.
@@ -284,7 +284,7 @@ export declare function lte(propertyToCompare: string, options?: Omit<Comparison
284
284
  * @function gt
285
285
  * @category Property Decorators
286
286
  */
287
- export declare function gt(propertyToCompare: string, options?: Omit<ComparisonValidatorOptions, "async" | "description">): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
287
+ export declare function gt(propertyToCompare: string, options?: Omit<ComparisonValidatorOptions, "async" | "description">): (obj: any, prop: any) => void;
288
288
  /**
289
289
  * @summary Declares that the decorated property must be equal or greater than another specified property.
290
290
  * @description Applies the {@link ValidationKeys.GREATER_THAN_OR_EQUAL} validator to ensure the decorated value is equal or greater than the value of the given property.
@@ -299,4 +299,15 @@ export declare function gt(propertyToCompare: string, options?: Omit<ComparisonV
299
299
  * @function gte
300
300
  * @category Property Decorators
301
301
  */
302
- export declare function gte(propertyToCompare: string, options?: Omit<ComparisonValidatorOptions, "async" | "description">): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
302
+ export declare function gte(propertyToCompare: string, options?: Omit<ComparisonValidatorOptions, "async" | "description">): (obj: any, prop: any) => void;
303
+ /**
304
+ * @summary Defines a list or an object of accepted values for the property
305
+ * @description Validators to validate a decorated property must use key {@link ValidationKeys#ENUM}
306
+ *
307
+ * @param {any[] | Record<any, any>} value
308
+ * @param {string} [message] the error message. Defaults to {@link DEFAULT_ERROR_MESSAGES#ENUM}
309
+ *
310
+ * @function option
311
+ * @category Property Decorators
312
+ */
313
+ export declare function option(value: any[] | Record<any, any>, message?: string): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/validation/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/validation/decorators.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { DecoratorMetadata } from "@decaf-ts/reflection";
2
- import { Constructor } from "../model";
1
+ import { Constructor } from "@decaf-ts/decoration";
3
2
  import { ValidationKeys, Validator } from "./Validators";
4
3
  import { IRegistry } from "../utils";
5
4
  /**
@@ -52,7 +51,7 @@ export type ValidationPropertyDecoratorDefinition = {
52
51
  * @memberOf module:decorator-validation
53
52
  * @category Validation
54
53
  */
55
- export type ValidationDecoratorDefinition = DecoratorMetadata & {
54
+ export type ValidationDecoratorDefinition = {
56
55
  props: ValidationElementDefinition;
57
56
  async?: boolean;
58
57
  };
@@ -66,7 +65,6 @@ export type ValidationElementDefinition = {
66
65
  value?: string | number;
67
66
  message: string;
68
67
  description: string;
69
- types?: string[];
70
68
  };
71
69
  /**
72
70
  * @summary Type for a model errors
@@ -252,7 +250,7 @@ export interface MaxLengthValidatorOptions extends ValidatorOptions {
252
250
  * @category Validation
253
251
  */
254
252
  export interface ListValidatorOptions extends ValidatorOptions {
255
- clazz: (string | (() => Constructor<any>))[];
253
+ clazz: (Constructor<any> | (() => Constructor<any>))[];
256
254
  }
257
255
  /**
258
256
  * @description Unique validation options interface
@@ -297,3 +295,15 @@ export interface GreaterThanValidatorOptions extends ComparisonValidatorOptions
297
295
  export interface GreaterThanOrEqualValidatorOptions extends ComparisonValidatorOptions {
298
296
  [ValidationKeys.GREATER_THAN_OR_EQUAL]: string;
299
297
  }
298
+ /**
299
+ * @description Enum validation options interface
300
+ * @summary Defines options for enum validation
301
+ * @interface EnumValidatorOptions
302
+ * @property {any[] | Record<any, any>} [ValidationKeys.ENUM] - List of values or a record
303
+ * @memberOf module:decorator-validation
304
+ * @category Validation
305
+ */
306
+ export interface EnumValidatorOptions extends ValidatorOptions {
307
+ [ValidationKeys.ENUM]: any[] | Record<any, any>;
308
+ types?: string[];
309
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/validation/types.ts"],"names":[],"mappings":";;AAEA,uDAAyD"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/validation/types.ts"],"names":[],"mappings":";;AACA,uDAAyD"}