@decaf-ts/decorator-validation 1.5.8 → 1.5.10

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 (212) hide show
  1. package/LICENSE.md +0 -0
  2. package/README.md +0 -0
  3. package/dist/decorator-validation.js +1 -1
  4. package/dist/decorator-validation.js.LICENSE.txt +0 -0
  5. package/dist/esm/decorator-validation.js +1 -1
  6. package/dist/esm/decorator-validation.js.LICENSE.txt +0 -0
  7. package/{lib/esm → dist/types}/index.d.ts +1 -1
  8. package/{lib/esm → dist/types}/model/Model.d.ts +1 -0
  9. package/{lib/esm → dist/types}/model/ModelErrorDefinition.d.ts +0 -0
  10. package/{lib/esm → dist/types}/model/constants.d.ts +0 -0
  11. package/{lib/esm → dist/types}/model/construction.d.ts +0 -0
  12. package/{lib/esm → dist/types}/model/decorators.d.ts +0 -0
  13. package/{lib/esm → dist/types}/model/index.d.ts +0 -1
  14. package/{lib/esm → dist/types}/model/types.d.ts +0 -0
  15. package/{lib/esm → dist/types}/model/validation.d.ts +0 -0
  16. package/{lib/esm → dist/types}/utils/constants.d.ts +0 -0
  17. package/{lib/esm → dist/types}/utils/dates.d.ts +0 -0
  18. package/{lib/esm → dist/types}/utils/decorators.d.ts +0 -0
  19. package/{lib → dist/types}/utils/hashing.d.ts +0 -14
  20. package/{lib → dist/types}/utils/index.d.ts +1 -0
  21. package/{lib/esm → dist/types}/utils/registry.d.ts +0 -0
  22. package/{lib → dist/types}/utils/serialization.d.ts +4 -30
  23. package/{lib/esm → dist/types}/utils/strings.d.ts +0 -0
  24. package/dist/types/utils/types.d.ts +29 -0
  25. package/{lib → dist/types}/validation/Validation.d.ts +1 -1
  26. package/{lib → dist/types}/validation/Validators/DateValidator.d.ts +1 -1
  27. package/{lib → dist/types}/validation/Validators/EmailValidator.d.ts +1 -1
  28. package/{lib → dist/types}/validation/Validators/ListValidator.d.ts +1 -1
  29. package/{lib → dist/types}/validation/Validators/MaxLengthValidator.d.ts +1 -1
  30. package/{lib/esm → dist/types}/validation/Validators/MaxValidator.d.ts +1 -1
  31. package/{lib/esm → dist/types}/validation/Validators/MinLengthValidator.d.ts +1 -1
  32. package/{lib/esm → dist/types}/validation/Validators/MinValidator.d.ts +1 -1
  33. package/{lib/esm → dist/types}/validation/Validators/PasswordValidator.d.ts +1 -1
  34. package/{lib → dist/types}/validation/Validators/PatternValidator.d.ts +1 -1
  35. package/{lib/esm → dist/types}/validation/Validators/RequiredValidator.d.ts +1 -1
  36. package/{lib/esm → dist/types}/validation/Validators/StepValidator.d.ts +1 -1
  37. package/{lib → dist/types}/validation/Validators/TypeValidator.d.ts +1 -1
  38. package/{lib/esm → dist/types}/validation/Validators/URLValidator.d.ts +1 -1
  39. package/{lib/esm → dist/types}/validation/Validators/Validator.d.ts +1 -1
  40. package/{lib/esm → dist/types}/validation/Validators/ValidatorRegistry.d.ts +2 -2
  41. package/{lib/esm → dist/types}/validation/Validators/constants.d.ts +0 -0
  42. package/{lib/esm → dist/types}/validation/Validators/decorators.d.ts +0 -0
  43. package/dist/types/validation/Validators/index.d.ts +17 -0
  44. package/{lib/esm → dist/types}/validation/decorators.d.ts +0 -0
  45. package/{lib/esm → dist/types}/validation/index.d.ts +0 -0
  46. package/{lib/validation/Validators → dist/types/validation}/types.d.ts +49 -3
  47. package/lib/esm/index.js +3 -1
  48. package/lib/esm/model/Model.js +8 -1
  49. package/lib/esm/model/ModelErrorDefinition.js +2 -0
  50. package/lib/esm/model/constants.js +2 -0
  51. package/lib/esm/model/construction.js +2 -0
  52. package/lib/esm/model/decorators.js +2 -0
  53. package/lib/esm/model/index.js +2 -1
  54. package/lib/esm/model/types.js +2 -0
  55. package/lib/esm/model/validation.js +2 -0
  56. package/lib/esm/utils/constants.js +2 -0
  57. package/lib/esm/utils/dates.js +2 -0
  58. package/lib/esm/utils/decorators.js +2 -0
  59. package/lib/esm/utils/hashing.js +2 -17
  60. package/lib/esm/utils/index.js +3 -0
  61. package/lib/esm/utils/registry.js +2 -0
  62. package/lib/esm/utils/serialization.js +4 -1
  63. package/lib/esm/utils/strings.js +2 -0
  64. package/lib/esm/utils/types.js +3 -0
  65. package/lib/esm/validation/Validation.js +2 -0
  66. package/lib/esm/validation/Validators/DateValidator.js +2 -0
  67. package/lib/esm/validation/Validators/EmailValidator.js +2 -0
  68. package/lib/esm/validation/Validators/ListValidator.js +2 -0
  69. package/lib/esm/validation/Validators/MaxLengthValidator.js +2 -0
  70. package/lib/esm/validation/Validators/MaxValidator.js +2 -0
  71. package/lib/esm/validation/Validators/MinLengthValidator.js +2 -0
  72. package/lib/esm/validation/Validators/MinValidator.js +2 -0
  73. package/lib/esm/validation/Validators/PasswordValidator.js +2 -0
  74. package/lib/esm/validation/Validators/PatternValidator.js +2 -0
  75. package/lib/esm/validation/Validators/RequiredValidator.js +2 -0
  76. package/lib/esm/validation/Validators/StepValidator.js +2 -0
  77. package/lib/esm/validation/Validators/TypeValidator.js +2 -0
  78. package/lib/esm/validation/Validators/URLValidator.js +2 -0
  79. package/lib/esm/validation/Validators/Validator.js +2 -0
  80. package/lib/esm/validation/Validators/ValidatorRegistry.js +2 -0
  81. package/lib/esm/validation/Validators/constants.js +2 -0
  82. package/lib/esm/validation/Validators/decorators.js +2 -0
  83. package/lib/esm/validation/Validators/index.js +2 -35
  84. package/lib/esm/validation/decorators.js +2 -0
  85. package/lib/esm/validation/index.js +2 -0
  86. package/lib/esm/validation/types.js +2 -0
  87. package/lib/index.cjs +61 -0
  88. package/lib/model/Model.cjs +397 -0
  89. package/lib/model/ModelErrorDefinition.cjs +58 -0
  90. package/lib/model/constants.cjs +74 -0
  91. package/lib/model/construction.cjs +70 -0
  92. package/lib/model/decorators.cjs +69 -0
  93. package/lib/model/index.cjs +25 -0
  94. package/lib/model/types.cjs +4 -0
  95. package/lib/model/validation.cjs +140 -0
  96. package/lib/utils/constants.cjs +32 -0
  97. package/lib/utils/dates.cjs +253 -0
  98. package/lib/utils/decorators.cjs +24 -0
  99. package/lib/utils/hashing.cjs +90 -0
  100. package/lib/utils/index.cjs +26 -0
  101. package/lib/utils/registry.cjs +4 -0
  102. package/lib/utils/serialization.cjs +96 -0
  103. package/lib/utils/strings.cjs +37 -0
  104. package/lib/utils/types.cjs +4 -0
  105. package/lib/validation/Validation.cjs +77 -0
  106. package/lib/validation/Validators/DateValidator.cjs +59 -0
  107. package/lib/validation/Validators/EmailValidator.cjs +55 -0
  108. package/lib/validation/Validators/ListValidator.cjs +72 -0
  109. package/lib/validation/Validators/MaxLengthValidator.cjs +57 -0
  110. package/lib/validation/Validators/MaxValidator.cjs +62 -0
  111. package/lib/validation/Validators/MinLengthValidator.cjs +57 -0
  112. package/lib/validation/Validators/MinValidator.cjs +62 -0
  113. package/lib/validation/Validators/PasswordValidator.cjs +55 -0
  114. package/lib/validation/Validators/PatternValidator.cjs +75 -0
  115. package/lib/validation/Validators/RequiredValidator.cjs +62 -0
  116. package/lib/validation/Validators/StepValidator.cjs +57 -0
  117. package/lib/validation/Validators/TypeValidator.cjs +65 -0
  118. package/lib/validation/Validators/URLValidator.cjs +54 -0
  119. package/lib/validation/Validators/Validator.cjs +53 -0
  120. package/lib/validation/Validators/ValidatorRegistry.cjs +87 -0
  121. package/lib/validation/Validators/constants.cjs +139 -0
  122. package/lib/validation/Validators/decorators.cjs +30 -0
  123. package/lib/validation/Validators/index.cjs +35 -0
  124. package/lib/validation/decorators.cjs +306 -0
  125. package/lib/validation/{index.js → index.cjs} +6 -4
  126. package/lib/validation/types.cjs +4 -0
  127. package/package.json +2 -2
  128. package/lib/esm/model/utils.d.ts +0 -2
  129. package/lib/esm/model/utils.js +0 -8
  130. package/lib/esm/utils/hashing.d.ts +0 -52
  131. package/lib/esm/utils/index.d.ts +0 -7
  132. package/lib/esm/utils/serialization.d.ts +0 -79
  133. package/lib/esm/validation/Validation.d.ts +0 -51
  134. package/lib/esm/validation/Validators/DateValidator.d.ts +0 -28
  135. package/lib/esm/validation/Validators/EmailValidator.d.ts +0 -28
  136. package/lib/esm/validation/Validators/ListValidator.d.ts +0 -28
  137. package/lib/esm/validation/Validators/MaxLengthValidator.d.ts +0 -29
  138. package/lib/esm/validation/Validators/PatternValidator.d.ts +0 -37
  139. package/lib/esm/validation/Validators/TypeValidator.d.ts +0 -25
  140. package/lib/esm/validation/Validators/index.d.ts +0 -52
  141. package/lib/esm/validation/Validators/types.js +0 -1
  142. package/lib/esm/validation/types.d.ts +0 -46
  143. package/lib/index.d.ts +0 -42
  144. package/lib/index.js +0 -59
  145. package/lib/model/Model.d.ts +0 -203
  146. package/lib/model/Model.js +0 -389
  147. package/lib/model/ModelErrorDefinition.d.ts +0 -22
  148. package/lib/model/ModelErrorDefinition.js +0 -56
  149. package/lib/model/constants.d.ts +0 -56
  150. package/lib/model/constants.js +0 -72
  151. package/lib/model/construction.d.ts +0 -29
  152. package/lib/model/construction.js +0 -68
  153. package/lib/model/decorators.d.ts +0 -25
  154. package/lib/model/decorators.js +0 -67
  155. package/lib/model/index.d.ts +0 -8
  156. package/lib/model/index.js +0 -24
  157. package/lib/model/types.d.ts +0 -79
  158. package/lib/model/types.js +0 -2
  159. package/lib/model/utils.d.ts +0 -2
  160. package/lib/model/utils.js +0 -11
  161. package/lib/model/validation.d.ts +0 -14
  162. package/lib/model/validation.js +0 -138
  163. package/lib/utils/constants.d.ts +0 -26
  164. package/lib/utils/constants.js +0 -30
  165. package/lib/utils/dates.d.ts +0 -76
  166. package/lib/utils/dates.js +0 -251
  167. package/lib/utils/decorators.d.ts +0 -2
  168. package/lib/utils/decorators.js +0 -22
  169. package/lib/utils/hashing.js +0 -106
  170. package/lib/utils/index.js +0 -23
  171. package/lib/utils/registry.d.ts +0 -68
  172. package/lib/utils/registry.js +0 -2
  173. package/lib/utils/serialization.js +0 -93
  174. package/lib/utils/strings.d.ts +0 -25
  175. package/lib/utils/strings.js +0 -35
  176. package/lib/validation/Validation.js +0 -75
  177. package/lib/validation/Validators/DateValidator.js +0 -57
  178. package/lib/validation/Validators/EmailValidator.js +0 -53
  179. package/lib/validation/Validators/ListValidator.js +0 -70
  180. package/lib/validation/Validators/MaxLengthValidator.js +0 -55
  181. package/lib/validation/Validators/MaxValidator.d.ts +0 -28
  182. package/lib/validation/Validators/MaxValidator.js +0 -60
  183. package/lib/validation/Validators/MinLengthValidator.d.ts +0 -29
  184. package/lib/validation/Validators/MinLengthValidator.js +0 -55
  185. package/lib/validation/Validators/MinValidator.d.ts +0 -28
  186. package/lib/validation/Validators/MinValidator.js +0 -60
  187. package/lib/validation/Validators/PasswordValidator.d.ts +0 -28
  188. package/lib/validation/Validators/PasswordValidator.js +0 -53
  189. package/lib/validation/Validators/PatternValidator.js +0 -73
  190. package/lib/validation/Validators/RequiredValidator.d.ts +0 -28
  191. package/lib/validation/Validators/RequiredValidator.js +0 -60
  192. package/lib/validation/Validators/StepValidator.d.ts +0 -29
  193. package/lib/validation/Validators/StepValidator.js +0 -55
  194. package/lib/validation/Validators/TypeValidator.js +0 -63
  195. package/lib/validation/Validators/URLValidator.d.ts +0 -27
  196. package/lib/validation/Validators/URLValidator.js +0 -52
  197. package/lib/validation/Validators/Validator.d.ts +0 -41
  198. package/lib/validation/Validators/Validator.js +0 -51
  199. package/lib/validation/Validators/ValidatorRegistry.d.ts +0 -47
  200. package/lib/validation/Validators/ValidatorRegistry.js +0 -85
  201. package/lib/validation/Validators/constants.d.ts +0 -96
  202. package/lib/validation/Validators/constants.js +0 -137
  203. package/lib/validation/Validators/decorators.d.ts +0 -12
  204. package/lib/validation/Validators/decorators.js +0 -28
  205. package/lib/validation/Validators/index.d.ts +0 -52
  206. package/lib/validation/Validators/index.js +0 -69
  207. package/lib/validation/Validators/types.js +0 -2
  208. package/lib/validation/decorators.d.ts +0 -178
  209. package/lib/validation/decorators.js +0 -304
  210. package/lib/validation/index.d.ts +0 -4
  211. package/lib/validation/types.d.ts +0 -46
  212. package/lib/validation/types.js +0 -2
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Validation = void 0;
4
+ const ValidatorRegistry_1 = require("./Validators/ValidatorRegistry.cjs");
5
+ const constants_1 = require("./Validators/constants.cjs");
6
+ /**
7
+ * @summary Static class acting as a namespace for the Validation
8
+ *
9
+ * @class Validation
10
+ * @static
11
+ *
12
+ * @category Validation
13
+ */
14
+ class Validation {
15
+ static { this.actingValidatorRegistry = undefined; }
16
+ constructor() { }
17
+ /**
18
+ * @summary Defines the acting ValidatorRegistry
19
+ *
20
+ * @param {IValidatorRegistry} validatorRegistry the new implementation of the validator Registry
21
+ * @param {function(Validator): Validator} [migrationHandler] the method to map the validator if required;
22
+ */
23
+ static setRegistry(validatorRegistry, migrationHandler) {
24
+ if (migrationHandler && Validation.actingValidatorRegistry)
25
+ Validation.actingValidatorRegistry.getKeys().forEach((k) => {
26
+ const validator = validatorRegistry.get(k);
27
+ if (validator)
28
+ validatorRegistry.register(migrationHandler(validator));
29
+ });
30
+ Validation.actingValidatorRegistry = validatorRegistry;
31
+ }
32
+ /**
33
+ * @summary Returns the current ValidatorRegistry
34
+ *
35
+ * @return IValidatorRegistry, defaults to {@link ValidatorRegistry}
36
+ */
37
+ static getRegistry() {
38
+ if (!Validation.actingValidatorRegistry)
39
+ Validation.actingValidatorRegistry = new ValidatorRegistry_1.ValidatorRegistry();
40
+ return Validation.actingValidatorRegistry;
41
+ }
42
+ /**
43
+ * @summary Retrieves a validator
44
+ *
45
+ * @param {string} validatorKey one of the {@link ValidationKeys}
46
+ * @return {Validator | undefined} the registered Validator or undefined if there is nono matching the provided key
47
+ */
48
+ static get(validatorKey) {
49
+ return Validation.getRegistry().get(validatorKey);
50
+ }
51
+ /**
52
+ * @summary Registers the provided validators onto the registry
53
+ *
54
+ * @param {T[] | ValidatorDefinition[]} validator
55
+ */
56
+ static register(...validator) {
57
+ return Validation.getRegistry().register(...validator);
58
+ }
59
+ /**
60
+ * @summary Builds the key to store as Metadata under Reflections
61
+ * @description concatenates {@link ValidationKeys#REFLECT} with the provided key
62
+ *
63
+ * @param {string} key
64
+ */
65
+ static key(key) {
66
+ return constants_1.ValidationKeys.REFLECT + key;
67
+ }
68
+ /**
69
+ * @summary Returns all registered validation keys
70
+ */
71
+ static keys() {
72
+ return this.getRegistry().getKeys();
73
+ }
74
+ }
75
+ exports.Validation = Validation;
76
+
77
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsc0VBQW1FO0FBQ25FLHNEQUF3RDtBQUV4RDs7Ozs7OztHQU9HO0FBQ0gsTUFBYSxVQUFVO2FBQ04sNEJBQXVCLEdBQ3BDLFNBQVMsQ0FBQztJQUVaLGdCQUF1QixDQUFDO0lBRXhCOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FDaEIsaUJBQWdELEVBQ2hELGdCQUFzRDtRQUV0RCxJQUFJLGdCQUFnQixJQUFJLFVBQVUsQ0FBQyx1QkFBdUI7WUFDeEQsVUFBVSxDQUFDLHVCQUF1QixDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQVMsRUFBRSxFQUFFO2dCQUNqRSxNQUFNLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzNDLElBQUksU0FBUztvQkFBRSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUN6RSxDQUFDLENBQUMsQ0FBQztRQUNMLFVBQVUsQ0FBQyx1QkFBdUIsR0FBRyxpQkFBaUIsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLE1BQU0sQ0FBQyxXQUFXO1FBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsdUJBQXVCO1lBQ3JDLFVBQVUsQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLHFDQUFpQixFQUFFLENBQUM7UUFDL0QsT0FBTyxVQUFVLENBQUMsdUJBQXVCLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLEdBQUcsQ0FBc0IsWUFBb0I7UUFDbEQsT0FBTyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFFBQVEsQ0FDYixHQUFHLFNBQXNDO1FBRXpDLE9BQU8sVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBVztRQUNwQixPQUFPLDBCQUFjLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsSUFBSTtRQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3RDLENBQUM7O0FBdkVILGdDQXdFQyIsImZpbGUiOiJ2YWxpZGF0aW9uL1ZhbGlkYXRpb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3IgfSBmcm9tIFwiLi9WYWxpZGF0b3JzL1ZhbGlkYXRvclwiO1xuaW1wb3J0IHsgSVZhbGlkYXRvclJlZ2lzdHJ5LCBWYWxpZGF0b3JEZWZpbml0aW9uIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IFZhbGlkYXRvclJlZ2lzdHJ5IH0gZnJvbSBcIi4vVmFsaWRhdG9ycy9WYWxpZGF0b3JSZWdpc3RyeVwiO1xuaW1wb3J0IHsgVmFsaWRhdGlvbktleXMgfSBmcm9tIFwiLi9WYWxpZGF0b3JzL2NvbnN0YW50c1wiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IFN0YXRpYyBjbGFzcyBhY3RpbmcgYXMgYSBuYW1lc3BhY2UgZm9yIHRoZSBWYWxpZGF0aW9uXG4gKlxuICogQGNsYXNzIFZhbGlkYXRpb25cbiAqIEBzdGF0aWNcbiAqXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdGlvblxuICovXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvbiB7XG4gIHByaXZhdGUgc3RhdGljIGFjdGluZ1ZhbGlkYXRvclJlZ2lzdHJ5PzogSVZhbGlkYXRvclJlZ2lzdHJ5PFZhbGlkYXRvcj4gPVxuICAgIHVuZGVmaW5lZDtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge31cblxuICAvKipcbiAgICogQHN1bW1hcnkgRGVmaW5lcyB0aGUgYWN0aW5nIFZhbGlkYXRvclJlZ2lzdHJ5XG4gICAqXG4gICAqIEBwYXJhbSB7SVZhbGlkYXRvclJlZ2lzdHJ5fSB2YWxpZGF0b3JSZWdpc3RyeSB0aGUgbmV3IGltcGxlbWVudGF0aW9uIG9mIHRoZSB2YWxpZGF0b3IgUmVnaXN0cnlcbiAgICogQHBhcmFtIHtmdW5jdGlvbihWYWxpZGF0b3IpOiBWYWxpZGF0b3J9IFttaWdyYXRpb25IYW5kbGVyXSB0aGUgbWV0aG9kIHRvIG1hcCB0aGUgdmFsaWRhdG9yIGlmIHJlcXVpcmVkO1xuICAgKi9cbiAgc3RhdGljIHNldFJlZ2lzdHJ5KFxuICAgIHZhbGlkYXRvclJlZ2lzdHJ5OiBJVmFsaWRhdG9yUmVnaXN0cnk8VmFsaWRhdG9yPixcbiAgICBtaWdyYXRpb25IYW5kbGVyPzogKHZhbGlkYXRvcjogVmFsaWRhdG9yKSA9PiBWYWxpZGF0b3JcbiAgKSB7XG4gICAgaWYgKG1pZ3JhdGlvbkhhbmRsZXIgJiYgVmFsaWRhdGlvbi5hY3RpbmdWYWxpZGF0b3JSZWdpc3RyeSlcbiAgICAgIFZhbGlkYXRpb24uYWN0aW5nVmFsaWRhdG9yUmVnaXN0cnkuZ2V0S2V5cygpLmZvckVhY2goKGs6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB2YWxpZGF0b3IgPSB2YWxpZGF0b3JSZWdpc3RyeS5nZXQoayk7XG4gICAgICAgIGlmICh2YWxpZGF0b3IpIHZhbGlkYXRvclJlZ2lzdHJ5LnJlZ2lzdGVyKG1pZ3JhdGlvbkhhbmRsZXIodmFsaWRhdG9yKSk7XG4gICAgICB9KTtcbiAgICBWYWxpZGF0aW9uLmFjdGluZ1ZhbGlkYXRvclJlZ2lzdHJ5ID0gdmFsaWRhdG9yUmVnaXN0cnk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgUmV0dXJucyB0aGUgY3VycmVudCBWYWxpZGF0b3JSZWdpc3RyeVxuICAgKlxuICAgKiBAcmV0dXJuIElWYWxpZGF0b3JSZWdpc3RyeSwgZGVmYXVsdHMgdG8ge0BsaW5rIFZhbGlkYXRvclJlZ2lzdHJ5fVxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0UmVnaXN0cnkoKSB7XG4gICAgaWYgKCFWYWxpZGF0aW9uLmFjdGluZ1ZhbGlkYXRvclJlZ2lzdHJ5KVxuICAgICAgVmFsaWRhdGlvbi5hY3RpbmdWYWxpZGF0b3JSZWdpc3RyeSA9IG5ldyBWYWxpZGF0b3JSZWdpc3RyeSgpO1xuICAgIHJldHVybiBWYWxpZGF0aW9uLmFjdGluZ1ZhbGlkYXRvclJlZ2lzdHJ5O1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFJldHJpZXZlcyBhIHZhbGlkYXRvclxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsaWRhdG9yS2V5IG9uZSBvZiB0aGUge0BsaW5rIFZhbGlkYXRpb25LZXlzfVxuICAgKiBAcmV0dXJuIHtWYWxpZGF0b3IgfCB1bmRlZmluZWR9IHRoZSByZWdpc3RlcmVkIFZhbGlkYXRvciBvciB1bmRlZmluZWQgaWYgdGhlcmUgaXMgbm9ubyBtYXRjaGluZyB0aGUgcHJvdmlkZWQga2V5XG4gICAqL1xuICBzdGF0aWMgZ2V0PFQgZXh0ZW5kcyBWYWxpZGF0b3I+KHZhbGlkYXRvcktleTogc3RyaW5nKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIFZhbGlkYXRpb24uZ2V0UmVnaXN0cnkoKS5nZXQodmFsaWRhdG9yS2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBSZWdpc3RlcnMgdGhlIHByb3ZpZGVkIHZhbGlkYXRvcnMgb250byB0aGUgcmVnaXN0cnlcbiAgICpcbiAgICogQHBhcmFtIHtUW10gfCBWYWxpZGF0b3JEZWZpbml0aW9uW119IHZhbGlkYXRvclxuICAgKi9cbiAgc3RhdGljIHJlZ2lzdGVyPFQgZXh0ZW5kcyBWYWxpZGF0b3I+KFxuICAgIC4uLnZhbGlkYXRvcjogKFZhbGlkYXRvckRlZmluaXRpb24gfCBUKVtdXG4gICk6IHZvaWQge1xuICAgIHJldHVybiBWYWxpZGF0aW9uLmdldFJlZ2lzdHJ5KCkucmVnaXN0ZXIoLi4udmFsaWRhdG9yKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBCdWlsZHMgdGhlIGtleSB0byBzdG9yZSBhcyBNZXRhZGF0YSB1bmRlciBSZWZsZWN0aW9uc1xuICAgKiBAZGVzY3JpcHRpb24gY29uY2F0ZW5hdGVzIHtAbGluayBWYWxpZGF0aW9uS2V5cyNSRUZMRUNUfSB3aXRoIHRoZSBwcm92aWRlZCBrZXlcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICAgKi9cbiAgc3RhdGljIGtleShrZXk6IHN0cmluZykge1xuICAgIHJldHVybiBWYWxpZGF0aW9uS2V5cy5SRUZMRUNUICsga2V5O1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFJldHVybnMgYWxsIHJlZ2lzdGVyZWQgdmFsaWRhdGlvbiBrZXlzXG4gICAqL1xuICBzdGF0aWMga2V5cygpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRSZWdpc3RyeSgpLmdldEtleXMoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.DateValidator = void 0;
13
+ const Validator_1 = require("./Validator.cjs");
14
+ const constants_1 = require("./constants.cjs");
15
+ const decorators_1 = require("./decorators.cjs");
16
+ /**
17
+ * @summary Date Validator
18
+ *
19
+ * @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#DATE}
20
+ *
21
+ * @class DateValidator
22
+ * @extends Validator
23
+ *
24
+ * @category Validators
25
+ */
26
+ let DateValidator = class DateValidator extends Validator_1.Validator {
27
+ constructor(message = constants_1.DEFAULT_ERROR_MESSAGES.DATE) {
28
+ super(message, Number.name, Date.name, String.name);
29
+ }
30
+ /**
31
+ * @summary Validates a model
32
+ *
33
+ * @param {Date | string} value
34
+ * @param {DateValidatorOptions} [options]
35
+ *
36
+ * @return {string | undefined}
37
+ *
38
+ * @override
39
+ *
40
+ * @see Validator#hasErrors
41
+ */
42
+ hasErrors(value, options = {}) {
43
+ if (value === undefined)
44
+ return;
45
+ if (typeof value === "string")
46
+ value = new Date(value);
47
+ if (Number.isNaN(value.getDate())) {
48
+ const { message = "" } = options;
49
+ return this.getMessage(message || this.message);
50
+ }
51
+ }
52
+ };
53
+ exports.DateValidator = DateValidator;
54
+ exports.DateValidator = DateValidator = __decorate([
55
+ (0, decorators_1.validator)(constants_1.ValidationKeys.DATE),
56
+ __metadata("design:paramtypes", [String])
57
+ ], DateValidator);
58
+
59
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvRGF0ZVZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBd0M7QUFDeEMsMkNBQXFFO0FBQ3JFLDZDQUF5QztBQUd6Qzs7Ozs7Ozs7O0dBU0c7QUFFSSxJQUFNLGFBQWEsR0FBbkIsTUFBTSxhQUFjLFNBQVEscUJBQStCO0lBQ2hFLFlBQVksVUFBa0Isa0NBQXNCLENBQUMsSUFBSTtRQUN2RCxLQUFLLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0ksU0FBUyxDQUNkLEtBQW9CLEVBQ3BCLFVBQWdDLEVBQUU7UUFFbEMsSUFBSSxLQUFLLEtBQUssU0FBUztZQUFFLE9BQU87UUFFaEMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRO1lBQUUsS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXZELElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sRUFBRSxPQUFPLEdBQUcsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDO1lBQ2pDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELENBQUM7SUFDSCxDQUFDO0NBQ0YsQ0FBQTtBQTlCWSxzQ0FBYTt3QkFBYixhQUFhO0lBRHpCLElBQUEsc0JBQVMsRUFBQywwQkFBYyxDQUFDLElBQUksQ0FBQzs7R0FDbEIsYUFBYSxDQThCekIiLCJmaWxlIjoidmFsaWRhdGlvbi9WYWxpZGF0b3JzL0RhdGVWYWxpZGF0b3IuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3IgfSBmcm9tIFwiLi9WYWxpZGF0b3JcIjtcbmltcG9ydCB7IERFRkFVTFRfRVJST1JfTUVTU0FHRVMsIFZhbGlkYXRpb25LZXlzIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyB2YWxpZGF0b3IgfSBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBEYXRlVmFsaWRhdG9yT3B0aW9ucyB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IERhdGUgVmFsaWRhdG9yXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlXSBkZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNEQVRFfVxuICpcbiAqIEBjbGFzcyBEYXRlVmFsaWRhdG9yXG4gKiBAZXh0ZW5kcyBWYWxpZGF0b3JcbiAqXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdG9yc1xuICovXG5AdmFsaWRhdG9yKFZhbGlkYXRpb25LZXlzLkRBVEUpXG5leHBvcnQgY2xhc3MgRGF0ZVZhbGlkYXRvciBleHRlbmRzIFZhbGlkYXRvcjxEYXRlVmFsaWRhdG9yT3B0aW9ucz4ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLkRBVEUpIHtcbiAgICBzdXBlcihtZXNzYWdlLCBOdW1iZXIubmFtZSwgRGF0ZS5uYW1lLCBTdHJpbmcubmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgVmFsaWRhdGVzIGEgbW9kZWxcbiAgICpcbiAgICogQHBhcmFtIHtEYXRlIHwgc3RyaW5nfSB2YWx1ZVxuICAgKiBAcGFyYW0ge0RhdGVWYWxpZGF0b3JPcHRpb25zfSBbb3B0aW9uc11cbiAgICpcbiAgICogQHJldHVybiB7c3RyaW5nIHwgdW5kZWZpbmVkfVxuICAgKlxuICAgKiBAb3ZlcnJpZGVcbiAgICpcbiAgICogQHNlZSBWYWxpZGF0b3IjaGFzRXJyb3JzXG4gICAqL1xuICBwdWJsaWMgaGFzRXJyb3JzKFxuICAgIHZhbHVlOiBEYXRlIHwgc3RyaW5nLFxuICAgIG9wdGlvbnM6IERhdGVWYWxpZGF0b3JPcHRpb25zID0ge31cbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikgdmFsdWUgPSBuZXcgRGF0ZSh2YWx1ZSk7XG5cbiAgICBpZiAoTnVtYmVyLmlzTmFOKHZhbHVlLmdldERhdGUoKSkpIHtcbiAgICAgIGNvbnN0IHsgbWVzc2FnZSA9IFwiXCIgfSA9IG9wdGlvbnM7XG4gICAgICByZXR1cm4gdGhpcy5nZXRNZXNzYWdlKG1lc3NhZ2UgfHwgdGhpcy5tZXNzYWdlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.EmailValidator = void 0;
13
+ const constants_1 = require("./constants.cjs");
14
+ const PatternValidator_1 = require("./PatternValidator.cjs");
15
+ const decorators_1 = require("./decorators.cjs");
16
+ /**
17
+ * @summary Email Validator
18
+ *
19
+ * @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#EMAIL}
20
+ *
21
+ * @class EmailValidator
22
+ * @extends PatternValidator
23
+ *
24
+ * @category Validators
25
+ */
26
+ let EmailValidator = class EmailValidator extends PatternValidator_1.PatternValidator {
27
+ constructor(message = constants_1.DEFAULT_ERROR_MESSAGES.EMAIL) {
28
+ super(message);
29
+ }
30
+ /**
31
+ * @summary Validates a model
32
+ *
33
+ * @param {string} value
34
+ * @param {PatternValidatorOptions} [options]
35
+ *
36
+ * @return {string | undefined}
37
+ *
38
+ * @override
39
+ *
40
+ * @see Validator#hasErrors
41
+ */
42
+ hasErrors(value, options = {}) {
43
+ return super.hasErrors(value, {
44
+ ...options,
45
+ pattern: options?.pattern || constants_1.DEFAULT_PATTERNS.EMAIL,
46
+ });
47
+ }
48
+ };
49
+ exports.EmailValidator = EmailValidator;
50
+ exports.EmailValidator = EmailValidator = __decorate([
51
+ (0, decorators_1.validator)(constants_1.ValidationKeys.EMAIL),
52
+ __metadata("design:paramtypes", [String])
53
+ ], EmailValidator);
54
+
55
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvRW1haWxWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsMkNBSXFCO0FBQ3JCLHlEQUFzRDtBQUN0RCw2Q0FBeUM7QUFHekM7Ozs7Ozs7OztHQVNHO0FBRUksSUFBTSxjQUFjLEdBQXBCLE1BQU0sY0FBZSxTQUFRLG1DQUFnQjtJQUNsRCxZQUFZLFVBQWtCLGtDQUFzQixDQUFDLEtBQUs7UUFDeEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNJLFNBQVMsQ0FDZCxLQUFhLEVBQ2IsVUFBbUMsRUFBRTtRQUVyQyxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFO1lBQzVCLEdBQUcsT0FBTztZQUNWLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxJQUFJLDRCQUFnQixDQUFDLEtBQUs7U0FDcEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGLENBQUE7QUExQlksd0NBQWM7eUJBQWQsY0FBYztJQUQxQixJQUFBLHNCQUFTLEVBQUMsMEJBQWMsQ0FBQyxLQUFLLENBQUM7O0dBQ25CLGNBQWMsQ0EwQjFCIiwiZmlsZSI6InZhbGlkYXRpb24vVmFsaWRhdG9ycy9FbWFpbFZhbGlkYXRvci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERFRkFVTFRfRVJST1JfTUVTU0FHRVMsXG4gIERFRkFVTFRfUEFUVEVSTlMsXG4gIFZhbGlkYXRpb25LZXlzLFxufSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IFBhdHRlcm5WYWxpZGF0b3IgfSBmcm9tIFwiLi9QYXR0ZXJuVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyB2YWxpZGF0b3IgfSBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucyB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IEVtYWlsIFZhbGlkYXRvclxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV0gZGVmYXVsdHMgdG8ge0BsaW5rIERFRkFVTFRfRVJST1JfTUVTU0FHRVMjRU1BSUx9XG4gKlxuICogQGNsYXNzIEVtYWlsVmFsaWRhdG9yXG4gKiBAZXh0ZW5kcyBQYXR0ZXJuVmFsaWRhdG9yXG4gKlxuICogQGNhdGVnb3J5IFZhbGlkYXRvcnNcbiAqL1xuQHZhbGlkYXRvcihWYWxpZGF0aW9uS2V5cy5FTUFJTClcbmV4cG9ydCBjbGFzcyBFbWFpbFZhbGlkYXRvciBleHRlbmRzIFBhdHRlcm5WYWxpZGF0b3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLkVNQUlMKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgVmFsaWRhdGVzIGEgbW9kZWxcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gICAqIEBwYXJhbSB7UGF0dGVyblZhbGlkYXRvck9wdGlvbnN9IFtvcHRpb25zXVxuICAgKlxuICAgKiBAcmV0dXJuIHtzdHJpbmcgfCB1bmRlZmluZWR9XG4gICAqXG4gICAqIEBvdmVycmlkZVxuICAgKlxuICAgKiBAc2VlIFZhbGlkYXRvciNoYXNFcnJvcnNcbiAgICovXG4gIHB1YmxpYyBoYXNFcnJvcnMoXG4gICAgdmFsdWU6IHN0cmluZyxcbiAgICBvcHRpb25zOiBQYXR0ZXJuVmFsaWRhdG9yT3B0aW9ucyA9IHt9XG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHN1cGVyLmhhc0Vycm9ycyh2YWx1ZSwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHBhdHRlcm46IG9wdGlvbnM/LnBhdHRlcm4gfHwgREVGQVVMVF9QQVRURVJOUy5FTUFJTCxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ListValidator = void 0;
13
+ const Validator_1 = require("./Validator.cjs");
14
+ const constants_1 = require("./constants.cjs");
15
+ const decorators_1 = require("./decorators.cjs");
16
+ /**
17
+ * @summary List Validator
18
+ *
19
+ * @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#LIST}
20
+ *
21
+ * @class ListValidator
22
+ * @extends Validator
23
+ *
24
+ * @category Validators
25
+ */
26
+ let ListValidator = class ListValidator extends Validator_1.Validator {
27
+ constructor(message = constants_1.DEFAULT_ERROR_MESSAGES.LIST) {
28
+ super(message, Array.name, Set.name);
29
+ }
30
+ /**
31
+ * @summary Validates a model
32
+ *
33
+ * @param {any[] | Set<any>} value
34
+ * @param {ListValidatorOptions} options
35
+ *
36
+ * @return {string | undefined}
37
+ *
38
+ * @override
39
+ *
40
+ * @see Validator#hasErrors
41
+ */
42
+ hasErrors(value, options) {
43
+ if (!value || (Array.isArray(value) ? !value.length : !value.size))
44
+ return;
45
+ const clazz = Array.isArray(options.clazz)
46
+ ? options.clazz
47
+ : [options.clazz];
48
+ let val, isValid = true;
49
+ for (let i = 0; i < (Array.isArray(value) ? value.length : value.size); i++) {
50
+ val = value[i];
51
+ switch (typeof val) {
52
+ case "object":
53
+ case "function":
54
+ isValid = clazz.includes(val.constructor?.name);
55
+ break;
56
+ default:
57
+ isValid = clazz.some((c) => typeof val === c.toLowerCase());
58
+ break;
59
+ }
60
+ }
61
+ return isValid
62
+ ? undefined
63
+ : this.getMessage(options.message || this.message, clazz);
64
+ }
65
+ };
66
+ exports.ListValidator = ListValidator;
67
+ exports.ListValidator = ListValidator = __decorate([
68
+ (0, decorators_1.validator)(constants_1.ValidationKeys.LIST),
69
+ __metadata("design:paramtypes", [String])
70
+ ], ListValidator);
71
+
72
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvTGlzdFZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBd0M7QUFDeEMsMkNBQXFFO0FBQ3JFLDZDQUF5QztBQUd6Qzs7Ozs7Ozs7O0dBU0c7QUFFSSxJQUFNLGFBQWEsR0FBbkIsTUFBTSxhQUFjLFNBQVEscUJBQStCO0lBQ2hFLFlBQVksVUFBa0Isa0NBQXNCLENBQUMsSUFBSTtRQUN2RCxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNILFNBQVMsQ0FDUCxLQUF1QixFQUN2QixPQUE2QjtRQUU3QixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFBRSxPQUFPO1FBRTNFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUN4QyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUs7WUFDZixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsSUFBSSxHQUFRLEVBQ1YsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNqQixLQUNFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFDVCxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQ3RELENBQUMsRUFBRSxFQUNILENBQUM7WUFDRCxHQUFHLEdBQUksS0FBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hCLFFBQVEsT0FBTyxHQUFHLEVBQUUsQ0FBQztnQkFDbkIsS0FBSyxRQUFRLENBQUM7Z0JBQ2QsS0FBSyxVQUFVO29CQUNiLE9BQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFFLEdBQWMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQzVELE1BQU07Z0JBQ1I7b0JBQ0UsT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO29CQUNwRSxNQUFNO1lBQ1YsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLE9BQU87WUFDWixDQUFDLENBQUMsU0FBUztZQUNYLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0NBQ0YsQ0FBQTtBQWpEWSxzQ0FBYTt3QkFBYixhQUFhO0lBRHpCLElBQUEsc0JBQVMsRUFBQywwQkFBYyxDQUFDLElBQUksQ0FBQzs7R0FDbEIsYUFBYSxDQWlEekIiLCJmaWxlIjoidmFsaWRhdGlvbi9WYWxpZGF0b3JzL0xpc3RWYWxpZGF0b3IuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3IgfSBmcm9tIFwiLi9WYWxpZGF0b3JcIjtcbmltcG9ydCB7IERFRkFVTFRfRVJST1JfTUVTU0FHRVMsIFZhbGlkYXRpb25LZXlzIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyB2YWxpZGF0b3IgfSBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBMaXN0VmFsaWRhdG9yT3B0aW9ucyB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IExpc3QgVmFsaWRhdG9yXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlXSBkZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNMSVNUfVxuICpcbiAqIEBjbGFzcyBMaXN0VmFsaWRhdG9yXG4gKiBAZXh0ZW5kcyBWYWxpZGF0b3JcbiAqXG4gKiBAY2F0ZWdvcnkgVmFsaWRhdG9yc1xuICovXG5AdmFsaWRhdG9yKFZhbGlkYXRpb25LZXlzLkxJU1QpXG5leHBvcnQgY2xhc3MgTGlzdFZhbGlkYXRvciBleHRlbmRzIFZhbGlkYXRvcjxMaXN0VmFsaWRhdG9yT3B0aW9ucz4ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLkxJU1QpIHtcbiAgICBzdXBlcihtZXNzYWdlLCBBcnJheS5uYW1lLCBTZXQubmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgVmFsaWRhdGVzIGEgbW9kZWxcbiAgICpcbiAgICogQHBhcmFtIHthbnlbXSB8IFNldDxhbnk+fSB2YWx1ZVxuICAgKiBAcGFyYW0ge0xpc3RWYWxpZGF0b3JPcHRpb25zfSBvcHRpb25zXG4gICAqXG4gICAqIEByZXR1cm4ge3N0cmluZyB8IHVuZGVmaW5lZH1cbiAgICpcbiAgICogQG92ZXJyaWRlXG4gICAqXG4gICAqIEBzZWUgVmFsaWRhdG9yI2hhc0Vycm9yc1xuICAgKi9cbiAgaGFzRXJyb3JzKFxuICAgIHZhbHVlOiBhbnlbXSB8IFNldDxhbnk+LFxuICAgIG9wdGlvbnM6IExpc3RWYWxpZGF0b3JPcHRpb25zXG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCF2YWx1ZSB8fCAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyAhdmFsdWUubGVuZ3RoIDogIXZhbHVlLnNpemUpKSByZXR1cm47XG5cbiAgICBjb25zdCBjbGF6eiA9IEFycmF5LmlzQXJyYXkob3B0aW9ucy5jbGF6eilcbiAgICAgID8gb3B0aW9ucy5jbGF6elxuICAgICAgOiBbb3B0aW9ucy5jbGF6el07XG4gICAgbGV0IHZhbDogYW55LFxuICAgICAgaXNWYWxpZCA9IHRydWU7XG4gICAgZm9yIChcbiAgICAgIGxldCBpID0gMDtcbiAgICAgIGkgPCAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZS5sZW5ndGggOiB2YWx1ZS5zaXplKTtcbiAgICAgIGkrK1xuICAgICkge1xuICAgICAgdmFsID0gKHZhbHVlIGFzIGFueSlbaV07XG4gICAgICBzd2l0Y2ggKHR5cGVvZiB2YWwpIHtcbiAgICAgICAgY2FzZSBcIm9iamVjdFwiOlxuICAgICAgICBjYXNlIFwiZnVuY3Rpb25cIjpcbiAgICAgICAgICBpc1ZhbGlkID0gY2xhenouaW5jbHVkZXMoKHZhbCBhcyBvYmplY3QpLmNvbnN0cnVjdG9yPy5uYW1lKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBpc1ZhbGlkID0gY2xhenouc29tZSgoYzogc3RyaW5nKSA9PiB0eXBlb2YgdmFsID09PSBjLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBpc1ZhbGlkXG4gICAgICA/IHVuZGVmaW5lZFxuICAgICAgOiB0aGlzLmdldE1lc3NhZ2Uob3B0aW9ucy5tZXNzYWdlIHx8IHRoaXMubWVzc2FnZSwgY2xhenopO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MaxLengthValidator = void 0;
13
+ const Validator_1 = require("./Validator.cjs");
14
+ const constants_1 = require("./constants.cjs");
15
+ const decorators_1 = require("./decorators.cjs");
16
+ /**
17
+ * @summary Maximum Length Validator
18
+ * @description Validates strings and Arrays on their maximum length
19
+ *
20
+ * @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#MAX_LENGTH}
21
+ *
22
+ * @class MinLengthValidator
23
+ * @extends Validator
24
+ *
25
+ * @category Validators
26
+ */
27
+ let MaxLengthValidator = class MaxLengthValidator extends Validator_1.Validator {
28
+ constructor(message = constants_1.DEFAULT_ERROR_MESSAGES.MAX_LENGTH) {
29
+ super(message, String.name, Array.name);
30
+ }
31
+ /**
32
+ * @summary Validates a model
33
+ *
34
+ * @param {string} value
35
+ * @param {MaxLengthValidatorOptions} options
36
+ *
37
+ * @return {string | undefined}
38
+ *
39
+ * @override
40
+ *
41
+ * @see Validator#hasErrors
42
+ */
43
+ hasErrors(value, options) {
44
+ if (typeof value === "undefined")
45
+ return;
46
+ return value.length > options.maxLength
47
+ ? this.getMessage(options.message || this.message, options.maxLength)
48
+ : undefined;
49
+ }
50
+ };
51
+ exports.MaxLengthValidator = MaxLengthValidator;
52
+ exports.MaxLengthValidator = MaxLengthValidator = __decorate([
53
+ (0, decorators_1.validator)(constants_1.ValidationKeys.MAX_LENGTH),
54
+ __metadata("design:paramtypes", [String])
55
+ ], MaxLengthValidator);
56
+
57
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvTWF4TGVuZ3RoVmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF3QztBQUN4QywyQ0FBcUU7QUFDckUsNkNBQXlDO0FBR3pDOzs7Ozs7Ozs7O0dBVUc7QUFFSSxJQUFNLGtCQUFrQixHQUF4QixNQUFNLGtCQUFtQixTQUFRLHFCQUFvQztJQUMxRSxZQUFZLFVBQWtCLGtDQUFzQixDQUFDLFVBQVU7UUFDN0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxTQUFTLENBQ2QsS0FBcUIsRUFDckIsT0FBa0M7UUFFbEMsSUFBSSxPQUFPLEtBQUssS0FBSyxXQUFXO1lBQUUsT0FBTztRQUN6QyxPQUFPLEtBQUssQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLFNBQVM7WUFDckMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUM7WUFDckUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNoQixDQUFDO0NBQ0YsQ0FBQTtBQTFCWSxnREFBa0I7NkJBQWxCLGtCQUFrQjtJQUQ5QixJQUFBLHNCQUFTLEVBQUMsMEJBQWMsQ0FBQyxVQUFVLENBQUM7O0dBQ3hCLGtCQUFrQixDQTBCOUIiLCJmaWxlIjoidmFsaWRhdGlvbi9WYWxpZGF0b3JzL01heExlbmd0aFZhbGlkYXRvci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRvciB9IGZyb20gXCIuL1ZhbGlkYXRvclwiO1xuaW1wb3J0IHsgVmFsaWRhdGlvbktleXMsIERFRkFVTFRfRVJST1JfTUVTU0FHRVMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IHZhbGlkYXRvciB9IGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7IE1heExlbmd0aFZhbGlkYXRvck9wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBNYXhpbXVtIExlbmd0aCBWYWxpZGF0b3JcbiAqIEBkZXNjcmlwdGlvbiBWYWxpZGF0ZXMgc3RyaW5ncyBhbmQgQXJyYXlzIG9uIHRoZWlyIG1heGltdW0gbGVuZ3RoXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlXSBkZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNNQVhfTEVOR1RIfVxuICpcbiAqIEBjbGFzcyBNaW5MZW5ndGhWYWxpZGF0b3JcbiAqIEBleHRlbmRzIFZhbGlkYXRvclxuICpcbiAqIEBjYXRlZ29yeSBWYWxpZGF0b3JzXG4gKi9cbkB2YWxpZGF0b3IoVmFsaWRhdGlvbktleXMuTUFYX0xFTkdUSClcbmV4cG9ydCBjbGFzcyBNYXhMZW5ndGhWYWxpZGF0b3IgZXh0ZW5kcyBWYWxpZGF0b3I8TWF4TGVuZ3RoVmFsaWRhdG9yT3B0aW9ucz4ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLk1BWF9MRU5HVEgpIHtcbiAgICBzdXBlcihtZXNzYWdlLCBTdHJpbmcubmFtZSwgQXJyYXkubmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgVmFsaWRhdGVzIGEgbW9kZWxcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gICAqIEBwYXJhbSB7TWF4TGVuZ3RoVmFsaWRhdG9yT3B0aW9uc30gb3B0aW9uc1xuICAgKlxuICAgKiBAcmV0dXJuIHtzdHJpbmcgfCB1bmRlZmluZWR9XG4gICAqXG4gICAqIEBvdmVycmlkZVxuICAgKlxuICAgKiBAc2VlIFZhbGlkYXRvciNoYXNFcnJvcnNcbiAgICovXG4gIHB1YmxpYyBoYXNFcnJvcnMoXG4gICAgdmFsdWU6IHN0cmluZyB8IGFueVtdLFxuICAgIG9wdGlvbnM6IE1heExlbmd0aFZhbGlkYXRvck9wdGlvbnNcbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm47XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aCA+IG9wdGlvbnMubWF4TGVuZ3RoXG4gICAgICA/IHRoaXMuZ2V0TWVzc2FnZShvcHRpb25zLm1lc3NhZ2UgfHwgdGhpcy5tZXNzYWdlLCBvcHRpb25zLm1heExlbmd0aClcbiAgICAgIDogdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MaxValidator = void 0;
13
+ const Validator_1 = require("./Validator.cjs");
14
+ const constants_1 = require("./constants.cjs");
15
+ const decorators_1 = require("./decorators.cjs");
16
+ /**
17
+ * @summary Max Validator
18
+ *
19
+ * @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#MAX}
20
+ *
21
+ * @class MaxValidator
22
+ * @extends Validator
23
+ *
24
+ * @category Validators
25
+ */
26
+ let MaxValidator = class MaxValidator extends Validator_1.Validator {
27
+ constructor(message = constants_1.DEFAULT_ERROR_MESSAGES.MAX) {
28
+ super(message, "number", "Date", "string");
29
+ }
30
+ /**
31
+ * @summary Validates a Model
32
+ *
33
+ * @param {string} value
34
+ * @param {MaxValidatorOptions} options
35
+ *
36
+ * @return {string | undefined}
37
+ *
38
+ * @override
39
+ *
40
+ * @see Validator#hasErrors
41
+ */
42
+ hasErrors(value, options) {
43
+ if (typeof value === "undefined")
44
+ return;
45
+ let { max } = options;
46
+ if (value instanceof Date && !(max instanceof Date)) {
47
+ max = new Date(max);
48
+ if (Number.isNaN(max.getDate()))
49
+ throw new Error("Invalid Max param defined");
50
+ }
51
+ return value > max
52
+ ? this.getMessage(options.message || this.message, max)
53
+ : undefined;
54
+ }
55
+ };
56
+ exports.MaxValidator = MaxValidator;
57
+ exports.MaxValidator = MaxValidator = __decorate([
58
+ (0, decorators_1.validator)(constants_1.ValidationKeys.MAX),
59
+ __metadata("design:paramtypes", [String])
60
+ ], MaxValidator);
61
+
62
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvTWF4VmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF3QztBQUN4QywyQ0FBcUU7QUFDckUsNkNBQXlDO0FBR3pDOzs7Ozs7Ozs7R0FTRztBQUVJLElBQU0sWUFBWSxHQUFsQixNQUFNLFlBQWEsU0FBUSxxQkFBOEI7SUFDOUQsWUFBWSxVQUFrQixrQ0FBc0IsQ0FBQyxHQUFHO1FBQ3RELEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxTQUFTLENBQ2QsS0FBNkIsRUFDN0IsT0FBNEI7UUFFNUIsSUFBSSxPQUFPLEtBQUssS0FBSyxXQUFXO1lBQUUsT0FBTztRQUV6QyxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3RCLElBQUksS0FBSyxZQUFZLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxZQUFZLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDcEQsR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BCLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQzdCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBRUQsT0FBTyxLQUFLLEdBQUcsR0FBRztZQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDO1lBQ3ZELENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDaEIsQ0FBQztDQUNGLENBQUE7QUFsQ1ksb0NBQVk7dUJBQVosWUFBWTtJQUR4QixJQUFBLHNCQUFTLEVBQUMsMEJBQWMsQ0FBQyxHQUFHLENBQUM7O0dBQ2pCLFlBQVksQ0FrQ3hCIiwiZmlsZSI6InZhbGlkYXRpb24vVmFsaWRhdG9ycy9NYXhWYWxpZGF0b3IuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3IgfSBmcm9tIFwiLi9WYWxpZGF0b3JcIjtcbmltcG9ydCB7IERFRkFVTFRfRVJST1JfTUVTU0FHRVMsIFZhbGlkYXRpb25LZXlzIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyB2YWxpZGF0b3IgfSBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBNYXhWYWxpZGF0b3JPcHRpb25zIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbi8qKlxuICogQHN1bW1hcnkgTWF4IFZhbGlkYXRvclxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV0gZGVmYXVsdHMgdG8ge0BsaW5rIERFRkFVTFRfRVJST1JfTUVTU0FHRVMjTUFYfVxuICpcbiAqIEBjbGFzcyBNYXhWYWxpZGF0b3JcbiAqIEBleHRlbmRzIFZhbGlkYXRvclxuICpcbiAqIEBjYXRlZ29yeSBWYWxpZGF0b3JzXG4gKi9cbkB2YWxpZGF0b3IoVmFsaWRhdGlvbktleXMuTUFYKVxuZXhwb3J0IGNsYXNzIE1heFZhbGlkYXRvciBleHRlbmRzIFZhbGlkYXRvcjxNYXhWYWxpZGF0b3JPcHRpb25zPiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuTUFYKSB7XG4gICAgc3VwZXIobWVzc2FnZSwgXCJudW1iZXJcIiwgXCJEYXRlXCIsIFwic3RyaW5nXCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFZhbGlkYXRlcyBhIE1vZGVsXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICAgKiBAcGFyYW0ge01heFZhbGlkYXRvck9wdGlvbnN9IG9wdGlvbnNcbiAgICpcbiAgICogQHJldHVybiB7c3RyaW5nIHwgdW5kZWZpbmVkfVxuICAgKlxuICAgKiBAb3ZlcnJpZGVcbiAgICpcbiAgICogQHNlZSBWYWxpZGF0b3IjaGFzRXJyb3JzXG4gICAqL1xuICBwdWJsaWMgaGFzRXJyb3JzKFxuICAgIHZhbHVlOiBudW1iZXIgfCBEYXRlIHwgc3RyaW5nLFxuICAgIG9wdGlvbnM6IE1heFZhbGlkYXRvck9wdGlvbnNcbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm47XG5cbiAgICBsZXQgeyBtYXggfSA9IG9wdGlvbnM7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSAmJiAhKG1heCBpbnN0YW5jZW9mIERhdGUpKSB7XG4gICAgICBtYXggPSBuZXcgRGF0ZShtYXgpO1xuICAgICAgaWYgKE51bWJlci5pc05hTihtYXguZ2V0RGF0ZSgpKSlcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBNYXggcGFyYW0gZGVmaW5lZFwiKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWUgPiBtYXhcbiAgICAgID8gdGhpcy5nZXRNZXNzYWdlKG9wdGlvbnMubWVzc2FnZSB8fCB0aGlzLm1lc3NhZ2UsIG1heClcbiAgICAgIDogdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MinLengthValidator = void 0;
13
+ const Validator_1 = require("./Validator.cjs");
14
+ const constants_1 = require("./constants.cjs");
15
+ const decorators_1 = require("./decorators.cjs");
16
+ /**
17
+ * @summary Minimum Length Validator
18
+ * @description Validates strings and Arrays on their minimum length
19
+ *
20
+ * @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#MIN_LENGTH}
21
+ *
22
+ * @class MinLengthValidator
23
+ * @extends Validator
24
+ *
25
+ * @category Validators
26
+ */
27
+ let MinLengthValidator = class MinLengthValidator extends Validator_1.Validator {
28
+ constructor(message = constants_1.DEFAULT_ERROR_MESSAGES.MIN_LENGTH) {
29
+ super(message, String.name, Array.name);
30
+ }
31
+ /**
32
+ *
33
+ * @param {string | Array} value
34
+ * @param {MinLengthValidatorOptions} options
35
+ *
36
+ * @return {string | undefined}
37
+ *
38
+ * @memberOf MinLengthValidator
39
+ * @override
40
+ *
41
+ * @see Validator#hasErrors
42
+ */
43
+ hasErrors(value, options) {
44
+ if (typeof value === "undefined")
45
+ return;
46
+ return value.length < options.minLength
47
+ ? this.getMessage(options.message || this.message, options.minLength)
48
+ : undefined;
49
+ }
50
+ };
51
+ exports.MinLengthValidator = MinLengthValidator;
52
+ exports.MinLengthValidator = MinLengthValidator = __decorate([
53
+ (0, decorators_1.validator)(constants_1.ValidationKeys.MIN_LENGTH),
54
+ __metadata("design:paramtypes", [String])
55
+ ], MinLengthValidator);
56
+
57
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvTWluTGVuZ3RoVmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF3QztBQUN4QywyQ0FBcUU7QUFDckUsNkNBQXlDO0FBR3pDOzs7Ozs7Ozs7O0dBVUc7QUFFSSxJQUFNLGtCQUFrQixHQUF4QixNQUFNLGtCQUFtQixTQUFRLHFCQUFvQztJQUMxRSxZQUFZLFVBQWtCLGtDQUFzQixDQUFDLFVBQVU7UUFDN0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxTQUFTLENBQ2QsS0FBcUIsRUFDckIsT0FBa0M7UUFFbEMsSUFBSSxPQUFPLEtBQUssS0FBSyxXQUFXO1lBQUUsT0FBTztRQUN6QyxPQUFPLEtBQUssQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLFNBQVM7WUFDckMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUM7WUFDckUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNoQixDQUFDO0NBQ0YsQ0FBQTtBQTFCWSxnREFBa0I7NkJBQWxCLGtCQUFrQjtJQUQ5QixJQUFBLHNCQUFTLEVBQUMsMEJBQWMsQ0FBQyxVQUFVLENBQUM7O0dBQ3hCLGtCQUFrQixDQTBCOUIiLCJmaWxlIjoidmFsaWRhdGlvbi9WYWxpZGF0b3JzL01pbkxlbmd0aFZhbGlkYXRvci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRvciB9IGZyb20gXCIuL1ZhbGlkYXRvclwiO1xuaW1wb3J0IHsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUywgVmFsaWRhdGlvbktleXMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IHZhbGlkYXRvciB9IGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7IE1pbkxlbmd0aFZhbGlkYXRvck9wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBNaW5pbXVtIExlbmd0aCBWYWxpZGF0b3JcbiAqIEBkZXNjcmlwdGlvbiBWYWxpZGF0ZXMgc3RyaW5ncyBhbmQgQXJyYXlzIG9uIHRoZWlyIG1pbmltdW0gbGVuZ3RoXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlXSBkZWZhdWx0cyB0byB7QGxpbmsgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyNNSU5fTEVOR1RIfVxuICpcbiAqIEBjbGFzcyBNaW5MZW5ndGhWYWxpZGF0b3JcbiAqIEBleHRlbmRzIFZhbGlkYXRvclxuICpcbiAqIEBjYXRlZ29yeSBWYWxpZGF0b3JzXG4gKi9cbkB2YWxpZGF0b3IoVmFsaWRhdGlvbktleXMuTUlOX0xFTkdUSClcbmV4cG9ydCBjbGFzcyBNaW5MZW5ndGhWYWxpZGF0b3IgZXh0ZW5kcyBWYWxpZGF0b3I8TWluTGVuZ3RoVmFsaWRhdG9yT3B0aW9ucz4ge1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSBERUZBVUxUX0VSUk9SX01FU1NBR0VTLk1JTl9MRU5HVEgpIHtcbiAgICBzdXBlcihtZXNzYWdlLCBTdHJpbmcubmFtZSwgQXJyYXkubmFtZSk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmcgfCBBcnJheX0gdmFsdWVcbiAgICogQHBhcmFtIHtNaW5MZW5ndGhWYWxpZGF0b3JPcHRpb25zfSBvcHRpb25zXG4gICAqXG4gICAqIEByZXR1cm4ge3N0cmluZyB8IHVuZGVmaW5lZH1cbiAgICpcbiAgICogQG1lbWJlck9mIE1pbkxlbmd0aFZhbGlkYXRvclxuICAgKiBAb3ZlcnJpZGVcbiAgICpcbiAgICogQHNlZSBWYWxpZGF0b3IjaGFzRXJyb3JzXG4gICAqL1xuICBwdWJsaWMgaGFzRXJyb3JzKFxuICAgIHZhbHVlOiBzdHJpbmcgfCBhbnlbXSxcbiAgICBvcHRpb25zOiBNaW5MZW5ndGhWYWxpZGF0b3JPcHRpb25zXG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJ1bmRlZmluZWRcIikgcmV0dXJuO1xuICAgIHJldHVybiB2YWx1ZS5sZW5ndGggPCBvcHRpb25zLm1pbkxlbmd0aFxuICAgICAgPyB0aGlzLmdldE1lc3NhZ2Uob3B0aW9ucy5tZXNzYWdlIHx8IHRoaXMubWVzc2FnZSwgb3B0aW9ucy5taW5MZW5ndGgpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MinValidator = void 0;
13
+ const Validator_1 = require("./Validator.cjs");
14
+ const constants_1 = require("./constants.cjs");
15
+ const decorators_1 = require("./decorators.cjs");
16
+ /**
17
+ * @summary Min Validator
18
+ *
19
+ * @param {string} [message] defaults to {@link DEFAULT_ERROR_MESSAGES#MIN}
20
+ *
21
+ * @class MinValidator
22
+ * @extends Validator
23
+ *
24
+ * @category Validators
25
+ */
26
+ let MinValidator = class MinValidator extends Validator_1.Validator {
27
+ constructor(message = constants_1.DEFAULT_ERROR_MESSAGES.MIN) {
28
+ super(message, "number", "Date", "string");
29
+ }
30
+ /**
31
+ * @summary Validates Model
32
+ *
33
+ * @param {string} value
34
+ * @param {MaxValidatorOptions} options
35
+ *
36
+ * @return {string | undefined}
37
+ *
38
+ * @override
39
+ *
40
+ * @see Validator#hasErrors
41
+ */
42
+ hasErrors(value, options) {
43
+ if (typeof value === "undefined")
44
+ return;
45
+ let { min } = options;
46
+ if (value instanceof Date && !(min instanceof Date)) {
47
+ min = new Date(min);
48
+ if (Number.isNaN(min.getDate()))
49
+ throw new Error("Invalid Min param defined");
50
+ }
51
+ return value < min
52
+ ? this.getMessage(options.message || this.message, min)
53
+ : undefined;
54
+ }
55
+ };
56
+ exports.MinValidator = MinValidator;
57
+ exports.MinValidator = MinValidator = __decorate([
58
+ (0, decorators_1.validator)(constants_1.ValidationKeys.MIN),
59
+ __metadata("design:paramtypes", [String])
60
+ ], MinValidator);
61
+
62
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvTWluVmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF3QztBQUN4QywyQ0FBcUU7QUFDckUsNkNBQXlDO0FBR3pDOzs7Ozs7Ozs7R0FTRztBQUVJLElBQU0sWUFBWSxHQUFsQixNQUFNLFlBQWEsU0FBUSxxQkFBOEI7SUFDOUQsWUFBWSxVQUFrQixrQ0FBc0IsQ0FBQyxHQUFHO1FBQ3RELEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxTQUFTLENBQ2QsS0FBNkIsRUFDN0IsT0FBNEI7UUFFNUIsSUFBSSxPQUFPLEtBQUssS0FBSyxXQUFXO1lBQUUsT0FBTztRQUV6QyxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3RCLElBQUksS0FBSyxZQUFZLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxZQUFZLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDcEQsR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BCLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQzdCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsT0FBTyxLQUFLLEdBQUcsR0FBRztZQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDO1lBQ3ZELENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDaEIsQ0FBQztDQUNGLENBQUE7QUFqQ1ksb0NBQVk7dUJBQVosWUFBWTtJQUR4QixJQUFBLHNCQUFTLEVBQUMsMEJBQWMsQ0FBQyxHQUFHLENBQUM7O0dBQ2pCLFlBQVksQ0FpQ3hCIiwiZmlsZSI6InZhbGlkYXRpb24vVmFsaWRhdG9ycy9NaW5WYWxpZGF0b3IuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3IgfSBmcm9tIFwiLi9WYWxpZGF0b3JcIjtcbmltcG9ydCB7IERFRkFVTFRfRVJST1JfTUVTU0FHRVMsIFZhbGlkYXRpb25LZXlzIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyB2YWxpZGF0b3IgfSBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBNaW5WYWxpZGF0b3JPcHRpb25zIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbi8qKlxuICogQHN1bW1hcnkgTWluIFZhbGlkYXRvclxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV0gZGVmYXVsdHMgdG8ge0BsaW5rIERFRkFVTFRfRVJST1JfTUVTU0FHRVMjTUlOfVxuICpcbiAqIEBjbGFzcyBNaW5WYWxpZGF0b3JcbiAqIEBleHRlbmRzIFZhbGlkYXRvclxuICpcbiAqIEBjYXRlZ29yeSBWYWxpZGF0b3JzXG4gKi9cbkB2YWxpZGF0b3IoVmFsaWRhdGlvbktleXMuTUlOKVxuZXhwb3J0IGNsYXNzIE1pblZhbGlkYXRvciBleHRlbmRzIFZhbGlkYXRvcjxNaW5WYWxpZGF0b3JPcHRpb25zPiB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuTUlOKSB7XG4gICAgc3VwZXIobWVzc2FnZSwgXCJudW1iZXJcIiwgXCJEYXRlXCIsIFwic3RyaW5nXCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFZhbGlkYXRlcyBNb2RlbFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAgICogQHBhcmFtIHtNYXhWYWxpZGF0b3JPcHRpb25zfSBvcHRpb25zXG4gICAqXG4gICAqIEByZXR1cm4ge3N0cmluZyB8IHVuZGVmaW5lZH1cbiAgICpcbiAgICogQG92ZXJyaWRlXG4gICAqXG4gICAqIEBzZWUgVmFsaWRhdG9yI2hhc0Vycm9yc1xuICAgKi9cbiAgcHVibGljIGhhc0Vycm9ycyhcbiAgICB2YWx1ZTogbnVtYmVyIHwgRGF0ZSB8IHN0cmluZyxcbiAgICBvcHRpb25zOiBNaW5WYWxpZGF0b3JPcHRpb25zXG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJ1bmRlZmluZWRcIikgcmV0dXJuO1xuXG4gICAgbGV0IHsgbWluIH0gPSBvcHRpb25zO1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUgJiYgIShtaW4gaW5zdGFuY2VvZiBEYXRlKSkge1xuICAgICAgbWluID0gbmV3IERhdGUobWluKTtcbiAgICAgIGlmIChOdW1iZXIuaXNOYU4obWluLmdldERhdGUoKSkpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgTWluIHBhcmFtIGRlZmluZWRcIik7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZSA8IG1pblxuICAgICAgPyB0aGlzLmdldE1lc3NhZ2Uob3B0aW9ucy5tZXNzYWdlIHx8IHRoaXMubWVzc2FnZSwgbWluKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.PasswordValidator = void 0;
13
+ const PatternValidator_1 = require("./PatternValidator.cjs");
14
+ const constants_1 = require("./constants.cjs");
15
+ const decorators_1 = require("./decorators.cjs");
16
+ /**
17
+ * @summary Handles Password Validation
18
+ *
19
+ * @param {string} [errorMessage] defaults to {@link DEFAULT_ERROR_MESSAGES#PASSWORD}
20
+ *
21
+ * @class PasswordValidator
22
+ * @extends PatternValidator
23
+ *
24
+ * @category Validators
25
+ */
26
+ let PasswordValidator = class PasswordValidator extends PatternValidator_1.PatternValidator {
27
+ constructor(message = constants_1.DEFAULT_ERROR_MESSAGES.PASSWORD) {
28
+ super(message);
29
+ }
30
+ /**
31
+ * @summary Validates a model
32
+ *
33
+ * @param {string} value
34
+ * @param {PatternValidatorOptions} [options={}]
35
+ *
36
+ * @return {string | undefined}
37
+ *
38
+ * @override
39
+ *
40
+ * @see PatternValidator#hasErrors
41
+ */
42
+ hasErrors(value, options = {}) {
43
+ return super.hasErrors(value, {
44
+ ...options,
45
+ message: options.message || this.message,
46
+ });
47
+ }
48
+ };
49
+ exports.PasswordValidator = PasswordValidator;
50
+ exports.PasswordValidator = PasswordValidator = __decorate([
51
+ (0, decorators_1.validator)(constants_1.ValidationKeys.PASSWORD),
52
+ __metadata("design:paramtypes", [Object])
53
+ ], PasswordValidator);
54
+
55
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL1ZhbGlkYXRvcnMvUGFzc3dvcmRWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEseURBQXNEO0FBQ3RELDJDQUFxRTtBQUNyRSw2Q0FBeUM7QUFHekM7Ozs7Ozs7OztHQVNHO0FBRUksSUFBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBa0IsU0FBUSxtQ0FBZ0I7SUFDckQsWUFBWSxPQUFPLEdBQUcsa0NBQXNCLENBQUMsUUFBUTtRQUNuRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0ksU0FBUyxDQUNkLEtBQWEsRUFDYixVQUFtQyxFQUFFO1FBRXJDLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUU7WUFDNUIsR0FBRyxPQUFPO1lBQ1YsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU87U0FDekMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGLENBQUE7QUExQlksOENBQWlCOzRCQUFqQixpQkFBaUI7SUFEN0IsSUFBQSxzQkFBUyxFQUFDLDBCQUFjLENBQUMsUUFBUSxDQUFDOztHQUN0QixpQkFBaUIsQ0EwQjdCIiwiZmlsZSI6InZhbGlkYXRpb24vVmFsaWRhdG9ycy9QYXNzd29yZFZhbGlkYXRvci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhdHRlcm5WYWxpZGF0b3IgfSBmcm9tIFwiLi9QYXR0ZXJuVmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBERUZBVUxUX0VSUk9SX01FU1NBR0VTLCBWYWxpZGF0aW9uS2V5cyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgdmFsaWRhdG9yIH0gZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgUGF0dGVyblZhbGlkYXRvck9wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBIYW5kbGVzIFBhc3N3b3JkIFZhbGlkYXRpb25cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gW2Vycm9yTWVzc2FnZV0gZGVmYXVsdHMgdG8ge0BsaW5rIERFRkFVTFRfRVJST1JfTUVTU0FHRVMjUEFTU1dPUkR9XG4gKlxuICogQGNsYXNzIFBhc3N3b3JkVmFsaWRhdG9yXG4gKiBAZXh0ZW5kcyBQYXR0ZXJuVmFsaWRhdG9yXG4gKlxuICogQGNhdGVnb3J5IFZhbGlkYXRvcnNcbiAqL1xuQHZhbGlkYXRvcihWYWxpZGF0aW9uS2V5cy5QQVNTV09SRClcbmV4cG9ydCBjbGFzcyBQYXNzd29yZFZhbGlkYXRvciBleHRlbmRzIFBhdHRlcm5WYWxpZGF0b3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlID0gREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5QQVNTV09SRCkge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFZhbGlkYXRlcyBhIG1vZGVsXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICAgKiBAcGFyYW0ge1BhdHRlcm5WYWxpZGF0b3JPcHRpb25zfSBbb3B0aW9ucz17fV1cbiAgICpcbiAgICogQHJldHVybiB7c3RyaW5nIHwgdW5kZWZpbmVkfVxuICAgKlxuICAgKiBAb3ZlcnJpZGVcbiAgICpcbiAgICogQHNlZSBQYXR0ZXJuVmFsaWRhdG9yI2hhc0Vycm9yc1xuICAgKi9cbiAgcHVibGljIGhhc0Vycm9ycyhcbiAgICB2YWx1ZTogc3RyaW5nLFxuICAgIG9wdGlvbnM6IFBhdHRlcm5WYWxpZGF0b3JPcHRpb25zID0ge31cbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gc3VwZXIuaGFzRXJyb3JzKHZhbHVlLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgbWVzc2FnZTogb3B0aW9ucy5tZXNzYWdlIHx8IHRoaXMubWVzc2FnZSxcbiAgICB9KTtcbiAgfVxufVxuIl19