@nestia/sdk 14.0.0 → 14.0.2
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/README.md +1 -1
- package/assets/bundle/distribute/build-sdk.cjs +28 -0
- package/assets/bundle/distribute/package.json +7 -3
- package/assets/bundle/distribute/tsconfig.json +15 -105
- package/lib/INestiaConfig.d.ts +74 -34
- package/lib/NestiaSdkApplication.d.ts +60 -0
- package/lib/NestiaSdkApplication.js +121 -32
- package/lib/NestiaSdkApplication.js.map +1 -1
- package/lib/NestiaSwaggerComposer.d.ts +21 -0
- package/lib/NestiaSwaggerComposer.js +32 -13
- package/lib/NestiaSwaggerComposer.js.map +1 -1
- package/lib/analyses/AccessorAnalyzer.d.ts +26 -0
- package/lib/analyses/AccessorAnalyzer.js +26 -0
- package/lib/analyses/AccessorAnalyzer.js.map +1 -1
- package/lib/analyses/ConfigAnalyzer.d.ts +41 -0
- package/lib/analyses/ConfigAnalyzer.js +52 -77
- package/lib/analyses/ConfigAnalyzer.js.map +1 -1
- package/lib/analyses/ImportAnalyzer.d.ts +25 -0
- package/lib/analyses/ImportAnalyzer.js +25 -0
- package/lib/analyses/ImportAnalyzer.js.map +1 -1
- package/lib/analyses/ParameterNameAnalyzer.d.ts +44 -0
- package/lib/analyses/ParameterNameAnalyzer.js +63 -0
- package/lib/analyses/ParameterNameAnalyzer.js.map +1 -0
- package/lib/analyses/PathAnalyzer.d.ts +93 -1
- package/lib/analyses/PathAnalyzer.js +160 -23
- package/lib/analyses/PathAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectControllerAnalyzer.d.ts +32 -0
- package/lib/analyses/ReflectControllerAnalyzer.js +24 -1
- package/lib/analyses/ReflectControllerAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectHttpOperationAnalyzer.d.ts +29 -0
- package/lib/analyses/ReflectHttpOperationAnalyzer.js +35 -24
- package/lib/analyses/ReflectHttpOperationAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectHttpOperationExceptionAnalyzer.d.ts +31 -0
- package/lib/analyses/ReflectHttpOperationExceptionAnalyzer.js +21 -0
- package/lib/analyses/ReflectHttpOperationExceptionAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectHttpOperationParameterAnalyzer.d.ts +31 -0
- package/lib/analyses/ReflectHttpOperationParameterAnalyzer.js +143 -23
- package/lib/analyses/ReflectHttpOperationParameterAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectHttpOperationResponseAnalyzer.d.ts +32 -0
- package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js +27 -2
- package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectMcpOperationAnalyzer.d.ts +29 -0
- package/lib/analyses/ReflectMcpOperationAnalyzer.js +35 -11
- package/lib/analyses/ReflectMcpOperationAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectMetadataAnalyzer.d.ts +47 -0
- package/lib/analyses/ReflectMetadataAnalyzer.js +47 -0
- package/lib/analyses/ReflectMetadataAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectWebSocketOperationAnalyzer.d.ts +29 -0
- package/lib/analyses/ReflectWebSocketOperationAnalyzer.js +27 -5
- package/lib/analyses/ReflectWebSocketOperationAnalyzer.js.map +1 -1
- package/lib/analyses/SecurityAnalyzer.d.ts +25 -0
- package/lib/analyses/SecurityAnalyzer.js +39 -19
- package/lib/analyses/SecurityAnalyzer.js.map +1 -1
- package/lib/analyses/SwaggerExampleAnalyzer.d.ts +31 -0
- package/lib/analyses/SwaggerExampleAnalyzer.js +36 -0
- package/lib/analyses/SwaggerExampleAnalyzer.js.map +1 -0
- package/lib/analyses/TypedHttpRouteAnalyzer.d.ts +41 -3
- package/lib/analyses/TypedHttpRouteAnalyzer.js +196 -172
- package/lib/analyses/TypedHttpRouteAnalyzer.js.map +1 -1
- package/lib/analyses/TypedMcpRouteAnalyzer.d.ts +29 -0
- package/lib/analyses/TypedMcpRouteAnalyzer.js +152 -20
- package/lib/analyses/TypedMcpRouteAnalyzer.js.map +1 -1
- package/lib/analyses/TypedWebSocketRouteAnalyzer.d.ts +19 -0
- package/lib/analyses/TypedWebSocketRouteAnalyzer.js +20 -1
- package/lib/analyses/TypedWebSocketRouteAnalyzer.js.map +1 -1
- package/lib/decorators/OperationMetadata.d.ts +6 -0
- package/lib/decorators/OperationMetadata.js +6 -0
- package/lib/decorators/OperationMetadata.js.map +1 -1
- package/lib/executable/internal/CommandParser.d.ts +19 -0
- package/lib/executable/internal/CommandParser.js +19 -0
- package/lib/executable/internal/CommandParser.js.map +1 -1
- package/lib/executable/internal/NestiaConfigLoader.d.ts +56 -0
- package/lib/executable/internal/NestiaConfigLoader.js +48 -42
- package/lib/executable/internal/NestiaConfigLoader.js.map +1 -1
- package/lib/executable/internal/NestiaSdkCommand.d.ts +60 -0
- package/lib/executable/internal/NestiaSdkCommand.js +95 -3
- package/lib/executable/internal/NestiaSdkCommand.js.map +1 -1
- package/lib/executable/internal/NestiaSdkWatcher.d.ts +81 -0
- package/lib/executable/internal/NestiaSdkWatcher.js +125 -41
- package/lib/executable/internal/NestiaSdkWatcher.js.map +1 -1
- package/lib/executable/internal/NestiaSwaggerWatch.d.ts +80 -0
- package/lib/executable/internal/NestiaSwaggerWatch.js +308 -0
- package/lib/executable/internal/NestiaSwaggerWatch.js.map +1 -0
- package/lib/executable/sdk.js +16 -1
- package/lib/executable/sdk.js.map +1 -1
- package/lib/factories/ExpressionFactory.d.ts +18 -0
- package/lib/factories/ExpressionFactory.js +21 -2
- package/lib/factories/ExpressionFactory.js.map +1 -1
- package/lib/factories/IdentifierFactory.d.ts +24 -0
- package/lib/factories/IdentifierFactory.js +24 -0
- package/lib/factories/IdentifierFactory.js.map +1 -1
- package/lib/factories/LiteralFactory.d.ts +22 -4
- package/lib/factories/LiteralFactory.js +33 -11
- package/lib/factories/LiteralFactory.js.map +1 -1
- package/lib/factories/StatementFactory.d.ts +28 -1
- package/lib/factories/StatementFactory.js +28 -1
- package/lib/factories/StatementFactory.js.map +1 -1
- package/lib/factories/TypeFactory.d.ts +24 -0
- package/lib/factories/TypeFactory.js +15 -0
- package/lib/factories/TypeFactory.js.map +1 -1
- package/lib/generates/CloneGenerator.d.ts +22 -0
- package/lib/generates/CloneGenerator.js +26 -5
- package/lib/generates/CloneGenerator.js.map +1 -1
- package/lib/generates/E2eGenerator.d.ts +19 -0
- package/lib/generates/E2eGenerator.js +19 -0
- package/lib/generates/E2eGenerator.js.map +1 -1
- package/lib/generates/SdkGenerator.d.ts +38 -0
- package/lib/generates/SdkGenerator.js +43 -5
- package/lib/generates/SdkGenerator.js.map +1 -1
- package/lib/generates/SwaggerGenerator.d.ts +36 -6
- package/lib/generates/SwaggerGenerator.js +190 -40
- package/lib/generates/SwaggerGenerator.js.map +1 -1
- package/lib/generates/internal/E2eFileProgrammer.d.ts +19 -0
- package/lib/generates/internal/E2eFileProgrammer.js +20 -1
- package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
- package/lib/generates/internal/FilePrinter.d.ts +57 -0
- package/lib/generates/internal/FilePrinter.js +74 -0
- package/lib/generates/internal/FilePrinter.js.map +1 -1
- package/lib/generates/internal/ImportDictionary.d.ts +93 -1
- package/lib/generates/internal/ImportDictionary.js +103 -2
- package/lib/generates/internal/ImportDictionary.js.map +1 -1
- package/lib/generates/internal/SdkAliasCollection.d.ts +121 -1
- package/lib/generates/internal/SdkAliasCollection.js +132 -11
- package/lib/generates/internal/SdkAliasCollection.js.map +1 -1
- package/lib/generates/internal/SdkDistributionComposer.d.ts +19 -0
- package/lib/generates/internal/SdkDistributionComposer.js +149 -52
- package/lib/generates/internal/SdkDistributionComposer.js.map +1 -1
- package/lib/generates/internal/SdkFileProgrammer.d.ts +18 -0
- package/lib/generates/internal/SdkFileProgrammer.js +101 -12
- package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpCloneProgrammer.d.ts +29 -0
- package/lib/generates/internal/SdkHttpCloneProgrammer.js +33 -0
- package/lib/generates/internal/SdkHttpCloneProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpCloneReferencer.d.ts +19 -0
- package/lib/generates/internal/SdkHttpCloneReferencer.js +78 -25
- package/lib/generates/internal/SdkHttpCloneReferencer.js.map +1 -1
- package/lib/generates/internal/SdkHttpFunctionProgrammer.d.ts +19 -0
- package/lib/generates/internal/SdkHttpFunctionProgrammer.js +40 -23
- package/lib/generates/internal/SdkHttpFunctionProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpNamespaceProgrammer.d.ts +19 -0
- package/lib/generates/internal/SdkHttpNamespaceProgrammer.js +46 -34
- package/lib/generates/internal/SdkHttpNamespaceProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpParameterProgrammer.d.ts +142 -1
- package/lib/generates/internal/SdkHttpParameterProgrammer.js +175 -6
- package/lib/generates/internal/SdkHttpParameterProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpRouteProgrammer.d.ts +20 -0
- package/lib/generates/internal/SdkHttpRouteProgrammer.js +36 -32
- package/lib/generates/internal/SdkHttpRouteProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpSimulationProgrammer.d.ts +38 -0
- package/lib/generates/internal/SdkHttpSimulationProgrammer.js +66 -18
- package/lib/generates/internal/SdkHttpSimulationProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkImportWizard.d.ts +63 -0
- package/lib/generates/internal/SdkImportWizard.js +63 -0
- package/lib/generates/internal/SdkImportWizard.js.map +1 -1
- package/lib/generates/internal/SdkMcpRouteProgrammer.d.ts +17 -2
- package/lib/generates/internal/SdkMcpRouteProgrammer.js +72 -24
- package/lib/generates/internal/SdkMcpRouteProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkPathTemplate.d.ts +36 -0
- package/lib/generates/internal/SdkPathTemplate.js +65 -0
- package/lib/generates/internal/SdkPathTemplate.js.map +1 -0
- package/lib/generates/internal/SdkRouteDirectory.d.ts +10 -0
- package/lib/generates/internal/SdkRouteDirectory.js +10 -0
- package/lib/generates/internal/SdkRouteDirectory.js.map +1 -1
- package/lib/generates/internal/SdkTypeProgrammer.d.ts +54 -1
- package/lib/generates/internal/SdkTypeProgrammer.js +111 -27
- package/lib/generates/internal/SdkTypeProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkTypeTagProgrammer.d.ts +53 -1
- package/lib/generates/internal/SdkTypeTagProgrammer.js +407 -67
- package/lib/generates/internal/SdkTypeTagProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkWebSocketCloneProgrammer.d.ts +40 -0
- package/lib/generates/internal/SdkWebSocketCloneProgrammer.js +149 -142
- package/lib/generates/internal/SdkWebSocketCloneProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.d.ts +19 -0
- package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js +46 -36
- package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkWebSocketParameterProgrammer.d.ts +114 -1
- package/lib/generates/internal/SdkWebSocketParameterProgrammer.js +120 -5
- package/lib/generates/internal/SdkWebSocketParameterProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkWebSocketRouteProgrammer.d.ts +18 -0
- package/lib/generates/internal/SdkWebSocketRouteProgrammer.js +75 -33
- package/lib/generates/internal/SdkWebSocketRouteProgrammer.js.map +1 -1
- package/lib/generates/internal/SwaggerDescriptionComposer.d.ts +42 -0
- package/lib/generates/internal/SwaggerDescriptionComposer.js +44 -1
- package/lib/generates/internal/SwaggerDescriptionComposer.js.map +1 -1
- package/lib/generates/internal/SwaggerOperationComposer.d.ts +18 -0
- package/lib/generates/internal/SwaggerOperationComposer.js +37 -8
- package/lib/generates/internal/SwaggerOperationComposer.js.map +1 -1
- package/lib/generates/internal/SwaggerOperationParameterComposer.d.ts +40 -1
- package/lib/generates/internal/SwaggerOperationParameterComposer.js +230 -25
- package/lib/generates/internal/SwaggerOperationParameterComposer.js.map +1 -1
- package/lib/generates/internal/SwaggerOperationResponseComposer.d.ts +21 -0
- package/lib/generates/internal/SwaggerOperationResponseComposer.js +58 -7
- package/lib/generates/internal/SwaggerOperationResponseComposer.js.map +1 -1
- package/lib/internal/legacy.d.ts +342 -31
- package/lib/internal/legacy.js +207 -31
- package/lib/internal/legacy.js.map +1 -1
- package/lib/structures/INestiaProject.d.ts +10 -0
- package/lib/structures/INestiaSdkInput.d.ts +30 -0
- package/lib/structures/IOperationMetadata.d.ts +77 -0
- package/lib/structures/IReflectController.d.ts +10 -0
- package/lib/structures/IReflectHttpOperation.d.ts +10 -0
- package/lib/structures/IReflectHttpOperationException.d.ts +13 -2
- package/lib/structures/IReflectHttpOperationParameter.d.ts +55 -3
- package/lib/structures/IReflectHttpOperationSuccess.d.ts +15 -3
- package/lib/structures/IReflectImport.d.ts +10 -0
- package/lib/structures/IReflectMcpOperation.d.ts +19 -0
- package/lib/structures/IReflectMcpOperationParameter.d.ts +9 -0
- package/lib/structures/IReflectOperationError.d.ts +28 -0
- package/lib/structures/IReflectOperationError.js +22 -2
- package/lib/structures/IReflectOperationError.js.map +1 -1
- package/lib/structures/IReflectType.d.ts +9 -0
- package/lib/structures/IReflectWebSocketOperation.d.ts +10 -0
- package/lib/structures/IReflectWebSocketOperationParameter.d.ts +55 -0
- package/lib/structures/ITypedApplication.d.ts +10 -0
- package/lib/structures/ITypedHttpRoute.d.ts +18 -0
- package/lib/structures/ITypedHttpRouteException.d.ts +13 -1
- package/lib/structures/ITypedHttpRouteParameter.d.ts +48 -1
- package/lib/structures/ITypedHttpRouteSuccess.d.ts +13 -1
- package/lib/structures/ITypedMcpRoute.d.ts +11 -0
- package/lib/structures/ITypedWebSocketRoute.d.ts +18 -0
- package/lib/transform.d.ts +6 -0
- package/lib/transform.js +6 -0
- package/lib/transform.js.map +1 -1
- package/lib/utils/ArrayUtil.d.ts +31 -1
- package/lib/utils/ArrayUtil.js +32 -11
- package/lib/utils/ArrayUtil.js.map +1 -1
- package/lib/utils/EmittedJavaScriptPatcher.d.ts +20 -0
- package/lib/utils/EmittedJavaScriptPatcher.js +65 -46
- package/lib/utils/EmittedJavaScriptPatcher.js.map +1 -1
- package/lib/utils/FileRetriever.d.ts +29 -0
- package/lib/utils/FileRetriever.js +29 -0
- package/lib/utils/FileRetriever.js.map +1 -1
- package/lib/utils/HttpResponseContentTypeUtil.d.ts +41 -0
- package/lib/utils/HttpResponseContentTypeUtil.js +31 -0
- package/lib/utils/HttpResponseContentTypeUtil.js.map +1 -1
- package/lib/utils/MapUtil.d.ts +64 -1
- package/lib/utils/MapUtil.js +24 -3
- package/lib/utils/MapUtil.js.map +1 -1
- package/lib/utils/PathUtil.d.ts +31 -0
- package/lib/utils/PathUtil.js +38 -0
- package/lib/utils/PathUtil.js.map +1 -1
- package/lib/utils/SdkBundlePath.d.ts +2 -0
- package/lib/utils/SdkBundlePath.js +10 -0
- package/lib/utils/SdkBundlePath.js.map +1 -0
- package/lib/utils/SdkInputFilter.d.ts +31 -0
- package/lib/utils/SdkInputFilter.js +115 -0
- package/lib/utils/SdkInputFilter.js.map +1 -0
- package/lib/utils/SourceFinder.d.ts +45 -0
- package/lib/utils/SourceFinder.js +74 -16
- package/lib/utils/SourceFinder.js.map +1 -1
- package/lib/utils/StringUtil.d.ts +77 -2
- package/lib/utils/StringUtil.js +166 -4
- package/lib/utils/StringUtil.js.map +1 -1
- package/lib/utils/TemporaryDirectory.d.ts +60 -0
- package/lib/utils/TemporaryDirectory.js +112 -0
- package/lib/utils/TemporaryDirectory.js.map +1 -0
- package/lib/utils/TsConfigReader.d.ts +42 -0
- package/lib/utils/TsConfigReader.js +98 -14
- package/lib/utils/TsConfigReader.js.map +1 -1
- package/lib/utils/TtscExecutor.d.ts +23 -1
- package/lib/utils/TtscExecutor.js +22 -0
- package/lib/utils/TtscExecutor.js.map +1 -1
- package/lib/utils/VersioningStrategy.d.ts +39 -2
- package/lib/utils/VersioningStrategy.js +46 -13
- package/lib/utils/VersioningStrategy.js.map +1 -1
- package/lib/validators/TextPlainValidator.d.ts +19 -0
- package/lib/validators/TextPlainValidator.js +19 -0
- package/lib/validators/TextPlainValidator.js.map +1 -1
- package/native/go.mod +1 -1
- package/native/go.sum +2 -2
- package/native/sdk/register.go +12 -2
- package/native/sdk/sdk_http_rules.go +210 -0
- package/native/sdk/sdk_metadata_json.go +79 -4
- package/native/sdk/sdk_transform.go +1157 -414
- package/package.json +8 -6
- package/src/INestiaConfig.ts +74 -34
- package/src/NestiaSdkApplication.ts +129 -41
- package/src/NestiaSwaggerComposer.ts +32 -14
- package/src/analyses/AccessorAnalyzer.ts +26 -0
- package/src/analyses/ConfigAnalyzer.ts +52 -90
- package/src/analyses/ImportAnalyzer.ts +25 -0
- package/src/analyses/ParameterNameAnalyzer.ts +75 -0
- package/src/analyses/PathAnalyzer.ts +167 -23
- package/src/analyses/ReflectControllerAnalyzer.ts +34 -1
- package/src/analyses/ReflectHttpOperationAnalyzer.ts +36 -14
- package/src/analyses/ReflectHttpOperationExceptionAnalyzer.ts +31 -0
- package/src/analyses/ReflectHttpOperationParameterAnalyzer.ts +153 -39
- package/src/analyses/ReflectHttpOperationResponseAnalyzer.ts +38 -7
- package/src/analyses/ReflectMcpOperationAnalyzer.ts +38 -3
- package/src/analyses/ReflectMetadataAnalyzer.ts +47 -0
- package/src/analyses/ReflectWebSocketOperationAnalyzer.ts +40 -7
- package/src/analyses/SecurityAnalyzer.ts +45 -20
- package/src/analyses/SwaggerExampleAnalyzer.ts +39 -0
- package/src/analyses/TypedHttpRouteAnalyzer.ts +263 -198
- package/src/analyses/TypedMcpRouteAnalyzer.ts +180 -20
- package/src/analyses/TypedWebSocketRouteAnalyzer.ts +20 -0
- package/src/decorators/OperationMetadata.ts +6 -0
- package/src/executable/internal/CommandParser.ts +19 -0
- package/src/executable/internal/NestiaConfigLoader.ts +66 -50
- package/src/executable/internal/NestiaSdkCommand.ts +96 -3
- package/src/executable/internal/NestiaSdkWatcher.ts +172 -44
- package/src/executable/internal/NestiaSwaggerWatch.ts +359 -0
- package/src/executable/sdk.ts +24 -1
- package/src/factories/ExpressionFactory.ts +23 -2
- package/src/factories/IdentifierFactory.ts +24 -0
- package/src/factories/LiteralFactory.ts +51 -13
- package/src/factories/StatementFactory.ts +28 -1
- package/src/factories/TypeFactory.ts +24 -0
- package/src/generates/CloneGenerator.ts +26 -5
- package/src/generates/E2eGenerator.ts +19 -0
- package/src/generates/SdkGenerator.ts +43 -12
- package/src/generates/SwaggerGenerator.ts +229 -46
- package/src/generates/internal/E2eFileProgrammer.ts +20 -0
- package/src/generates/internal/FilePrinter.ts +71 -0
- package/src/generates/internal/ImportDictionary.ts +120 -2
- package/src/generates/internal/SdkAliasCollection.ts +144 -15
- package/src/generates/internal/SdkDistributionComposer.ts +181 -56
- package/src/generates/internal/SdkFileProgrammer.ts +126 -16
- package/src/generates/internal/SdkHttpCloneProgrammer.ts +55 -0
- package/src/generates/internal/SdkHttpCloneReferencer.ts +97 -23
- package/src/generates/internal/SdkHttpFunctionProgrammer.ts +47 -30
- package/src/generates/internal/SdkHttpNamespaceProgrammer.ts +53 -64
- package/src/generates/internal/SdkHttpParameterProgrammer.ts +295 -13
- package/src/generates/internal/SdkHttpRouteProgrammer.ts +37 -31
- package/src/generates/internal/SdkHttpSimulationProgrammer.ts +122 -18
- package/src/generates/internal/SdkImportWizard.ts +63 -0
- package/src/generates/internal/SdkMcpRouteProgrammer.ts +150 -33
- package/src/generates/internal/SdkPathTemplate.ts +88 -0
- package/src/generates/internal/SdkRouteDirectory.ts +10 -0
- package/src/generates/internal/SdkTypeProgrammer.ts +137 -36
- package/src/generates/internal/SdkTypeTagProgrammer.ts +536 -78
- package/src/generates/internal/SdkWebSocketCloneProgrammer.ts +185 -142
- package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +62 -68
- package/src/generates/internal/SdkWebSocketParameterProgrammer.ts +205 -5
- package/src/generates/internal/SdkWebSocketRouteProgrammer.ts +89 -48
- package/src/generates/internal/SwaggerDescriptionComposer.ts +47 -1
- package/src/generates/internal/SwaggerOperationComposer.ts +38 -6
- package/src/generates/internal/SwaggerOperationParameterComposer.ts +318 -36
- package/src/generates/internal/SwaggerOperationResponseComposer.ts +74 -11
- package/src/internal/legacy-augmentation.d.ts +16 -0
- package/src/internal/legacy.ts +407 -49
- package/src/structures/INestiaProject.ts +10 -0
- package/src/structures/INestiaSdkInput.ts +30 -0
- package/src/structures/IOperationMetadata.ts +83 -0
- package/src/structures/IReflectController.ts +10 -0
- package/src/structures/IReflectHttpOperation.ts +10 -0
- package/src/structures/IReflectHttpOperationException.ts +17 -2
- package/src/structures/IReflectHttpOperationParameter.ts +56 -2
- package/src/structures/IReflectHttpOperationSuccess.ts +19 -3
- package/src/structures/IReflectImport.ts +10 -0
- package/src/structures/IReflectMcpOperation.ts +19 -0
- package/src/structures/IReflectMcpOperationParameter.ts +9 -0
- package/src/structures/IReflectOperationError.ts +31 -2
- package/src/structures/IReflectType.ts +9 -0
- package/src/structures/IReflectWebSocketOperation.ts +10 -0
- package/src/structures/IReflectWebSocketOperationParameter.ts +55 -0
- package/src/structures/ITypedApplication.ts +10 -0
- package/src/structures/ITypedHttpRoute.ts +18 -0
- package/src/structures/ITypedHttpRouteException.ts +14 -1
- package/src/structures/ITypedHttpRouteParameter.ts +48 -1
- package/src/structures/ITypedHttpRouteSuccess.ts +14 -1
- package/src/structures/ITypedMcpRoute.ts +12 -0
- package/src/structures/ITypedWebSocketRoute.ts +18 -0
- package/src/transform.ts +6 -0
- package/src/utils/ArrayUtil.ts +32 -13
- package/src/utils/EmittedJavaScriptPatcher.ts +70 -47
- package/src/utils/FileRetriever.ts +29 -0
- package/src/utils/HttpResponseContentTypeUtil.ts +41 -0
- package/src/utils/MapUtil.ts +68 -3
- package/src/utils/PathUtil.ts +38 -0
- package/src/utils/SdkBundlePath.ts +11 -0
- package/src/utils/SdkInputFilter.ts +108 -0
- package/src/utils/SourceFinder.ts +76 -18
- package/src/utils/StringUtil.ts +182 -5
- package/src/utils/TemporaryDirectory.ts +108 -0
- package/src/utils/TsConfigReader.ts +124 -26
- package/src/utils/TtscExecutor.ts +23 -1
- package/src/utils/VersioningStrategy.ts +51 -16
- package/src/validators/TextPlainValidator.ts +19 -0
- package/lib/generates/internal/SwaggerReadonlyArrayEmender.d.ts +0 -9
- package/lib/generates/internal/SwaggerReadonlyArrayEmender.js +0 -178
- package/lib/generates/internal/SwaggerReadonlyArrayEmender.js.map +0 -1
- package/lib/validators/HttpHeadersValidator.d.ts +0 -11
- package/lib/validators/HttpHeadersValidator.js +0 -15
- package/lib/validators/HttpHeadersValidator.js.map +0 -1
- package/lib/validators/HttpQueryValidator.d.ts +0 -10
- package/lib/validators/HttpQueryValidator.js +0 -14
- package/lib/validators/HttpQueryValidator.js.map +0 -1
- package/src/generates/internal/SwaggerReadonlyArrayEmender.ts +0 -264
- package/src/validators/HttpHeadersValidator.ts +0 -12
- package/src/validators/HttpQueryValidator.ts +0 -11
|
@@ -3,86 +3,426 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.SdkTypeTagProgrammer = void 0;
|
|
4
4
|
const factory_1 = require("@ttsc/factory");
|
|
5
5
|
const LiteralFactory_1 = require("../../factories/LiteralFactory");
|
|
6
|
+
const legacy_1 = require("../../internal/legacy");
|
|
7
|
+
/**
|
|
8
|
+
* Writes the type tags of a cloned DTO.
|
|
9
|
+
*
|
|
10
|
+
* @evidence contracts/common.md#principled-implementation Supported predefined tags require matching arguments and encoded validation, exclusivity and schema expansions; other tags are emitted from the metadata fields as tags.TagBase.
|
|
11
|
+
* @evidence contracts/common.md#clear-and-simple-design Two public functions over a table of predefined tags.
|
|
12
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts The choice is decided by the expansion.
|
|
13
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
|
|
14
|
+
* @evidenceExclude contracts/portability.md#os-neutral-implementation SdkTypeTagProgrammer composes SDK syntax, identifiers or import bindings; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
|
|
15
|
+
*/
|
|
6
16
|
var SdkTypeTagProgrammer;
|
|
7
17
|
(function (SdkTypeTagProgrammer) {
|
|
18
|
+
/**
|
|
19
|
+
* Writes a type tag of a cloned DTO.
|
|
20
|
+
*
|
|
21
|
+
* A tag prints as the predefined typia tag it matches, `tags.Minimum<3>`,
|
|
22
|
+
* only when that tag accepts the argument and, given it, expands to exactly
|
|
23
|
+
* the tag the metadata carries; then the two are the same type. Anything else
|
|
24
|
+
* prints in the generic `tags.TagBase<{ ... }>` form using the native
|
|
25
|
+
* metadata's reported fields. This cannot recover source details absent from
|
|
26
|
+
* that metadata or composite values changed by JSON encoding.
|
|
27
|
+
*
|
|
28
|
+
* The tag's name cannot decide it. The SDK names a tag after its object type
|
|
29
|
+
* with the brackets and quotes a component name drops, `Minimum3` or
|
|
30
|
+
* `Formatuuid`, so a name no longer tells `tags.Minimum<3>` from a user's own
|
|
31
|
+
* tag named alike (#1662). The expansion can: it is typia's declaration of
|
|
32
|
+
* each predefined tag, and should typia change one, the tag only falls back
|
|
33
|
+
* to the `TagBase` form.
|
|
34
|
+
*
|
|
35
|
+
* @evidence contracts/common.md#principled-implementation A tag prints as the predefined tag it matches only when that tag expands to exactly the tag the metadata carries.
|
|
36
|
+
* @evidence contracts/common.md#clear-and-simple-design One function.
|
|
37
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Generic tags retain the reported value, validation, exclusivity and schema fields; NaN has no literal type and is represented as null. Source details absent from native metadata are not claimed to be reconstructed.
|
|
38
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
|
|
39
|
+
* @evidenceExclude contracts/portability.md#os-neutral-implementation SdkTypeTagProgrammer.write composes SDK syntax, identifiers or import bindings; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
|
|
40
|
+
*/
|
|
8
41
|
SdkTypeTagProgrammer.write = (importer, from, tag) => {
|
|
9
42
|
var _a;
|
|
10
|
-
const
|
|
11
|
-
if (
|
|
12
|
-
return
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
type: "element",
|
|
16
|
-
name: "tags",
|
|
17
|
-
})), factory_1.factory.createIdentifier(name)), [factory_1.factory.createLiteralTypeNode(LiteralFactory_1.LiteralFactory.write(tag.value))]);
|
|
18
|
-
return factory_1.factory.createTypeReferenceNode(factory_1.factory.createQualifiedName(factory_1.factory.createIdentifier(importer.external({
|
|
19
|
-
declaration: true,
|
|
20
|
-
file: `typia`,
|
|
21
|
-
type: "element",
|
|
22
|
-
name: "tags",
|
|
23
|
-
})), factory_1.factory.createIdentifier("TagBase")), [
|
|
43
|
+
const predefined = (_a = comment(from, tag)) !== null && _a !== void 0 ? _a : recognize(from, tag);
|
|
44
|
+
if (predefined !== null)
|
|
45
|
+
return SdkTypeTagProgrammer.writePredefined(importer, predefined.name, predefined.argument);
|
|
46
|
+
const value = (0, legacy_1.decodeTagValue)(tag);
|
|
47
|
+
return factory_1.factory.createTypeReferenceNode(factory_1.factory.createQualifiedName(factory_1.factory.createIdentifier(tagsOf(importer)), factory_1.factory.createIdentifier("TagBase")), [
|
|
24
48
|
factory_1.factory.createLiteralTypeNode(LiteralFactory_1.LiteralFactory.write({
|
|
25
49
|
target: from,
|
|
26
50
|
kind: tag.kind,
|
|
27
|
-
value:
|
|
51
|
+
value: Number.isNaN(value) ? null : value,
|
|
28
52
|
validate: tag.validate,
|
|
29
53
|
exclusive: tag.exclusive,
|
|
30
54
|
schema: tag.schema,
|
|
31
55
|
})),
|
|
32
56
|
]);
|
|
33
57
|
};
|
|
58
|
+
/**
|
|
59
|
+
* Writes the predefined typia tag `tags.<name><argument>`.
|
|
60
|
+
*
|
|
61
|
+
* @evidence contracts/common.md#principled-implementation The name and argument were decided by the matching.
|
|
62
|
+
* @evidence contracts/common.md#clear-and-simple-design One node.
|
|
63
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts The argument is written as a literal.
|
|
64
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
|
|
65
|
+
* @evidenceExclude contracts/portability.md#os-neutral-implementation SdkTypeTagProgrammer.writePredefined composes SDK syntax, identifiers or import bindings; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
|
|
66
|
+
*/
|
|
67
|
+
SdkTypeTagProgrammer.writePredefined = (importer, name, argument) => factory_1.factory.createTypeReferenceNode(factory_1.factory.createQualifiedName(factory_1.factory.createIdentifier(tagsOf(importer)), factory_1.factory.createIdentifier(name)), [factory_1.factory.createLiteralTypeNode(LiteralFactory_1.LiteralFactory.write(argument))]);
|
|
68
|
+
const tagsOf = (importer) => importer.external({
|
|
69
|
+
declaration: true,
|
|
70
|
+
file: `typia`,
|
|
71
|
+
type: "element",
|
|
72
|
+
name: "tags",
|
|
73
|
+
});
|
|
34
74
|
})(SdkTypeTagProgrammer || (exports.SdkTypeTagProgrammer = SdkTypeTagProgrammer = {}));
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
])
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
75
|
+
/**
|
|
76
|
+
* The predefined tag a JSDoc comment tag stands for.
|
|
77
|
+
*
|
|
78
|
+
* Typia names a comment tag, `@format uri`, after that tag with its brackets,
|
|
79
|
+
* `Format<"uri">`, while a type tag's name has none, as the SDK's component
|
|
80
|
+
* names drop them. The source has no type tag to equal, and a comment tag may
|
|
81
|
+
* validate its own way, such as a format's inlined expression, so it prints as
|
|
82
|
+
* the tag the comment names whenever the argument suits the tagged type.
|
|
83
|
+
*/
|
|
84
|
+
const comment = (from, tag) => {
|
|
85
|
+
if (tag.name.includes("<") === false)
|
|
86
|
+
return null;
|
|
87
|
+
const definition = DEFINITIONS[tag.kind];
|
|
88
|
+
if (definition === undefined || tag.name.split("<")[0] !== definition.name)
|
|
89
|
+
return null;
|
|
90
|
+
const argument = argumentOf(definition, tag);
|
|
91
|
+
return argument !== undefined && definition.expand(from, argument) !== null
|
|
92
|
+
? { name: definition.name, argument }
|
|
93
|
+
: null;
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* The typia tag the metadata's type tag is, with the argument that makes it, or
|
|
97
|
+
* `null` when no predefined tag expands to it exactly.
|
|
98
|
+
*/
|
|
99
|
+
const recognize = (from, tag) => {
|
|
100
|
+
const definition = DEFINITIONS[tag.kind];
|
|
101
|
+
if (definition === undefined)
|
|
102
|
+
return null;
|
|
103
|
+
const argument = argumentOf(definition, tag);
|
|
104
|
+
if (argument === undefined)
|
|
105
|
+
return null;
|
|
106
|
+
const expected = definition.expand(from, argument);
|
|
107
|
+
if (expected === null)
|
|
108
|
+
return null;
|
|
109
|
+
// the metadata holds the schema as JSON holds it
|
|
110
|
+
return equals(expected.validate, tag.validate) &&
|
|
111
|
+
equals(expected.exclusive, tag.exclusive) &&
|
|
112
|
+
equals(json(expected.schema), tag.schema)
|
|
113
|
+
? { name: definition.name, argument }
|
|
114
|
+
: null;
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* The type argument a tag was written with: its value, or, for a tag whose
|
|
118
|
+
* value is no literal, the schema member holding it. NaN has no literal type to
|
|
119
|
+
* write, so it gives none.
|
|
120
|
+
*/
|
|
121
|
+
const argumentOf = (definition, tag) => {
|
|
122
|
+
var _a;
|
|
123
|
+
const value = (0, legacy_1.decodeTagValue)(tag);
|
|
124
|
+
const argument = value === null || value === undefined
|
|
125
|
+
? (_a = definition.fallback) === null || _a === void 0 ? void 0 : _a.call(definition, tag.schema)
|
|
126
|
+
: value;
|
|
127
|
+
return Number.isNaN(argument) ? undefined : argument;
|
|
128
|
+
};
|
|
129
|
+
/** `${Value}` of a numeric type argument, as a TypeScript template prints it. */
|
|
130
|
+
const numeral = (value) => typeof value === "bigint" ? `BigInt(${value})` : String(value);
|
|
131
|
+
const isNumeric = (value) => typeof value === "number" || typeof value === "bigint";
|
|
132
|
+
/**
|
|
133
|
+
* A value as JSON holds it: a bigint as its number, as typia's `Numeric<Value>`
|
|
134
|
+
* does, and a non-finite number as null, as `JSON.stringify` writes it.
|
|
135
|
+
*/
|
|
136
|
+
const json = (value) => typeof value === "bigint"
|
|
137
|
+
? Number(value)
|
|
138
|
+
: typeof value === "number" && Number.isFinite(value) === false
|
|
139
|
+
? null
|
|
140
|
+
: Array.isArray(value)
|
|
141
|
+
? value.map(json)
|
|
142
|
+
: typeof value === "object" && value !== null
|
|
143
|
+
? Object.fromEntries(Object.entries(value).map(([key, v]) => [key, json(v)]))
|
|
144
|
+
: value;
|
|
145
|
+
const bound = (kind, exclusive, validate) => (from, argument) => isNumeric(argument) &&
|
|
146
|
+
from === (typeof argument === "bigint" ? "bigint" : "number")
|
|
147
|
+
? {
|
|
148
|
+
validate: validate(numeral(argument)),
|
|
149
|
+
exclusive,
|
|
150
|
+
schema: { [kind]: json(argument) },
|
|
151
|
+
}
|
|
152
|
+
: null;
|
|
153
|
+
const TYPE_VALIDATE = {
|
|
154
|
+
int8: `$importInternal("isTypeInt8")($input)`,
|
|
155
|
+
uint8: `$importInternal("isTypeUint8")($input)`,
|
|
156
|
+
int16: `$importInternal("isTypeInt16")($input)`,
|
|
157
|
+
uint16: `$importInternal("isTypeUint16")($input)`,
|
|
158
|
+
int32: `$importInternal("isTypeInt32")($input)`,
|
|
159
|
+
uint32: `$importInternal("isTypeUint32")($input)`,
|
|
160
|
+
int64: {
|
|
161
|
+
number: `$importInternal("isTypeInt64")($input)`,
|
|
162
|
+
bigint: `$importInternal("isTypeInt64Bigint")($input)`,
|
|
163
|
+
},
|
|
164
|
+
uint64: {
|
|
165
|
+
number: `$importInternal("isTypeUint64")($input)`,
|
|
166
|
+
bigint: `$importInternal("isTypeUint64Bigint")($input)`,
|
|
167
|
+
},
|
|
168
|
+
float: `$importInternal("isTypeFloat")($input)`,
|
|
169
|
+
double: `true`,
|
|
170
|
+
};
|
|
171
|
+
/** `Format.Value` of typia's `Format` tag. */
|
|
172
|
+
const FORMATS = new Set([
|
|
173
|
+
"byte",
|
|
174
|
+
"password",
|
|
175
|
+
"regex",
|
|
176
|
+
"uuid",
|
|
177
|
+
"email",
|
|
178
|
+
"hostname",
|
|
179
|
+
"idn-email",
|
|
180
|
+
"idn-hostname",
|
|
181
|
+
"iri",
|
|
182
|
+
"iri-reference",
|
|
183
|
+
"ipv4",
|
|
184
|
+
"ipv6",
|
|
185
|
+
"uri",
|
|
186
|
+
"uri-reference",
|
|
187
|
+
"uri-template",
|
|
188
|
+
"url",
|
|
189
|
+
"date-time",
|
|
190
|
+
"date",
|
|
191
|
+
"time",
|
|
192
|
+
"duration",
|
|
193
|
+
"json-pointer",
|
|
194
|
+
"relative-json-pointer",
|
|
195
|
+
]);
|
|
196
|
+
/** `DefaultAtomic` of typia's `Default` tag. */
|
|
197
|
+
const isDefaultAtomic = (value) => typeof value === "boolean" ||
|
|
198
|
+
typeof value === "bigint" ||
|
|
199
|
+
typeof value === "number" ||
|
|
200
|
+
typeof value === "string";
|
|
201
|
+
/** `PascalizeString` of typia's `Format` tag: `date-time` as `DateTime`. */
|
|
202
|
+
const pascalize = (value) => value.includes("-")
|
|
203
|
+
? value
|
|
204
|
+
.split("-")
|
|
205
|
+
.filter((word) => word.length !== 0)
|
|
206
|
+
.map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
|
|
207
|
+
.join("")
|
|
208
|
+
: value.charAt(0).toUpperCase() + value.slice(1);
|
|
209
|
+
/** `Serialize` of typia's `Pattern` tag, escaping as a string literal. */
|
|
210
|
+
const serialize = (value) => value.replace(/["\\\b\f\n\r\t]/g, (char) => ({
|
|
211
|
+
'"': '\\"',
|
|
212
|
+
"\\": "\\\\",
|
|
213
|
+
"\b": "\\b",
|
|
214
|
+
"\f": "\\f",
|
|
215
|
+
"\n": "\\n",
|
|
216
|
+
"\r": "\\r",
|
|
217
|
+
"\t": "\\t",
|
|
218
|
+
})[char]);
|
|
219
|
+
/** Supported predefined typia tag expansions, keyed by their metadata kind. */
|
|
220
|
+
const DEFINITIONS = {
|
|
221
|
+
minimum: {
|
|
222
|
+
name: "Minimum",
|
|
223
|
+
expand: bound("minimum", ["minimum", "exclusiveMinimum"], (v) => `${v} <= $input`),
|
|
224
|
+
},
|
|
225
|
+
maximum: {
|
|
226
|
+
name: "Maximum",
|
|
227
|
+
expand: bound("maximum", ["maximum", "exclusiveMaximum"], (v) => `$input <= ${v}`),
|
|
228
|
+
},
|
|
229
|
+
exclusiveMinimum: {
|
|
230
|
+
name: "ExclusiveMinimum",
|
|
231
|
+
expand: bound("exclusiveMinimum", ["exclusiveMinimum", "minimum"], (v) => `${v} < $input`),
|
|
232
|
+
},
|
|
233
|
+
exclusiveMaximum: {
|
|
234
|
+
name: "ExclusiveMaximum",
|
|
235
|
+
expand: bound("exclusiveMaximum", ["exclusiveMaximum", "maximum"], (v) => `$input < ${v}`),
|
|
236
|
+
},
|
|
237
|
+
multipleOf: {
|
|
238
|
+
name: "MultipleOf",
|
|
239
|
+
expand: (from, argument) => isNumeric(argument) &&
|
|
240
|
+
from === (typeof argument === "bigint" ? "bigint" : "number")
|
|
241
|
+
? {
|
|
242
|
+
validate: typeof argument === "bigint"
|
|
243
|
+
? `$input % ${numeral(argument)} === ${numeral(BigInt(0))}`
|
|
244
|
+
: `$importInternal("_isMultipleOf")($input, ${argument})`,
|
|
245
|
+
exclusive: true,
|
|
246
|
+
schema: { multipleOf: json(argument) },
|
|
247
|
+
}
|
|
248
|
+
: null,
|
|
249
|
+
},
|
|
250
|
+
type: {
|
|
251
|
+
name: "Type",
|
|
252
|
+
expand: (from, argument) => {
|
|
253
|
+
if (typeof argument !== "string")
|
|
254
|
+
return null;
|
|
255
|
+
const validate = TYPE_VALIDATE[argument];
|
|
256
|
+
if (validate === undefined)
|
|
257
|
+
return null;
|
|
258
|
+
const wide = argument === "int64" || argument === "uint64";
|
|
259
|
+
if (from !== "number" && (wide === false || from !== "bigint"))
|
|
260
|
+
return null;
|
|
261
|
+
return {
|
|
262
|
+
validate: typeof validate === "string" ? validate : validate[from],
|
|
263
|
+
exclusive: true,
|
|
264
|
+
schema: argument.startsWith("uint")
|
|
265
|
+
? { type: "integer", minimum: 0 }
|
|
266
|
+
: { type: argument.startsWith("int") ? "integer" : "number" },
|
|
267
|
+
};
|
|
268
|
+
},
|
|
269
|
+
},
|
|
270
|
+
format: {
|
|
271
|
+
name: "Format",
|
|
272
|
+
expand: (from, argument) => from === "string" && typeof argument === "string" && FORMATS.has(argument)
|
|
273
|
+
? {
|
|
274
|
+
validate: `$importInternal("isFormat${pascalize(argument)}")($input)`,
|
|
275
|
+
exclusive: ["format", "pattern"],
|
|
276
|
+
schema: { format: argument },
|
|
277
|
+
}
|
|
278
|
+
: null,
|
|
279
|
+
},
|
|
280
|
+
pattern: {
|
|
281
|
+
name: "Pattern",
|
|
282
|
+
expand: (from, argument) => from === "string" && typeof argument === "string"
|
|
283
|
+
? {
|
|
284
|
+
validate: `RegExp("${serialize(argument)}").test($input)`,
|
|
285
|
+
exclusive: ["format", "pattern"],
|
|
286
|
+
schema: { pattern: argument },
|
|
287
|
+
}
|
|
288
|
+
: null,
|
|
289
|
+
},
|
|
290
|
+
minLength: {
|
|
291
|
+
name: "MinLength",
|
|
292
|
+
expand: (from, argument) => from === "string" && typeof argument === "number"
|
|
293
|
+
? {
|
|
294
|
+
validate: `$importInternal("_stringLengthGte")($input, ${argument})`,
|
|
295
|
+
exclusive: true,
|
|
296
|
+
schema: { minLength: argument },
|
|
297
|
+
}
|
|
298
|
+
: null,
|
|
299
|
+
},
|
|
300
|
+
maxLength: {
|
|
301
|
+
name: "MaxLength",
|
|
302
|
+
expand: (from, argument) => from === "string" && typeof argument === "number"
|
|
303
|
+
? {
|
|
304
|
+
validate: `$importInternal("_stringLengthLte")($input, ${argument})`,
|
|
305
|
+
exclusive: true,
|
|
306
|
+
schema: { maxLength: argument },
|
|
307
|
+
}
|
|
308
|
+
: null,
|
|
309
|
+
},
|
|
310
|
+
minItems: {
|
|
311
|
+
name: "MinItems",
|
|
312
|
+
expand: (from, argument) => from === "array" && typeof argument === "number"
|
|
313
|
+
? {
|
|
314
|
+
validate: `${argument} <= $input.length`,
|
|
315
|
+
exclusive: true,
|
|
316
|
+
schema: { minItems: argument },
|
|
317
|
+
}
|
|
318
|
+
: null,
|
|
319
|
+
},
|
|
320
|
+
maxItems: {
|
|
321
|
+
name: "MaxItems",
|
|
322
|
+
expand: (from, argument) => from === "array" && typeof argument === "number"
|
|
323
|
+
? {
|
|
324
|
+
validate: `$input.length <= ${argument}`,
|
|
325
|
+
exclusive: true,
|
|
326
|
+
schema: { maxItems: argument },
|
|
327
|
+
}
|
|
328
|
+
: null,
|
|
329
|
+
},
|
|
330
|
+
uniqueItems: {
|
|
331
|
+
name: "UniqueItems",
|
|
332
|
+
expand: (from, argument) => from === "array" && typeof argument === "boolean"
|
|
333
|
+
? {
|
|
334
|
+
validate: argument
|
|
335
|
+
? `$importInternal("isUniqueItems")($input)`
|
|
336
|
+
: undefined,
|
|
337
|
+
exclusive: true,
|
|
338
|
+
schema: { uniqueItems: true },
|
|
339
|
+
}
|
|
340
|
+
: null,
|
|
341
|
+
},
|
|
342
|
+
contentMediaType: {
|
|
343
|
+
name: "ContentMediaType",
|
|
344
|
+
expand: (from, argument) => from === "string" && typeof argument === "string"
|
|
345
|
+
? {
|
|
346
|
+
validate: undefined,
|
|
347
|
+
exclusive: false,
|
|
348
|
+
schema: { contentMediaType: argument },
|
|
349
|
+
}
|
|
350
|
+
: null,
|
|
351
|
+
fallback: (schema) => schema === null || schema === void 0 ? void 0 : schema.contentMediaType,
|
|
352
|
+
},
|
|
353
|
+
default: {
|
|
354
|
+
name: "Default",
|
|
355
|
+
expand: (from, argument) => from ===
|
|
356
|
+
(Array.isArray(argument)
|
|
357
|
+
? argument.every(isDefaultAtomic)
|
|
358
|
+
? "array"
|
|
359
|
+
: null
|
|
360
|
+
: typeof argument === "boolean"
|
|
361
|
+
? "boolean"
|
|
362
|
+
: typeof argument === "bigint"
|
|
363
|
+
? "bigint"
|
|
364
|
+
: typeof argument === "number"
|
|
365
|
+
? "number"
|
|
366
|
+
: typeof argument === "string"
|
|
367
|
+
? "string"
|
|
368
|
+
: null)
|
|
369
|
+
? {
|
|
370
|
+
validate: undefined,
|
|
371
|
+
exclusive: true,
|
|
372
|
+
schema: { default: json(argument) },
|
|
373
|
+
}
|
|
374
|
+
: null,
|
|
375
|
+
fallback: (schema) => schema === null || schema === void 0 ? void 0 : schema.default,
|
|
376
|
+
},
|
|
377
|
+
example: {
|
|
378
|
+
name: "Example",
|
|
379
|
+
expand: (_from, argument) => ({
|
|
380
|
+
validate: undefined,
|
|
381
|
+
exclusive: true,
|
|
382
|
+
schema: {
|
|
383
|
+
example: typeof argument === "bigint" ? Number(argument) : argument,
|
|
384
|
+
},
|
|
385
|
+
}),
|
|
386
|
+
fallback: (schema) => schema === null || schema === void 0 ? void 0 : schema.example,
|
|
387
|
+
},
|
|
388
|
+
examples: {
|
|
389
|
+
name: "Examples",
|
|
390
|
+
expand: (_from, argument) => typeof argument === "object" &&
|
|
391
|
+
argument !== null &&
|
|
392
|
+
Array.isArray(argument) === false &&
|
|
393
|
+
Object.values(argument).every((value) => value !== undefined)
|
|
394
|
+
? {
|
|
395
|
+
validate: undefined,
|
|
396
|
+
exclusive: true,
|
|
397
|
+
schema: { examples: argument },
|
|
398
|
+
}
|
|
399
|
+
: null,
|
|
400
|
+
fallback: (schema) => schema === null || schema === void 0 ? void 0 : schema.examples,
|
|
401
|
+
},
|
|
402
|
+
sequence: {
|
|
403
|
+
name: "Sequence",
|
|
404
|
+
expand: (_from, argument) => typeof argument === "number"
|
|
405
|
+
? {
|
|
406
|
+
validate: undefined,
|
|
407
|
+
exclusive: false,
|
|
408
|
+
schema: { "x-protobuf-sequence": argument },
|
|
409
|
+
}
|
|
410
|
+
: null,
|
|
411
|
+
},
|
|
412
|
+
};
|
|
413
|
+
/** Structural equality of metadata values, which hold bigints. */
|
|
414
|
+
const equals = (x, y) => {
|
|
415
|
+
if (x === y)
|
|
416
|
+
return true;
|
|
417
|
+
if (typeof x !== "object" || typeof y !== "object")
|
|
418
|
+
return false;
|
|
419
|
+
if (x === null || y === null)
|
|
420
|
+
return false;
|
|
421
|
+
if (Array.isArray(x) !== Array.isArray(y))
|
|
422
|
+
return false;
|
|
423
|
+
const xKeys = Object.keys(x).filter((key) => x[key] !== undefined);
|
|
424
|
+
const yKeys = Object.keys(y).filter((key) => y[key] !== undefined);
|
|
425
|
+
return (xKeys.length === yKeys.length &&
|
|
426
|
+
xKeys.every((key) => equals(x[key], y[key])));
|
|
66
427
|
};
|
|
67
|
-
// export * from "./Constant";
|
|
68
|
-
// export * from "./ContentMediaType";
|
|
69
|
-
// export * from "./Default";
|
|
70
|
-
// export * from "./Example";
|
|
71
|
-
// export * from "./Examples";
|
|
72
|
-
// export * from "./ExclusiveMaximum";
|
|
73
|
-
// export * from "./ExclusiveMinimum";
|
|
74
|
-
// export * from "./Format";
|
|
75
|
-
// export * from "./JsonSchemaPlugin";
|
|
76
|
-
// export * from "./Maximum";
|
|
77
|
-
// export * from "./MaxItems";
|
|
78
|
-
// export * from "./MaxLength";
|
|
79
|
-
// export * from "./Minimum";
|
|
80
|
-
// export * from "./MinItems";
|
|
81
|
-
// export * from "./MinLength";
|
|
82
|
-
// export * from "./MultipleOf";
|
|
83
|
-
// export * from "./Pattern";
|
|
84
|
-
// export * from "./Sequence";
|
|
85
|
-
// export * from "./TagBase";
|
|
86
|
-
// export * from "./Type";
|
|
87
|
-
// export * from "./UniqueItems";
|
|
88
428
|
//# sourceMappingURL=SdkTypeTagProgrammer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SdkTypeTagProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkTypeTagProgrammer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SdkTypeTagProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkTypeTagProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,46 @@
|
|
|
1
1
|
import { ITypedApplication } from "../../structures/ITypedApplication";
|
|
2
|
+
/**
|
|
3
|
+
* Copies the declarations a WebSocket route's types come from into the
|
|
4
|
+
* `structures` directory.
|
|
5
|
+
*
|
|
6
|
+
* @evidence contracts/common.md#principled-implementation A WebSocket route refers to types by import, so the declaration and the declarations it uses are copied as text from the source files, not rebuilt from metadata.
|
|
7
|
+
* @evidence contracts/common.md#clear-and-simple-design One public function with syntax-tree helpers for declarations and imports.
|
|
8
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts The TypeScript syntax parser determines declaration and import boundaries, including automatic semicolon insertion; a package file or a name declared differently in two files is never copied.
|
|
9
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
|
|
10
|
+
* @evidence contracts/portability.md#os-neutral-implementation Source candidates use Node path.resolve/join and fs.stat/readFile; outputs use recursive mkdir and UTF-8 writes. Retained relative imports are rebased with native path.relative and rendered with module separators; cross-volume absolute paths remain absolute. Supported source candidates currently include .ts/.tsx/.d.ts rather than .mts/.cts.
|
|
11
|
+
*/
|
|
2
12
|
export declare namespace SdkWebSocketCloneProgrammer {
|
|
13
|
+
/**
|
|
14
|
+
* Copies named project-local declarations imported by WebSocket routes, and
|
|
15
|
+
* returns the identities successfully cloned. Default and namespace imports
|
|
16
|
+
* remain source imports; a missing source or conflicting output name is not
|
|
17
|
+
* reported as cloned.
|
|
18
|
+
*
|
|
19
|
+
* @evidence contracts/common.md#principled-implementation Named imports are followed by resolved source/name identity; pending entries break recursive dependency cycles, written entries reuse completed copies, and missing or conflicting declarations return false. External, default and namespace bindings remain imports rather than reconstructed declarations.
|
|
20
|
+
* @evidence contracts/common.md#clear-and-simple-design One loop over the routes' imports.
|
|
21
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts Only the imports that resolved to a source file are reported.
|
|
22
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
|
|
23
|
+
* @evidence contracts/portability.md#os-neutral-implementation Source lookup uses native fs.stat and path operations and rejects dependency paths by a node_modules component. The output uses the configured native directory; cache keys retain resolved pathname spelling rather than claiming canonical case or symlink identity.
|
|
24
|
+
*/
|
|
3
25
|
const write: (app: ITypedApplication) => Promise<Set<string>>;
|
|
26
|
+
/**
|
|
27
|
+
* Returns the key of an import: its file and name.
|
|
28
|
+
*
|
|
29
|
+
* @evidence contracts/common.md#principled-implementation The pair identifies one imported declaration.
|
|
30
|
+
* @evidence contracts/common.md#clear-and-simple-design One template.
|
|
31
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts The key is the same wherever it is built.
|
|
32
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
|
|
33
|
+
* @evidenceExclude contracts/portability.md#os-neutral-implementation importKey combines the supplied source identity and declaration name without opening a path or resolving filesystem identity; its caller owns source resolution.
|
|
34
|
+
*/
|
|
4
35
|
const importKey: (file: string, name: string) => string;
|
|
36
|
+
/**
|
|
37
|
+
* Reports whether a path lies under a `node_modules` directory.
|
|
38
|
+
*
|
|
39
|
+
* @evidence contracts/common.md#principled-implementation The path is resolved and split on both separators, so it holds on every platform.
|
|
40
|
+
* @evidence contracts/common.md#clear-and-simple-design One expression.
|
|
41
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts A package's declaration is never copied.
|
|
42
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states what the declaration produces and its result.
|
|
43
|
+
* @evidence contracts/portability.md#os-neutral-implementation path.resolve produces a native absolute spelling and splitting accepts both native separator forms. The literal node_modules component classifies installation layout; it does not inspect symlink targets or assert a volume's case equivalence.
|
|
44
|
+
*/
|
|
5
45
|
const isNodeModulesPath: (file: string) => boolean;
|
|
6
46
|
}
|