@decaf-ts/decorator-validation 1.15.0 → 1.16.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 (327) hide show
  1. package/lib/cjs/constants/errors.cjs +1 -0
  2. package/lib/cjs/constants/errors.cjs.map +1 -0
  3. package/lib/cjs/constants/index.cjs +1 -0
  4. package/lib/cjs/constants/index.cjs.map +1 -0
  5. package/lib/cjs/constants/validation.cjs +1 -0
  6. package/lib/cjs/constants/validation.cjs.map +1 -0
  7. package/lib/cjs/index.cjs +2 -1
  8. package/lib/cjs/index.cjs.map +1 -0
  9. package/lib/cjs/model/Builder.cjs +49 -48
  10. package/lib/cjs/model/Builder.cjs.map +1 -0
  11. package/lib/cjs/model/Model.cjs +31 -30
  12. package/lib/cjs/model/Model.cjs.map +1 -0
  13. package/lib/cjs/model/ModelErrorDefinition.cjs +1 -0
  14. package/lib/cjs/model/ModelErrorDefinition.cjs.map +1 -0
  15. package/lib/cjs/model/ModelRegistry.cjs +7 -6
  16. package/lib/cjs/model/ModelRegistry.cjs.map +1 -0
  17. package/lib/cjs/model/constants.cjs +2 -13
  18. package/lib/cjs/model/constants.cjs.map +1 -0
  19. package/lib/cjs/model/construction.cjs +5 -4
  20. package/lib/cjs/model/construction.cjs.map +1 -0
  21. package/lib/cjs/model/decorators.cjs +12 -11
  22. package/lib/cjs/model/decorators.cjs.map +1 -0
  23. package/lib/cjs/model/index.cjs +1 -0
  24. package/lib/cjs/model/index.cjs.map +1 -0
  25. package/lib/cjs/model/types.cjs +1 -0
  26. package/lib/cjs/model/types.cjs.map +1 -0
  27. package/lib/cjs/model/utils.cjs +1 -0
  28. package/lib/cjs/model/utils.cjs.map +1 -0
  29. package/lib/cjs/model/validation.cjs +33 -32
  30. package/lib/cjs/model/validation.cjs.map +1 -0
  31. package/lib/cjs/overrides/Metadata.cjs +1 -0
  32. package/lib/cjs/overrides/Metadata.cjs.map +1 -0
  33. package/lib/cjs/overrides/index.cjs +1 -0
  34. package/lib/cjs/overrides/index.cjs.map +1 -0
  35. package/lib/cjs/overrides/overrides.cjs +20 -19
  36. package/lib/cjs/overrides/overrides.cjs.map +1 -0
  37. package/lib/cjs/overrides/types.cjs +1 -0
  38. package/lib/cjs/overrides/types.cjs.map +1 -0
  39. package/lib/cjs/types/index.cjs +1 -0
  40. package/lib/cjs/types/index.cjs.map +1 -0
  41. package/lib/cjs/types/validation.cjs +1 -0
  42. package/lib/cjs/types/{validation.js.map → validation.cjs.map} +1 -1
  43. package/lib/cjs/utils/DateBuilder.cjs +1 -0
  44. package/lib/cjs/utils/DateBuilder.cjs.map +1 -0
  45. package/lib/cjs/utils/PathProxy.cjs +9 -8
  46. package/lib/cjs/utils/PathProxy.cjs.map +1 -0
  47. package/lib/cjs/utils/constants.cjs +2 -21
  48. package/lib/cjs/utils/constants.cjs.map +1 -0
  49. package/lib/cjs/utils/dates.cjs +9 -8
  50. package/lib/cjs/utils/dates.cjs.map +1 -0
  51. package/lib/cjs/utils/equality.cjs +1 -0
  52. package/lib/cjs/utils/equality.cjs.map +1 -0
  53. package/lib/cjs/utils/hashing.cjs +6 -3
  54. package/lib/cjs/utils/hashing.cjs.map +1 -0
  55. package/lib/cjs/utils/index.cjs +1 -0
  56. package/lib/cjs/utils/index.cjs.map +1 -0
  57. package/lib/cjs/utils/registry.cjs +1 -0
  58. package/lib/cjs/utils/registry.cjs.map +1 -0
  59. package/lib/cjs/utils/serialization.cjs +3 -2
  60. package/lib/cjs/utils/serialization.cjs.map +1 -0
  61. package/lib/cjs/utils/serializers.cjs +8 -7
  62. package/lib/cjs/utils/serializers.cjs.map +1 -0
  63. package/lib/cjs/utils/strings.cjs +1 -0
  64. package/lib/cjs/utils/strings.cjs.map +1 -0
  65. package/lib/cjs/utils/types.cjs +1 -0
  66. package/lib/cjs/utils/types.cjs.map +1 -0
  67. package/lib/cjs/validation/Validation.cjs +9 -8
  68. package/lib/cjs/validation/Validation.cjs.map +1 -0
  69. package/lib/cjs/validation/Validators/AsyncValidator.cjs +5 -4
  70. package/lib/cjs/validation/Validators/AsyncValidator.cjs.map +1 -0
  71. package/lib/cjs/validation/Validators/BaseValidator.cjs +8 -7
  72. package/lib/cjs/validation/Validators/BaseValidator.cjs.map +1 -0
  73. package/lib/cjs/validation/Validators/DateValidator.cjs +17 -11
  74. package/lib/cjs/validation/Validators/DateValidator.cjs.map +1 -0
  75. package/lib/cjs/validation/Validators/DiffValidator.cjs +21 -15
  76. package/lib/cjs/validation/Validators/DiffValidator.cjs.map +1 -0
  77. package/lib/cjs/validation/Validators/EmailValidator.cjs +18 -12
  78. package/lib/cjs/validation/Validators/EmailValidator.cjs.map +1 -0
  79. package/lib/cjs/validation/Validators/EqualsValidator.cjs +21 -15
  80. package/lib/cjs/validation/Validators/EqualsValidator.cjs.map +1 -0
  81. package/lib/cjs/validation/Validators/GreaterThanOrEqualValidator.cjs +24 -18
  82. package/lib/cjs/validation/Validators/GreaterThanOrEqualValidator.cjs.map +1 -0
  83. package/lib/cjs/validation/Validators/GreaterThanValidator.cjs +21 -15
  84. package/lib/cjs/validation/Validators/GreaterThanValidator.cjs.map +1 -0
  85. package/lib/cjs/validation/Validators/LessThanOrEqualValidator.cjs +24 -18
  86. package/lib/cjs/validation/Validators/LessThanOrEqualValidator.cjs.map +1 -0
  87. package/lib/cjs/validation/Validators/LessThanValidator.cjs +21 -15
  88. package/lib/cjs/validation/Validators/LessThanValidator.cjs.map +1 -0
  89. package/lib/cjs/validation/Validators/ListValidator.cjs +17 -11
  90. package/lib/cjs/validation/Validators/ListValidator.cjs.map +1 -0
  91. package/lib/cjs/validation/Validators/MaxLengthValidator.cjs +19 -13
  92. package/lib/cjs/validation/Validators/MaxLengthValidator.cjs.map +1 -0
  93. package/lib/cjs/validation/Validators/MaxValidator.cjs +17 -11
  94. package/lib/cjs/validation/Validators/MaxValidator.cjs.map +1 -0
  95. package/lib/cjs/validation/Validators/MinLengthValidator.cjs +19 -13
  96. package/lib/cjs/validation/Validators/MinLengthValidator.cjs.map +1 -0
  97. package/lib/cjs/validation/Validators/MinValidator.cjs +17 -11
  98. package/lib/cjs/validation/Validators/MinValidator.cjs.map +1 -0
  99. package/lib/cjs/validation/Validators/OptionValidator.cjs +17 -11
  100. package/lib/cjs/validation/Validators/OptionValidator.cjs.map +1 -0
  101. package/lib/cjs/validation/Validators/PasswordValidator.cjs +18 -12
  102. package/lib/cjs/validation/Validators/PasswordValidator.cjs.map +1 -0
  103. package/lib/cjs/validation/Validators/PatternValidator.cjs +17 -11
  104. package/lib/cjs/validation/Validators/PatternValidator.cjs.map +1 -0
  105. package/lib/cjs/validation/Validators/RequiredValidator.cjs +17 -11
  106. package/lib/cjs/validation/Validators/RequiredValidator.cjs.map +1 -0
  107. package/lib/cjs/validation/Validators/StepValidator.cjs +17 -11
  108. package/lib/cjs/validation/Validators/StepValidator.cjs.map +1 -0
  109. package/lib/cjs/validation/Validators/TypeValidator.cjs +23 -17
  110. package/lib/cjs/validation/Validators/TypeValidator.cjs.map +1 -0
  111. package/lib/cjs/validation/Validators/URLValidator.cjs +18 -12
  112. package/lib/cjs/validation/Validators/URLValidator.cjs.map +1 -0
  113. package/lib/cjs/validation/Validators/Validator.cjs +5 -4
  114. package/lib/cjs/validation/Validators/Validator.cjs.map +1 -0
  115. package/lib/cjs/validation/Validators/ValidatorRegistry.cjs +4 -3
  116. package/lib/cjs/validation/Validators/ValidatorRegistry.cjs.map +1 -0
  117. package/lib/cjs/validation/Validators/constants.cjs +3 -2
  118. package/lib/cjs/validation/Validators/constants.cjs.map +1 -0
  119. package/lib/cjs/validation/Validators/decorators.cjs +5 -4
  120. package/lib/cjs/validation/Validators/decorators.cjs.map +1 -0
  121. package/lib/cjs/validation/Validators/index.cjs +1 -0
  122. package/lib/cjs/validation/Validators/index.cjs.map +1 -0
  123. package/lib/cjs/validation/Validators/utils.cjs +14 -13
  124. package/lib/cjs/validation/Validators/utils.cjs.map +1 -0
  125. package/lib/cjs/validation/decorators.cjs +70 -69
  126. package/lib/cjs/validation/decorators.cjs.map +1 -0
  127. package/lib/cjs/validation/index.cjs +1 -0
  128. package/lib/cjs/validation/index.cjs.map +1 -0
  129. package/lib/cjs/validation/types.cjs +2 -1
  130. package/lib/cjs/validation/types.cjs.map +1 -0
  131. package/lib/esm/index.js +1 -1
  132. package/lib/types/constants/errors.d.cts +17 -0
  133. package/lib/types/constants/errors.d.mts +17 -0
  134. package/lib/types/constants/index.d.cts +2 -0
  135. package/lib/types/constants/index.d.mts +2 -0
  136. package/lib/types/constants/validation.d.cts +16 -0
  137. package/lib/types/constants/validation.d.mts +16 -0
  138. package/lib/types/index.d.cts +20 -0
  139. package/lib/types/index.d.mts +20 -0
  140. package/lib/types/index.d.ts +1 -1
  141. package/lib/types/model/Builder.d.cts +86 -0
  142. package/lib/types/model/Builder.d.mts +86 -0
  143. package/lib/types/model/Model.d.cts +286 -0
  144. package/lib/types/model/Model.d.mts +286 -0
  145. package/lib/types/model/ModelErrorDefinition.d.cts +22 -0
  146. package/lib/types/model/ModelErrorDefinition.d.mts +22 -0
  147. package/lib/types/model/ModelRegistry.d.cts +181 -0
  148. package/lib/types/model/ModelRegistry.d.mts +181 -0
  149. package/lib/types/model/constants.d.cts +65 -0
  150. package/lib/types/model/constants.d.mts +65 -0
  151. package/lib/types/model/construction.d.cts +46 -0
  152. package/lib/types/model/construction.d.mts +46 -0
  153. package/lib/types/model/decorators.d.cts +47 -0
  154. package/lib/types/model/decorators.d.mts +47 -0
  155. package/lib/types/model/index.d.cts +10 -0
  156. package/lib/types/model/index.d.mts +10 -0
  157. package/lib/types/model/types.d.cts +145 -0
  158. package/lib/types/model/types.d.mts +145 -0
  159. package/lib/types/model/utils.d.cts +13 -0
  160. package/lib/types/model/utils.d.mts +13 -0
  161. package/lib/types/model/validation.d.cts +92 -0
  162. package/lib/types/model/validation.d.mts +92 -0
  163. package/lib/types/overrides/Metadata.d.cts +132 -0
  164. package/lib/types/overrides/Metadata.d.mts +132 -0
  165. package/lib/types/overrides/index.d.cts +4 -0
  166. package/lib/types/overrides/index.d.mts +4 -0
  167. package/lib/types/overrides/overrides.d.cts +1 -0
  168. package/lib/types/overrides/overrides.d.mts +1 -0
  169. package/lib/types/overrides/types.d.cts +17 -0
  170. package/lib/types/overrides/types.d.mts +17 -0
  171. package/lib/types/types/index.d.cts +1 -0
  172. package/lib/types/types/index.d.mts +1 -0
  173. package/lib/types/types/validation.d.cts +28 -0
  174. package/lib/types/types/validation.d.mts +28 -0
  175. package/lib/types/utils/DateBuilder.d.cts +121 -0
  176. package/lib/types/utils/DateBuilder.d.mts +121 -0
  177. package/lib/types/utils/PathProxy.d.cts +43 -0
  178. package/lib/types/utils/PathProxy.d.mts +43 -0
  179. package/lib/types/utils/constants.d.cts +32 -0
  180. package/lib/types/utils/constants.d.mts +32 -0
  181. package/lib/types/utils/dates.d.cts +86 -0
  182. package/lib/types/utils/dates.d.mts +86 -0
  183. package/lib/types/utils/equality.d.cts +56 -0
  184. package/lib/types/utils/equality.d.mts +56 -0
  185. package/lib/types/utils/hashing.d.cts +82 -0
  186. package/lib/types/utils/hashing.d.mts +82 -0
  187. package/lib/types/utils/index.d.cts +11 -0
  188. package/lib/types/utils/index.d.mts +11 -0
  189. package/lib/types/utils/registry.d.cts +68 -0
  190. package/lib/types/utils/registry.d.mts +68 -0
  191. package/lib/types/utils/serialization.d.cts +12 -0
  192. package/lib/types/utils/serialization.d.mts +12 -0
  193. package/lib/types/utils/serializers.d.cts +41 -0
  194. package/lib/types/utils/serializers.d.mts +41 -0
  195. package/lib/types/utils/strings.d.cts +25 -0
  196. package/lib/types/utils/strings.d.mts +25 -0
  197. package/lib/types/utils/types.d.cts +35 -0
  198. package/lib/types/utils/types.d.mts +35 -0
  199. package/lib/types/validation/Validation.d.cts +53 -0
  200. package/lib/types/validation/Validation.d.mts +53 -0
  201. package/lib/types/validation/Validators/AsyncValidator.d.cts +72 -0
  202. package/lib/types/validation/Validators/AsyncValidator.d.mts +72 -0
  203. package/lib/types/validation/Validators/BaseValidator.d.cts +118 -0
  204. package/lib/types/validation/Validators/BaseValidator.d.mts +118 -0
  205. package/lib/types/validation/Validators/DateValidator.d.cts +60 -0
  206. package/lib/types/validation/Validators/DateValidator.d.mts +60 -0
  207. package/lib/types/validation/Validators/DiffValidator.d.cts +29 -0
  208. package/lib/types/validation/Validators/DiffValidator.d.mts +29 -0
  209. package/lib/types/validation/Validators/EmailValidator.d.cts +60 -0
  210. package/lib/types/validation/Validators/EmailValidator.d.mts +60 -0
  211. package/lib/types/validation/Validators/EqualsValidator.d.cts +29 -0
  212. package/lib/types/validation/Validators/EqualsValidator.d.mts +29 -0
  213. package/lib/types/validation/Validators/GreaterThanOrEqualValidator.d.cts +29 -0
  214. package/lib/types/validation/Validators/GreaterThanOrEqualValidator.d.mts +29 -0
  215. package/lib/types/validation/Validators/GreaterThanValidator.d.cts +29 -0
  216. package/lib/types/validation/Validators/GreaterThanValidator.d.mts +29 -0
  217. package/lib/types/validation/Validators/LessThanOrEqualValidator.d.cts +29 -0
  218. package/lib/types/validation/Validators/LessThanOrEqualValidator.d.mts +29 -0
  219. package/lib/types/validation/Validators/LessThanValidator.d.cts +29 -0
  220. package/lib/types/validation/Validators/LessThanValidator.d.mts +29 -0
  221. package/lib/types/validation/Validators/ListValidator.d.cts +66 -0
  222. package/lib/types/validation/Validators/ListValidator.d.mts +66 -0
  223. package/lib/types/validation/Validators/MaxLengthValidator.d.cts +29 -0
  224. package/lib/types/validation/Validators/MaxLengthValidator.d.mts +29 -0
  225. package/lib/types/validation/Validators/MaxValidator.d.cts +74 -0
  226. package/lib/types/validation/Validators/MaxValidator.d.mts +74 -0
  227. package/lib/types/validation/Validators/MinLengthValidator.d.cts +29 -0
  228. package/lib/types/validation/Validators/MinLengthValidator.d.mts +29 -0
  229. package/lib/types/validation/Validators/MinValidator.d.cts +74 -0
  230. package/lib/types/validation/Validators/MinValidator.d.mts +74 -0
  231. package/lib/types/validation/Validators/OptionValidator.d.cts +29 -0
  232. package/lib/types/validation/Validators/OptionValidator.d.mts +29 -0
  233. package/lib/types/validation/Validators/PasswordValidator.d.cts +28 -0
  234. package/lib/types/validation/Validators/PasswordValidator.d.mts +28 -0
  235. package/lib/types/validation/Validators/PatternValidator.d.cts +103 -0
  236. package/lib/types/validation/Validators/PatternValidator.d.mts +103 -0
  237. package/lib/types/validation/Validators/RequiredValidator.d.cts +74 -0
  238. package/lib/types/validation/Validators/RequiredValidator.d.mts +74 -0
  239. package/lib/types/validation/Validators/StepValidator.d.cts +29 -0
  240. package/lib/types/validation/Validators/StepValidator.d.mts +29 -0
  241. package/lib/types/validation/Validators/TypeValidator.d.cts +79 -0
  242. package/lib/types/validation/Validators/TypeValidator.d.mts +79 -0
  243. package/lib/types/validation/Validators/URLValidator.d.cts +61 -0
  244. package/lib/types/validation/Validators/URLValidator.d.mts +61 -0
  245. package/lib/types/validation/Validators/Validator.d.cts +65 -0
  246. package/lib/types/validation/Validators/Validator.d.mts +65 -0
  247. package/lib/types/validation/Validators/ValidatorRegistry.d.cts +41 -0
  248. package/lib/types/validation/Validators/ValidatorRegistry.d.mts +41 -0
  249. package/lib/types/validation/Validators/constants.d.cts +157 -0
  250. package/lib/types/validation/Validators/constants.d.mts +157 -0
  251. package/lib/types/validation/Validators/decorators.d.cts +12 -0
  252. package/lib/types/validation/Validators/decorators.d.mts +12 -0
  253. package/lib/types/validation/Validators/index.d.cts +26 -0
  254. package/lib/types/validation/Validators/index.d.mts +26 -0
  255. package/lib/types/validation/Validators/utils.d.cts +75 -0
  256. package/lib/types/validation/Validators/utils.d.mts +75 -0
  257. package/lib/types/validation/decorators.d.cts +313 -0
  258. package/lib/types/validation/decorators.d.mts +313 -0
  259. package/lib/types/validation/index.d.cts +9 -0
  260. package/lib/types/validation/index.d.mts +9 -0
  261. package/lib/types/validation/types.d.cts +309 -0
  262. package/lib/types/validation/types.d.mts +309 -0
  263. package/package.json +1 -1
  264. package/lib/cjs/constants/errors.js.map +0 -1
  265. package/lib/cjs/constants/index.js.map +0 -1
  266. package/lib/cjs/constants/validation.js.map +0 -1
  267. package/lib/cjs/index.js.map +0 -1
  268. package/lib/cjs/model/Builder.js.map +0 -1
  269. package/lib/cjs/model/Model.js.map +0 -1
  270. package/lib/cjs/model/ModelErrorDefinition.js.map +0 -1
  271. package/lib/cjs/model/ModelRegistry.js.map +0 -1
  272. package/lib/cjs/model/constants.js.map +0 -1
  273. package/lib/cjs/model/construction.js.map +0 -1
  274. package/lib/cjs/model/decorators.js.map +0 -1
  275. package/lib/cjs/model/index.js.map +0 -1
  276. package/lib/cjs/model/types.js.map +0 -1
  277. package/lib/cjs/model/utils.js.map +0 -1
  278. package/lib/cjs/model/validation.js.map +0 -1
  279. package/lib/cjs/overrides/Metadata.js.map +0 -1
  280. package/lib/cjs/overrides/index.js.map +0 -1
  281. package/lib/cjs/overrides/overrides.js.map +0 -1
  282. package/lib/cjs/overrides/types.js.map +0 -1
  283. package/lib/cjs/types/index.js.map +0 -1
  284. package/lib/cjs/utils/DateBuilder.js.map +0 -1
  285. package/lib/cjs/utils/PathProxy.js.map +0 -1
  286. package/lib/cjs/utils/constants.js.map +0 -1
  287. package/lib/cjs/utils/dates.js.map +0 -1
  288. package/lib/cjs/utils/equality.js.map +0 -1
  289. package/lib/cjs/utils/hashing.js.map +0 -1
  290. package/lib/cjs/utils/index.js.map +0 -1
  291. package/lib/cjs/utils/registry.js.map +0 -1
  292. package/lib/cjs/utils/serialization.js.map +0 -1
  293. package/lib/cjs/utils/serializers.js.map +0 -1
  294. package/lib/cjs/utils/strings.js.map +0 -1
  295. package/lib/cjs/utils/types.js.map +0 -1
  296. package/lib/cjs/validation/Validation.js.map +0 -1
  297. package/lib/cjs/validation/Validators/AsyncValidator.js.map +0 -1
  298. package/lib/cjs/validation/Validators/BaseValidator.js.map +0 -1
  299. package/lib/cjs/validation/Validators/DateValidator.js.map +0 -1
  300. package/lib/cjs/validation/Validators/DiffValidator.js.map +0 -1
  301. package/lib/cjs/validation/Validators/EmailValidator.js.map +0 -1
  302. package/lib/cjs/validation/Validators/EqualsValidator.js.map +0 -1
  303. package/lib/cjs/validation/Validators/GreaterThanOrEqualValidator.js.map +0 -1
  304. package/lib/cjs/validation/Validators/GreaterThanValidator.js.map +0 -1
  305. package/lib/cjs/validation/Validators/LessThanOrEqualValidator.js.map +0 -1
  306. package/lib/cjs/validation/Validators/LessThanValidator.js.map +0 -1
  307. package/lib/cjs/validation/Validators/ListValidator.js.map +0 -1
  308. package/lib/cjs/validation/Validators/MaxLengthValidator.js.map +0 -1
  309. package/lib/cjs/validation/Validators/MaxValidator.js.map +0 -1
  310. package/lib/cjs/validation/Validators/MinLengthValidator.js.map +0 -1
  311. package/lib/cjs/validation/Validators/MinValidator.js.map +0 -1
  312. package/lib/cjs/validation/Validators/OptionValidator.js.map +0 -1
  313. package/lib/cjs/validation/Validators/PasswordValidator.js.map +0 -1
  314. package/lib/cjs/validation/Validators/PatternValidator.js.map +0 -1
  315. package/lib/cjs/validation/Validators/RequiredValidator.js.map +0 -1
  316. package/lib/cjs/validation/Validators/StepValidator.js.map +0 -1
  317. package/lib/cjs/validation/Validators/TypeValidator.js.map +0 -1
  318. package/lib/cjs/validation/Validators/URLValidator.js.map +0 -1
  319. package/lib/cjs/validation/Validators/Validator.js.map +0 -1
  320. package/lib/cjs/validation/Validators/ValidatorRegistry.js.map +0 -1
  321. package/lib/cjs/validation/Validators/constants.js.map +0 -1
  322. package/lib/cjs/validation/Validators/decorators.js.map +0 -1
  323. package/lib/cjs/validation/Validators/index.js.map +0 -1
  324. package/lib/cjs/validation/Validators/utils.js.map +0 -1
  325. package/lib/cjs/validation/decorators.js.map +0 -1
  326. package/lib/cjs/validation/index.js.map +0 -1
  327. package/lib/cjs/validation/types.js.map +0 -1
@@ -0,0 +1,79 @@
1
+ import { Validator } from "./Validator.cjs";
2
+ import { TypeValidatorOptions } from "../types.cjs";
3
+ /**
4
+ * @description Validator for checking if a value is of the expected type(s)
5
+ * @summary The TypeValidator ensures that a value matches one of the specified types.
6
+ * It can validate against a single type, multiple types, or a type with a specific name.
7
+ * This validator is typically used with the @type decorator and is fundamental for
8
+ * ensuring type safety in validated models.
9
+ *
10
+ * @param {string} [message] - Custom error message to display when validation fails, defaults to {@link DEFAULT_ERROR_MESSAGES#TYPE}
11
+ *
12
+ * @class TypeValidator
13
+ * @extends Validator
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * // Create a type validator with default error message
18
+ * const typeValidator = new TypeValidator();
19
+ *
20
+ * // Create a type validator with custom error message
21
+ * const customTypeValidator = new TypeValidator("Value must be of type {0}, but got {1}");
22
+ *
23
+ * // Validate against a single type
24
+ * const stringOptions = { types: "string" };
25
+ * typeValidator.hasErrors("hello", stringOptions); // undefined (valid)
26
+ * typeValidator.hasErrors(123, stringOptions); // Returns error message (invalid)
27
+ *
28
+ * // Validate against multiple types
29
+ * const multiOptions = { types: ["string", "number"] };
30
+ * typeValidator.hasErrors("hello", multiOptions); // undefined (valid)
31
+ * typeValidator.hasErrors(123, multiOptions); // undefined (valid)
32
+ * typeValidator.hasErrors(true, multiOptions); // Returns error message (invalid)
33
+ *
34
+ * // Validate against a class type
35
+ * const classOptions = { types: { name: "Date" } };
36
+ * typeValidator.hasErrors(new Date(), classOptions); // undefined (valid)
37
+ * ```
38
+ *
39
+ * @mermaid
40
+ * sequenceDiagram
41
+ * participant C as Client
42
+ * participant V as TypeValidator
43
+ * participant R as Reflection
44
+ *
45
+ * C->>V: new TypeValidator(message)
46
+ * C->>V: hasErrors(value, options)
47
+ * alt value is undefined
48
+ * V-->>C: undefined (valid)
49
+ * else value is defined
50
+ * V->>R: evaluateDesignTypes(value, types)
51
+ * alt type evaluation passes
52
+ * V-->>C: undefined (valid)
53
+ * else type evaluation fails
54
+ * V->>V: Format error message with type info
55
+ * V-->>C: Error message
56
+ * end
57
+ * end
58
+ *
59
+ * @category Validators
60
+ */
61
+ export declare class TypeValidator extends Validator<TypeValidatorOptions> {
62
+ constructor(message?: string);
63
+ /**
64
+ * @description Checks if a value is of the expected type(s)
65
+ * @summary Validates that the provided value matches one of the specified types.
66
+ * It uses the Reflection utility to evaluate if the value's type matches the expected types.
67
+ * The method skips validation for undefined values to avoid conflicts with the RequiredValidator.
68
+ *
69
+ * @param {any} value - The value to validate
70
+ * @param {TypeValidatorOptions} options - Configuration options containing the expected types
71
+ *
72
+ * @return {string | undefined} Error message if validation fails, undefined if validation passes
73
+ *
74
+ * @override
75
+ *
76
+ * @see Validator#hasErrors
77
+ */
78
+ hasErrors(value: any, options: TypeValidatorOptions): string | undefined;
79
+ }
@@ -0,0 +1,79 @@
1
+ import { Validator } from "./Validator.js";
2
+ import { TypeValidatorOptions } from "../types.js";
3
+ /**
4
+ * @description Validator for checking if a value is of the expected type(s)
5
+ * @summary The TypeValidator ensures that a value matches one of the specified types.
6
+ * It can validate against a single type, multiple types, or a type with a specific name.
7
+ * This validator is typically used with the @type decorator and is fundamental for
8
+ * ensuring type safety in validated models.
9
+ *
10
+ * @param {string} [message] - Custom error message to display when validation fails, defaults to {@link DEFAULT_ERROR_MESSAGES#TYPE}
11
+ *
12
+ * @class TypeValidator
13
+ * @extends Validator
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * // Create a type validator with default error message
18
+ * const typeValidator = new TypeValidator();
19
+ *
20
+ * // Create a type validator with custom error message
21
+ * const customTypeValidator = new TypeValidator("Value must be of type {0}, but got {1}");
22
+ *
23
+ * // Validate against a single type
24
+ * const stringOptions = { types: "string" };
25
+ * typeValidator.hasErrors("hello", stringOptions); // undefined (valid)
26
+ * typeValidator.hasErrors(123, stringOptions); // Returns error message (invalid)
27
+ *
28
+ * // Validate against multiple types
29
+ * const multiOptions = { types: ["string", "number"] };
30
+ * typeValidator.hasErrors("hello", multiOptions); // undefined (valid)
31
+ * typeValidator.hasErrors(123, multiOptions); // undefined (valid)
32
+ * typeValidator.hasErrors(true, multiOptions); // Returns error message (invalid)
33
+ *
34
+ * // Validate against a class type
35
+ * const classOptions = { types: { name: "Date" } };
36
+ * typeValidator.hasErrors(new Date(), classOptions); // undefined (valid)
37
+ * ```
38
+ *
39
+ * @mermaid
40
+ * sequenceDiagram
41
+ * participant C as Client
42
+ * participant V as TypeValidator
43
+ * participant R as Reflection
44
+ *
45
+ * C->>V: new TypeValidator(message)
46
+ * C->>V: hasErrors(value, options)
47
+ * alt value is undefined
48
+ * V-->>C: undefined (valid)
49
+ * else value is defined
50
+ * V->>R: evaluateDesignTypes(value, types)
51
+ * alt type evaluation passes
52
+ * V-->>C: undefined (valid)
53
+ * else type evaluation fails
54
+ * V->>V: Format error message with type info
55
+ * V-->>C: Error message
56
+ * end
57
+ * end
58
+ *
59
+ * @category Validators
60
+ */
61
+ export declare class TypeValidator extends Validator<TypeValidatorOptions> {
62
+ constructor(message?: string);
63
+ /**
64
+ * @description Checks if a value is of the expected type(s)
65
+ * @summary Validates that the provided value matches one of the specified types.
66
+ * It uses the Reflection utility to evaluate if the value's type matches the expected types.
67
+ * The method skips validation for undefined values to avoid conflicts with the RequiredValidator.
68
+ *
69
+ * @param {any} value - The value to validate
70
+ * @param {TypeValidatorOptions} options - Configuration options containing the expected types
71
+ *
72
+ * @return {string | undefined} Error message if validation fails, undefined if validation passes
73
+ *
74
+ * @override
75
+ *
76
+ * @see Validator#hasErrors
77
+ */
78
+ hasErrors(value: any, options: TypeValidatorOptions): string | undefined;
79
+ }
@@ -0,0 +1,61 @@
1
+ import { PatternValidator } from "./PatternValidator.cjs";
2
+ import { PatternValidatorOptions } from "../types.cjs";
3
+ /**
4
+ * @description Validator for checking if a string is a valid URL
5
+ * @summary The URLValidator checks if a string matches a standard URL pattern.
6
+ * It extends the PatternValidator and uses a robust URL regex pattern to validate web addresses.
7
+ * The pattern is sourced from {@link https://gist.github.com/dperini/729294} and is widely
8
+ * recognized for its accuracy in validating URLs. This validator is typically used with the @url decorator.
9
+ *
10
+ * @param {string} [message] - Custom error message to display when validation fails, defaults to {@link DEFAULT_ERROR_MESSAGES#URL}
11
+ *
12
+ * @class URLValidator
13
+ * @extends PatternValidator
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * // Create a URL validator with default error message
18
+ * const urlValidator = new URLValidator();
19
+ *
20
+ * // Create a URL validator with custom error message
21
+ * const customUrlValidator = new URLValidator("Please enter a valid web address");
22
+ *
23
+ * // Validate a URL
24
+ * const result = urlValidator.hasErrors("https://example.com"); // undefined (valid)
25
+ * const invalidResult = urlValidator.hasErrors("not-a-url"); // Returns error message (invalid)
26
+ * ```
27
+ *
28
+ * @mermaid
29
+ * sequenceDiagram
30
+ * participant C as Client
31
+ * participant U as URLValidator
32
+ * participant P as PatternValidator
33
+ *
34
+ * C->>U: new URLValidator(message)
35
+ * U->>P: super(message)
36
+ * C->>U: hasErrors(value, options)
37
+ * U->>P: super.hasErrors(value, options with URL pattern)
38
+ * P-->>U: validation result
39
+ * U-->>C: validation result
40
+ *
41
+ * @category Validators
42
+ */
43
+ export declare class URLValidator extends PatternValidator {
44
+ constructor(message?: string);
45
+ /**
46
+ * @description Checks if a string is a valid URL
47
+ * @summary Validates that the provided string matches the URL pattern.
48
+ * This method extends the PatternValidator's hasErrors method by ensuring
49
+ * the URL pattern is used, even if not explicitly provided in the options.
50
+ *
51
+ * @param {string} value - The string to validate as a URL
52
+ * @param {PatternValidatorOptions} [options={}] - Optional configuration options
53
+ *
54
+ * @return {string | undefined} Error message if validation fails, undefined if validation passes
55
+ *
56
+ * @override
57
+ *
58
+ * @see PatternValidator#hasErrors
59
+ */
60
+ hasErrors(value: string, options?: PatternValidatorOptions): string | undefined;
61
+ }
@@ -0,0 +1,61 @@
1
+ import { PatternValidator } from "./PatternValidator.js";
2
+ import { PatternValidatorOptions } from "../types.js";
3
+ /**
4
+ * @description Validator for checking if a string is a valid URL
5
+ * @summary The URLValidator checks if a string matches a standard URL pattern.
6
+ * It extends the PatternValidator and uses a robust URL regex pattern to validate web addresses.
7
+ * The pattern is sourced from {@link https://gist.github.com/dperini/729294} and is widely
8
+ * recognized for its accuracy in validating URLs. This validator is typically used with the @url decorator.
9
+ *
10
+ * @param {string} [message] - Custom error message to display when validation fails, defaults to {@link DEFAULT_ERROR_MESSAGES#URL}
11
+ *
12
+ * @class URLValidator
13
+ * @extends PatternValidator
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * // Create a URL validator with default error message
18
+ * const urlValidator = new URLValidator();
19
+ *
20
+ * // Create a URL validator with custom error message
21
+ * const customUrlValidator = new URLValidator("Please enter a valid web address");
22
+ *
23
+ * // Validate a URL
24
+ * const result = urlValidator.hasErrors("https://example.com"); // undefined (valid)
25
+ * const invalidResult = urlValidator.hasErrors("not-a-url"); // Returns error message (invalid)
26
+ * ```
27
+ *
28
+ * @mermaid
29
+ * sequenceDiagram
30
+ * participant C as Client
31
+ * participant U as URLValidator
32
+ * participant P as PatternValidator
33
+ *
34
+ * C->>U: new URLValidator(message)
35
+ * U->>P: super(message)
36
+ * C->>U: hasErrors(value, options)
37
+ * U->>P: super.hasErrors(value, options with URL pattern)
38
+ * P-->>U: validation result
39
+ * U-->>C: validation result
40
+ *
41
+ * @category Validators
42
+ */
43
+ export declare class URLValidator extends PatternValidator {
44
+ constructor(message?: string);
45
+ /**
46
+ * @description Checks if a string is a valid URL
47
+ * @summary Validates that the provided string matches the URL pattern.
48
+ * This method extends the PatternValidator's hasErrors method by ensuring
49
+ * the URL pattern is used, even if not explicitly provided in the options.
50
+ *
51
+ * @param {string} value - The string to validate as a URL
52
+ * @param {PatternValidatorOptions} [options={}] - Optional configuration options
53
+ *
54
+ * @return {string | undefined} Error message if validation fails, undefined if validation passes
55
+ *
56
+ * @override
57
+ *
58
+ * @see PatternValidator#hasErrors
59
+ */
60
+ hasErrors(value: string, options?: PatternValidatorOptions): string | undefined;
61
+ }
@@ -0,0 +1,65 @@
1
+ import { ValidatorOptions } from "../types.cjs";
2
+ import type { PathProxy } from "../../utils/index.cjs";
3
+ import { BaseValidator } from "./BaseValidator.cjs";
4
+ /**
5
+ * @description
6
+ * Abstract class for defining synchronous validators.
7
+ *
8
+ * This class extends the base {@link BaseValidator} and enforces that any implementation of `hasErrors` must be synchronous.
9
+ *
10
+ * Use this when the validation process is immediate and does not require asynchronous operations.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * // Example of a synchronous validator that checks if a number is greater than
15
+ * class GreaterThanValidator extends Validator<{ gt?: number }> {
16
+ * constructor(message: string = "Value must be greater than {0}") {
17
+ * super(message);
18
+ * }
19
+ *
20
+ * hasErrors(value: number, options?: { gt?: number }) {
21
+ * const minValue = options?.gt ?? 0;
22
+ * if (value <= minValue) {
23
+ * return this.getMessage();
24
+ * }
25
+ * return undefined;
26
+ * }
27
+ * }
28
+ *
29
+ * // Example usage:
30
+ * const validator = new GreaterThanValidator();
31
+ * const error = validator.hasErrors(10, { gt: 15 });
32
+ * if (error) {
33
+ * console.log('Value must be greater than 15')
34
+ * } else {
35
+ * console.log('Value is valid');
36
+ * }
37
+ * ```
38
+ *
39
+ * - If `value` is less than or equal to `gt`, returns the error message.
40
+ * - Otherwise, returns `undefined` indicating validation success.
41
+ *
42
+ * @see {@link BaseValidator} For the base validator.
43
+ * @see {@link ValidatorOptions} For the base validator options.
44
+ */
45
+ export declare abstract class Validator<V extends ValidatorOptions = ValidatorOptions> extends BaseValidator<V, false> {
46
+ protected constructor(message?: string, ...acceptedTypes: string[]);
47
+ /**
48
+ * @description Validates a value against specific validation rules
49
+ * @summary Abstract method that must be implemented by all validator subclasses.
50
+ * This method contains the core validation logic that determines whether a value
51
+ * is valid according to the specific rules of the validator. If the value is valid,
52
+ * the method returns undefined; otherwise, it returns an error message.
53
+ *
54
+ * @template V - Type of the options object that can be passed to the validator
55
+ * @param {any} value - The value to validate
56
+ * @param {V} [options] - Optional configuration options for customizing validation behavior
57
+ * @param {PathProxy<any>} proxy -
58
+ * @return {string | undefined} Error message if validation fails, undefined if validation passes
59
+ *
60
+ * @abstract
61
+ *
62
+ * @see Model#validate
63
+ */
64
+ abstract hasErrors(value: any, options?: V, proxy?: PathProxy<any>): string | undefined;
65
+ }
@@ -0,0 +1,65 @@
1
+ import { ValidatorOptions } from "../types.js";
2
+ import type { PathProxy } from "../../utils/index.js";
3
+ import { BaseValidator } from "./BaseValidator.js";
4
+ /**
5
+ * @description
6
+ * Abstract class for defining synchronous validators.
7
+ *
8
+ * This class extends the base {@link BaseValidator} and enforces that any implementation of `hasErrors` must be synchronous.
9
+ *
10
+ * Use this when the validation process is immediate and does not require asynchronous operations.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * // Example of a synchronous validator that checks if a number is greater than
15
+ * class GreaterThanValidator extends Validator<{ gt?: number }> {
16
+ * constructor(message: string = "Value must be greater than {0}") {
17
+ * super(message);
18
+ * }
19
+ *
20
+ * hasErrors(value: number, options?: { gt?: number }) {
21
+ * const minValue = options?.gt ?? 0;
22
+ * if (value <= minValue) {
23
+ * return this.getMessage();
24
+ * }
25
+ * return undefined;
26
+ * }
27
+ * }
28
+ *
29
+ * // Example usage:
30
+ * const validator = new GreaterThanValidator();
31
+ * const error = validator.hasErrors(10, { gt: 15 });
32
+ * if (error) {
33
+ * console.log('Value must be greater than 15')
34
+ * } else {
35
+ * console.log('Value is valid');
36
+ * }
37
+ * ```
38
+ *
39
+ * - If `value` is less than or equal to `gt`, returns the error message.
40
+ * - Otherwise, returns `undefined` indicating validation success.
41
+ *
42
+ * @see {@link BaseValidator} For the base validator.
43
+ * @see {@link ValidatorOptions} For the base validator options.
44
+ */
45
+ export declare abstract class Validator<V extends ValidatorOptions = ValidatorOptions> extends BaseValidator<V, false> {
46
+ protected constructor(message?: string, ...acceptedTypes: string[]);
47
+ /**
48
+ * @description Validates a value against specific validation rules
49
+ * @summary Abstract method that must be implemented by all validator subclasses.
50
+ * This method contains the core validation logic that determines whether a value
51
+ * is valid according to the specific rules of the validator. If the value is valid,
52
+ * the method returns undefined; otherwise, it returns an error message.
53
+ *
54
+ * @template V - Type of the options object that can be passed to the validator
55
+ * @param {any} value - The value to validate
56
+ * @param {V} [options] - Optional configuration options for customizing validation behavior
57
+ * @param {PathProxy<any>} proxy -
58
+ * @return {string | undefined} Error message if validation fails, undefined if validation passes
59
+ *
60
+ * @abstract
61
+ *
62
+ * @see Model#validate
63
+ */
64
+ abstract hasErrors(value: any, options?: V, proxy?: PathProxy<any>): string | undefined;
65
+ }
@@ -0,0 +1,41 @@
1
+ import { ValidatorDefinition } from "../types.cjs";
2
+ import { IValidatorRegistry } from "../types.cjs";
3
+ import { Validator } from "./Validator.cjs";
4
+ /**
5
+ * @summary Base Implementation of a Validator Registry
6
+ *
7
+ * @prop {Validator[]} [validators] the initial validators to register
8
+ *
9
+ * @class ValidatorRegistry
10
+ * @implements IValidatorRegistry<T>
11
+ *
12
+ * @category Validation
13
+ */
14
+ export declare class ValidatorRegistry<T extends Validator> implements IValidatorRegistry<T> {
15
+ private cache;
16
+ private customKeyCache;
17
+ constructor(...validators: (ValidatorDefinition | Validator)[]);
18
+ /**
19
+ * @summary retrieves the custom keys
20
+ */
21
+ getCustomKeys(): {
22
+ [indexer: string]: string;
23
+ };
24
+ /**
25
+ * @summary retrieves the registered validators keys
26
+ */
27
+ getKeys(): string[];
28
+ /**
29
+ * @summary Retrieves a validator
30
+ *
31
+ * @param {string} validatorKey one of the {@link ValidationKeys}
32
+ * @return {Validator | undefined} the registered Validator or undefined if there is nono matching the provided key
33
+ */
34
+ get<T extends Validator>(validatorKey: string): T | undefined;
35
+ /**
36
+ * @summary Registers the provided validators onto the registry
37
+ *
38
+ * @param {T[] | ValidatorDefinition[]} validator
39
+ */
40
+ register<T extends Validator>(...validator: (ValidatorDefinition | T)[]): void;
41
+ }
@@ -0,0 +1,41 @@
1
+ import { ValidatorDefinition } from "../types.js";
2
+ import { IValidatorRegistry } from "../types.js";
3
+ import { Validator } from "./Validator.js";
4
+ /**
5
+ * @summary Base Implementation of a Validator Registry
6
+ *
7
+ * @prop {Validator[]} [validators] the initial validators to register
8
+ *
9
+ * @class ValidatorRegistry
10
+ * @implements IValidatorRegistry<T>
11
+ *
12
+ * @category Validation
13
+ */
14
+ export declare class ValidatorRegistry<T extends Validator> implements IValidatorRegistry<T> {
15
+ private cache;
16
+ private customKeyCache;
17
+ constructor(...validators: (ValidatorDefinition | Validator)[]);
18
+ /**
19
+ * @summary retrieves the custom keys
20
+ */
21
+ getCustomKeys(): {
22
+ [indexer: string]: string;
23
+ };
24
+ /**
25
+ * @summary retrieves the registered validators keys
26
+ */
27
+ getKeys(): string[];
28
+ /**
29
+ * @summary Retrieves a validator
30
+ *
31
+ * @param {string} validatorKey one of the {@link ValidationKeys}
32
+ * @return {Validator | undefined} the registered Validator or undefined if there is nono matching the provided key
33
+ */
34
+ get<T extends Validator>(validatorKey: string): T | undefined;
35
+ /**
36
+ * @summary Registers the provided validators onto the registry
37
+ *
38
+ * @param {T[] | ValidatorDefinition[]} validator
39
+ */
40
+ register<T extends Validator>(...validator: (ValidatorDefinition | T)[]): void;
41
+ }
@@ -0,0 +1,157 @@
1
+ /**
2
+ * @description Object-like set of keys used for comparison-based validations.
3
+ * @summary Provides canonical names for validators that compare two values (equality and ordering checks).
4
+ * @typedef {Object} ComparisonValidationKeysDef
5
+ * @property {"equals"} EQUALS Validates if two values are equal.
6
+ * @property {"different"} DIFF Validates if two values are different.
7
+ * @property {"lessThan"} LESS_THAN Validates if a value is less than another.
8
+ * @property {"lessThanOrEqual"} LESS_THAN_OR_EQUAL Validates if a value is less than or equal to another.
9
+ * @property {"greaterThan"} GREATER_THAN Validates if a value is greater than another.
10
+ * @property {"greaterThanOrEqual"} GREATER_THAN_OR_EQUAL Validates if a value is greater than or equal to another.
11
+ * @memberOf module:decorator-validation.Validation
12
+ */
13
+ /**
14
+ * @description Keys used for comparison-based validations.
15
+ * @summary Canonical key names for comparison validators.
16
+ * @const ComparisonValidationKeys
17
+ * @memberOf module:decorator-validation.Validation
18
+ * @category Validation
19
+ * @type {ComparisonValidationKeysDef}
20
+ */
21
+ export declare const ComparisonValidationKeys: {
22
+ readonly EQUALS: "equals";
23
+ readonly DIFF: "different";
24
+ readonly LESS_THAN: "lessThan";
25
+ readonly LESS_THAN_OR_EQUAL: "lessThanOrEqual";
26
+ readonly GREATER_THAN: "greaterThan";
27
+ readonly GREATER_THAN_OR_EQUAL: "greaterThanOrEqual";
28
+ };
29
+ /**
30
+ * @description Object-like set of keys used across all validators in the system.
31
+ * @summary Defines the canonical namespaced key prefix and the individual validation flags for rules such as required, min/max, length, patterns, types, lists and more.
32
+ * @typedef {Object} ValidationKeysDef
33
+ * @property {string} REFLECT prefixes others (namespace prefix)
34
+ * @property {"required"} REQUIRED sets as required
35
+ * @property {"min"} MIN defines min value
36
+ * @property {"max"} MAX defines max value
37
+ * @property {"step"} STEP defines step
38
+ * @property {"minlength"} MIN_LENGTH defines min length
39
+ * @property {"maxlength"} MAX_LENGTH defines max length
40
+ * @property {"pattern"} PATTERN defines pattern
41
+ * @property {"email"} EMAIL defines email
42
+ * @property {"url"} URL defines url
43
+ * @property {"date"} DATE defines date
44
+ * @property {"type"} TYPE defines type
45
+ * @property {"password"} PASSWORD defines password
46
+ * @property {"list"} LIST defines list
47
+ * @property {"unique"} UNIQUE flags uniqueness
48
+ * @property {"validator"} VALIDATOR custom validator id
49
+ * @memberOf module:decorator-validation.Validation
50
+ */
51
+ /**
52
+ * @description The keys used for validation.
53
+ * @summary A namespaced collection of validation key strings used throughout the library.
54
+ * @const ValidationKeys
55
+ * @memberOf module:decorator-validation.Validation
56
+ * @category Validation
57
+ * @type {ValidationKeysDef}
58
+ */
59
+ export declare const ValidationKeys: {
60
+ readonly EQUALS: "equals";
61
+ readonly DIFF: "different";
62
+ readonly LESS_THAN: "lessThan";
63
+ readonly LESS_THAN_OR_EQUAL: "lessThanOrEqual";
64
+ readonly GREATER_THAN: "greaterThan";
65
+ readonly GREATER_THAN_OR_EQUAL: "greaterThanOrEqual";
66
+ readonly REFLECT: "validation";
67
+ readonly DATE: "date";
68
+ readonly EMAIL: "email";
69
+ readonly FORMAT: "format";
70
+ readonly LIST: "list";
71
+ readonly MAX: "max";
72
+ readonly MAX_LENGTH: "maxlength";
73
+ readonly MIN: "min";
74
+ readonly MIN_LENGTH: "minlength";
75
+ readonly PASSWORD: "password";
76
+ readonly PATTERN: "pattern";
77
+ readonly REQUIRED: "required";
78
+ readonly STEP: "step";
79
+ readonly TYPE: "type";
80
+ readonly UNIQUE: "unique";
81
+ readonly URL: "url";
82
+ readonly VALIDATOR: "validator";
83
+ readonly ENUM: "enum";
84
+ };
85
+ /**
86
+ * @description list of month names
87
+ * @summary Stores month names. Can be changed for localization purposes
88
+ * @const MONTH_NAMES
89
+ * @memberOf module:decorator-validation.Validation
90
+ * @category Validation
91
+ */
92
+ export declare const MONTH_NAMES: string[];
93
+ /**
94
+ * @description list of names of days of the week
95
+ * @summary Stores names for days of the week. Can be changed for localization purposes
96
+ * @const DAYS_OF_WEEK_NAMES
97
+ * @memberOf module:decorator-validation.Validation
98
+ * @category Validation
99
+ */
100
+ export declare const DAYS_OF_WEEK_NAMES: string[];
101
+ /**
102
+ * @description Type definition for default error message strings keyed by validation type.
103
+ * @summary Enumerates the supported error message keys with their intended meaning; used to localize or override default messages.
104
+ * @typedef {Object} DefaultErrorMessages
105
+ * @property {string} REQUIRED default error message
106
+ * @property {string} MIN default error message
107
+ * @property {string} MAX default error message
108
+ * @property {string} MIN_LENGTH default error message
109
+ * @property {string} MAX_LENGTH default error message
110
+ * @property {string} PATTERN default error message
111
+ * @property {string} EMAIL default error message
112
+ * @property {string} URL default error message
113
+ * @property {string} TYPE default error message
114
+ * @property {string} STEP default error message
115
+ * @property {string} DATE default error message
116
+ * @property {string} DEFAULT default error message
117
+ * @property {string} PASSWORD default error message
118
+ * @property {string} LIST default error message
119
+ * @property {string} LIST_INSIDE default error message
120
+ * @property {string} MODEL_NOT_FOUND default error message
121
+ * @memberOf module:decorator-validation.Validation
122
+ */
123
+ /**
124
+ * @description Defines the default error messages
125
+ * @summary Mapping between validation keys and their default human-readable error messages.
126
+ * @const DEFAULT_ERROR_MESSAGES
127
+ * @memberOf module:decorator-validation.Validation
128
+ * @category Validation
129
+ * @type {DefaultErrorMessages}
130
+ */
131
+ export declare const DEFAULT_ERROR_MESSAGES: Record<string, string>;
132
+ /**
133
+ * @description Type definition for default regular expression patterns used in validation.
134
+ * @summary Captures common regex patterns for email, URL, and password policies, including nested grouping for password-related rules.
135
+ * @typedef {Object} DefaultPatterns
136
+ * @property {RegExp} EMAIL Email address validation pattern
137
+ * @property {RegExp} URL URL validation pattern
138
+ * @property {Object} PASSWORD Password-related regex patterns
139
+ * @property {RegExp} PASSWORD.CHAR8_ONE_OF_EACH At least 8 chars with lower, upper, number, and special char
140
+ * @memberOf module:decorator-validation.Validation
141
+ */
142
+ /**
143
+ * @description Defines the various default regexp patterns used
144
+ * @summary Collection of frequently used validation patterns grouped under semantic keys.
145
+ * @const DEFAULT_PATTERNS
146
+ * @memberOf module:decorator-validation.Validation
147
+ * @category Validation
148
+ * @type {DefaultPatterns}
149
+ */
150
+ export declare const DEFAULT_PATTERNS: {
151
+ EMAIL: RegExp;
152
+ URL: RegExp;
153
+ PASSWORD: {
154
+ CHAR8_ONE_OF_EACH: RegExp;
155
+ };
156
+ asd: string;
157
+ };