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 @@
1
+ {"version":3,"file":"ConstraintParser.js","sources":["../../../../../../../src/core/schema/mode/interfaces/validators/ConstraintParser.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,254 @@
1
+ /**
2
+ * Type Guards Module
3
+ *
4
+ * Contains all type guard functions extracted from InterfaceSchema
5
+ * to improve maintainability and reduce file size.
6
+ */
7
+ /**
8
+ * Type guard functions for schema validation
9
+ */
10
+ class TypeGuards {
11
+ /**
12
+ * Check if value is a union value
13
+ */
14
+ static isUnionValue(value) {
15
+ return (typeof value === "object" &&
16
+ value !== null &&
17
+ !Array.isArray(value) &&
18
+ "union" in value &&
19
+ Array.isArray(value.union));
20
+ }
21
+ /**
22
+ * Check if value is a constant value
23
+ */
24
+ static isConstantValue(value) {
25
+ return (typeof value === "object" &&
26
+ value !== null &&
27
+ !Array.isArray(value) &&
28
+ "const" in value);
29
+ }
30
+ /**
31
+ * Check if value is an optional schema interface
32
+ */
33
+ static isOptionalSchemaInterface(value) {
34
+ return (typeof value === "object" &&
35
+ value !== null &&
36
+ !Array.isArray(value) &&
37
+ "optional" in value &&
38
+ value.optional === true &&
39
+ "schema" in value);
40
+ }
41
+ /**
42
+ * Check if value is a conditional validation object
43
+ */
44
+ static isConditionalValidation(value) {
45
+ return (typeof value === "object" &&
46
+ value !== null &&
47
+ !Array.isArray(value) &&
48
+ value.__conditional === true &&
49
+ "fieldName" in value &&
50
+ "conditions" in value);
51
+ }
52
+ /**
53
+ * Check if value is a schema interface
54
+ */
55
+ static isSchemaInterface(value) {
56
+ return (typeof value === "object" &&
57
+ value !== null &&
58
+ !Array.isArray(value) &&
59
+ !TypeGuards.isConstantValue(value) &&
60
+ !TypeGuards.isOptionalSchemaInterface(value) &&
61
+ !TypeGuards.isConditionalValidation(value));
62
+ }
63
+ /**
64
+ * Check if value is an array schema (single element array)
65
+ */
66
+ static isArraySchema(value) {
67
+ return Array.isArray(value) && value.length === 1;
68
+ }
69
+ /**
70
+ * Check if field type is a string-based type
71
+ */
72
+ static isStringFieldType(fieldType) {
73
+ return typeof fieldType === "string";
74
+ }
75
+ /**
76
+ * Check if string contains union syntax
77
+ */
78
+ static isUnionType(fieldType) {
79
+ return fieldType.includes("|");
80
+ }
81
+ /**
82
+ * Check if string is a constant type (starts with =)
83
+ */
84
+ static isConstantType(fieldType) {
85
+ return fieldType.startsWith("=");
86
+ }
87
+ /**
88
+ * Check if string is an array type (ends with [])
89
+ */
90
+ static isArrayType(fieldType) {
91
+ // Remove optional marker first
92
+ const type = fieldType.endsWith("?") ? fieldType.slice(0, -1) : fieldType;
93
+ // Remove constraints if present
94
+ const baseType = type.match(/^([a-zA-Z\[\]]+)/)?.[1] || type;
95
+ return baseType.endsWith("[]");
96
+ }
97
+ /**
98
+ * Check if string is an optional type (ends with ?)
99
+ */
100
+ static isOptionalType(fieldType) {
101
+ return fieldType.endsWith("?");
102
+ }
103
+ /**
104
+ * Check if string is a record type
105
+ */
106
+ static isRecordType(fieldType) {
107
+ return fieldType.startsWith("record<") && fieldType.endsWith(">");
108
+ }
109
+ /**
110
+ * Check if string has constraints (contains parentheses)
111
+ */
112
+ static hasConstraints(fieldType) {
113
+ // Remove optional marker
114
+ const type = fieldType.endsWith("?") ? fieldType.slice(0, -1) : fieldType;
115
+ return /^[a-zA-Z\[\]]+\([^)]*\)$/.test(type);
116
+ }
117
+ /**
118
+ * Check if value is a primitive type
119
+ */
120
+ static isPrimitive(value) {
121
+ return (value === null ||
122
+ value === undefined ||
123
+ typeof value === "string" ||
124
+ typeof value === "number" ||
125
+ typeof value === "boolean" ||
126
+ typeof value === "symbol" ||
127
+ typeof value === "bigint");
128
+ }
129
+ /**
130
+ * Check if value is a valid email format
131
+ */
132
+ static isValidEmail(value) {
133
+ return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value);
134
+ }
135
+ /**
136
+ * Check if value is a valid URL format
137
+ */
138
+ static isValidUrl(value) {
139
+ try {
140
+ new URL(value);
141
+ return true;
142
+ }
143
+ catch {
144
+ return false;
145
+ }
146
+ }
147
+ /**
148
+ * Check if value is a valid UUID format
149
+ */
150
+ static isValidUuid(value) {
151
+ return /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(value);
152
+ }
153
+ /**
154
+ * Check if value is a valid phone format
155
+ */
156
+ static isValidPhone(value) {
157
+ const cleanPhone = value.replace(/[\s\-\(\)\.+]/g, "");
158
+ return /^[1-9]\d{6,14}$/.test(cleanPhone);
159
+ }
160
+ /**
161
+ * Check if value is a valid slug format
162
+ */
163
+ static isValidSlug(value) {
164
+ return /^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(value);
165
+ }
166
+ /**
167
+ * Check if value is a valid username format
168
+ */
169
+ static isValidUsername(value) {
170
+ return /^[a-zA-Z0-9_-]{3,20}$/.test(value);
171
+ }
172
+ /**
173
+ * Check if value is empty (for empty/!empty operators)
174
+ */
175
+ static isEmpty(value) {
176
+ if (value === null || value === undefined)
177
+ return true;
178
+ if (typeof value === "string")
179
+ return value.length === 0;
180
+ if (Array.isArray(value))
181
+ return value.length === 0;
182
+ if (typeof value === "object")
183
+ return Object.keys(value).length === 0;
184
+ return false;
185
+ }
186
+ /**
187
+ * Check if value is a valid JSON string
188
+ */
189
+ static isValidJson(value) {
190
+ try {
191
+ JSON.parse(value);
192
+ return true;
193
+ }
194
+ catch {
195
+ return false;
196
+ }
197
+ }
198
+ /**
199
+ * Check if value is a valid date
200
+ */
201
+ static isValidDate(value) {
202
+ if (value instanceof Date) {
203
+ return !isNaN(value.getTime());
204
+ }
205
+ if (typeof value === "string" || typeof value === "number") {
206
+ const date = new Date(value);
207
+ return !isNaN(date.getTime());
208
+ }
209
+ return false;
210
+ }
211
+ /**
212
+ * Check if value is a finite number
213
+ */
214
+ static isFiniteNumber(value) {
215
+ return typeof value === "number" && isFinite(value);
216
+ }
217
+ /**
218
+ * Check if value is an integer
219
+ */
220
+ static isInteger(value) {
221
+ return typeof value === "number" && isFinite(value) && value % 1 === 0;
222
+ }
223
+ /**
224
+ * Check if value is a positive number
225
+ */
226
+ static isPositive(value) {
227
+ return typeof value === "number" && isFinite(value) && value > 0;
228
+ }
229
+ /**
230
+ * Check if value is a negative number
231
+ */
232
+ static isNegative(value) {
233
+ return typeof value === "number" && isFinite(value) && value < 0;
234
+ }
235
+ /**
236
+ * Get the type name of a value for error messages
237
+ */
238
+ static getTypeName(value) {
239
+ if (value === null)
240
+ return "null";
241
+ if (value === undefined)
242
+ return "undefined";
243
+ if (Array.isArray(value))
244
+ return "array";
245
+ if (value instanceof Date)
246
+ return "Date";
247
+ if (value instanceof RegExp)
248
+ return "RegExp";
249
+ return typeof value;
250
+ }
251
+ }
252
+
253
+ export { TypeGuards };
254
+ //# sourceMappingURL=TypeGuards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypeGuards.js","sources":["../../../../../../../src/core/schema/mode/interfaces/validators/TypeGuards.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}