@decaf-ts/decorator-validation 1.7.22 → 1.8.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 (261) hide show
  1. package/README.md +23 -1
  2. package/dist/decorator-validation.cjs +2 -5079
  3. package/dist/decorator-validation.cjs.map +1 -0
  4. package/dist/decorator-validation.js +2 -0
  5. package/dist/decorator-validation.js.map +1 -0
  6. package/lib/constants/errors.cjs +1 -1
  7. package/lib/constants/errors.js.map +1 -0
  8. package/lib/constants/index.cjs +1 -1
  9. package/lib/constants/index.js.map +1 -0
  10. package/lib/constants/validation.cjs +1 -1
  11. package/lib/constants/validation.js.map +1 -0
  12. package/lib/esm/constants/errors.js +1 -1
  13. package/lib/esm/constants/errors.js.map +1 -0
  14. package/lib/esm/constants/index.js +1 -1
  15. package/lib/esm/constants/index.js.map +1 -0
  16. package/lib/esm/constants/validation.js +1 -1
  17. package/lib/esm/constants/validation.js.map +1 -0
  18. package/lib/esm/index.d.ts +2 -2
  19. package/lib/esm/index.js +3 -3
  20. package/lib/esm/index.js.map +1 -0
  21. package/lib/esm/mcp/ModelContextProtocol.js +1 -1
  22. package/lib/esm/mcp/ModelContextProtocol.js.map +1 -0
  23. package/lib/esm/mcp/mcp1.js +1 -1
  24. package/lib/esm/mcp/mcp1.js.map +1 -0
  25. package/lib/esm/mcp/tools/createModel.tool.js +1 -1
  26. package/lib/esm/mcp/tools/createModel.tool.js.map +1 -0
  27. package/lib/esm/mcp/tools/validateModel.tool.js +1 -1
  28. package/lib/esm/mcp/tools/validateModel.tool.js.map +1 -0
  29. package/lib/esm/mcp/types.js +1 -1
  30. package/lib/esm/mcp/types.js.map +1 -0
  31. package/lib/esm/model/Builder.js +1 -1
  32. package/lib/esm/model/Builder.js.map +1 -0
  33. package/lib/esm/model/Model.js +1 -1
  34. package/lib/esm/model/Model.js.map +1 -0
  35. package/lib/esm/model/ModelErrorDefinition.js +1 -1
  36. package/lib/esm/model/ModelErrorDefinition.js.map +1 -0
  37. package/lib/esm/model/constants.js +1 -1
  38. package/lib/esm/model/constants.js.map +1 -0
  39. package/lib/esm/model/construction.js +1 -1
  40. package/lib/esm/model/construction.js.map +1 -0
  41. package/lib/esm/model/decorators.js +1 -1
  42. package/lib/esm/model/decorators.js.map +1 -0
  43. package/lib/esm/model/index.js +1 -1
  44. package/lib/esm/model/index.js.map +1 -0
  45. package/lib/esm/model/types.js +1 -1
  46. package/lib/esm/model/types.js.map +1 -0
  47. package/lib/esm/model/utils.js +1 -1
  48. package/lib/esm/model/utils.js.map +1 -0
  49. package/lib/esm/model/validation.js +1 -1
  50. package/lib/esm/model/validation.js.map +1 -0
  51. package/lib/esm/types/index.js +1 -1
  52. package/lib/esm/types/index.js.map +1 -0
  53. package/lib/esm/types/validation.js +1 -1
  54. package/lib/esm/types/validation.js.map +1 -0
  55. package/lib/esm/utils/Decoration.js +1 -1
  56. package/lib/esm/utils/Decoration.js.map +1 -0
  57. package/lib/esm/utils/PathProxy.js +1 -1
  58. package/lib/esm/utils/PathProxy.js.map +1 -0
  59. package/lib/esm/utils/constants.js +1 -1
  60. package/lib/esm/utils/constants.js.map +1 -0
  61. package/lib/esm/utils/dates.js +1 -1
  62. package/lib/esm/utils/dates.js.map +1 -0
  63. package/lib/esm/utils/decorators.js +1 -1
  64. package/lib/esm/utils/decorators.js.map +1 -0
  65. package/lib/esm/utils/hashing.js +1 -1
  66. package/lib/esm/utils/hashing.js.map +1 -0
  67. package/lib/esm/utils/index.js +1 -1
  68. package/lib/esm/utils/index.js.map +1 -0
  69. package/lib/esm/utils/registry.js +1 -1
  70. package/lib/esm/utils/registry.js.map +1 -0
  71. package/lib/esm/utils/serialization.js +1 -1
  72. package/lib/esm/utils/serialization.js.map +1 -0
  73. package/lib/esm/utils/strings.js +1 -1
  74. package/lib/esm/utils/strings.js.map +1 -0
  75. package/lib/esm/utils/types.js +1 -1
  76. package/lib/esm/utils/types.js.map +1 -0
  77. package/lib/esm/validation/Validation.js +1 -1
  78. package/lib/esm/validation/Validation.js.map +1 -0
  79. package/lib/esm/validation/Validators/AsyncValidator.js +1 -1
  80. package/lib/esm/validation/Validators/AsyncValidator.js.map +1 -0
  81. package/lib/esm/validation/Validators/BaseValidator.js +1 -1
  82. package/lib/esm/validation/Validators/BaseValidator.js.map +1 -0
  83. package/lib/esm/validation/Validators/DateValidator.js +1 -1
  84. package/lib/esm/validation/Validators/DateValidator.js.map +1 -0
  85. package/lib/esm/validation/Validators/DiffValidator.js +1 -1
  86. package/lib/esm/validation/Validators/DiffValidator.js.map +1 -0
  87. package/lib/esm/validation/Validators/EmailValidator.js +1 -1
  88. package/lib/esm/validation/Validators/EmailValidator.js.map +1 -0
  89. package/lib/esm/validation/Validators/EqualsValidator.js +1 -1
  90. package/lib/esm/validation/Validators/EqualsValidator.js.map +1 -0
  91. package/lib/esm/validation/Validators/GreaterThanOrEqualValidator.js +1 -1
  92. package/lib/esm/validation/Validators/GreaterThanOrEqualValidator.js.map +1 -0
  93. package/lib/esm/validation/Validators/GreaterThanValidator.js +1 -1
  94. package/lib/esm/validation/Validators/GreaterThanValidator.js.map +1 -0
  95. package/lib/esm/validation/Validators/LessThanOrEqualValidator.js +1 -1
  96. package/lib/esm/validation/Validators/LessThanOrEqualValidator.js.map +1 -0
  97. package/lib/esm/validation/Validators/LessThanValidator.js +1 -1
  98. package/lib/esm/validation/Validators/LessThanValidator.js.map +1 -0
  99. package/lib/esm/validation/Validators/ListValidator.js +1 -1
  100. package/lib/esm/validation/Validators/ListValidator.js.map +1 -0
  101. package/lib/esm/validation/Validators/MaxLengthValidator.js +1 -1
  102. package/lib/esm/validation/Validators/MaxLengthValidator.js.map +1 -0
  103. package/lib/esm/validation/Validators/MaxValidator.js +1 -1
  104. package/lib/esm/validation/Validators/MaxValidator.js.map +1 -0
  105. package/lib/esm/validation/Validators/MinLengthValidator.js +1 -1
  106. package/lib/esm/validation/Validators/MinLengthValidator.js.map +1 -0
  107. package/lib/esm/validation/Validators/MinValidator.js +1 -1
  108. package/lib/esm/validation/Validators/MinValidator.js.map +1 -0
  109. package/lib/esm/validation/Validators/PasswordValidator.js +1 -1
  110. package/lib/esm/validation/Validators/PasswordValidator.js.map +1 -0
  111. package/lib/esm/validation/Validators/PatternValidator.js +1 -1
  112. package/lib/esm/validation/Validators/PatternValidator.js.map +1 -0
  113. package/lib/esm/validation/Validators/RequiredValidator.js +1 -1
  114. package/lib/esm/validation/Validators/RequiredValidator.js.map +1 -0
  115. package/lib/esm/validation/Validators/StepValidator.js +1 -1
  116. package/lib/esm/validation/Validators/StepValidator.js.map +1 -0
  117. package/lib/esm/validation/Validators/TypeValidator.js +1 -1
  118. package/lib/esm/validation/Validators/TypeValidator.js.map +1 -0
  119. package/lib/esm/validation/Validators/URLValidator.js +1 -1
  120. package/lib/esm/validation/Validators/URLValidator.js.map +1 -0
  121. package/lib/esm/validation/Validators/Validator.js +1 -1
  122. package/lib/esm/validation/Validators/Validator.js.map +1 -0
  123. package/lib/esm/validation/Validators/ValidatorRegistry.js +1 -1
  124. package/lib/esm/validation/Validators/ValidatorRegistry.js.map +1 -0
  125. package/lib/esm/validation/Validators/constants.js +1 -1
  126. package/lib/esm/validation/Validators/constants.js.map +1 -0
  127. package/lib/esm/validation/Validators/decorators.js +1 -1
  128. package/lib/esm/validation/Validators/decorators.js.map +1 -0
  129. package/lib/esm/validation/Validators/index.js +1 -1
  130. package/lib/esm/validation/Validators/index.js.map +1 -0
  131. package/lib/esm/validation/Validators/utils.js +1 -1
  132. package/lib/esm/validation/Validators/utils.js.map +1 -0
  133. package/lib/esm/validation/decorators.js +1 -1
  134. package/lib/esm/validation/decorators.js.map +1 -0
  135. package/lib/esm/validation/index.js +1 -1
  136. package/lib/esm/validation/index.js.map +1 -0
  137. package/lib/esm/validation/types.js +1 -1
  138. package/lib/esm/validation/types.js.map +1 -0
  139. package/lib/index.cjs +3 -3
  140. package/lib/index.d.ts +2 -2
  141. package/lib/index.js.map +1 -0
  142. package/lib/mcp/ModelContextProtocol.cjs +1 -1
  143. package/lib/mcp/ModelContextProtocol.js.map +1 -0
  144. package/lib/mcp/mcp1.cjs +1 -1
  145. package/lib/mcp/mcp1.js.map +1 -0
  146. package/lib/mcp/tools/createModel.tool.cjs +1 -1
  147. package/lib/mcp/tools/createModel.tool.js.map +1 -0
  148. package/lib/mcp/tools/validateModel.tool.cjs +1 -1
  149. package/lib/mcp/tools/validateModel.tool.js.map +1 -0
  150. package/lib/mcp/types.cjs +1 -1
  151. package/lib/mcp/types.js.map +1 -0
  152. package/lib/model/Builder.cjs +1 -1
  153. package/lib/model/Builder.js.map +1 -0
  154. package/lib/model/Model.cjs +1 -1
  155. package/lib/model/Model.js.map +1 -0
  156. package/lib/model/ModelErrorDefinition.cjs +1 -1
  157. package/lib/model/ModelErrorDefinition.js.map +1 -0
  158. package/lib/model/constants.cjs +1 -1
  159. package/lib/model/constants.js.map +1 -0
  160. package/lib/model/construction.cjs +1 -1
  161. package/lib/model/construction.js.map +1 -0
  162. package/lib/model/decorators.cjs +1 -1
  163. package/lib/model/decorators.js.map +1 -0
  164. package/lib/model/index.cjs +1 -1
  165. package/lib/model/index.js.map +1 -0
  166. package/lib/model/types.cjs +1 -1
  167. package/lib/model/types.js.map +1 -0
  168. package/lib/model/utils.cjs +1 -1
  169. package/lib/model/utils.js.map +1 -0
  170. package/lib/model/validation.cjs +1 -1
  171. package/lib/model/validation.js.map +1 -0
  172. package/lib/types/index.cjs +1 -1
  173. package/lib/types/index.js.map +1 -0
  174. package/lib/types/validation.cjs +1 -1
  175. package/lib/types/validation.js.map +1 -0
  176. package/lib/utils/Decoration.cjs +1 -1
  177. package/lib/utils/Decoration.js.map +1 -0
  178. package/lib/utils/PathProxy.cjs +1 -1
  179. package/lib/utils/PathProxy.js.map +1 -0
  180. package/lib/utils/constants.cjs +1 -1
  181. package/lib/utils/constants.js.map +1 -0
  182. package/lib/utils/dates.cjs +1 -1
  183. package/lib/utils/dates.js.map +1 -0
  184. package/lib/utils/decorators.cjs +1 -1
  185. package/lib/utils/decorators.js.map +1 -0
  186. package/lib/utils/hashing.cjs +1 -1
  187. package/lib/utils/hashing.js.map +1 -0
  188. package/lib/utils/index.cjs +1 -1
  189. package/lib/utils/index.js.map +1 -0
  190. package/lib/utils/registry.cjs +1 -1
  191. package/lib/utils/registry.js.map +1 -0
  192. package/lib/utils/serialization.cjs +1 -1
  193. package/lib/utils/serialization.js.map +1 -0
  194. package/lib/utils/strings.cjs +1 -1
  195. package/lib/utils/strings.js.map +1 -0
  196. package/lib/utils/types.cjs +1 -1
  197. package/lib/utils/types.js.map +1 -0
  198. package/lib/validation/Validation.cjs +1 -1
  199. package/lib/validation/Validation.js.map +1 -0
  200. package/lib/validation/Validators/AsyncValidator.cjs +1 -1
  201. package/lib/validation/Validators/AsyncValidator.js.map +1 -0
  202. package/lib/validation/Validators/BaseValidator.cjs +1 -1
  203. package/lib/validation/Validators/BaseValidator.js.map +1 -0
  204. package/lib/validation/Validators/DateValidator.cjs +1 -1
  205. package/lib/validation/Validators/DateValidator.js.map +1 -0
  206. package/lib/validation/Validators/DiffValidator.cjs +1 -1
  207. package/lib/validation/Validators/DiffValidator.js.map +1 -0
  208. package/lib/validation/Validators/EmailValidator.cjs +1 -1
  209. package/lib/validation/Validators/EmailValidator.js.map +1 -0
  210. package/lib/validation/Validators/EqualsValidator.cjs +1 -1
  211. package/lib/validation/Validators/EqualsValidator.js.map +1 -0
  212. package/lib/validation/Validators/GreaterThanOrEqualValidator.cjs +1 -1
  213. package/lib/validation/Validators/GreaterThanOrEqualValidator.js.map +1 -0
  214. package/lib/validation/Validators/GreaterThanValidator.cjs +1 -1
  215. package/lib/validation/Validators/GreaterThanValidator.js.map +1 -0
  216. package/lib/validation/Validators/LessThanOrEqualValidator.cjs +1 -1
  217. package/lib/validation/Validators/LessThanOrEqualValidator.js.map +1 -0
  218. package/lib/validation/Validators/LessThanValidator.cjs +1 -1
  219. package/lib/validation/Validators/LessThanValidator.js.map +1 -0
  220. package/lib/validation/Validators/ListValidator.cjs +1 -1
  221. package/lib/validation/Validators/ListValidator.js.map +1 -0
  222. package/lib/validation/Validators/MaxLengthValidator.cjs +1 -1
  223. package/lib/validation/Validators/MaxLengthValidator.js.map +1 -0
  224. package/lib/validation/Validators/MaxValidator.cjs +1 -1
  225. package/lib/validation/Validators/MaxValidator.js.map +1 -0
  226. package/lib/validation/Validators/MinLengthValidator.cjs +1 -1
  227. package/lib/validation/Validators/MinLengthValidator.js.map +1 -0
  228. package/lib/validation/Validators/MinValidator.cjs +1 -1
  229. package/lib/validation/Validators/MinValidator.js.map +1 -0
  230. package/lib/validation/Validators/PasswordValidator.cjs +1 -1
  231. package/lib/validation/Validators/PasswordValidator.js.map +1 -0
  232. package/lib/validation/Validators/PatternValidator.cjs +1 -1
  233. package/lib/validation/Validators/PatternValidator.js.map +1 -0
  234. package/lib/validation/Validators/RequiredValidator.cjs +1 -1
  235. package/lib/validation/Validators/RequiredValidator.js.map +1 -0
  236. package/lib/validation/Validators/StepValidator.cjs +1 -1
  237. package/lib/validation/Validators/StepValidator.js.map +1 -0
  238. package/lib/validation/Validators/TypeValidator.cjs +1 -1
  239. package/lib/validation/Validators/TypeValidator.js.map +1 -0
  240. package/lib/validation/Validators/URLValidator.cjs +1 -1
  241. package/lib/validation/Validators/URLValidator.js.map +1 -0
  242. package/lib/validation/Validators/Validator.cjs +1 -1
  243. package/lib/validation/Validators/Validator.js.map +1 -0
  244. package/lib/validation/Validators/ValidatorRegistry.cjs +1 -1
  245. package/lib/validation/Validators/ValidatorRegistry.js.map +1 -0
  246. package/lib/validation/Validators/constants.cjs +1 -1
  247. package/lib/validation/Validators/constants.js.map +1 -0
  248. package/lib/validation/Validators/decorators.cjs +1 -1
  249. package/lib/validation/Validators/decorators.js.map +1 -0
  250. package/lib/validation/Validators/index.cjs +1 -1
  251. package/lib/validation/Validators/index.js.map +1 -0
  252. package/lib/validation/Validators/utils.cjs +1 -1
  253. package/lib/validation/Validators/utils.js.map +1 -0
  254. package/lib/validation/decorators.cjs +1 -1
  255. package/lib/validation/decorators.js.map +1 -0
  256. package/lib/validation/index.cjs +1 -1
  257. package/lib/validation/index.js.map +1 -0
  258. package/lib/validation/types.cjs +1 -1
  259. package/lib/validation/types.js.map +1 -0
  260. package/package.json +9 -13
  261. package/dist/decorator-validation.esm.cjs +0 -4993
package/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ ![Banner](./workdocs/assets/decaf-logo.svg)
2
+
1
3
  # Decorator Validation
2
4
 
3
5
  A TypeScript decorator-driven validation and model framework. It lets you:
@@ -7,7 +9,6 @@ A TypeScript decorator-driven validation and model framework. It lets you:
7
9
  - Optionally expose validation as MCP tools for automation workflows.
8
10
 
9
11
 
10
-
11
12
  ![Licence](https://img.shields.io/github/license/decaf-ts/decorator-validation.svg?style=plastic)
12
13
  ![GitHub language count](https://img.shields.io/github/languages/count/decaf-ts/decorator-validation?style=plastic)
13
14
  ![GitHub top language](https://img.shields.io/github/languages/top/decaf-ts/decorator-validation?style=plastic)
@@ -31,6 +32,9 @@ A TypeScript decorator-driven validation and model framework. It lets you:
31
32
 
32
33
  Documentation available [here](https://decaf-ts.github.io/decorator-validation/)
33
34
 
35
+ Minimal size: 11.7 KB kb gzipped
36
+
37
+
34
38
  # Decorator Validation – Detailed Description
35
39
 
36
40
  Decorator Validation is a TypeScript library that centers on two complementary pillars:
@@ -547,6 +551,24 @@ const allKeys = Validation.keys();
547
551
  - Each snippet is valid TypeScript and aligns with the re-exports provided by the package entry.
548
552
 
549
553
 
554
+ ## Coding Principles
555
+
556
+ - group similar functionality in folders (analog to namespaces but without any namespace declaration)
557
+ - one class per file;
558
+ - one interface per file (unless interface is just used as a type);
559
+ - group types as other interfaces in a types.ts file per folder;
560
+ - group constants or enums in a constants.ts file per folder;
561
+ - group decorators in a decorators.ts file per folder;
562
+ - always import from the specific file, never from a folder or index file (exceptions for dependencies on other packages);
563
+ - prefer the usage of established design patters where applicable:
564
+ - Singleton (can be an anti-pattern. use with care);
565
+ - factory;
566
+ - observer;
567
+ - strategy;
568
+ - builder;
569
+ - etc;
570
+
571
+
550
572
  ### Related
551
573
 
552
574
  [![decaf-ts](https://github-readme-stats.vercel.app/api/pin/?username=decaf-ts&repo=decaf-ts)](https://github.com/decaf-ts/decaf-ts)