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.
- package/LICENSE +21 -0
- package/README.md +1305 -0
- package/dist/cjs/constants/SECURITY_CONSTANTS.js +49 -0
- package/dist/cjs/constants/SECURITY_CONSTANTS.js.map +1 -0
- package/dist/cjs/constants/VALIDATION_CONSTANTS.js +103 -0
- package/dist/cjs/constants/VALIDATION_CONSTANTS.js.map +1 -0
- package/dist/cjs/core/schema/extensions/SmartInference.js +200 -0
- package/dist/cjs/core/schema/extensions/SmartInference.js.map +1 -0
- package/dist/cjs/core/schema/extensions/components/AutoDocumentation/Docs.js +100 -0
- package/dist/cjs/core/schema/extensions/components/AutoDocumentation/Docs.js.map +1 -0
- package/dist/cjs/core/schema/extensions/components/AutoDocumentation/DocumentationGenerator.js +192 -0
- package/dist/cjs/core/schema/extensions/components/AutoDocumentation/DocumentationGenerator.js.map +1 -0
- package/dist/cjs/core/schema/extensions/components/AutoDocumentation/InteractiveDocumentationGenerator.js +174 -0
- package/dist/cjs/core/schema/extensions/components/AutoDocumentation/InteractiveDocumentationGenerator.js.map +1 -0
- package/dist/cjs/core/schema/extensions/components/AutoDocumentation/SchemaAnalyzer.js +54 -0
- package/dist/cjs/core/schema/extensions/components/AutoDocumentation/SchemaAnalyzer.js.map +1 -0
- package/dist/cjs/core/schema/extensions/components/AutoDocumentation/TypeScriptGenerator.js +50 -0
- package/dist/cjs/core/schema/extensions/components/AutoDocumentation/TypeScriptGenerator.js.map +1 -0
- package/dist/cjs/core/schema/extensions/components/AutoDocumentation/index.js +15 -0
- package/dist/cjs/core/schema/extensions/components/AutoDocumentation/index.js.map +1 -0
- package/dist/cjs/core/schema/extensions/components/ConditionalValidation/ConditionalBuilder.js +70 -0
- package/dist/cjs/core/schema/extensions/components/ConditionalValidation/ConditionalBuilder.js.map +1 -0
- package/dist/cjs/core/schema/extensions/components/ConditionalValidation/ConditionalElse.js +40 -0
- package/dist/cjs/core/schema/extensions/components/ConditionalValidation/ConditionalElse.js.map +1 -0
- package/dist/cjs/core/schema/extensions/components/ConditionalValidation/ConditionalThen.js +19 -0
- package/dist/cjs/core/schema/extensions/components/ConditionalValidation/ConditionalThen.js.map +1 -0
- package/dist/cjs/core/schema/extensions/components/ConditionalValidation/MultiConditionalBuilder.js +20 -0
- package/dist/cjs/core/schema/extensions/components/ConditionalValidation/MultiConditionalBuilder.js.map +1 -0
- package/dist/cjs/core/schema/extensions/components/ConditionalValidation/MultiConditionalThen.js +49 -0
- package/dist/cjs/core/schema/extensions/components/ConditionalValidation/MultiConditionalThen.js.map +1 -0
- package/dist/cjs/core/schema/extensions/components/ConditionalValidation/index.js +98 -0
- package/dist/cjs/core/schema/extensions/components/ConditionalValidation/index.js.map +1 -0
- package/dist/cjs/core/schema/extensions/components/RealtimeValidation/FormValidator.js +85 -0
- package/dist/cjs/core/schema/extensions/components/RealtimeValidation/FormValidator.js.map +1 -0
- package/dist/cjs/core/schema/extensions/components/RealtimeValidation/LiveValidator.js +133 -0
- package/dist/cjs/core/schema/extensions/components/RealtimeValidation/LiveValidator.js.map +1 -0
- package/dist/cjs/core/schema/extensions/components/RealtimeValidation/StreamValidator.js +351 -0
- package/dist/cjs/core/schema/extensions/components/RealtimeValidation/StreamValidator.js.map +1 -0
- package/dist/cjs/core/schema/extensions/components/RealtimeValidation/index.js +109 -0
- package/dist/cjs/core/schema/extensions/components/RealtimeValidation/index.js.map +1 -0
- package/dist/cjs/core/schema/extensions/index.js +61 -0
- package/dist/cjs/core/schema/extensions/index.js.map +1 -0
- package/dist/cjs/core/schema/extensions/mods/index.js +51 -0
- package/dist/cjs/core/schema/extensions/mods/index.js.map +1 -0
- package/dist/cjs/core/schema/extensions/mods/openapi-converter.js +227 -0
- package/dist/cjs/core/schema/extensions/mods/openapi-converter.js.map +1 -0
- package/dist/cjs/core/schema/extensions/mods/typescript-generator.js +287 -0
- package/dist/cjs/core/schema/extensions/mods/typescript-generator.js.map +1 -0
- package/dist/cjs/core/schema/extensions/mods/validation-engine.js +224 -0
- package/dist/cjs/core/schema/extensions/mods/validation-engine.js.map +1 -0
- package/dist/cjs/core/schema/mode/interfaces/Interface.js +277 -0
- package/dist/cjs/core/schema/mode/interfaces/Interface.js.map +1 -0
- package/dist/cjs/core/schema/mode/interfaces/InterfaceSchema.js +1431 -0
- package/dist/cjs/core/schema/mode/interfaces/InterfaceSchema.js.map +1 -0
- package/dist/cjs/core/schema/mode/interfaces/conditional/evaluator/ConditionalEvaluator.js +520 -0
- package/dist/cjs/core/schema/mode/interfaces/conditional/evaluator/ConditionalEvaluator.js.map +1 -0
- package/dist/cjs/core/schema/mode/interfaces/conditional/parser/ConditionalAST.js +624 -0
- package/dist/cjs/core/schema/mode/interfaces/conditional/parser/ConditionalAST.js.map +1 -0
- package/dist/cjs/core/schema/mode/interfaces/conditional/parser/ConditionalLexer.js +811 -0
- package/dist/cjs/core/schema/mode/interfaces/conditional/parser/ConditionalLexer.js.map +1 -0
- package/dist/cjs/core/schema/mode/interfaces/conditional/parser/ConditionalParser.js +599 -0
- package/dist/cjs/core/schema/mode/interfaces/conditional/parser/ConditionalParser.js.map +1 -0
- package/dist/cjs/core/schema/mode/interfaces/conditional/types/ConditionalTypes.js +89 -0
- package/dist/cjs/core/schema/mode/interfaces/conditional/types/ConditionalTypes.js.map +1 -0
- package/dist/cjs/core/schema/mode/interfaces/errors/ErrorHandler.js +356 -0
- package/dist/cjs/core/schema/mode/interfaces/errors/ErrorHandler.js.map +1 -0
- package/dist/cjs/core/schema/mode/interfaces/errors/types/errors.type.js +80 -0
- package/dist/cjs/core/schema/mode/interfaces/errors/types/errors.type.js.map +1 -0
- package/dist/cjs/core/schema/mode/interfaces/precompilation/FieldPrecompilers.js +778 -0
- package/dist/cjs/core/schema/mode/interfaces/precompilation/FieldPrecompilers.js.map +1 -0
- package/dist/cjs/core/schema/mode/interfaces/precompilation/SchemaPrecompiler.js +523 -0
- package/dist/cjs/core/schema/mode/interfaces/precompilation/SchemaPrecompiler.js.map +1 -0
- package/dist/cjs/core/schema/mode/interfaces/typescript/ConditionalTypes.js +681 -0
- package/dist/cjs/core/schema/mode/interfaces/typescript/ConditionalTypes.js.map +1 -0
- package/dist/cjs/core/schema/mode/interfaces/typescript/IDESupport.js +430 -0
- package/dist/cjs/core/schema/mode/interfaces/typescript/IDESupport.js.map +1 -0
- package/dist/cjs/core/schema/mode/interfaces/typescript/TypeInference.js +225 -0
- package/dist/cjs/core/schema/mode/interfaces/typescript/TypeInference.js.map +1 -0
- package/dist/cjs/core/schema/mode/interfaces/typescript/index.js +44 -0
- package/dist/cjs/core/schema/mode/interfaces/typescript/index.js.map +1 -0
- package/dist/cjs/core/schema/mode/interfaces/validators/ConstraintParser.js +1134 -0
- package/dist/cjs/core/schema/mode/interfaces/validators/ConstraintParser.js.map +1 -0
- package/dist/cjs/core/schema/mode/interfaces/validators/TypeGuards.js +256 -0
- package/dist/cjs/core/schema/mode/interfaces/validators/TypeGuards.js.map +1 -0
- package/dist/cjs/core/schema/mode/interfaces/validators/TypeValidators.js +429 -0
- package/dist/cjs/core/schema/mode/interfaces/validators/TypeValidators.js.map +1 -0
- package/dist/cjs/core/schema/mode/interfaces/validators/UnionCache.js +404 -0
- package/dist/cjs/core/schema/mode/interfaces/validators/UnionCache.js.map +1 -0
- package/dist/cjs/core/schema/mode/interfaces/validators/ValidationHelpers.js +851 -0
- package/dist/cjs/core/schema/mode/interfaces/validators/ValidationHelpers.js.map +1 -0
- package/dist/cjs/core/schema/mode/interfaces/validators/mods/passValidator.js +262 -0
- package/dist/cjs/core/schema/mode/interfaces/validators/mods/passValidator.js.map +1 -0
- package/dist/cjs/core/schema/mode/interfaces/validators/mods/securityValidator.js +887 -0
- package/dist/cjs/core/schema/mode/interfaces/validators/mods/securityValidator.js.map +1 -0
- package/dist/cjs/core/schema/mode/interfaces/validators/mods/urlValidation.js +191 -0
- package/dist/cjs/core/schema/mode/interfaces/validators/mods/urlValidation.js.map +1 -0
- package/dist/cjs/core/schema/optimization/ObjectValidationCache.js +462 -0
- package/dist/cjs/core/schema/optimization/ObjectValidationCache.js.map +1 -0
- package/dist/cjs/core/schema/optimization/PerformanceMonitor.js +773 -0
- package/dist/cjs/core/schema/optimization/PerformanceMonitor.js.map +1 -0
- package/dist/cjs/core/schema/optimization/SchemaCompiler.js +600 -0
- package/dist/cjs/core/schema/optimization/SchemaCompiler.js.map +1 -0
- package/dist/cjs/core/types/ValidatorTypes.js +70 -0
- package/dist/cjs/core/types/ValidatorTypes.js.map +1 -0
- package/dist/cjs/core/types/parser.type.js +12 -0
- package/dist/cjs/core/types/parser.type.js.map +1 -0
- package/dist/cjs/core/utils/Make.js +61 -0
- package/dist/cjs/core/utils/Make.js.map +1 -0
- package/dist/cjs/core/utils/Mod.js +1033 -0
- package/dist/cjs/core/utils/Mod.js.map +1 -0
- package/dist/cjs/core/utils/UrlArgs.js +102 -0
- package/dist/cjs/core/utils/UrlArgs.js.map +1 -0
- package/dist/cjs/core/utils/arrayToEnum.js +18 -0
- package/dist/cjs/core/utils/arrayToEnum.js.map +1 -0
- package/dist/cjs/core/utils/createUrlArgsEnumFArray.js +13 -0
- package/dist/cjs/core/utils/createUrlArgsEnumFArray.js.map +1 -0
- package/dist/cjs/core/utils/securityHelpers.js +215 -0
- package/dist/cjs/core/utils/securityHelpers.js.map +1 -0
- package/dist/cjs/core/utils/securityValidatorHelpers.js +65 -0
- package/dist/cjs/core/utils/securityValidatorHelpers.js.map +1 -0
- package/dist/cjs/index.js +31 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/esm/constants/SECURITY_CONSTANTS.js +47 -0
- package/dist/esm/constants/SECURITY_CONSTANTS.js.map +1 -0
- package/dist/esm/constants/VALIDATION_CONSTANTS.js +98 -0
- package/dist/esm/constants/VALIDATION_CONSTANTS.js.map +1 -0
- package/dist/esm/core/schema/extensions/SmartInference.js +197 -0
- package/dist/esm/core/schema/extensions/SmartInference.js.map +1 -0
- package/dist/esm/core/schema/extensions/components/AutoDocumentation/Docs.js +98 -0
- package/dist/esm/core/schema/extensions/components/AutoDocumentation/Docs.js.map +1 -0
- package/dist/esm/core/schema/extensions/components/AutoDocumentation/DocumentationGenerator.js +190 -0
- package/dist/esm/core/schema/extensions/components/AutoDocumentation/DocumentationGenerator.js.map +1 -0
- package/dist/esm/core/schema/extensions/components/AutoDocumentation/InteractiveDocumentationGenerator.js +172 -0
- package/dist/esm/core/schema/extensions/components/AutoDocumentation/InteractiveDocumentationGenerator.js.map +1 -0
- package/dist/esm/core/schema/extensions/components/AutoDocumentation/SchemaAnalyzer.js +52 -0
- package/dist/esm/core/schema/extensions/components/AutoDocumentation/SchemaAnalyzer.js.map +1 -0
- package/dist/esm/core/schema/extensions/components/AutoDocumentation/TypeScriptGenerator.js +48 -0
- package/dist/esm/core/schema/extensions/components/AutoDocumentation/TypeScriptGenerator.js.map +1 -0
- package/dist/esm/core/schema/extensions/components/AutoDocumentation/index.js +12 -0
- package/dist/esm/core/schema/extensions/components/AutoDocumentation/index.js.map +1 -0
- package/dist/esm/core/schema/extensions/components/ConditionalValidation/ConditionalBuilder.js +68 -0
- package/dist/esm/core/schema/extensions/components/ConditionalValidation/ConditionalBuilder.js.map +1 -0
- package/dist/esm/core/schema/extensions/components/ConditionalValidation/ConditionalElse.js +38 -0
- package/dist/esm/core/schema/extensions/components/ConditionalValidation/ConditionalElse.js.map +1 -0
- package/dist/esm/core/schema/extensions/components/ConditionalValidation/ConditionalThen.js +17 -0
- package/dist/esm/core/schema/extensions/components/ConditionalValidation/ConditionalThen.js.map +1 -0
- package/dist/esm/core/schema/extensions/components/ConditionalValidation/MultiConditionalBuilder.js +18 -0
- package/dist/esm/core/schema/extensions/components/ConditionalValidation/MultiConditionalBuilder.js.map +1 -0
- package/dist/esm/core/schema/extensions/components/ConditionalValidation/MultiConditionalThen.js +45 -0
- package/dist/esm/core/schema/extensions/components/ConditionalValidation/MultiConditionalThen.js.map +1 -0
- package/dist/esm/core/schema/extensions/components/ConditionalValidation/index.js +92 -0
- package/dist/esm/core/schema/extensions/components/ConditionalValidation/index.js.map +1 -0
- package/dist/esm/core/schema/extensions/components/RealtimeValidation/FormValidator.js +83 -0
- package/dist/esm/core/schema/extensions/components/RealtimeValidation/FormValidator.js.map +1 -0
- package/dist/esm/core/schema/extensions/components/RealtimeValidation/LiveValidator.js +131 -0
- package/dist/esm/core/schema/extensions/components/RealtimeValidation/LiveValidator.js.map +1 -0
- package/dist/esm/core/schema/extensions/components/RealtimeValidation/StreamValidator.js +349 -0
- package/dist/esm/core/schema/extensions/components/RealtimeValidation/StreamValidator.js.map +1 -0
- package/dist/esm/core/schema/extensions/components/RealtimeValidation/index.js +103 -0
- package/dist/esm/core/schema/extensions/components/RealtimeValidation/index.js.map +1 -0
- package/dist/esm/core/schema/extensions/index.js +53 -0
- package/dist/esm/core/schema/extensions/index.js.map +1 -0
- package/dist/esm/core/schema/extensions/mods/index.js +47 -0
- package/dist/esm/core/schema/extensions/mods/index.js.map +1 -0
- package/dist/esm/core/schema/extensions/mods/openapi-converter.js +225 -0
- package/dist/esm/core/schema/extensions/mods/openapi-converter.js.map +1 -0
- package/dist/esm/core/schema/extensions/mods/typescript-generator.js +284 -0
- package/dist/esm/core/schema/extensions/mods/typescript-generator.js.map +1 -0
- package/dist/esm/core/schema/extensions/mods/validation-engine.js +222 -0
- package/dist/esm/core/schema/extensions/mods/validation-engine.js.map +1 -0
- package/dist/esm/core/schema/mode/interfaces/Interface.js +269 -0
- package/dist/esm/core/schema/mode/interfaces/Interface.js.map +1 -0
- package/dist/esm/core/schema/mode/interfaces/InterfaceSchema.js +1429 -0
- package/dist/esm/core/schema/mode/interfaces/InterfaceSchema.js.map +1 -0
- package/dist/esm/core/schema/mode/interfaces/conditional/evaluator/ConditionalEvaluator.js +518 -0
- package/dist/esm/core/schema/mode/interfaces/conditional/evaluator/ConditionalEvaluator.js.map +1 -0
- package/dist/esm/core/schema/mode/interfaces/conditional/parser/ConditionalAST.js +620 -0
- package/dist/esm/core/schema/mode/interfaces/conditional/parser/ConditionalAST.js.map +1 -0
- package/dist/esm/core/schema/mode/interfaces/conditional/parser/ConditionalLexer.js +809 -0
- package/dist/esm/core/schema/mode/interfaces/conditional/parser/ConditionalLexer.js.map +1 -0
- package/dist/esm/core/schema/mode/interfaces/conditional/parser/ConditionalParser.js +597 -0
- package/dist/esm/core/schema/mode/interfaces/conditional/parser/ConditionalParser.js.map +1 -0
- package/dist/esm/core/schema/mode/interfaces/conditional/types/ConditionalTypes.js +89 -0
- package/dist/esm/core/schema/mode/interfaces/conditional/types/ConditionalTypes.js.map +1 -0
- package/dist/esm/core/schema/mode/interfaces/errors/ErrorHandler.js +354 -0
- package/dist/esm/core/schema/mode/interfaces/errors/ErrorHandler.js.map +1 -0
- package/dist/esm/core/schema/mode/interfaces/errors/types/errors.type.js +80 -0
- package/dist/esm/core/schema/mode/interfaces/errors/types/errors.type.js.map +1 -0
- package/dist/esm/core/schema/mode/interfaces/precompilation/FieldPrecompilers.js +776 -0
- package/dist/esm/core/schema/mode/interfaces/precompilation/FieldPrecompilers.js.map +1 -0
- package/dist/esm/core/schema/mode/interfaces/precompilation/SchemaPrecompiler.js +521 -0
- package/dist/esm/core/schema/mode/interfaces/precompilation/SchemaPrecompiler.js.map +1 -0
- package/dist/esm/core/schema/mode/interfaces/typescript/ConditionalTypes.js +681 -0
- package/dist/esm/core/schema/mode/interfaces/typescript/ConditionalTypes.js.map +1 -0
- package/dist/esm/core/schema/mode/interfaces/typescript/IDESupport.js +428 -0
- package/dist/esm/core/schema/mode/interfaces/typescript/IDESupport.js.map +1 -0
- package/dist/esm/core/schema/mode/interfaces/typescript/TypeInference.js +223 -0
- package/dist/esm/core/schema/mode/interfaces/typescript/TypeInference.js.map +1 -0
- package/dist/esm/core/schema/mode/interfaces/typescript/index.js +35 -0
- package/dist/esm/core/schema/mode/interfaces/typescript/index.js.map +1 -0
- package/dist/esm/core/schema/mode/interfaces/validators/ConstraintParser.js +1132 -0
- package/dist/esm/core/schema/mode/interfaces/validators/ConstraintParser.js.map +1 -0
- package/dist/esm/core/schema/mode/interfaces/validators/TypeGuards.js +254 -0
- package/dist/esm/core/schema/mode/interfaces/validators/TypeGuards.js.map +1 -0
- package/dist/esm/core/schema/mode/interfaces/validators/TypeValidators.js +427 -0
- package/dist/esm/core/schema/mode/interfaces/validators/TypeValidators.js.map +1 -0
- package/dist/esm/core/schema/mode/interfaces/validators/UnionCache.js +400 -0
- package/dist/esm/core/schema/mode/interfaces/validators/UnionCache.js.map +1 -0
- package/dist/esm/core/schema/mode/interfaces/validators/ValidationHelpers.js +849 -0
- package/dist/esm/core/schema/mode/interfaces/validators/ValidationHelpers.js.map +1 -0
- package/dist/esm/core/schema/mode/interfaces/validators/mods/passValidator.js +260 -0
- package/dist/esm/core/schema/mode/interfaces/validators/mods/passValidator.js.map +1 -0
- package/dist/esm/core/schema/mode/interfaces/validators/mods/securityValidator.js +881 -0
- package/dist/esm/core/schema/mode/interfaces/validators/mods/securityValidator.js.map +1 -0
- package/dist/esm/core/schema/mode/interfaces/validators/mods/urlValidation.js +189 -0
- package/dist/esm/core/schema/mode/interfaces/validators/mods/urlValidation.js.map +1 -0
- package/dist/esm/core/schema/optimization/ObjectValidationCache.js +460 -0
- package/dist/esm/core/schema/optimization/ObjectValidationCache.js.map +1 -0
- package/dist/esm/core/schema/optimization/PerformanceMonitor.js +771 -0
- package/dist/esm/core/schema/optimization/PerformanceMonitor.js.map +1 -0
- package/dist/esm/core/schema/optimization/SchemaCompiler.js +598 -0
- package/dist/esm/core/schema/optimization/SchemaCompiler.js.map +1 -0
- package/dist/esm/core/types/ValidatorTypes.js +65 -0
- package/dist/esm/core/types/ValidatorTypes.js.map +1 -0
- package/dist/esm/core/types/parser.type.js +12 -0
- package/dist/esm/core/types/parser.type.js.map +1 -0
- package/dist/esm/core/utils/Make.js +59 -0
- package/dist/esm/core/utils/Make.js.map +1 -0
- package/dist/esm/core/utils/Mod.js +1031 -0
- package/dist/esm/core/utils/Mod.js.map +1 -0
- package/dist/esm/core/utils/UrlArgs.js +98 -0
- package/dist/esm/core/utils/UrlArgs.js.map +1 -0
- package/dist/esm/core/utils/arrayToEnum.js +16 -0
- package/dist/esm/core/utils/arrayToEnum.js.map +1 -0
- package/dist/esm/core/utils/createUrlArgsEnumFArray.js +11 -0
- package/dist/esm/core/utils/createUrlArgsEnumFArray.js.map +1 -0
- package/dist/esm/core/utils/securityHelpers.js +207 -0
- package/dist/esm/core/utils/securityHelpers.js.map +1 -0
- package/dist/esm/core/utils/securityValidatorHelpers.js +62 -0
- package/dist/esm/core/utils/securityValidatorHelpers.js.map +1 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/schema.d.ts +2595 -0
- package/docs/ALL_TYPES.md +120 -0
- package/docs/API-STABILITY.md +336 -0
- package/docs/CONDITIONAL-VALIDATION.md +637 -0
- package/docs/EXAMPLES.md +876 -0
- package/docs/FIELD-TYPES.md +829 -0
- package/docs/GETTING-STARTED.md +394 -0
- package/docs/LIVE-UTILITY.md +1137 -0
- package/docs/QUICK-REFERENCE.md +346 -0
- package/docs/README.md +205 -0
- package/docs/VSCODE-EXTENSION.md +458 -0
- package/package.json +219 -0
- package/src/bench/BENCHMARK-RESULTS.md +211 -0
- package/src/bench/benchmark-results.json +148 -0
- package/src/bench/performance-comparison.ts +218 -0
- package/src/bench/precompilation-benchmark.ts +218 -0
- package/src/constants/SECURITY_CONSTANTS.ts +44 -0
- package/src/constants/VALIDATION_CONSTANTS.ts +176 -0
- package/src/core/README.md +395 -0
- package/src/core/compiler/SchemaTransformer.ts +279 -0
- package/src/core/compiler/TypeAnalyzer.ts +378 -0
- package/src/core/compiler/TypeScriptCompilerIntegration.ts +220 -0
- package/src/core/compiler/TypeToSchemaConverter.ts +288 -0
- package/src/core/index.ts +70 -0
- package/src/core/schema/extensions/AutoDocumentation.ts +572 -0
- package/src/core/schema/extensions/ConditionalValidation.ts +330 -0
- package/src/core/schema/extensions/README.md +171 -0
- package/src/core/schema/extensions/RealtimeValidation.ts +656 -0
- package/src/core/schema/extensions/SmartInference.ts +224 -0
- package/src/core/schema/extensions/components/AutoDocumentation/Docs.ts +98 -0
- package/src/core/schema/extensions/components/AutoDocumentation/DocumentationGenerator.ts +201 -0
- package/src/core/schema/extensions/components/AutoDocumentation/InteractiveDocumentationGenerator.ts +176 -0
- package/src/core/schema/extensions/components/AutoDocumentation/OpenAPIGenerator.ts +175 -0
- package/src/core/schema/extensions/components/AutoDocumentation/SchemaAnalyzer.ts +49 -0
- package/src/core/schema/extensions/components/AutoDocumentation/TypeScriptGenerator.ts +54 -0
- package/src/core/schema/extensions/components/AutoDocumentation/index.ts +17 -0
- package/src/core/schema/extensions/components/ConditionalValidation/ConditionalBuilder.ts +101 -0
- package/src/core/schema/extensions/components/ConditionalValidation/ConditionalElse.ts +65 -0
- package/src/core/schema/extensions/components/ConditionalValidation/ConditionalThen.ts +33 -0
- package/src/core/schema/extensions/components/ConditionalValidation/Extend.ts +75 -0
- package/src/core/schema/extensions/components/ConditionalValidation/MultiConditionalBuilder.ts +16 -0
- package/src/core/schema/extensions/components/ConditionalValidation/MultiConditionalThen.ts +50 -0
- package/src/core/schema/extensions/components/ConditionalValidation/index.ts +104 -0
- package/src/core/schema/extensions/components/RealtimeValidation/FormValidator.ts +88 -0
- package/src/core/schema/extensions/components/RealtimeValidation/LiveValidator.ts +171 -0
- package/src/core/schema/extensions/components/RealtimeValidation/StreamValidator.ts +397 -0
- package/src/core/schema/extensions/components/RealtimeValidation/index.ts +114 -0
- package/src/core/schema/extensions/index.ts +76 -0
- package/src/core/schema/extensions/mods/index.ts +131 -0
- package/src/core/schema/extensions/mods/openapi-converter.ts +338 -0
- package/src/core/schema/extensions/mods/typescript-generator.ts +379 -0
- package/src/core/schema/extensions/mods/validation-engine.ts +295 -0
- package/src/core/schema/mode/interfaces/Interface.ts +364 -0
- package/src/core/schema/mode/interfaces/InterfaceSchema.ts +1838 -0
- package/src/core/schema/mode/interfaces/README.md +278 -0
- package/src/core/schema/mode/interfaces/conditional/evaluator/ConditionalEvaluator.ts +657 -0
- package/src/core/schema/mode/interfaces/conditional/parser/ConditionalAST.ts +826 -0
- package/src/core/schema/mode/interfaces/conditional/parser/ConditionalLexer.ts +992 -0
- package/src/core/schema/mode/interfaces/conditional/parser/ConditionalParser.ts +803 -0
- package/src/core/schema/mode/interfaces/conditional/parser/readme.md +406 -0
- package/src/core/schema/mode/interfaces/conditional/types/ConditionalTypes.ts +273 -0
- package/src/core/schema/mode/interfaces/errors/ErrorHandler.ts +624 -0
- package/src/core/schema/mode/interfaces/errors/types/errors.type.ts +102 -0
- package/src/core/schema/mode/interfaces/precompilation/FieldPrecompilers.ts +962 -0
- package/src/core/schema/mode/interfaces/precompilation/SchemaPrecompiler.ts +667 -0
- package/src/core/schema/mode/interfaces/typescript/ConditionalTypes.ts +1534 -0
- package/src/core/schema/mode/interfaces/typescript/IDESupport.ts +534 -0
- package/src/core/schema/mode/interfaces/typescript/TypeInference.ts +737 -0
- package/src/core/schema/mode/interfaces/typescript/index.ts +92 -0
- package/src/core/schema/mode/interfaces/validators/ConstraintParser.ts +1438 -0
- package/src/core/schema/mode/interfaces/validators/EnhancedErrorReporting.ts +227 -0
- package/src/core/schema/mode/interfaces/validators/TypeGuards.ts +288 -0
- package/src/core/schema/mode/interfaces/validators/TypeValidators.ts +660 -0
- package/src/core/schema/mode/interfaces/validators/UnionCache.ts +508 -0
- package/src/core/schema/mode/interfaces/validators/ValidationHelpers.ts +1257 -0
- package/src/core/schema/mode/interfaces/validators/index.ts +21 -0
- package/src/core/schema/mode/interfaces/validators/mods/passValidator.ts +424 -0
- package/src/core/schema/mode/interfaces/validators/mods/securityValidator.ts +1634 -0
- package/src/core/schema/mode/interfaces/validators/mods/urlValidation.ts +333 -0
- package/src/core/schema/optimization/ObjectValidationCache.ts +560 -0
- package/src/core/schema/optimization/PerformanceInitializer.ts +188 -0
- package/src/core/schema/optimization/PerformanceMonitor.ts +898 -0
- package/src/core/schema/optimization/SchemaCompiler.ts +730 -0
- package/src/core/testing/TestDataGenerator.ts +590 -0
- package/src/core/types/SchemaValidator.type.ts +210 -0
- package/src/core/types/ValidatorTypes.ts +93 -0
- package/src/core/types/extension.type.ts +109 -0
- package/src/core/types/objValidationCache.ts +17 -0
- package/src/core/types/parser.type.ts +15 -0
- package/src/core/types/perfoMonitor.ts +37 -0
- package/src/core/types/scompiler.ts +22 -0
- package/src/core/types/securityValidator.type.ts +10 -0
- package/src/core/types/types.ts +154 -0
- package/src/core/utils/Make.ts +97 -0
- package/src/core/utils/Mod.ts +1168 -0
- package/src/core/utils/UrlArgs.ts +124 -0
- package/src/core/utils/arrayToEnum.ts +89 -0
- package/src/core/utils/createUrlArgsEnumFArray.ts +11 -0
- package/src/core/utils/securityHelpers.ts +341 -0
- package/src/core/utils/securityValidatorHelpers.ts +76 -0
- package/src/index.ts +124 -0
|
@@ -0,0 +1,458 @@
|
|
|
1
|
+
# VS Code Extension Guide
|
|
2
|
+
|
|
3
|
+
Complete guide to the ReliantType VS Code extension - your professional development companion for TypeScript-first validation.
|
|
4
|
+
|
|
5
|
+
## 🚀 Installation
|
|
6
|
+
|
|
7
|
+
### Method 1: Direct Download
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Download the latest extension
|
|
11
|
+
curl -L https://sdk.nehonix.space/pkgs/mods/vscode/latest/reliant-type.vsix -o reliant-type.vsix
|
|
12
|
+
|
|
13
|
+
# Install in VS Code
|
|
14
|
+
code --install-extension reliant-type.vsix
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### Method 2: VS Code Marketplace
|
|
18
|
+
|
|
19
|
+
The extension will be available on the VS Code Marketplace soon. For now, use the direct download method.
|
|
20
|
+
|
|
21
|
+
### Verification
|
|
22
|
+
|
|
23
|
+
After installation, you should see:
|
|
24
|
+
- ✅ "ReliantType extension loaded!" notification
|
|
25
|
+
- ✅ Enhanced syntax highlighting in TypeScript files
|
|
26
|
+
- ✅ IntelliSense suggestions in `Interface({...})` blocks
|
|
27
|
+
|
|
28
|
+
## ✨ Features Overview
|
|
29
|
+
|
|
30
|
+
### 🎨 Smart Syntax Highlighting
|
|
31
|
+
- **Context-aware highlighting** - Only activates within `Interface({...})` blocks
|
|
32
|
+
- **Semantic token support** - Rich colors for types, operators, and conditional logic
|
|
33
|
+
- **Professional color themes** - Multiple color schemes to choose from
|
|
34
|
+
|
|
35
|
+
### 🧠 Intelligent IntelliSense
|
|
36
|
+
- **Type autocompletion** - All ReliantType types with constraints
|
|
37
|
+
- **V2 method completion** - Smart suggestions for `.$method()` syntax
|
|
38
|
+
- **Property suggestions** - Auto-complete schema properties in conditionals
|
|
39
|
+
- **Context-aware** - Only suggests relevant completions
|
|
40
|
+
|
|
41
|
+
### 🔍 Real-time Validation
|
|
42
|
+
- **Instant error detection** - Catch syntax errors as you type
|
|
43
|
+
- **Detailed diagnostics** - Clear error messages with suggestions
|
|
44
|
+
- **@fortify-ignore support** - Suppress specific warnings
|
|
45
|
+
- **Performance optimized** - No impact on non-Fortify code
|
|
46
|
+
|
|
47
|
+
### 📖 Rich Documentation
|
|
48
|
+
- **Hover information** - Detailed docs for types and operators
|
|
49
|
+
- **Method documentation** - Complete V2 method reference on hover
|
|
50
|
+
- **Example snippets** - See usage examples without leaving your editor
|
|
51
|
+
- **Quick reference** - Access documentation instantly
|
|
52
|
+
|
|
53
|
+
### 🔗 Navigation Features
|
|
54
|
+
- **Go-to-definition** - Navigate to property definitions (Ctrl+click)
|
|
55
|
+
- **Variable highlighting** - Highlight conditional variables
|
|
56
|
+
- **Property references** - Find all uses of schema properties
|
|
57
|
+
|
|
58
|
+
## 🎯 Feature Details
|
|
59
|
+
|
|
60
|
+
### Syntax Highlighting
|
|
61
|
+
|
|
62
|
+
The extension provides professional syntax highlighting that activates only within ReliantType contexts:
|
|
63
|
+
|
|
64
|
+
```typescript
|
|
65
|
+
const UserSchema = Interface({
|
|
66
|
+
// ✨ Rich highlighting for all these elements:
|
|
67
|
+
id: "uuid", // Type highlighting
|
|
68
|
+
email: "email", // Format highlighting
|
|
69
|
+
name: "string(2,50)", // Constraint highlighting
|
|
70
|
+
role: "admin|user|guest", // Union highlighting
|
|
71
|
+
|
|
72
|
+
// V2 conditional syntax highlighting
|
|
73
|
+
hasPermissions: "when config.permissions.$exists() *? boolean : =false",
|
|
74
|
+
// ^^^^ ^^^^^^^^ ^^ ^
|
|
75
|
+
// keyword method operator literal
|
|
76
|
+
});
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**Highlighted Elements:**
|
|
80
|
+
- **Keywords**: `when`, `Interface`
|
|
81
|
+
- **Types**: `string`, `number`, `boolean`, `email`, `uuid`, etc.
|
|
82
|
+
- **Operators**: `*?`, `:`, `=`, `|`, `&&`, `||`
|
|
83
|
+
- **Methods**: `$exists()`, `$empty()`, `$contains()`, etc.
|
|
84
|
+
- **Constraints**: `(min,max)`, `[array constraints]`
|
|
85
|
+
- **Literals**: `=value`, `=true`, `=false`
|
|
86
|
+
|
|
87
|
+
### IntelliSense & Autocompletion
|
|
88
|
+
|
|
89
|
+
#### Type Completion
|
|
90
|
+
|
|
91
|
+
Press `Ctrl+Space` to get intelligent type suggestions:
|
|
92
|
+
|
|
93
|
+
```typescript
|
|
94
|
+
const Schema = Interface({
|
|
95
|
+
email: "em|" // Triggers: email, empty (if in conditional)
|
|
96
|
+
// ^ Cursor position - shows email completion
|
|
97
|
+
});
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**Available Completions:**
|
|
101
|
+
- **Basic Types**: `string`, `number`, `boolean`, `date`, `any`
|
|
102
|
+
- **Format Types**: `email`, `url`, `uuid`, `phone`, `ip`, `json`
|
|
103
|
+
- **Constraint Types**: `positive`, `negative`, `int`
|
|
104
|
+
- **Array Types**: `string[]`, `number[]`, `boolean[]`, etc.
|
|
105
|
+
|
|
106
|
+
#### V2 Method Completion
|
|
107
|
+
|
|
108
|
+
Type `.$` to trigger V2 method completions:
|
|
109
|
+
|
|
110
|
+
```typescript
|
|
111
|
+
const Schema = Interface({
|
|
112
|
+
config: "any?",
|
|
113
|
+
hasData: "when config.data.$|" // Shows all 8 V2 methods
|
|
114
|
+
// ^ Cursor - triggers method completion
|
|
115
|
+
});
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**Available V2 Methods:**
|
|
119
|
+
- `$exists()` - Check if property exists
|
|
120
|
+
- `$empty()` - Check if property is empty
|
|
121
|
+
- `$null()` - Check if property is null
|
|
122
|
+
- `$contains(value)` - Check if contains value
|
|
123
|
+
- `$startsWith(prefix)` - Check if starts with prefix
|
|
124
|
+
- `$endsWith(suffix)` - Check if ends with suffix
|
|
125
|
+
- `$between(min,max)` - Check if value is in range
|
|
126
|
+
- `$in(val1,val2,...)` - Check if value is in list
|
|
127
|
+
|
|
128
|
+
#### Property Suggestions
|
|
129
|
+
|
|
130
|
+
When typing in conditional expressions, get property suggestions:
|
|
131
|
+
|
|
132
|
+
```typescript
|
|
133
|
+
const Schema = Interface({
|
|
134
|
+
user: {
|
|
135
|
+
profile: {
|
|
136
|
+
name: "string",
|
|
137
|
+
email: "email"
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
|
|
141
|
+
// Type "user." to get property suggestions
|
|
142
|
+
hasProfile: "when user.pr|" // Suggests: profile
|
|
143
|
+
// ^ Shows property completions
|
|
144
|
+
});
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Real-time Validation
|
|
148
|
+
|
|
149
|
+
The extension provides instant feedback on schema syntax:
|
|
150
|
+
|
|
151
|
+
#### Error Detection
|
|
152
|
+
|
|
153
|
+
```typescript
|
|
154
|
+
const Schema = Interface({
|
|
155
|
+
// ❌ Error: Invalid constraint syntax
|
|
156
|
+
name: "string(,)", // Underlined in red
|
|
157
|
+
|
|
158
|
+
// ❌ Error: Unknown type
|
|
159
|
+
id: "unknowntype", // Underlined in red
|
|
160
|
+
|
|
161
|
+
// ❌ Error: Invalid V2 method
|
|
162
|
+
hasData: "when config.data.$invalid() *? boolean : =false"
|
|
163
|
+
// ^^^^^^^^ Underlined in red
|
|
164
|
+
});
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
#### Warning Detection
|
|
168
|
+
|
|
169
|
+
```typescript
|
|
170
|
+
const Schema = Interface({
|
|
171
|
+
// ⚠️ Warning: Consider using email type
|
|
172
|
+
email: "string", // Underlined in yellow
|
|
173
|
+
|
|
174
|
+
// ⚠️ Warning: Large array constraint
|
|
175
|
+
items: "string[](1,10000)" // Performance warning
|
|
176
|
+
});
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
#### @fortify-ignore Support
|
|
180
|
+
|
|
181
|
+
Suppress specific warnings:
|
|
182
|
+
|
|
183
|
+
```typescript
|
|
184
|
+
const Schema = Interface({
|
|
185
|
+
// @fortify-ignore - suppress email type warning
|
|
186
|
+
email: "string", // No warning shown
|
|
187
|
+
|
|
188
|
+
id: "string", // @fortify-ignore - inline ignore
|
|
189
|
+
});
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### Hover Documentation
|
|
193
|
+
|
|
194
|
+
Hover over any ReliantType element for detailed information:
|
|
195
|
+
|
|
196
|
+
#### Type Documentation
|
|
197
|
+
|
|
198
|
+
```typescript
|
|
199
|
+
const Schema = Interface({
|
|
200
|
+
email: "email" // Hover shows: Email validation with RFC 5322 compliance
|
|
201
|
+
// ^^^^^^^ Hover here for documentation
|
|
202
|
+
});
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
#### Method Documentation
|
|
206
|
+
|
|
207
|
+
```typescript
|
|
208
|
+
const Schema = Interface({
|
|
209
|
+
config: "any?",
|
|
210
|
+
hasData: "when config.data.$exists() *? boolean : =false"
|
|
211
|
+
// ^^^^^^^^ Hover for method docs
|
|
212
|
+
});
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
**Hover Information Includes:**
|
|
216
|
+
- **Description** - What the type/method does
|
|
217
|
+
- **Syntax** - How to use it correctly
|
|
218
|
+
- **Examples** - Real usage examples
|
|
219
|
+
- **Parameters** - For methods with parameters
|
|
220
|
+
- **Return Type** - What the method returns
|
|
221
|
+
|
|
222
|
+
### Go-to-Definition
|
|
223
|
+
|
|
224
|
+
Navigate through your schemas with Ctrl+click:
|
|
225
|
+
|
|
226
|
+
```typescript
|
|
227
|
+
const UserSchema = Interface({
|
|
228
|
+
profile: {
|
|
229
|
+
name: "string",
|
|
230
|
+
email: "email"
|
|
231
|
+
},
|
|
232
|
+
|
|
233
|
+
// Ctrl+click on "profile" jumps to definition above
|
|
234
|
+
hasProfile: "when profile.$exists() *? boolean : =false"
|
|
235
|
+
// ^^^^^^^ Ctrl+click here
|
|
236
|
+
});
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
## 🎨 Color Themes
|
|
240
|
+
|
|
241
|
+
### Available Themes
|
|
242
|
+
|
|
243
|
+
The extension includes professional color schemes:
|
|
244
|
+
|
|
245
|
+
1. **Professional** (Default) - Clean, professional colors
|
|
246
|
+
2. **Dark Pro** - High contrast dark theme
|
|
247
|
+
3. **Light Clean** - Minimal light theme
|
|
248
|
+
4. **Vibrant** - Colorful, energetic theme
|
|
249
|
+
5. **Monochrome** - Subtle, minimal highlighting
|
|
250
|
+
|
|
251
|
+
### Applying Themes
|
|
252
|
+
|
|
253
|
+
```bash
|
|
254
|
+
# Command Palette (Ctrl+Shift+P)
|
|
255
|
+
> Fortify: Apply Color Scheme
|
|
256
|
+
|
|
257
|
+
# Or use the command
|
|
258
|
+
code --command fortify.applyColorScheme
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
### Custom Theme Configuration
|
|
262
|
+
|
|
263
|
+
Add to your VS Code `settings.json`:
|
|
264
|
+
|
|
265
|
+
```json
|
|
266
|
+
{
|
|
267
|
+
"fortify.colorScheme": "professional",
|
|
268
|
+
"editor.semanticHighlighting.enabled": true,
|
|
269
|
+
"editor.tokenColorCustomizations": {
|
|
270
|
+
"textMateRules": [
|
|
271
|
+
{
|
|
272
|
+
"scope": "fortify.type",
|
|
273
|
+
"settings": {
|
|
274
|
+
"foreground": "#4FC3F7"
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
]
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
## ⚙️ Configuration
|
|
283
|
+
|
|
284
|
+
### Extension Settings
|
|
285
|
+
|
|
286
|
+
Configure the extension in VS Code settings:
|
|
287
|
+
|
|
288
|
+
```json
|
|
289
|
+
{
|
|
290
|
+
// Enable/disable features
|
|
291
|
+
"fortify.enableDiagnostics": true,
|
|
292
|
+
"fortify.enableCompletion": true,
|
|
293
|
+
"fortify.enableHover": true,
|
|
294
|
+
"fortify.enableSemanticTokens": true,
|
|
295
|
+
|
|
296
|
+
// Color scheme
|
|
297
|
+
"fortify.colorScheme": "professional",
|
|
298
|
+
|
|
299
|
+
// Validation settings
|
|
300
|
+
"fortify.validateOnType": true,
|
|
301
|
+
"fortify.showWarnings": true,
|
|
302
|
+
"fortify.maxDiagnostics": 100,
|
|
303
|
+
|
|
304
|
+
// Performance settings
|
|
305
|
+
"fortify.debounceTime": 300,
|
|
306
|
+
"fortify.maxFileSize": 1048576 // 1MB
|
|
307
|
+
}
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### Workspace Settings
|
|
311
|
+
|
|
312
|
+
For project-specific settings, add to `.vscode/settings.json`:
|
|
313
|
+
|
|
314
|
+
```json
|
|
315
|
+
{
|
|
316
|
+
"fortify.enableDiagnostics": true,
|
|
317
|
+
"fortify.colorScheme": "dark-pro",
|
|
318
|
+
"files.associations": {
|
|
319
|
+
"*.fortify.ts": "typescript"
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
## 🔧 Commands
|
|
325
|
+
|
|
326
|
+
### Available Commands
|
|
327
|
+
|
|
328
|
+
Access via Command Palette (`Ctrl+Shift+P`):
|
|
329
|
+
|
|
330
|
+
| Command | Description |
|
|
331
|
+
|---------|-------------|
|
|
332
|
+
| `Fortify: Validate Schema` | Manually validate current file |
|
|
333
|
+
| `Fortify: Apply Color Scheme` | Choose and apply color theme |
|
|
334
|
+
| `Fortify: List Color Schemes` | View available themes |
|
|
335
|
+
| `Fortify: Cleanup Themes` | Reset theme settings |
|
|
336
|
+
| `Fortify: Generate Types` | Generate TypeScript types (coming soon) |
|
|
337
|
+
| `Fortify: Format Schema` | Format schema syntax (coming soon) |
|
|
338
|
+
|
|
339
|
+
### Keyboard Shortcuts
|
|
340
|
+
|
|
341
|
+
Default shortcuts (can be customized):
|
|
342
|
+
|
|
343
|
+
| Shortcut | Command |
|
|
344
|
+
|----------|---------|
|
|
345
|
+
| `Ctrl+Shift+V` | Validate Schema |
|
|
346
|
+
| `Ctrl+Shift+T` | Apply Color Scheme |
|
|
347
|
+
| `F12` | Go to Definition |
|
|
348
|
+
| `Ctrl+Space` | Trigger Completion |
|
|
349
|
+
|
|
350
|
+
## 🐛 Troubleshooting
|
|
351
|
+
|
|
352
|
+
### Extension Not Working?
|
|
353
|
+
|
|
354
|
+
1. **Check file type** - Extension works with `.ts`, `.js`, `.tsx`, `.jsx`
|
|
355
|
+
2. **Verify syntax** - Must be inside `Interface({...})` blocks
|
|
356
|
+
3. **Restart VS Code** - Sometimes needed after installation
|
|
357
|
+
4. **Check settings** - Ensure semantic highlighting is enabled
|
|
358
|
+
|
|
359
|
+
### No Syntax Highlighting?
|
|
360
|
+
|
|
361
|
+
```json
|
|
362
|
+
// Add to settings.json
|
|
363
|
+
{
|
|
364
|
+
"editor.semanticHighlighting.enabled": true,
|
|
365
|
+
"fortify.enableSemanticTokens": true
|
|
366
|
+
}
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
### IntelliSense Not Working?
|
|
370
|
+
|
|
371
|
+
1. **Check trigger characters** - Type `"`, `:`, `.$` to trigger
|
|
372
|
+
2. **Verify context** - Must be inside `Interface({...})`
|
|
373
|
+
3. **Check settings** - Ensure completion is enabled
|
|
374
|
+
4. **Restart TypeScript service** - `Ctrl+Shift+P` > "TypeScript: Restart TS Server"
|
|
375
|
+
|
|
376
|
+
### Performance Issues?
|
|
377
|
+
|
|
378
|
+
```json
|
|
379
|
+
// Optimize performance
|
|
380
|
+
{
|
|
381
|
+
"fortify.debounceTime": 500,
|
|
382
|
+
"fortify.maxFileSize": 524288, // 512KB
|
|
383
|
+
"fortify.maxDiagnostics": 50
|
|
384
|
+
}
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
### Diagnostics Not Showing?
|
|
388
|
+
|
|
389
|
+
1. **Check diagnostics setting** - `"fortify.enableDiagnostics": true`
|
|
390
|
+
2. **Verify file size** - Large files may be skipped
|
|
391
|
+
3. **Check ignore comments** - `@fortify-ignore` suppresses diagnostics
|
|
392
|
+
|
|
393
|
+
## 🧹 Manual Cleanup
|
|
394
|
+
|
|
395
|
+
If you uninstall the extension and want to clean up settings:
|
|
396
|
+
|
|
397
|
+
### Remove Extension Settings
|
|
398
|
+
|
|
399
|
+
1. Open VS Code Settings (`Ctrl+,`)
|
|
400
|
+
2. Search for "fortify"
|
|
401
|
+
3. Reset any custom settings to default
|
|
402
|
+
|
|
403
|
+
### Clean Up Theme Settings
|
|
404
|
+
|
|
405
|
+
```bash
|
|
406
|
+
# Command Palette (Ctrl+Shift+P)
|
|
407
|
+
> Fortify: Cleanup Themes
|
|
408
|
+
|
|
409
|
+
# Or manually remove from settings.json:
|
|
410
|
+
# - Remove "fortify.*" settings
|
|
411
|
+
# - Remove custom tokenColorCustomizations
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
### Reset Workspace Settings
|
|
415
|
+
|
|
416
|
+
Remove from `.vscode/settings.json`:
|
|
417
|
+
```json
|
|
418
|
+
{
|
|
419
|
+
// Remove these lines:
|
|
420
|
+
"fortify.enableDiagnostics": true,
|
|
421
|
+
"fortify.colorScheme": "professional"
|
|
422
|
+
}
|
|
423
|
+
```
|
|
424
|
+
|
|
425
|
+
## 🚀 Tips & Tricks
|
|
426
|
+
|
|
427
|
+
### Productivity Tips
|
|
428
|
+
|
|
429
|
+
1. **Use snippets** - Type `interface` for quick schema template
|
|
430
|
+
2. **Leverage hover** - Hover for instant documentation
|
|
431
|
+
3. **Use go-to-definition** - Navigate large schemas easily
|
|
432
|
+
4. **Apply themes** - Choose colors that match your workflow
|
|
433
|
+
|
|
434
|
+
### Advanced Usage
|
|
435
|
+
|
|
436
|
+
1. **Multi-cursor editing** - Edit multiple schema fields simultaneously
|
|
437
|
+
2. **Folding** - Collapse large nested objects
|
|
438
|
+
3. **Search** - Use `Ctrl+F` to find schema properties
|
|
439
|
+
4. **Refactoring** - Rename properties across conditionals
|
|
440
|
+
|
|
441
|
+
### Integration Tips
|
|
442
|
+
|
|
443
|
+
1. **Git integration** - Extension works with Git diffs
|
|
444
|
+
2. **Live Share** - Syntax highlighting works in collaborative sessions
|
|
445
|
+
3. **Remote development** - Full support for remote containers/SSH
|
|
446
|
+
|
|
447
|
+
## 🔗 Related Documentation
|
|
448
|
+
|
|
449
|
+
- **[Getting Started](./GETTING-STARTED.md)** - Basic ReliantType usage
|
|
450
|
+
- **[Field Types Reference](./FIELD-TYPES.md)** - Complete type reference
|
|
451
|
+
- **[Conditional Validation](./CONDITIONAL-VALIDATION.md)** - V2 conditional syntax
|
|
452
|
+
- **[Quick Reference](./QUICK-REFERENCE.md)** - Syntax cheat sheet
|
|
453
|
+
|
|
454
|
+
## 🤝 Support
|
|
455
|
+
|
|
456
|
+
- **[GitHub Issues](https://github.com/Nehonix-Team/reliant-type/issues)** - Bug reports and feature requests
|
|
457
|
+
- **[GitHub Discussions](https://github.com/Nehonix-Team/reliant-type/discussions)** - Community Q&A
|
|
458
|
+
- **Email**: support@nehonix.space
|
package/package.json
ADDED
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "reliant-type",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "ReliantType is a modern TypeScript validation library designed around familiar interface syntax and powerful conditional validation. Experience schema validation that feels natural to TypeScript developers while unlocking advanced runtime validation capabilities.",
|
|
5
|
+
"main": "dist/cjs/index.js",
|
|
6
|
+
"module": "dist/esm/index.js",
|
|
7
|
+
"types": "dist/schema.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/esm/index.js",
|
|
11
|
+
"require": "./dist/cjs/index.js",
|
|
12
|
+
"types": "./dist/schema.d.ts"
|
|
13
|
+
},
|
|
14
|
+
"./package.json": "./package.json"
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist",
|
|
18
|
+
"src",
|
|
19
|
+
"README.md",
|
|
20
|
+
"LICENSE",
|
|
21
|
+
"CHANGELOG.md",
|
|
22
|
+
"docs"
|
|
23
|
+
],
|
|
24
|
+
"scripts": {
|
|
25
|
+
"build": "npm run clean && rollup -c",
|
|
26
|
+
"build:rollup": "npm run clean && rollup -c",
|
|
27
|
+
"build:simple": "node build.js",
|
|
28
|
+
"build:tsc": "npm run clean && tsc -p tsconfig.build.json",
|
|
29
|
+
"build:types": "tsc --emitDeclarationOnly --outDir dist",
|
|
30
|
+
"dev": "rollup -c -w",
|
|
31
|
+
"test": "bun src/__tests__/ultimate_test_the_game_changer.ts",
|
|
32
|
+
"tests": "jest",
|
|
33
|
+
"test:watch": "jest --watch",
|
|
34
|
+
"demo": "bun examples/superiority-demo.ts",
|
|
35
|
+
"demo:performance": "bun src/core/performance/benchmark.ts",
|
|
36
|
+
"benchmark": "node scripts/benchmark.js",
|
|
37
|
+
"benchmark:nestedObject": "tsx src/__tests__/test_nested_obj.ts",
|
|
38
|
+
"benchmark:core": "bun src/bench/performance-comparison.ts",
|
|
39
|
+
"benchmark:precompile": "bun src/bench/precompilation-benchmark.ts",
|
|
40
|
+
"benchmark:vs-zod": "node scripts/benchmark.js",
|
|
41
|
+
"benchmark:optimizations": "node scripts/test-optimizations.js",
|
|
42
|
+
"benchmark:unions": "node scripts/benchmark-union-optimization.js",
|
|
43
|
+
"benchmark:complex": "node scripts/benchmark-complex-optimization.js",
|
|
44
|
+
"benchmark:all": "npm run benchmark:vs-zod && npm run benchmark:optimizations",
|
|
45
|
+
"lint": "eslint src --ext .ts",
|
|
46
|
+
"lint:fix": "eslint src --ext .ts --fix",
|
|
47
|
+
"format": "prettier --write \"src/**/*.ts\"",
|
|
48
|
+
"manual:build": "npm run build:cjs && npm run build:esm",
|
|
49
|
+
"build:cjs": "node scripts/build-cjs.cjs",
|
|
50
|
+
"build:esm": "node scripts/build-esm.mjs",
|
|
51
|
+
"prepublishOnly": "npm run build && npm run manual:build",
|
|
52
|
+
"clean": "rimraf dist",
|
|
53
|
+
"git": "node git-push.js",
|
|
54
|
+
"git:ps1": "powershell.exe -File ./scripts/git-push.ps1",
|
|
55
|
+
"git:bat": "./scripts/git-push.bat",
|
|
56
|
+
"git:sh": "bash ./scripts/git-push.sh"
|
|
57
|
+
},
|
|
58
|
+
"keywords": [
|
|
59
|
+
"schema",
|
|
60
|
+
"validation",
|
|
61
|
+
"conditional-validation",
|
|
62
|
+
"advanced-validation",
|
|
63
|
+
"typescript",
|
|
64
|
+
"type-safe",
|
|
65
|
+
"interface",
|
|
66
|
+
"runtime-validation",
|
|
67
|
+
"schema-validation",
|
|
68
|
+
"data-validation",
|
|
69
|
+
"input-validation",
|
|
70
|
+
"form-validation",
|
|
71
|
+
"api-validation",
|
|
72
|
+
"json-schema",
|
|
73
|
+
"type-inference",
|
|
74
|
+
"compile-time-safety",
|
|
75
|
+
"zod-alternative",
|
|
76
|
+
"joi-alternative",
|
|
77
|
+
"yup-alternative",
|
|
78
|
+
"ajv-alternative",
|
|
79
|
+
"typescript-first",
|
|
80
|
+
"type-checking",
|
|
81
|
+
"parse",
|
|
82
|
+
"parser",
|
|
83
|
+
"serialization",
|
|
84
|
+
"deserialization",
|
|
85
|
+
"constraints",
|
|
86
|
+
"strict-typing",
|
|
87
|
+
"runtime-types",
|
|
88
|
+
"interface-like",
|
|
89
|
+
"schema-builder",
|
|
90
|
+
"validation-library",
|
|
91
|
+
"type-validation",
|
|
92
|
+
"object-validation",
|
|
93
|
+
"array-validation",
|
|
94
|
+
"string-validation",
|
|
95
|
+
"number-validation",
|
|
96
|
+
"email-validation",
|
|
97
|
+
"url-validation",
|
|
98
|
+
"date-validation",
|
|
99
|
+
"uuid-validation",
|
|
100
|
+
"phone-validation",
|
|
101
|
+
"pattern-validation",
|
|
102
|
+
"regex-validation",
|
|
103
|
+
"union-types",
|
|
104
|
+
"literal-types",
|
|
105
|
+
"optional-fields",
|
|
106
|
+
"required-fields",
|
|
107
|
+
"nested-objects",
|
|
108
|
+
"nested-validation",
|
|
109
|
+
"conditional-logic",
|
|
110
|
+
"business-rules",
|
|
111
|
+
"dynamic-validation",
|
|
112
|
+
"context-aware",
|
|
113
|
+
"field-dependencies",
|
|
114
|
+
"schema-composition",
|
|
115
|
+
"schema-transformation",
|
|
116
|
+
"schema-merging",
|
|
117
|
+
"pick-omit",
|
|
118
|
+
"partial-required",
|
|
119
|
+
"type-coercion",
|
|
120
|
+
"loose-mode",
|
|
121
|
+
"strict-mode",
|
|
122
|
+
"error-handling",
|
|
123
|
+
"validation-errors",
|
|
124
|
+
"safe-parsing",
|
|
125
|
+
"try-catch",
|
|
126
|
+
"api-schema",
|
|
127
|
+
"rest-api",
|
|
128
|
+
"graphql",
|
|
129
|
+
"json-api",
|
|
130
|
+
"form-schema",
|
|
131
|
+
"configuration",
|
|
132
|
+
"config-validation",
|
|
133
|
+
"environment-variables",
|
|
134
|
+
"env-validation",
|
|
135
|
+
"database-schema",
|
|
136
|
+
"model-validation",
|
|
137
|
+
"dto",
|
|
138
|
+
"data-transfer-object",
|
|
139
|
+
"request-validation",
|
|
140
|
+
"response-validation",
|
|
141
|
+
"middleware",
|
|
142
|
+
"express",
|
|
143
|
+
"fastify",
|
|
144
|
+
"koa",
|
|
145
|
+
"node",
|
|
146
|
+
"nehonix",
|
|
147
|
+
"typescript",
|
|
148
|
+
"javascript",
|
|
149
|
+
"fortifyjs",
|
|
150
|
+
"nodejs",
|
|
151
|
+
"backend",
|
|
152
|
+
"frontend",
|
|
153
|
+
"fullstack",
|
|
154
|
+
"react",
|
|
155
|
+
"vue",
|
|
156
|
+
"angular",
|
|
157
|
+
"next",
|
|
158
|
+
"nuxt",
|
|
159
|
+
"svelte",
|
|
160
|
+
"web-development",
|
|
161
|
+
"developer-experience",
|
|
162
|
+
"dx",
|
|
163
|
+
"clean-code",
|
|
164
|
+
"maintainable",
|
|
165
|
+
"readable",
|
|
166
|
+
"intuitive",
|
|
167
|
+
"simple",
|
|
168
|
+
"powerful",
|
|
169
|
+
"lightweight",
|
|
170
|
+
"performant",
|
|
171
|
+
"tree-shakable",
|
|
172
|
+
"bundle-size",
|
|
173
|
+
"zero-dependencies",
|
|
174
|
+
"enterprise",
|
|
175
|
+
"production-ready",
|
|
176
|
+
"battle-tested",
|
|
177
|
+
"reliable",
|
|
178
|
+
"robust",
|
|
179
|
+
"scalable"
|
|
180
|
+
],
|
|
181
|
+
"author": "Nehonix Team <rlt.support@nehonix.space> (https://nehonix.space)",
|
|
182
|
+
"license": "MIT License",
|
|
183
|
+
"repository": {
|
|
184
|
+
"type": "git",
|
|
185
|
+
"url": "https://github.com/Nehonix-Team/reliant-type.git"
|
|
186
|
+
},
|
|
187
|
+
"bugs": {
|
|
188
|
+
"url": "https://github.com/Nehonix-Team/reliant-type/issues"
|
|
189
|
+
},
|
|
190
|
+
"homepage": "https://github.com/Nehonix-Team/reliant-type#readme",
|
|
191
|
+
"devDependencies": {
|
|
192
|
+
"@rollup/plugin-commonjs": "^25.0.4",
|
|
193
|
+
"@rollup/plugin-json": "^6.0.0",
|
|
194
|
+
"@rollup/plugin-node-resolve": "^15.2.1",
|
|
195
|
+
"@rollup/plugin-typescript": "^12.1.4",
|
|
196
|
+
"@types/jest": "^29.5.5",
|
|
197
|
+
"@types/node": "^20.19.1",
|
|
198
|
+
"@typescript-eslint/eslint-plugin": "^6.7.0",
|
|
199
|
+
"@typescript-eslint/parser": "^6.7.0",
|
|
200
|
+
"eslint": "^8.49.0",
|
|
201
|
+
"eslint-config-prettier": "^9.0.0",
|
|
202
|
+
"eslint-plugin-prettier": "^5.0.0",
|
|
203
|
+
"jest": "^29.7.0",
|
|
204
|
+
"prettier": "^3.0.3",
|
|
205
|
+
"rimraf": "^6.0.1",
|
|
206
|
+
"rollup": "^3.29.5",
|
|
207
|
+
"rollup-plugin-dts": "^6.0.2",
|
|
208
|
+
"ts-jest": "^29.1.1",
|
|
209
|
+
"typescript": "^5.8.3"
|
|
210
|
+
},
|
|
211
|
+
"engines": {
|
|
212
|
+
"node": ">=16.0.0"
|
|
213
|
+
},
|
|
214
|
+
"dependencies": {
|
|
215
|
+
"ajv": "^8.17.1",
|
|
216
|
+
"ajv-formats": "^3.0.1",
|
|
217
|
+
"tslib": "^2.8.1"
|
|
218
|
+
}
|
|
219
|
+
}
|