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,346 @@
1
+ # Quick Reference
2
+
3
+ Fast reference guide for ReliantType syntax, types, and patterns.
4
+
5
+ ## 🚀 Basic Usage
6
+
7
+ ```typescript
8
+ import { Interface } from "reliant-type";
9
+
10
+ const Schema = Interface({
11
+ // Your schema definition
12
+ });
13
+
14
+ const result = Schema.safeParse(data);
15
+ if (result.success) {
16
+ // Use result.data (fully typed)
17
+ } else {
18
+ // Handle result.errors
19
+ }
20
+ ```
21
+
22
+ ## 📝 Basic Types
23
+
24
+ | Type | Syntax | Example |
25
+ | ----------- | ----------- | --------------------- |
26
+ | **String** | `"string"` | `name: "string"` |
27
+ | **Number** | `"number"` | `age: "number"` |
28
+ | **Boolean** | `"boolean"` | `active: "boolean"` |
29
+ | **Date** | `"date"` | `createdAt: "date"` |
30
+ | **Any** | `"any"` | `metadata: "any"` |
31
+ | **unknown** | `"unknown"` | `property: "unknown"` |
32
+ | **object** | `"object"` | `data: "object"` |
33
+
34
+ _Note: Bool is an aliax for Boolean_
35
+
36
+ ## 🎯 Constrained Types
37
+
38
+ | Type | Syntax | Example |
39
+ | ----------------- | ------------------- | ---------------------- |
40
+ | **String Length** | `"string(min,max)"` | `name: "string(2,50)"` |
41
+ | **Number Range** | `"number(min,max)"` | `age: "number(0,120)"` |
42
+ | **Integer** | `"int"` | `count: "int"` |
43
+ | **Positive** | `"positive"` | `id: "positive"` |
44
+ | **Negative** | `"negative"` | `debt: "negative"` |
45
+ | **double** | `"double"` | `fl: "double"` |
46
+
47
+ ## 📧 Format Types
48
+
49
+ | Type | Syntax | Example |
50
+ | -------------- | ------------ | ---------------------- |
51
+ | **Email** | `"email"` | `email: "email"` |
52
+ | **text** | `"text"` | `description: "text"` |
53
+ | **password** | `"password"` | `userPass: "password"` |
54
+ | **URL** | `"url"` | `website: "url"` |
55
+ | **UUID** | `"uuid"` | `id: "uuid"` |
56
+ | **Phone** | `"phone"` | `mobile: "phone"` |
57
+ | **IP Address** | `"ip"` | `server: "ip"` |
58
+ | **JSON** | `"json"` | `config: "json"` |
59
+ | **Hex Color** | `"hexcolor"` | `color: "hexcolor"` |
60
+ | **Base64** | `"base64"` | `data: "base64"` |
61
+ | **JWT** | `"jwt"` | `token: "jwt"` |
62
+ | **SemVer** | `"semver"` | `version: "semver"` |
63
+ | **slug** | `"slug"` | `test: "semver"` |
64
+
65
+ See [all types](./ALL_TYPES.md)
66
+
67
+ ## 🔥 V2 Conditional Validation
68
+
69
+ ### Basic Syntax
70
+
71
+ ```typescript
72
+ // Basic conditional
73
+ permissions: "when role=admin *? string[] : string[]?";
74
+
75
+ // V2 runtime methods
76
+ hasData: "when config.data.$exists() *? boolean : =false";
77
+ ```
78
+
79
+ ### V2 Runtime Methods
80
+
81
+ | Method | Syntax | Description |
82
+ | ----------------------- | ------------------------------ | --------------------------- |
83
+ | **$exists()** | `property.$exists()` | Check if property exists |
84
+ | **$empty()** | `property.$empty()` | Check if property is empty |
85
+ | **$null()** | `property.$null()` | Check if property is null |
86
+ | **$contains(val)** | `property.$contains(value)` | Check if contains value |
87
+ | **$startsWith(prefix)** | `property.$startsWith(prefix)` | Check if starts with prefix |
88
+ | **$endsWith(suffix)** | `property.$endsWith(suffix)` | Check if ends with suffix |
89
+ | **$between(min,max)** | `property.$between(min,max)` | Check if value in range |
90
+ | **$in(val1,val2,...)** | `property.$in(val1,val2,...)` | Check if value in list |
91
+
92
+ ### V2 Examples
93
+
94
+ ```typescript
95
+ const V2Schema = Interface({
96
+ config: "any?",
97
+ user: "any?",
98
+
99
+ // Property existence
100
+ hasPermissions: "when config.permissions.$exists() *? boolean : =false",
101
+
102
+ // Empty checking
103
+ hasContent: "when user.bio.$empty() *? =no_bio : =has_bio",
104
+
105
+ // String methods
106
+ isImportant: "when user.message.$contains(urgent) *? boolean : =false",
107
+ isSystemUser: "when user.email.$endsWith(@system.com) *? boolean : =false",
108
+
109
+ // Numeric methods
110
+ isAdult: "when user.age.$between(18,65) *? boolean : =false",
111
+ hasElevatedRole: "when user.role.$in(admin,moderator) *? boolean : =false",
112
+
113
+ // Complex defaults
114
+ defaultSettings: 'when config.settings.$exists() *? any : ={"theme":"dark"}',
115
+ defaultTags: 'when config.tags.$exists() *? string[] : =["default"]',
116
+ });
117
+ ```
118
+
119
+ ## 🏗️ Nested Objects
120
+
121
+ ```typescript
122
+ const NestedSchema = Interface({
123
+ user: {
124
+ id: "uuid",
125
+ profile: {
126
+ name: "string",
127
+ contact: {
128
+ email: "email",
129
+ phone: "phone?",
130
+ address: {
131
+ street: "string",
132
+ city: "string",
133
+ country: "string(2,2)"
134
+ }?
135
+ }
136
+ }
137
+ },
138
+
139
+ // Optional nested objects
140
+ settings: {
141
+ theme: "light|dark",
142
+ notifications: {
143
+ email: "boolean",
144
+ push: "boolean"
145
+ }
146
+ }?
147
+ });
148
+ ```
149
+
150
+ ## ⚡ Performance Tips
151
+
152
+ ### Efficient Types
153
+
154
+ ```typescript
155
+ // ✅ Fast - Use specific types
156
+ email: "email";
157
+ id: "uuid";
158
+ age: "int(0,120)";
159
+
160
+ // ❌ Slower - Generic types with validation
161
+ email: "string"; // Then validate in code
162
+ id: "string"; // Then validate format
163
+ age: "number"; // Then check range
164
+ ```
165
+
166
+ ### Efficient Conditionals
167
+
168
+ ```typescript
169
+ // ✅ Fast - Simple existence checks first
170
+ hasFeature: "when config.$exists() && config.features.$exists() *? boolean : =false";
171
+
172
+ // ❌ Slower - Complex operations first
173
+ hasFeature: "when config.features.$contains(advanced) && config.$exists() *? boolean : =false";
174
+ ```
175
+
176
+ ## 🛠️ Common Patterns
177
+
178
+ ### User Schema
179
+
180
+ ```typescript
181
+ const UserSchema = Interface({
182
+ id: "uuid",
183
+ email: "email",
184
+ username: "string(3,20)",
185
+ password: "string(8,)",
186
+ profile: {
187
+ firstName: "string(1,50)",
188
+ lastName: "string(1,50)",
189
+ avatar: "url?",
190
+ bio: "string(,500)?",
191
+ },
192
+ role: "admin|user|moderator",
193
+ isActive: "boolean",
194
+ createdAt: "date",
195
+ lastLogin: "date?",
196
+ });
197
+ ```
198
+
199
+ ### API Response Schema
200
+
201
+ ```typescript
202
+ const APIResponseSchema = Interface({
203
+ status: "success|error|partial",
204
+ statusCode: "int(100,599)",
205
+ message: "string?",
206
+ data: "any?",
207
+ errors: {
208
+ code: "string",
209
+ message: "string",
210
+ field: "string?"
211
+ }[]?,
212
+ meta: {
213
+ timestamp: "date",
214
+ requestId: "uuid",
215
+ version: "string(/^v\\d+\\.\\d+$/)"
216
+ }
217
+ });
218
+ ```
219
+
220
+ ### E-commerce Product Schema
221
+
222
+ ```typescript
223
+ const ProductSchema = Interface({
224
+ id: "uuid",
225
+ sku: "string(/^[A-Z0-9-]{8,20}$/)",
226
+ name: "string(1,200)",
227
+ price: "number(0.01,999999.99)",
228
+ category: "electronics|clothing|books|home",
229
+ inStock: "boolean",
230
+ tags: "string[](0,20)",
231
+ images: {
232
+ primary: "url",
233
+ gallery: "url[](0,10)"
234
+ }?,
235
+ seo: {
236
+ title: "string(,60)?",
237
+ description: "string(,160)?"
238
+ }?
239
+ });
240
+ ```
241
+
242
+ ## 🔧 Validation Methods
243
+
244
+ ### Safe Parsing (Recommended)
245
+
246
+ ```typescript
247
+ const result = Schema.safeParse(data);
248
+
249
+ if (result.success) {
250
+ console.log("Valid:", result.data); // Fully typed
251
+ } else {
252
+ console.log("Errors:", result.errors);
253
+ result.errors.forEach((error) => {
254
+ console.log(`${error.path.join(".")}: ${error.message}`);
255
+ });
256
+ }
257
+ ```
258
+
259
+ ### Direct Parsing
260
+
261
+ ```typescript
262
+ try {
263
+ const validData = Schema.parse(data);
264
+ // Use validData (fully typed)
265
+ } catch (error) {
266
+ console.log("Validation failed:", error.message);
267
+ }
268
+ ```
269
+
270
+ ## 🎨 VS Code Extension
271
+
272
+ ### Trigger Characters
273
+
274
+ - `"` - Type suggestions
275
+ - `:` - Field definitions
276
+ - `|` - Union types
277
+ - `=` - Constants
278
+ - `(` - Constraints
279
+ - `.` - Property access
280
+ - `$` - V2 methods
281
+
282
+ ### Commands
283
+
284
+ - `Ctrl+Shift+V` - Validate Schema
285
+ - `Ctrl+Shift+T` - Apply Color Scheme
286
+ - `F12` - Go to Definition
287
+ - `Ctrl+Space` - Trigger Completion
288
+
289
+ ### Settings
290
+
291
+ ```json
292
+ {
293
+ "fortify.enableDiagnostics": true,
294
+ "fortify.colorScheme": "professional",
295
+ "editor.semanticHighlighting.enabled": true
296
+ }
297
+ ```
298
+
299
+ ## 🚨 Common Mistakes
300
+
301
+ ### ❌ Wrong Constraint Syntax
302
+
303
+ ```typescript
304
+ // Wrong
305
+ name: "string(,)"; // Empty constraint
306
+ age: "number()"; // Empty parentheses
307
+ tags: "string[]("; // Incomplete array constraint
308
+
309
+ // Correct
310
+ name: "string(1,50)"; // Proper min,max
311
+ age: "number(0,120)"; // Proper range
312
+ tags: "string[](1,10)"; // Proper array constraint
313
+ ```
314
+
315
+ ### ❌ Invalid Union Syntax
316
+
317
+ ```typescript
318
+ // Wrong
319
+ status: "active | inactive"; // Spaces around |
320
+ role: "admin,user,guest"; // Commas instead of |
321
+
322
+ // Correct
323
+ status: "active|inactive"; // No spaces
324
+ role: "admin|user|guest"; // Use | separator
325
+ ```
326
+
327
+ ### ❌ Incorrect Optional Syntax
328
+
329
+ ```typescript
330
+ // Wrong
331
+ name: "string | undefined"; // TypeScript syntax
332
+ age: "number | null"; // TypeScript syntax
333
+
334
+ // Correct
335
+ name: "string?"; // Fortify optional syntax
336
+ age: "number?"; // Simple and clean
337
+ ```
338
+
339
+ ## 📚 Quick Links
340
+
341
+ - **[Getting Started](./GETTING-STARTED.md)** - Installation and first steps
342
+ - **[Field Types Reference](./FIELD-TYPES.md)** - Complete type guide
343
+ - **[Conditional Validation](./CONDITIONAL-VALIDATION.md)** - V1 and V2 conditionals
344
+ - **[VS Code Extension](./VSCODE-EXTENSION.md)** - Development tools
345
+ - **[Examples Collection](./EXAMPLES.md)** - Real-world patterns
346
+ - **[API Reference](./API-REFERENCE.md)** - Complete API docs
package/docs/README.md ADDED
@@ -0,0 +1,205 @@
1
+ # ReliantType Documentation
2
+
3
+ Welcome to the comprehensive documentation for ReliantType - the TypeScript-first validation library with interface-native syntax.
4
+
5
+ ## 📚 Documentation Index
6
+
7
+ ### **Getting Started**
8
+
9
+ - **[Installation & Setup](./GETTING-STARTED.md)** - Quick start guide and installation
10
+ - **[Basic Examples](./BASIC-EXAMPLES.md)** - Simple examples to get you started
11
+ - **[Field Types Reference](./FIELD-TYPES.md)** - Complete guide to all available field types
12
+
13
+ ### **Core Features**
14
+
15
+ - **[Conditional Validation Guide](./CONDITIONAL-VALIDATION.md)** - V1 and V2 conditional validation
16
+ - **[Live Utility - Real-time Validation](./LIVE-UTILITY.md)** - EventEmitter interface, stream processing, and form integration
17
+ - **[V2 Migration Guide](./V2-MIGRATION.md)** - Migrating from V1 to V2 syntax
18
+ - **[Advanced Features](./ADVANCED-FEATURES.md)** - Schema transformations and validation modes
19
+
20
+ ### **Tooling & Development**
21
+
22
+ - **[VS Code Extension](./VSCODE-EXTENSION.md)** - Complete extension guide and features
23
+ - **[API Reference](./API-REFERENCE.md)** - Complete API documentation
24
+ - **[Performance Guide](./PERFORMANCE.md)** - Optimization and benchmarking
25
+
26
+ ### **Examples & References**
27
+
28
+ - **[Examples Collection](./EXAMPLES.md)** - Real-world examples and patterns
29
+ - **[Quick Reference](./QUICK-REFERENCE.md)** - Syntax cheat sheet
30
+ - **[Best Practices](./BEST-PRACTICES.md)** - Recommended patterns and practices
31
+
32
+ ### **Production & Enterprise**
33
+
34
+ - **[Production Deployment](./PRODUCTION-DEPLOYMENT.md)** - Production deployment guide
35
+ - **[API Stability](./API-STABILITY.md)** - Production readiness and stability guarantees
36
+ - **[Enterprise Features](./ENTERPRISE.md)** - Enterprise-specific features and support
37
+
38
+ ## 🚀 Quick Navigation
39
+
40
+ ### **New to ReliantType?**
41
+
42
+ 1. Start with **[Getting Started](./GETTING-STARTED.md)**
43
+ 2. Learn the basics with **[Basic Examples](./BASIC-EXAMPLES.md)**
44
+ 3. Explore **[Field Types](./FIELD-TYPES.md)** for validation options
45
+
46
+ ### **Upgrading from V1?**
47
+
48
+ 1. Read the **[V2 Migration Guide](./V2-MIGRATION.md)**
49
+ 2. Learn **[V2 Conditional Validation](./CONDITIONAL-VALIDATION.md)**
50
+ 3. Check **[API Stability](./API-STABILITY.md)** for compatibility
51
+
52
+ ### **Building Production Apps?**
53
+
54
+ 1. Review **[Best Practices](./BEST-PRACTICES.md)**
55
+ 2. Follow **[Production Deployment](./PRODUCTION-DEPLOYMENT.md)**
56
+ 3. Consider **[Enterprise Features](./ENTERPRISE.md)**
57
+
58
+ ### **Need Development Tools?**
59
+
60
+ 1. Install **[VS Code Extension](./VSCODE-EXTENSION.md)**
61
+ 2. Check **[Performance Guide](./PERFORMANCE.md)**
62
+ 3. Use **[Quick Reference](./QUICK-REFERENCE.md)** for syntax
63
+
64
+ ### **Building Real-time Applications?**
65
+
66
+ 1. Learn **[Live Utility](./LIVE-UTILITY.md)** for stream processing
67
+ 2. Implement real-time form validation
68
+ 3. Use EventEmitter interface for reactive validation
69
+
70
+ ## 🎯 Key Concepts
71
+
72
+ ### **Interface-Native Syntax**
73
+
74
+ ReliantType uses TypeScript interface-like syntax for intuitive schema definition:
75
+
76
+ ```typescript
77
+ const UserSchema = Interface({
78
+ id: "uuid",
79
+ email: "email",
80
+ name: "string(2,50)",
81
+ age: "number(18,120)?",
82
+ role: "admin|user|guest",
83
+ });
84
+ ```
85
+
86
+ ### **V2 Conditional Validation**
87
+
88
+ Enhanced runtime property checking with powerful method syntax:
89
+
90
+ ```typescript
91
+ const AdvancedSchema = Interface({
92
+ config: "any?",
93
+
94
+ // V2 Runtime Methods
95
+ hasPermissions: "when config.permissions.$exists() *? boolean : =false",
96
+ isListEmpty: "when config.items.$empty() *? boolean : =true",
97
+ hasAdminRole: "when config.roles.$contains(admin) *? boolean : =false",
98
+ });
99
+ ```
100
+
101
+ ### **Type Safety**
102
+
103
+ Full TypeScript integration with perfect type inference:
104
+
105
+ ```typescript
106
+ const result = UserSchema.safeParse(data);
107
+ if (result.success) {
108
+ // result.data is fully typed!
109
+ console.log(result.data.email); // TypeScript knows this is a string
110
+ }
111
+ ```
112
+
113
+ ## 🔥 What's New in V2
114
+
115
+ ### **Enhanced Runtime Methods**
116
+
117
+ - **8 new runtime methods**: `$exists()`, `$empty()`, `$null()`, `$contains()`, `$startsWith()`, `$endsWith()`, `$between()`, `$in()`
118
+ - **Deep property access**: `user.profile.settings.advanced.$exists()`
119
+ - **Special character support**: `config["admin-override"].$exists()`
120
+ - **Unicode support**: `features.feature_🚀.$exists()`
121
+
122
+ ### **Complex Default Values**
123
+
124
+ - **Object defaults**: `={"theme":"dark","lang":"en"}`
125
+ - **Array defaults**: `=["default","user"]`
126
+ - **Type-safe defaults**: Full TypeScript inference
127
+
128
+ ### **Performance Improvements**
129
+
130
+ - **258,910 ops/sec** for array validation (1.6x faster than Zod)
131
+ - **460,214 ops/sec** for union types
132
+ - **Sub-millisecond validation** for typical schemas
133
+
134
+ ## 🛠️ Development Tools
135
+
136
+ ### **VS Code Extension**
137
+
138
+ Professional development experience with:
139
+
140
+ - **Syntax Highlighting** - Context-aware highlighting
141
+ - **IntelliSense** - Smart autocomplete for all features
142
+ - **Real-time Validation** - Instant error detection
143
+ - **Hover Documentation** - Detailed information on hover
144
+ - **Go-to-Definition** - Navigate to property definitions
145
+
146
+ ### **Performance Monitoring**
147
+
148
+ Built-in performance tracking and optimization:
149
+
150
+ - **Validation metrics** - Track performance in production
151
+ - **Memory monitoring** - Detect memory leaks
152
+ - **Benchmark tools** - Compare with other libraries
153
+
154
+ ## 📖 Learning Path
155
+
156
+ ### **Beginner (0-1 hour)**
157
+
158
+ 1. **[Getting Started](./GETTING-STARTED.md)** - Installation and first schema
159
+ 2. **[Basic Examples](./BASIC-EXAMPLES.md)** - Simple validation patterns
160
+ 3. **[Field Types](./FIELD-TYPES.md)** - Available validation types
161
+
162
+ ### **Intermediate (1-3 hours)**
163
+
164
+ 1. **[Conditional Validation](./CONDITIONAL-VALIDATION.md)** - Business logic validation
165
+ 2. **[Advanced Features](./ADVANCED-FEATURES.md)** - Schema transformations
166
+ 3. **[VS Code Extension](./VSCODE-EXTENSION.md)** - Development tools
167
+
168
+ ### **Advanced (3+ hours)**
169
+
170
+ 1. **[V2 Migration](./V2-MIGRATION.md)** - Upgrading existing schemas
171
+ 2. **[Performance Guide](./PERFORMANCE.md)** - Optimization techniques
172
+ 3. **[Production Deployment](./PRODUCTION-DEPLOYMENT.md)** - Enterprise deployment
173
+
174
+ ## 🤝 Community & Support
175
+
176
+ ### **Getting Help**
177
+
178
+ - **[GitHub Issues](https://github.com/Nehonix-Team/reliant-type/issues)** - Bug reports and feature requests
179
+ - **[GitHub Discussions](https://github.com/Nehonix-Team/reliant-type/discussions)** - Community Q&A
180
+ - **[Examples Collection](./EXAMPLES.md)** - Real-world usage patterns
181
+
182
+ ### **Contributing**
183
+
184
+ - **[Contributing Guide](../CONTRIBUTING.md)** - How to contribute
185
+ - **[Best Practices](./BEST-PRACTICES.md)** - Recommended patterns
186
+ - **[API Reference](./API-REFERENCE.md)** - Complete API documentation
187
+
188
+ ### **Enterprise Support**
189
+
190
+ - **[Enterprise Features](./ENTERPRISE.md)** - Enterprise-specific capabilities
191
+ - **[API Stability](./API-STABILITY.md)** - Production guarantees
192
+ - **Email**: https://github.com/Nehonix-Team/reliant-type/discussions
193
+
194
+ ## 🎉 Ready to Start?
195
+
196
+ Choose your path:
197
+
198
+ **🚀 New Project**: Start with **[Getting Started](./GETTING-STARTED.md)**
199
+ **🔄 Existing Project**: Check **[V2 Migration Guide](./V2-MIGRATION.md)**
200
+ **🏢 Enterprise**: Review **[Production Deployment](./PRODUCTION-DEPLOYMENT.md)**
201
+ **🛠️ Development**: Install **[VS Code Extension](./VSCODE-EXTENSION.md)**
202
+
203
+ ---
204
+
205
+ _Built with precision and care by the Nehonix Team_