reliant-type 1.0.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 (345) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1305 -0
  3. package/dist/cjs/constants/SECURITY_CONSTANTS.js +49 -0
  4. package/dist/cjs/constants/SECURITY_CONSTANTS.js.map +1 -0
  5. package/dist/cjs/constants/VALIDATION_CONSTANTS.js +103 -0
  6. package/dist/cjs/constants/VALIDATION_CONSTANTS.js.map +1 -0
  7. package/dist/cjs/core/schema/extensions/SmartInference.js +200 -0
  8. package/dist/cjs/core/schema/extensions/SmartInference.js.map +1 -0
  9. package/dist/cjs/core/schema/extensions/components/AutoDocumentation/Docs.js +100 -0
  10. package/dist/cjs/core/schema/extensions/components/AutoDocumentation/Docs.js.map +1 -0
  11. package/dist/cjs/core/schema/extensions/components/AutoDocumentation/DocumentationGenerator.js +192 -0
  12. package/dist/cjs/core/schema/extensions/components/AutoDocumentation/DocumentationGenerator.js.map +1 -0
  13. package/dist/cjs/core/schema/extensions/components/AutoDocumentation/InteractiveDocumentationGenerator.js +174 -0
  14. package/dist/cjs/core/schema/extensions/components/AutoDocumentation/InteractiveDocumentationGenerator.js.map +1 -0
  15. package/dist/cjs/core/schema/extensions/components/AutoDocumentation/SchemaAnalyzer.js +54 -0
  16. package/dist/cjs/core/schema/extensions/components/AutoDocumentation/SchemaAnalyzer.js.map +1 -0
  17. package/dist/cjs/core/schema/extensions/components/AutoDocumentation/TypeScriptGenerator.js +50 -0
  18. package/dist/cjs/core/schema/extensions/components/AutoDocumentation/TypeScriptGenerator.js.map +1 -0
  19. package/dist/cjs/core/schema/extensions/components/AutoDocumentation/index.js +15 -0
  20. package/dist/cjs/core/schema/extensions/components/AutoDocumentation/index.js.map +1 -0
  21. package/dist/cjs/core/schema/extensions/components/ConditionalValidation/ConditionalBuilder.js +70 -0
  22. package/dist/cjs/core/schema/extensions/components/ConditionalValidation/ConditionalBuilder.js.map +1 -0
  23. package/dist/cjs/core/schema/extensions/components/ConditionalValidation/ConditionalElse.js +40 -0
  24. package/dist/cjs/core/schema/extensions/components/ConditionalValidation/ConditionalElse.js.map +1 -0
  25. package/dist/cjs/core/schema/extensions/components/ConditionalValidation/ConditionalThen.js +19 -0
  26. package/dist/cjs/core/schema/extensions/components/ConditionalValidation/ConditionalThen.js.map +1 -0
  27. package/dist/cjs/core/schema/extensions/components/ConditionalValidation/MultiConditionalBuilder.js +20 -0
  28. package/dist/cjs/core/schema/extensions/components/ConditionalValidation/MultiConditionalBuilder.js.map +1 -0
  29. package/dist/cjs/core/schema/extensions/components/ConditionalValidation/MultiConditionalThen.js +49 -0
  30. package/dist/cjs/core/schema/extensions/components/ConditionalValidation/MultiConditionalThen.js.map +1 -0
  31. package/dist/cjs/core/schema/extensions/components/ConditionalValidation/index.js +98 -0
  32. package/dist/cjs/core/schema/extensions/components/ConditionalValidation/index.js.map +1 -0
  33. package/dist/cjs/core/schema/extensions/components/RealtimeValidation/FormValidator.js +85 -0
  34. package/dist/cjs/core/schema/extensions/components/RealtimeValidation/FormValidator.js.map +1 -0
  35. package/dist/cjs/core/schema/extensions/components/RealtimeValidation/LiveValidator.js +133 -0
  36. package/dist/cjs/core/schema/extensions/components/RealtimeValidation/LiveValidator.js.map +1 -0
  37. package/dist/cjs/core/schema/extensions/components/RealtimeValidation/StreamValidator.js +351 -0
  38. package/dist/cjs/core/schema/extensions/components/RealtimeValidation/StreamValidator.js.map +1 -0
  39. package/dist/cjs/core/schema/extensions/components/RealtimeValidation/index.js +109 -0
  40. package/dist/cjs/core/schema/extensions/components/RealtimeValidation/index.js.map +1 -0
  41. package/dist/cjs/core/schema/extensions/index.js +61 -0
  42. package/dist/cjs/core/schema/extensions/index.js.map +1 -0
  43. package/dist/cjs/core/schema/extensions/mods/index.js +51 -0
  44. package/dist/cjs/core/schema/extensions/mods/index.js.map +1 -0
  45. package/dist/cjs/core/schema/extensions/mods/openapi-converter.js +227 -0
  46. package/dist/cjs/core/schema/extensions/mods/openapi-converter.js.map +1 -0
  47. package/dist/cjs/core/schema/extensions/mods/typescript-generator.js +287 -0
  48. package/dist/cjs/core/schema/extensions/mods/typescript-generator.js.map +1 -0
  49. package/dist/cjs/core/schema/extensions/mods/validation-engine.js +224 -0
  50. package/dist/cjs/core/schema/extensions/mods/validation-engine.js.map +1 -0
  51. package/dist/cjs/core/schema/mode/interfaces/Interface.js +277 -0
  52. package/dist/cjs/core/schema/mode/interfaces/Interface.js.map +1 -0
  53. package/dist/cjs/core/schema/mode/interfaces/InterfaceSchema.js +1431 -0
  54. package/dist/cjs/core/schema/mode/interfaces/InterfaceSchema.js.map +1 -0
  55. package/dist/cjs/core/schema/mode/interfaces/conditional/evaluator/ConditionalEvaluator.js +520 -0
  56. package/dist/cjs/core/schema/mode/interfaces/conditional/evaluator/ConditionalEvaluator.js.map +1 -0
  57. package/dist/cjs/core/schema/mode/interfaces/conditional/parser/ConditionalAST.js +624 -0
  58. package/dist/cjs/core/schema/mode/interfaces/conditional/parser/ConditionalAST.js.map +1 -0
  59. package/dist/cjs/core/schema/mode/interfaces/conditional/parser/ConditionalLexer.js +811 -0
  60. package/dist/cjs/core/schema/mode/interfaces/conditional/parser/ConditionalLexer.js.map +1 -0
  61. package/dist/cjs/core/schema/mode/interfaces/conditional/parser/ConditionalParser.js +599 -0
  62. package/dist/cjs/core/schema/mode/interfaces/conditional/parser/ConditionalParser.js.map +1 -0
  63. package/dist/cjs/core/schema/mode/interfaces/conditional/types/ConditionalTypes.js +89 -0
  64. package/dist/cjs/core/schema/mode/interfaces/conditional/types/ConditionalTypes.js.map +1 -0
  65. package/dist/cjs/core/schema/mode/interfaces/errors/ErrorHandler.js +356 -0
  66. package/dist/cjs/core/schema/mode/interfaces/errors/ErrorHandler.js.map +1 -0
  67. package/dist/cjs/core/schema/mode/interfaces/errors/types/errors.type.js +80 -0
  68. package/dist/cjs/core/schema/mode/interfaces/errors/types/errors.type.js.map +1 -0
  69. package/dist/cjs/core/schema/mode/interfaces/precompilation/FieldPrecompilers.js +778 -0
  70. package/dist/cjs/core/schema/mode/interfaces/precompilation/FieldPrecompilers.js.map +1 -0
  71. package/dist/cjs/core/schema/mode/interfaces/precompilation/SchemaPrecompiler.js +523 -0
  72. package/dist/cjs/core/schema/mode/interfaces/precompilation/SchemaPrecompiler.js.map +1 -0
  73. package/dist/cjs/core/schema/mode/interfaces/typescript/ConditionalTypes.js +681 -0
  74. package/dist/cjs/core/schema/mode/interfaces/typescript/ConditionalTypes.js.map +1 -0
  75. package/dist/cjs/core/schema/mode/interfaces/typescript/IDESupport.js +430 -0
  76. package/dist/cjs/core/schema/mode/interfaces/typescript/IDESupport.js.map +1 -0
  77. package/dist/cjs/core/schema/mode/interfaces/typescript/TypeInference.js +225 -0
  78. package/dist/cjs/core/schema/mode/interfaces/typescript/TypeInference.js.map +1 -0
  79. package/dist/cjs/core/schema/mode/interfaces/typescript/index.js +44 -0
  80. package/dist/cjs/core/schema/mode/interfaces/typescript/index.js.map +1 -0
  81. package/dist/cjs/core/schema/mode/interfaces/validators/ConstraintParser.js +1134 -0
  82. package/dist/cjs/core/schema/mode/interfaces/validators/ConstraintParser.js.map +1 -0
  83. package/dist/cjs/core/schema/mode/interfaces/validators/TypeGuards.js +256 -0
  84. package/dist/cjs/core/schema/mode/interfaces/validators/TypeGuards.js.map +1 -0
  85. package/dist/cjs/core/schema/mode/interfaces/validators/TypeValidators.js +429 -0
  86. package/dist/cjs/core/schema/mode/interfaces/validators/TypeValidators.js.map +1 -0
  87. package/dist/cjs/core/schema/mode/interfaces/validators/UnionCache.js +404 -0
  88. package/dist/cjs/core/schema/mode/interfaces/validators/UnionCache.js.map +1 -0
  89. package/dist/cjs/core/schema/mode/interfaces/validators/ValidationHelpers.js +851 -0
  90. package/dist/cjs/core/schema/mode/interfaces/validators/ValidationHelpers.js.map +1 -0
  91. package/dist/cjs/core/schema/mode/interfaces/validators/mods/passValidator.js +262 -0
  92. package/dist/cjs/core/schema/mode/interfaces/validators/mods/passValidator.js.map +1 -0
  93. package/dist/cjs/core/schema/mode/interfaces/validators/mods/securityValidator.js +887 -0
  94. package/dist/cjs/core/schema/mode/interfaces/validators/mods/securityValidator.js.map +1 -0
  95. package/dist/cjs/core/schema/mode/interfaces/validators/mods/urlValidation.js +191 -0
  96. package/dist/cjs/core/schema/mode/interfaces/validators/mods/urlValidation.js.map +1 -0
  97. package/dist/cjs/core/schema/optimization/ObjectValidationCache.js +462 -0
  98. package/dist/cjs/core/schema/optimization/ObjectValidationCache.js.map +1 -0
  99. package/dist/cjs/core/schema/optimization/PerformanceMonitor.js +773 -0
  100. package/dist/cjs/core/schema/optimization/PerformanceMonitor.js.map +1 -0
  101. package/dist/cjs/core/schema/optimization/SchemaCompiler.js +600 -0
  102. package/dist/cjs/core/schema/optimization/SchemaCompiler.js.map +1 -0
  103. package/dist/cjs/core/types/ValidatorTypes.js +70 -0
  104. package/dist/cjs/core/types/ValidatorTypes.js.map +1 -0
  105. package/dist/cjs/core/types/parser.type.js +12 -0
  106. package/dist/cjs/core/types/parser.type.js.map +1 -0
  107. package/dist/cjs/core/utils/Make.js +61 -0
  108. package/dist/cjs/core/utils/Make.js.map +1 -0
  109. package/dist/cjs/core/utils/Mod.js +1033 -0
  110. package/dist/cjs/core/utils/Mod.js.map +1 -0
  111. package/dist/cjs/core/utils/UrlArgs.js +102 -0
  112. package/dist/cjs/core/utils/UrlArgs.js.map +1 -0
  113. package/dist/cjs/core/utils/arrayToEnum.js +18 -0
  114. package/dist/cjs/core/utils/arrayToEnum.js.map +1 -0
  115. package/dist/cjs/core/utils/createUrlArgsEnumFArray.js +13 -0
  116. package/dist/cjs/core/utils/createUrlArgsEnumFArray.js.map +1 -0
  117. package/dist/cjs/core/utils/securityHelpers.js +215 -0
  118. package/dist/cjs/core/utils/securityHelpers.js.map +1 -0
  119. package/dist/cjs/core/utils/securityValidatorHelpers.js +65 -0
  120. package/dist/cjs/core/utils/securityValidatorHelpers.js.map +1 -0
  121. package/dist/cjs/index.js +31 -0
  122. package/dist/cjs/index.js.map +1 -0
  123. package/dist/cjs/package.json +3 -0
  124. package/dist/esm/constants/SECURITY_CONSTANTS.js +47 -0
  125. package/dist/esm/constants/SECURITY_CONSTANTS.js.map +1 -0
  126. package/dist/esm/constants/VALIDATION_CONSTANTS.js +98 -0
  127. package/dist/esm/constants/VALIDATION_CONSTANTS.js.map +1 -0
  128. package/dist/esm/core/schema/extensions/SmartInference.js +197 -0
  129. package/dist/esm/core/schema/extensions/SmartInference.js.map +1 -0
  130. package/dist/esm/core/schema/extensions/components/AutoDocumentation/Docs.js +98 -0
  131. package/dist/esm/core/schema/extensions/components/AutoDocumentation/Docs.js.map +1 -0
  132. package/dist/esm/core/schema/extensions/components/AutoDocumentation/DocumentationGenerator.js +190 -0
  133. package/dist/esm/core/schema/extensions/components/AutoDocumentation/DocumentationGenerator.js.map +1 -0
  134. package/dist/esm/core/schema/extensions/components/AutoDocumentation/InteractiveDocumentationGenerator.js +172 -0
  135. package/dist/esm/core/schema/extensions/components/AutoDocumentation/InteractiveDocumentationGenerator.js.map +1 -0
  136. package/dist/esm/core/schema/extensions/components/AutoDocumentation/SchemaAnalyzer.js +52 -0
  137. package/dist/esm/core/schema/extensions/components/AutoDocumentation/SchemaAnalyzer.js.map +1 -0
  138. package/dist/esm/core/schema/extensions/components/AutoDocumentation/TypeScriptGenerator.js +48 -0
  139. package/dist/esm/core/schema/extensions/components/AutoDocumentation/TypeScriptGenerator.js.map +1 -0
  140. package/dist/esm/core/schema/extensions/components/AutoDocumentation/index.js +12 -0
  141. package/dist/esm/core/schema/extensions/components/AutoDocumentation/index.js.map +1 -0
  142. package/dist/esm/core/schema/extensions/components/ConditionalValidation/ConditionalBuilder.js +68 -0
  143. package/dist/esm/core/schema/extensions/components/ConditionalValidation/ConditionalBuilder.js.map +1 -0
  144. package/dist/esm/core/schema/extensions/components/ConditionalValidation/ConditionalElse.js +38 -0
  145. package/dist/esm/core/schema/extensions/components/ConditionalValidation/ConditionalElse.js.map +1 -0
  146. package/dist/esm/core/schema/extensions/components/ConditionalValidation/ConditionalThen.js +17 -0
  147. package/dist/esm/core/schema/extensions/components/ConditionalValidation/ConditionalThen.js.map +1 -0
  148. package/dist/esm/core/schema/extensions/components/ConditionalValidation/MultiConditionalBuilder.js +18 -0
  149. package/dist/esm/core/schema/extensions/components/ConditionalValidation/MultiConditionalBuilder.js.map +1 -0
  150. package/dist/esm/core/schema/extensions/components/ConditionalValidation/MultiConditionalThen.js +45 -0
  151. package/dist/esm/core/schema/extensions/components/ConditionalValidation/MultiConditionalThen.js.map +1 -0
  152. package/dist/esm/core/schema/extensions/components/ConditionalValidation/index.js +92 -0
  153. package/dist/esm/core/schema/extensions/components/ConditionalValidation/index.js.map +1 -0
  154. package/dist/esm/core/schema/extensions/components/RealtimeValidation/FormValidator.js +83 -0
  155. package/dist/esm/core/schema/extensions/components/RealtimeValidation/FormValidator.js.map +1 -0
  156. package/dist/esm/core/schema/extensions/components/RealtimeValidation/LiveValidator.js +131 -0
  157. package/dist/esm/core/schema/extensions/components/RealtimeValidation/LiveValidator.js.map +1 -0
  158. package/dist/esm/core/schema/extensions/components/RealtimeValidation/StreamValidator.js +349 -0
  159. package/dist/esm/core/schema/extensions/components/RealtimeValidation/StreamValidator.js.map +1 -0
  160. package/dist/esm/core/schema/extensions/components/RealtimeValidation/index.js +103 -0
  161. package/dist/esm/core/schema/extensions/components/RealtimeValidation/index.js.map +1 -0
  162. package/dist/esm/core/schema/extensions/index.js +53 -0
  163. package/dist/esm/core/schema/extensions/index.js.map +1 -0
  164. package/dist/esm/core/schema/extensions/mods/index.js +47 -0
  165. package/dist/esm/core/schema/extensions/mods/index.js.map +1 -0
  166. package/dist/esm/core/schema/extensions/mods/openapi-converter.js +225 -0
  167. package/dist/esm/core/schema/extensions/mods/openapi-converter.js.map +1 -0
  168. package/dist/esm/core/schema/extensions/mods/typescript-generator.js +284 -0
  169. package/dist/esm/core/schema/extensions/mods/typescript-generator.js.map +1 -0
  170. package/dist/esm/core/schema/extensions/mods/validation-engine.js +222 -0
  171. package/dist/esm/core/schema/extensions/mods/validation-engine.js.map +1 -0
  172. package/dist/esm/core/schema/mode/interfaces/Interface.js +269 -0
  173. package/dist/esm/core/schema/mode/interfaces/Interface.js.map +1 -0
  174. package/dist/esm/core/schema/mode/interfaces/InterfaceSchema.js +1429 -0
  175. package/dist/esm/core/schema/mode/interfaces/InterfaceSchema.js.map +1 -0
  176. package/dist/esm/core/schema/mode/interfaces/conditional/evaluator/ConditionalEvaluator.js +518 -0
  177. package/dist/esm/core/schema/mode/interfaces/conditional/evaluator/ConditionalEvaluator.js.map +1 -0
  178. package/dist/esm/core/schema/mode/interfaces/conditional/parser/ConditionalAST.js +620 -0
  179. package/dist/esm/core/schema/mode/interfaces/conditional/parser/ConditionalAST.js.map +1 -0
  180. package/dist/esm/core/schema/mode/interfaces/conditional/parser/ConditionalLexer.js +809 -0
  181. package/dist/esm/core/schema/mode/interfaces/conditional/parser/ConditionalLexer.js.map +1 -0
  182. package/dist/esm/core/schema/mode/interfaces/conditional/parser/ConditionalParser.js +597 -0
  183. package/dist/esm/core/schema/mode/interfaces/conditional/parser/ConditionalParser.js.map +1 -0
  184. package/dist/esm/core/schema/mode/interfaces/conditional/types/ConditionalTypes.js +89 -0
  185. package/dist/esm/core/schema/mode/interfaces/conditional/types/ConditionalTypes.js.map +1 -0
  186. package/dist/esm/core/schema/mode/interfaces/errors/ErrorHandler.js +354 -0
  187. package/dist/esm/core/schema/mode/interfaces/errors/ErrorHandler.js.map +1 -0
  188. package/dist/esm/core/schema/mode/interfaces/errors/types/errors.type.js +80 -0
  189. package/dist/esm/core/schema/mode/interfaces/errors/types/errors.type.js.map +1 -0
  190. package/dist/esm/core/schema/mode/interfaces/precompilation/FieldPrecompilers.js +776 -0
  191. package/dist/esm/core/schema/mode/interfaces/precompilation/FieldPrecompilers.js.map +1 -0
  192. package/dist/esm/core/schema/mode/interfaces/precompilation/SchemaPrecompiler.js +521 -0
  193. package/dist/esm/core/schema/mode/interfaces/precompilation/SchemaPrecompiler.js.map +1 -0
  194. package/dist/esm/core/schema/mode/interfaces/typescript/ConditionalTypes.js +681 -0
  195. package/dist/esm/core/schema/mode/interfaces/typescript/ConditionalTypes.js.map +1 -0
  196. package/dist/esm/core/schema/mode/interfaces/typescript/IDESupport.js +428 -0
  197. package/dist/esm/core/schema/mode/interfaces/typescript/IDESupport.js.map +1 -0
  198. package/dist/esm/core/schema/mode/interfaces/typescript/TypeInference.js +223 -0
  199. package/dist/esm/core/schema/mode/interfaces/typescript/TypeInference.js.map +1 -0
  200. package/dist/esm/core/schema/mode/interfaces/typescript/index.js +35 -0
  201. package/dist/esm/core/schema/mode/interfaces/typescript/index.js.map +1 -0
  202. package/dist/esm/core/schema/mode/interfaces/validators/ConstraintParser.js +1132 -0
  203. package/dist/esm/core/schema/mode/interfaces/validators/ConstraintParser.js.map +1 -0
  204. package/dist/esm/core/schema/mode/interfaces/validators/TypeGuards.js +254 -0
  205. package/dist/esm/core/schema/mode/interfaces/validators/TypeGuards.js.map +1 -0
  206. package/dist/esm/core/schema/mode/interfaces/validators/TypeValidators.js +427 -0
  207. package/dist/esm/core/schema/mode/interfaces/validators/TypeValidators.js.map +1 -0
  208. package/dist/esm/core/schema/mode/interfaces/validators/UnionCache.js +400 -0
  209. package/dist/esm/core/schema/mode/interfaces/validators/UnionCache.js.map +1 -0
  210. package/dist/esm/core/schema/mode/interfaces/validators/ValidationHelpers.js +849 -0
  211. package/dist/esm/core/schema/mode/interfaces/validators/ValidationHelpers.js.map +1 -0
  212. package/dist/esm/core/schema/mode/interfaces/validators/mods/passValidator.js +260 -0
  213. package/dist/esm/core/schema/mode/interfaces/validators/mods/passValidator.js.map +1 -0
  214. package/dist/esm/core/schema/mode/interfaces/validators/mods/securityValidator.js +881 -0
  215. package/dist/esm/core/schema/mode/interfaces/validators/mods/securityValidator.js.map +1 -0
  216. package/dist/esm/core/schema/mode/interfaces/validators/mods/urlValidation.js +189 -0
  217. package/dist/esm/core/schema/mode/interfaces/validators/mods/urlValidation.js.map +1 -0
  218. package/dist/esm/core/schema/optimization/ObjectValidationCache.js +460 -0
  219. package/dist/esm/core/schema/optimization/ObjectValidationCache.js.map +1 -0
  220. package/dist/esm/core/schema/optimization/PerformanceMonitor.js +771 -0
  221. package/dist/esm/core/schema/optimization/PerformanceMonitor.js.map +1 -0
  222. package/dist/esm/core/schema/optimization/SchemaCompiler.js +598 -0
  223. package/dist/esm/core/schema/optimization/SchemaCompiler.js.map +1 -0
  224. package/dist/esm/core/types/ValidatorTypes.js +65 -0
  225. package/dist/esm/core/types/ValidatorTypes.js.map +1 -0
  226. package/dist/esm/core/types/parser.type.js +12 -0
  227. package/dist/esm/core/types/parser.type.js.map +1 -0
  228. package/dist/esm/core/utils/Make.js +59 -0
  229. package/dist/esm/core/utils/Make.js.map +1 -0
  230. package/dist/esm/core/utils/Mod.js +1031 -0
  231. package/dist/esm/core/utils/Mod.js.map +1 -0
  232. package/dist/esm/core/utils/UrlArgs.js +98 -0
  233. package/dist/esm/core/utils/UrlArgs.js.map +1 -0
  234. package/dist/esm/core/utils/arrayToEnum.js +16 -0
  235. package/dist/esm/core/utils/arrayToEnum.js.map +1 -0
  236. package/dist/esm/core/utils/createUrlArgsEnumFArray.js +11 -0
  237. package/dist/esm/core/utils/createUrlArgsEnumFArray.js.map +1 -0
  238. package/dist/esm/core/utils/securityHelpers.js +207 -0
  239. package/dist/esm/core/utils/securityHelpers.js.map +1 -0
  240. package/dist/esm/core/utils/securityValidatorHelpers.js +62 -0
  241. package/dist/esm/core/utils/securityValidatorHelpers.js.map +1 -0
  242. package/dist/esm/index.js +12 -0
  243. package/dist/esm/index.js.map +1 -0
  244. package/dist/esm/package.json +3 -0
  245. package/dist/schema.d.ts +2595 -0
  246. package/docs/ALL_TYPES.md +120 -0
  247. package/docs/API-STABILITY.md +336 -0
  248. package/docs/CONDITIONAL-VALIDATION.md +637 -0
  249. package/docs/EXAMPLES.md +876 -0
  250. package/docs/FIELD-TYPES.md +829 -0
  251. package/docs/GETTING-STARTED.md +394 -0
  252. package/docs/LIVE-UTILITY.md +1137 -0
  253. package/docs/QUICK-REFERENCE.md +346 -0
  254. package/docs/README.md +205 -0
  255. package/docs/VSCODE-EXTENSION.md +458 -0
  256. package/package.json +219 -0
  257. package/src/bench/BENCHMARK-RESULTS.md +211 -0
  258. package/src/bench/benchmark-results.json +148 -0
  259. package/src/bench/performance-comparison.ts +218 -0
  260. package/src/bench/precompilation-benchmark.ts +218 -0
  261. package/src/constants/SECURITY_CONSTANTS.ts +44 -0
  262. package/src/constants/VALIDATION_CONSTANTS.ts +176 -0
  263. package/src/core/README.md +395 -0
  264. package/src/core/compiler/SchemaTransformer.ts +279 -0
  265. package/src/core/compiler/TypeAnalyzer.ts +378 -0
  266. package/src/core/compiler/TypeScriptCompilerIntegration.ts +220 -0
  267. package/src/core/compiler/TypeToSchemaConverter.ts +288 -0
  268. package/src/core/index.ts +70 -0
  269. package/src/core/schema/extensions/AutoDocumentation.ts +572 -0
  270. package/src/core/schema/extensions/ConditionalValidation.ts +330 -0
  271. package/src/core/schema/extensions/README.md +171 -0
  272. package/src/core/schema/extensions/RealtimeValidation.ts +656 -0
  273. package/src/core/schema/extensions/SmartInference.ts +224 -0
  274. package/src/core/schema/extensions/components/AutoDocumentation/Docs.ts +98 -0
  275. package/src/core/schema/extensions/components/AutoDocumentation/DocumentationGenerator.ts +201 -0
  276. package/src/core/schema/extensions/components/AutoDocumentation/InteractiveDocumentationGenerator.ts +176 -0
  277. package/src/core/schema/extensions/components/AutoDocumentation/OpenAPIGenerator.ts +175 -0
  278. package/src/core/schema/extensions/components/AutoDocumentation/SchemaAnalyzer.ts +49 -0
  279. package/src/core/schema/extensions/components/AutoDocumentation/TypeScriptGenerator.ts +54 -0
  280. package/src/core/schema/extensions/components/AutoDocumentation/index.ts +17 -0
  281. package/src/core/schema/extensions/components/ConditionalValidation/ConditionalBuilder.ts +101 -0
  282. package/src/core/schema/extensions/components/ConditionalValidation/ConditionalElse.ts +65 -0
  283. package/src/core/schema/extensions/components/ConditionalValidation/ConditionalThen.ts +33 -0
  284. package/src/core/schema/extensions/components/ConditionalValidation/Extend.ts +75 -0
  285. package/src/core/schema/extensions/components/ConditionalValidation/MultiConditionalBuilder.ts +16 -0
  286. package/src/core/schema/extensions/components/ConditionalValidation/MultiConditionalThen.ts +50 -0
  287. package/src/core/schema/extensions/components/ConditionalValidation/index.ts +104 -0
  288. package/src/core/schema/extensions/components/RealtimeValidation/FormValidator.ts +88 -0
  289. package/src/core/schema/extensions/components/RealtimeValidation/LiveValidator.ts +171 -0
  290. package/src/core/schema/extensions/components/RealtimeValidation/StreamValidator.ts +397 -0
  291. package/src/core/schema/extensions/components/RealtimeValidation/index.ts +114 -0
  292. package/src/core/schema/extensions/index.ts +76 -0
  293. package/src/core/schema/extensions/mods/index.ts +131 -0
  294. package/src/core/schema/extensions/mods/openapi-converter.ts +338 -0
  295. package/src/core/schema/extensions/mods/typescript-generator.ts +379 -0
  296. package/src/core/schema/extensions/mods/validation-engine.ts +295 -0
  297. package/src/core/schema/mode/interfaces/Interface.ts +364 -0
  298. package/src/core/schema/mode/interfaces/InterfaceSchema.ts +1838 -0
  299. package/src/core/schema/mode/interfaces/README.md +278 -0
  300. package/src/core/schema/mode/interfaces/conditional/evaluator/ConditionalEvaluator.ts +657 -0
  301. package/src/core/schema/mode/interfaces/conditional/parser/ConditionalAST.ts +826 -0
  302. package/src/core/schema/mode/interfaces/conditional/parser/ConditionalLexer.ts +992 -0
  303. package/src/core/schema/mode/interfaces/conditional/parser/ConditionalParser.ts +803 -0
  304. package/src/core/schema/mode/interfaces/conditional/parser/readme.md +406 -0
  305. package/src/core/schema/mode/interfaces/conditional/types/ConditionalTypes.ts +273 -0
  306. package/src/core/schema/mode/interfaces/errors/ErrorHandler.ts +624 -0
  307. package/src/core/schema/mode/interfaces/errors/types/errors.type.ts +102 -0
  308. package/src/core/schema/mode/interfaces/precompilation/FieldPrecompilers.ts +962 -0
  309. package/src/core/schema/mode/interfaces/precompilation/SchemaPrecompiler.ts +667 -0
  310. package/src/core/schema/mode/interfaces/typescript/ConditionalTypes.ts +1534 -0
  311. package/src/core/schema/mode/interfaces/typescript/IDESupport.ts +534 -0
  312. package/src/core/schema/mode/interfaces/typescript/TypeInference.ts +737 -0
  313. package/src/core/schema/mode/interfaces/typescript/index.ts +92 -0
  314. package/src/core/schema/mode/interfaces/validators/ConstraintParser.ts +1438 -0
  315. package/src/core/schema/mode/interfaces/validators/EnhancedErrorReporting.ts +227 -0
  316. package/src/core/schema/mode/interfaces/validators/TypeGuards.ts +288 -0
  317. package/src/core/schema/mode/interfaces/validators/TypeValidators.ts +660 -0
  318. package/src/core/schema/mode/interfaces/validators/UnionCache.ts +508 -0
  319. package/src/core/schema/mode/interfaces/validators/ValidationHelpers.ts +1257 -0
  320. package/src/core/schema/mode/interfaces/validators/index.ts +21 -0
  321. package/src/core/schema/mode/interfaces/validators/mods/passValidator.ts +424 -0
  322. package/src/core/schema/mode/interfaces/validators/mods/securityValidator.ts +1634 -0
  323. package/src/core/schema/mode/interfaces/validators/mods/urlValidation.ts +333 -0
  324. package/src/core/schema/optimization/ObjectValidationCache.ts +560 -0
  325. package/src/core/schema/optimization/PerformanceInitializer.ts +188 -0
  326. package/src/core/schema/optimization/PerformanceMonitor.ts +898 -0
  327. package/src/core/schema/optimization/SchemaCompiler.ts +730 -0
  328. package/src/core/testing/TestDataGenerator.ts +590 -0
  329. package/src/core/types/SchemaValidator.type.ts +210 -0
  330. package/src/core/types/ValidatorTypes.ts +93 -0
  331. package/src/core/types/extension.type.ts +109 -0
  332. package/src/core/types/objValidationCache.ts +17 -0
  333. package/src/core/types/parser.type.ts +15 -0
  334. package/src/core/types/perfoMonitor.ts +37 -0
  335. package/src/core/types/scompiler.ts +22 -0
  336. package/src/core/types/securityValidator.type.ts +10 -0
  337. package/src/core/types/types.ts +154 -0
  338. package/src/core/utils/Make.ts +97 -0
  339. package/src/core/utils/Mod.ts +1168 -0
  340. package/src/core/utils/UrlArgs.ts +124 -0
  341. package/src/core/utils/arrayToEnum.ts +89 -0
  342. package/src/core/utils/createUrlArgsEnumFArray.ts +11 -0
  343. package/src/core/utils/securityHelpers.ts +341 -0
  344. package/src/core/utils/securityValidatorHelpers.ts +76 -0
  345. package/src/index.ts +124 -0
@@ -0,0 +1,397 @@
1
+ import { ValidationStats } from "../../../../types/extension.type";
2
+ import { SchemaInterface } from "../../../../types/SchemaValidator.type";
3
+ import { ValidationEngine } from "../../mods";
4
+
5
+ /**
6
+ * Enhanced Stream Validator with full EventEmitter-like interface
7
+ * Supports all standard stream methods (.on, .emit, .pipe, etc.)
8
+ * Synchronized with InterfaceSchema modules
9
+ */
10
+ export class StreamValidator {
11
+ private validListeners: Array<(data: any) => void> = [];
12
+ private invalidListeners: Array<
13
+ (data: any, errors: Record<string, string[]>) => void
14
+ > = [];
15
+ private statsListeners: Array<(stats: ValidationStats) => void> = [];
16
+
17
+ // Enhanced event system
18
+ private eventListeners: Map<string, Array<(...args: any[]) => void>> =
19
+ new Map();
20
+ private onceListeners: Map<string, Array<(...args: any[]) => void>> =
21
+ new Map();
22
+
23
+ // Stream control
24
+ private isPaused: boolean = false;
25
+ private isDestroyed: boolean = false;
26
+ private dataQueue: any[] = [];
27
+
28
+ // Data transformation pipeline
29
+ private transformers: Array<(data: any) => any> = [];
30
+ private filters: Array<(data: any) => boolean> = [];
31
+ private mappers: Array<(data: any) => any> = [];
32
+
33
+ private stats: ValidationStats = {
34
+ totalValidated: 0,
35
+ validCount: 0,
36
+ invalidCount: 0,
37
+ errorRate: 0,
38
+ startTime: new Date(),
39
+ };
40
+
41
+ constructor(private schema: SchemaInterface) {}
42
+
43
+ // =================================================================
44
+ // CORE EVENT EMITTER METHODS
45
+ // =================================================================
46
+
47
+ /**
48
+ * Generic event listener (EventEmitter-like interface)
49
+ */
50
+ on(event: string, listener: (...args: any[]) => void): this {
51
+ if (this.isDestroyed) throw new Error("StreamValidator is destroyed");
52
+
53
+ if (!this.eventListeners.has(event)) {
54
+ this.eventListeners.set(event, []);
55
+ }
56
+ this.eventListeners.get(event)!.push(listener);
57
+ return this;
58
+ }
59
+
60
+ /**
61
+ * One-time event listener
62
+ */
63
+ once(event: string, listener: (...args: any[]) => void): this {
64
+ if (this.isDestroyed) throw new Error("StreamValidator is destroyed");
65
+
66
+ if (!this.onceListeners.has(event)) {
67
+ this.onceListeners.set(event, []);
68
+ }
69
+ this.onceListeners.get(event)!.push(listener);
70
+ return this;
71
+ }
72
+
73
+ /**
74
+ * Remove event listener
75
+ */
76
+ off(event: string, listener?: (...args: any[]) => void): this {
77
+ if (listener) {
78
+ // Remove specific listener
79
+ const listeners = this.eventListeners.get(event);
80
+ if (listeners) {
81
+ const index = listeners.indexOf(listener);
82
+ if (index > -1) listeners.splice(index, 1);
83
+ }
84
+
85
+ const onceListeners = this.onceListeners.get(event);
86
+ if (onceListeners) {
87
+ const index = onceListeners.indexOf(listener);
88
+ if (index > -1) onceListeners.splice(index, 1);
89
+ }
90
+ } else {
91
+ // Remove all listeners for event
92
+ this.eventListeners.delete(event);
93
+ this.onceListeners.delete(event);
94
+ }
95
+ return this;
96
+ }
97
+
98
+ /**
99
+ * Emit event to all listeners
100
+ */
101
+ emit(event: string, ...args: any[]): boolean {
102
+ if (this.isDestroyed) return false;
103
+
104
+ let hasListeners = false;
105
+
106
+ // Regular listeners
107
+ const listeners = this.eventListeners.get(event);
108
+ if (listeners && listeners.length > 0) {
109
+ hasListeners = true;
110
+ listeners.forEach((listener) => {
111
+ try {
112
+ listener(...args);
113
+ } catch (error) {
114
+ this.emit("error", error);
115
+ }
116
+ });
117
+ }
118
+
119
+ // Once listeners
120
+ const onceListeners = this.onceListeners.get(event);
121
+ if (onceListeners && onceListeners.length > 0) {
122
+ hasListeners = true;
123
+ onceListeners.forEach((listener) => {
124
+ try {
125
+ listener(...args);
126
+ } catch (error) {
127
+ this.emit("error", error);
128
+ }
129
+ });
130
+ this.onceListeners.delete(event); // Clear once listeners
131
+ }
132
+
133
+ return hasListeners;
134
+ }
135
+
136
+ // =================================================================
137
+ // ENHANCED VALIDATION WITH STREAM CONTROL
138
+ // =================================================================
139
+
140
+ /**
141
+ * Enhanced validate method with stream control and InterfaceSchema sync
142
+ */
143
+ validate(data: any): void {
144
+ if (this.isDestroyed) {
145
+ this.emit("error", new Error("Cannot validate on destroyed stream"));
146
+ return;
147
+ }
148
+
149
+ if (this.isPaused) {
150
+ this.dataQueue.push(data);
151
+ this.emit("queued", data);
152
+ return;
153
+ }
154
+
155
+ this._processData(data);
156
+ }
157
+
158
+ private _processData(data: any): void {
159
+ this.stats.totalValidated++;
160
+ this.emit("data", data);
161
+
162
+ try {
163
+ // Apply data transformation pipeline
164
+ let processedData = this._applyTransformations(data);
165
+
166
+ // Apply filters
167
+ if (!this._passesFilters(processedData)) {
168
+ this.emit("filtered", processedData);
169
+ return;
170
+ }
171
+
172
+ // FIXED: Use InterfaceSchema.safeParse for proper validation sync
173
+ let validationResult;
174
+ if (typeof this.schema.safeParse === "function") {
175
+ // Use InterfaceSchema validation
176
+ const result = this.schema.safeParse(processedData);
177
+ validationResult = {
178
+ isValid: result.success,
179
+ errors: result.success ? {} : this._formatErrors(result.errors),
180
+ };
181
+ } else {
182
+ // Fallback to ValidationEngine
183
+ validationResult = ValidationEngine.validateObject(
184
+ this.schema,
185
+ processedData
186
+ );
187
+ }
188
+
189
+ if (validationResult.isValid) {
190
+ this.stats.validCount++;
191
+ this.validListeners.forEach((listener) => listener(processedData));
192
+ this.emit("valid", processedData);
193
+ } else {
194
+ this.stats.invalidCount++;
195
+ this.invalidListeners.forEach((listener) =>
196
+ listener(processedData, validationResult.errors)
197
+ );
198
+ this.emit("invalid", processedData, validationResult.errors);
199
+ }
200
+
201
+ this.updateStats();
202
+ this.emit("validated", processedData, validationResult);
203
+ } catch (error) {
204
+ this.emit("error", error);
205
+ }
206
+ }
207
+
208
+ private _formatErrors(errors: any[]): Record<string, string[]> {
209
+ const formatted: Record<string, string[]> = {};
210
+ errors.forEach((error) => {
211
+ const field = error.path || "unknown";
212
+ if (!formatted[field]) formatted[field] = [];
213
+ formatted[field].push(error.message || error.toString());
214
+ });
215
+ return formatted;
216
+ }
217
+
218
+ private _applyTransformations(data: any): any {
219
+ let result = data;
220
+ for (const transformer of this.transformers) {
221
+ result = transformer(result);
222
+ }
223
+ for (const mapper of this.mappers) {
224
+ result = mapper(result);
225
+ }
226
+ return result;
227
+ }
228
+
229
+ private _passesFilters(data: any): boolean {
230
+ return this.filters.every((filter) => filter(data));
231
+ }
232
+
233
+ /**
234
+ * Listen for valid data
235
+ */
236
+ onValid(listener: (data: any) => void): void {
237
+ this.validListeners.push(listener);
238
+ }
239
+
240
+ /**
241
+ * Listen for invalid data
242
+ */
243
+ onInvalid(
244
+ listener: (data: any, errors: Record<string, string[]>) => void
245
+ ): void {
246
+ this.invalidListeners.push(listener);
247
+ }
248
+
249
+ /**
250
+ * Listen for validation statistics
251
+ */
252
+ onStats(listener: (stats: ValidationStats) => void): void {
253
+ this.statsListeners.push(listener);
254
+ }
255
+
256
+ /**
257
+ * Get current validation statistics
258
+ */
259
+ getStats(): ValidationStats {
260
+ return { ...this.stats };
261
+ }
262
+
263
+ private updateStats(): void {
264
+ this.stats.errorRate =
265
+ this.stats.totalValidated > 0
266
+ ? this.stats.invalidCount / this.stats.totalValidated
267
+ : 0;
268
+
269
+ this.statsListeners.forEach((listener) => listener(this.stats));
270
+ }
271
+
272
+ // =================================================================
273
+ // DATA TRANSFORMATION METHODS
274
+ // =================================================================
275
+
276
+ /**
277
+ * Add data transformer to pipeline
278
+ */
279
+ transform(transformer: (data: any) => any): this {
280
+ if (this.isDestroyed) throw new Error("StreamValidator is destroyed");
281
+ this.transformers.push(transformer);
282
+ return this;
283
+ }
284
+
285
+ /**
286
+ * Add data filter to pipeline
287
+ */
288
+ filter(predicate: (data: any) => boolean): this {
289
+ if (this.isDestroyed) throw new Error("StreamValidator is destroyed");
290
+ this.filters.push(predicate);
291
+ return this;
292
+ }
293
+
294
+ /**
295
+ * Add data mapper to pipeline
296
+ */
297
+ map(mapper: (data: any) => any): this {
298
+ if (this.isDestroyed) throw new Error("StreamValidator is destroyed");
299
+ this.mappers.push(mapper);
300
+ return this;
301
+ }
302
+
303
+ /**
304
+ * Pipe data to another stream validator
305
+ */
306
+ pipe(destination: StreamValidator) {
307
+ if (this.isDestroyed) throw new Error("StreamValidator is destroyed");
308
+
309
+ this.on("valid", (data) => {
310
+ destination.validate(data);
311
+ });
312
+
313
+ this.on("error", (error) => {
314
+ destination.emit("error", error);
315
+ });
316
+
317
+ return destination;
318
+ }
319
+
320
+ // =================================================================
321
+ // STREAM CONTROL METHODS
322
+ // =================================================================
323
+
324
+ /**
325
+ * Pause the stream (queue incoming data)
326
+ */
327
+ pause(): this {
328
+ this.isPaused = true;
329
+ this.emit("pause");
330
+ return this;
331
+ }
332
+
333
+ /**
334
+ * Resume the stream (process queued data)
335
+ */
336
+ resume(): this {
337
+ if (this.isDestroyed) throw new Error("StreamValidator is destroyed");
338
+
339
+ this.isPaused = false;
340
+ this.emit("resume");
341
+
342
+ // Process queued data
343
+ const queuedData = [...this.dataQueue];
344
+ this.dataQueue = [];
345
+
346
+ queuedData.forEach((data) => this._processData(data));
347
+
348
+ return this;
349
+ }
350
+
351
+ /**
352
+ * Destroy the stream (cleanup and prevent further use)
353
+ */
354
+ destroy(): this {
355
+ if (this.isDestroyed) return this;
356
+
357
+ this.isDestroyed = true;
358
+ this.isPaused = false;
359
+
360
+ // Clear all data
361
+ this.dataQueue = [];
362
+ this.transformers = [];
363
+ this.filters = [];
364
+ this.mappers = [];
365
+
366
+ // Clear all listeners
367
+ this.validListeners = [];
368
+ this.invalidListeners = [];
369
+ this.statsListeners = [];
370
+ this.eventListeners.clear();
371
+ this.onceListeners.clear();
372
+
373
+ this.emit("destroy");
374
+ return this;
375
+ }
376
+
377
+ /**
378
+ * Check if stream is destroyed
379
+ */
380
+ get destroyed(): boolean {
381
+ return this.isDestroyed;
382
+ }
383
+
384
+ /**
385
+ * Check if stream is paused
386
+ */
387
+ get paused(): boolean {
388
+ return this.isPaused;
389
+ }
390
+
391
+ /**
392
+ * Get queue length
393
+ */
394
+ get queueLength(): number {
395
+ return this.dataQueue.length;
396
+ }
397
+ }
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Real-time Validation - live validation system
3
+ *
4
+ * This module provides real-time validation with reactive updates,
5
+ * perfect for forms and live data validation.
6
+ *
7
+ * Uses modular validation engine for consistent validation logic.
8
+ */
9
+
10
+ import { SchemaInterface } from "../../../mode/interfaces/Interface";
11
+ import {
12
+ ValidationEngine,
13
+ ValidationResult as EngineValidationResult,
14
+ } from "../../mods/validation-engine";
15
+ import { FormValidator } from "./FormValidator";
16
+ import { LiveValidator } from "./LiveValidator";
17
+ import { StreamValidator } from "./StreamValidator";
18
+
19
+ /**
20
+ * Real-time validation utilities
21
+ */
22
+ export const Live = {
23
+ /**
24
+ * Create a reactive validator that validates in real-time
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * const UserSchema = Interface({
29
+ * email: "email",
30
+ * username: "string(3,20)",
31
+ * password: "string(8,)"
32
+ * });
33
+ *
34
+ * const liveValidator = Live.validator(UserSchema);
35
+ *
36
+ * // Listen for validation changes
37
+ * liveValidator.onValidation((result) => {
38
+ * console.log('Validation result:', result);
39
+ * updateUI(result);
40
+ * });
41
+ *
42
+ * // Validate field by field
43
+ * liveValidator.validateField('email', 'user@example.com');
44
+ * liveValidator.validateField('username', 'johndoe');
45
+ *
46
+ * // Get current state
47
+ * console.log(liveValidator.isValid); // true/false
48
+ * console.log(liveValidator.errors); // Current errors
49
+ * ```
50
+ */
51
+ validator(schema: SchemaInterface): LiveValidator {
52
+ return new LiveValidator(schema);
53
+ },
54
+
55
+ /**
56
+ * Create a form validator with field-level validation
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * const formValidator = Live.form(UserSchema);
61
+ *
62
+ * // Bind to form fields
63
+ * formValidator.bindField('email', emailInput);
64
+ * formValidator.bindField('username', usernameInput);
65
+ *
66
+ * // Auto-validation on input
67
+ * formValidator.enableAutoValidation();
68
+ *
69
+ * // Submit validation
70
+ * formValidator.onSubmit((isValid, data, errors) => {
71
+ * if (isValid) {
72
+ * submitForm(data);
73
+ * } else {
74
+ * showErrors(errors);
75
+ * }
76
+ * });
77
+ * ```
78
+ */
79
+ form(schema: SchemaInterface): FormValidator {
80
+ return new FormValidator(schema);
81
+ },
82
+
83
+ /**
84
+ * Create a stream validator for continuous data validation
85
+ *
86
+ * @example
87
+ * ```typescript
88
+ * const streamValidator = Live.stream(DataSchema);
89
+ *
90
+ * // Validate streaming data
91
+ * dataStream.subscribe((data) => {
92
+ * streamValidator.validate(data);
93
+ * });
94
+ *
95
+ * // Handle validation results
96
+ * streamValidator.onValid((data) => {
97
+ * processValidData(data);
98
+ * });
99
+ *
100
+ * streamValidator.onInvalid((data, errors) => {
101
+ * logInvalidData(data, errors);
102
+ * });
103
+ * ```
104
+ */
105
+ stream(schema: SchemaInterface): StreamValidator {
106
+ return new StreamValidator(schema);
107
+ },
108
+ };
109
+
110
+ /**
111
+ * Export all utilities
112
+ */
113
+ export { LiveValidator, FormValidator, StreamValidator };
114
+ export default Live;
@@ -0,0 +1,76 @@
1
+ /**
2
+ * ReliantType Extensions - Advanced Features
3
+ *
4
+ * This module exports all advanced extensions that make ReliantType
5
+ * a powerful schema validation library.
6
+ *
7
+ * Features real, functional implementations without placeholders.
8
+ */
9
+
10
+ import Docs from './components/AutoDocumentation';
11
+ import When from './components/ConditionalValidation';
12
+ import Live from './components/RealtimeValidation';
13
+ import Smart from './SmartInference';
14
+
15
+ // Import specialized utilities
16
+ import { ValidationEngine } from './mods/validation-engine';
17
+ import { OpenAPIConverter } from './mods/openapi-converter';
18
+ import { TypeScriptGenerator } from './mods/typescript-generator';
19
+
20
+ // Smart Inference - Automatic schema generation
21
+ export { Smart } from './SmartInference';
22
+
23
+ // Conditional Validation - Dependent field validation
24
+ export { When, Extend } from './components/ConditionalValidation';
25
+
26
+ // Real-time Validation - Live validation system (DOM features disabled for Node.js compatibility)
27
+ export { Live, LiveValidator, StreamValidator } from './components/RealtimeValidation';
28
+
29
+ // Auto Documentation - Automatic documentation generation
30
+ export { Docs, DocumentationGenerator, SchemaAnalyzer, TypeScriptGenerator } from './components/AutoDocumentation';
31
+
32
+ /**
33
+ * Extensions Bundle
34
+ *
35
+ * All extensions in one convenient object for easy access
36
+ */
37
+ export const Extensions = {
38
+ Smart: { fromSample: Smart.fromSample, fromJsonSchema: Smart.fromJsonSchema, fromType: Smart.fromType },
39
+ When: { field: When.field, custom: When.custom },
40
+ Live: { validator: Live.validator, stream: Live.stream },
41
+ Docs: { generate: Docs.generate, typescript: Docs.typescript, openapi: Docs.openapi },
42
+
43
+ // Advanced utilities for specialized use cases
44
+ Utils: {
45
+ ValidationEngine,
46
+ OpenAPIConverter,
47
+ TypeScriptGenerator
48
+ }
49
+ };
50
+
51
+ /**
52
+ * Quick access to most commonly used extensions
53
+ */
54
+ export const Quick = {
55
+ // Smart inference shortcuts
56
+ fromSample: Smart.fromSample,
57
+ fromJsonSchema: Smart.fromJsonSchema,
58
+
59
+ // Conditional validation shortcuts
60
+ when: When.field,
61
+
62
+ // Real-time validation shortcuts
63
+ live: Live.validator,
64
+ stream: Live.stream,
65
+
66
+ // Documentation shortcuts
67
+ docs: Docs.generate,
68
+ typescript: Docs.typescript,
69
+ openapi: Docs.openapi
70
+ };
71
+
72
+
73
+ /**
74
+ * Default export - Extensions bundle
75
+ */
76
+ export default Extensions;
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Extensions Index - Centralized exports for all extension modules
3
+ *
4
+ * This module provides a clean, organized way to access all extension
5
+ * functionality through specialized modules.
6
+ */
7
+
8
+ import { OpenAPIConverter } from "./openapi-converter";
9
+ import { TypeScriptGenerator } from "./typescript-generator";
10
+ import { ValidationEngine } from "./validation-engine";
11
+
12
+ // Core validation engine
13
+ export { ValidationEngine } from "./validation-engine";
14
+ export type {
15
+ ValidationFieldResult,
16
+ ValidationResult
17
+ } from "./validation-engine";
18
+
19
+ // OpenAPI converter
20
+ export { OpenAPIConverter } from "./openapi-converter";
21
+ export type {
22
+ OpenAPISchemaObject,
23
+ OpenAPISpecOptions,
24
+ OpenAPISpecification,
25
+ OpenAPIReference,
26
+ RequestBodyOptions,
27
+ OpenAPIRequestBody,
28
+ ResponseOptions,
29
+ OpenAPIResponse
30
+ } from "./openapi-converter";
31
+
32
+ // TypeScript generator
33
+ export { TypeScriptGenerator } from "./typescript-generator";
34
+ export type {
35
+ TypeScriptOptions,
36
+ ModuleOptions
37
+ } from "./typescript-generator";
38
+
39
+ /**
40
+ * Extensions Bundle
41
+ *
42
+ * Provides easy access to all extension functionality
43
+ */
44
+ export const Extensions = {
45
+ /**
46
+ * Validation utilities
47
+ */
48
+ Validation: {
49
+ validateField: ValidationEngine.validateField,
50
+ validateObject: ValidationEngine.validateObject
51
+ },
52
+
53
+ /**
54
+ * OpenAPI utilities
55
+ */
56
+ OpenAPI: {
57
+ convertSchema: OpenAPIConverter.convertSchema,
58
+ generateSpec: OpenAPIConverter.generateOpenAPISpec,
59
+ generateRequestBody: OpenAPIConverter.generateRequestBody,
60
+ generateResponse: OpenAPIConverter.generateResponse,
61
+ generateReference: OpenAPIConverter.generateSchemaReference
62
+ },
63
+
64
+ /**
65
+ * TypeScript utilities
66
+ */
67
+ TypeScript: {
68
+ generateInterface: TypeScriptGenerator.generateInterface,
69
+ generateUtilityTypes: TypeScriptGenerator.generateUtilityTypes,
70
+ generateValidationTypes: TypeScriptGenerator.generateValidationTypes,
71
+ generateModule: TypeScriptGenerator.generateModule,
72
+ generateJSDoc: TypeScriptGenerator.generateJSDoc
73
+ }
74
+ };
75
+
76
+ /**
77
+ * Extension utilities for common use cases
78
+ */
79
+ export const ExtensionUtils = {
80
+ /**
81
+ * Check if extensions are available
82
+ */
83
+ isAvailable(): boolean {
84
+ return true;
85
+ },
86
+
87
+ /**
88
+ * Get list of available extensions
89
+ */
90
+ getAvailableModules(): string[] {
91
+ return ['ValidationEngine', 'OpenAPIConverter', 'TypeScriptGenerator'];
92
+ },
93
+
94
+ /**
95
+ * Get extension version information
96
+ */
97
+ getVersionInfo(): ExtensionVersionInfo {
98
+ return {
99
+ version: '2.0.0',
100
+ architecture: '',
101
+ modules: {
102
+ ValidationEngine: '2.0.0',
103
+ OpenAPIConverter: '2.0.0',
104
+ TypeScriptGenerator: '2.0.0'
105
+ },
106
+ features: [
107
+ ' architecture for better maintainability',
108
+ 'Real validation engine with comprehensive type checking',
109
+ 'Full OpenAPI 3.0 specification generation',
110
+ 'Advanced TypeScript code generation',
111
+ 'Utility type generation',
112
+ 'JSDoc documentation generation'
113
+ ]
114
+ };
115
+ }
116
+ };
117
+
118
+ /**
119
+ * Type definitions
120
+ */
121
+ interface ExtensionVersionInfo {
122
+ version: string;
123
+ architecture: string;
124
+ modules: Record<string, string>;
125
+ features: string[];
126
+ }
127
+
128
+ /**
129
+ * Default export - Extensions bundle
130
+ */
131
+ export default Extensions;