@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
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { MetadataFactory } from "../internal/legacy";
|
|
2
|
-
/**
|
|
3
|
-
* Validator slot reserved for `@TypedHeaders` per-field SDK-side checks.
|
|
4
|
-
* Returns `[]` because the typia native transform already enforces the
|
|
5
|
-
* "atomic-or-array-of-atomic" constraint at compile time, and
|
|
6
|
-
* `MetadataFactory.validate` — the only call site — is itself a passthrough on
|
|
7
|
-
* the v13 runtime.
|
|
8
|
-
*/
|
|
9
|
-
export declare namespace HttpHeadersValidator {
|
|
10
|
-
const validate: MetadataFactory.Validator;
|
|
11
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HttpHeadersValidator = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Validator slot reserved for `@TypedHeaders` per-field SDK-side checks.
|
|
6
|
-
* Returns `[]` because the typia native transform already enforces the
|
|
7
|
-
* "atomic-or-array-of-atomic" constraint at compile time, and
|
|
8
|
-
* `MetadataFactory.validate` — the only call site — is itself a passthrough on
|
|
9
|
-
* the v13 runtime.
|
|
10
|
-
*/
|
|
11
|
-
var HttpHeadersValidator;
|
|
12
|
-
(function (HttpHeadersValidator) {
|
|
13
|
-
HttpHeadersValidator.validate = () => [];
|
|
14
|
-
})(HttpHeadersValidator || (exports.HttpHeadersValidator = HttpHeadersValidator = {}));
|
|
15
|
-
//# sourceMappingURL=HttpHeadersValidator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HttpHeadersValidator.js","sourceRoot":"","sources":["../../src/validators/HttpHeadersValidator.ts"],"names":[],"mappings":";;;AAEA;;;;;;GAMG;AACH,IAAiB,oBAAoB,CAEpC;AAFD,WAAiB,oBAAoB;IACtB,6BAAQ,GAA8B,GAAG,EAAE,CAAC,EAAE,CAAC;AAC9D,CAAC,EAFgB,oBAAoB,aAApB,oBAAoB,GAApB,oBAAoB,QAEpC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { MetadataFactory } from "../internal/legacy";
|
|
2
|
-
/**
|
|
3
|
-
* Validator slot reserved for `@TypedQuery` per-field SDK-side checks. Returns
|
|
4
|
-
* `[]` because the typia native transform already enforces the atomic-only
|
|
5
|
-
* constraint at compile time, and `MetadataFactory.validate` — the only call
|
|
6
|
-
* site — is itself a passthrough on the v13 runtime.
|
|
7
|
-
*/
|
|
8
|
-
export declare namespace HttpQueryValidator {
|
|
9
|
-
const validate: MetadataFactory.Validator;
|
|
10
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HttpQueryValidator = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Validator slot reserved for `@TypedQuery` per-field SDK-side checks. Returns
|
|
6
|
-
* `[]` because the typia native transform already enforces the atomic-only
|
|
7
|
-
* constraint at compile time, and `MetadataFactory.validate` — the only call
|
|
8
|
-
* site — is itself a passthrough on the v13 runtime.
|
|
9
|
-
*/
|
|
10
|
-
var HttpQueryValidator;
|
|
11
|
-
(function (HttpQueryValidator) {
|
|
12
|
-
HttpQueryValidator.validate = () => [];
|
|
13
|
-
})(HttpQueryValidator || (exports.HttpQueryValidator = HttpQueryValidator = {}));
|
|
14
|
-
//# sourceMappingURL=HttpQueryValidator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HttpQueryValidator.js","sourceRoot":"","sources":["../../src/validators/HttpQueryValidator.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AACH,IAAiB,kBAAkB,CAElC;AAFD,WAAiB,kBAAkB;IACpB,2BAAQ,GAA8B,GAAG,EAAE,CAAC,EAAE,CAAC;AAC9D,CAAC,EAFgB,kBAAkB,aAAlB,kBAAkB,GAAlB,kBAAkB,QAElC"}
|
|
@@ -1,264 +0,0 @@
|
|
|
1
|
-
import { OpenApi } from "@typia/interface";
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
MetadataAliasType,
|
|
5
|
-
MetadataArrayType,
|
|
6
|
-
MetadataObjectType,
|
|
7
|
-
MetadataSchema,
|
|
8
|
-
MetadataTupleType,
|
|
9
|
-
} from "../../internal/legacy";
|
|
10
|
-
|
|
11
|
-
type JsonSchemaObject = OpenApi.IJsonSchema & Record<string, any>;
|
|
12
|
-
|
|
13
|
-
export namespace SwaggerReadonlyArrayEmender {
|
|
14
|
-
export const emend = (props: {
|
|
15
|
-
components: OpenApi.IComponents;
|
|
16
|
-
schema: OpenApi.IJsonSchema | undefined;
|
|
17
|
-
metadata: MetadataSchema;
|
|
18
|
-
}): void => {
|
|
19
|
-
const visited: IVisited = {
|
|
20
|
-
aliases: new WeakSet(),
|
|
21
|
-
arrays: new WeakSet(),
|
|
22
|
-
objects: new WeakSet(),
|
|
23
|
-
schemas: new WeakSet(),
|
|
24
|
-
tuples: new WeakSet(),
|
|
25
|
-
};
|
|
26
|
-
visitMetadata({
|
|
27
|
-
components: props.components,
|
|
28
|
-
schema: props.schema,
|
|
29
|
-
metadata: props.metadata,
|
|
30
|
-
visited,
|
|
31
|
-
});
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
interface IVisited {
|
|
36
|
-
aliases: WeakSet<MetadataAliasType>;
|
|
37
|
-
arrays: WeakSet<MetadataArrayType>;
|
|
38
|
-
objects: WeakSet<MetadataObjectType>;
|
|
39
|
-
schemas: WeakSet<MetadataSchema>;
|
|
40
|
-
tuples: WeakSet<MetadataTupleType>;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
const visitMetadata = (props: {
|
|
44
|
-
components: OpenApi.IComponents;
|
|
45
|
-
schema: OpenApi.IJsonSchema | undefined;
|
|
46
|
-
metadata: MetadataSchema;
|
|
47
|
-
visited: IVisited;
|
|
48
|
-
}): void => {
|
|
49
|
-
if (props.schema !== undefined && isReadonlyArrayLike(props.metadata))
|
|
50
|
-
setReadonlyArray(props.schema);
|
|
51
|
-
|
|
52
|
-
if (props.visited.schemas.has(props.metadata)) return;
|
|
53
|
-
props.visited.schemas.add(props.metadata);
|
|
54
|
-
|
|
55
|
-
for (const array of props.metadata.arrays) {
|
|
56
|
-
const type: MetadataArrayType | undefined = array.type as
|
|
57
|
-
| MetadataArrayType
|
|
58
|
-
| undefined;
|
|
59
|
-
if (type !== undefined)
|
|
60
|
-
visitArrayType({
|
|
61
|
-
components: props.components,
|
|
62
|
-
schema: arraySchema(props.schema),
|
|
63
|
-
type,
|
|
64
|
-
visited: props.visited,
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
for (const tuple of props.metadata.tuples) {
|
|
68
|
-
const type: MetadataTupleType | undefined = tuple.type as
|
|
69
|
-
| MetadataTupleType
|
|
70
|
-
| undefined;
|
|
71
|
-
if (type !== undefined)
|
|
72
|
-
visitTupleType({
|
|
73
|
-
components: props.components,
|
|
74
|
-
schema: props.schema,
|
|
75
|
-
type,
|
|
76
|
-
visited: props.visited,
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
for (const alias of props.metadata.aliases) {
|
|
80
|
-
const type: MetadataAliasType | undefined = alias.type as
|
|
81
|
-
| MetadataAliasType
|
|
82
|
-
| undefined;
|
|
83
|
-
if (type !== undefined)
|
|
84
|
-
visitAliasType({
|
|
85
|
-
components: props.components,
|
|
86
|
-
schema: componentSchema(props.components, type.name),
|
|
87
|
-
type,
|
|
88
|
-
visited: props.visited,
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
for (const object of props.metadata.objects) {
|
|
92
|
-
const type: MetadataObjectType | undefined = object.type as
|
|
93
|
-
| MetadataObjectType
|
|
94
|
-
| undefined;
|
|
95
|
-
if (type !== undefined)
|
|
96
|
-
visitObjectType({
|
|
97
|
-
components: props.components,
|
|
98
|
-
type,
|
|
99
|
-
visited: props.visited,
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
const visitAliasType = (props: {
|
|
105
|
-
components: OpenApi.IComponents;
|
|
106
|
-
schema: OpenApi.IJsonSchema | undefined;
|
|
107
|
-
type: MetadataAliasType;
|
|
108
|
-
visited: IVisited;
|
|
109
|
-
}): void => {
|
|
110
|
-
if (props.visited.aliases.has(props.type)) return;
|
|
111
|
-
props.visited.aliases.add(props.type);
|
|
112
|
-
if (props.schema !== undefined && isReadonlyArrayLike(props.type.value))
|
|
113
|
-
setReadonlyArray(props.schema);
|
|
114
|
-
visitMetadata({
|
|
115
|
-
components: props.components,
|
|
116
|
-
schema: props.schema,
|
|
117
|
-
metadata: props.type.value,
|
|
118
|
-
visited: props.visited,
|
|
119
|
-
});
|
|
120
|
-
};
|
|
121
|
-
|
|
122
|
-
const visitArrayType = (props: {
|
|
123
|
-
components: OpenApi.IComponents;
|
|
124
|
-
schema: OpenApi.IJsonSchema | undefined;
|
|
125
|
-
type: MetadataArrayType;
|
|
126
|
-
visited: IVisited;
|
|
127
|
-
}): void => {
|
|
128
|
-
if (props.visited.arrays.has(props.type)) return;
|
|
129
|
-
props.visited.arrays.add(props.type);
|
|
130
|
-
const component: OpenApi.IJsonSchema | undefined = componentSchema(
|
|
131
|
-
props.components,
|
|
132
|
-
props.type.name,
|
|
133
|
-
);
|
|
134
|
-
if (component !== undefined && isReadonlyArrayName(props.type.name))
|
|
135
|
-
setReadonlyArray(component);
|
|
136
|
-
visitMetadata({
|
|
137
|
-
components: props.components,
|
|
138
|
-
schema: arraySchema(props.schema ?? component),
|
|
139
|
-
metadata: props.type.value,
|
|
140
|
-
visited: props.visited,
|
|
141
|
-
});
|
|
142
|
-
};
|
|
143
|
-
|
|
144
|
-
const visitTupleType = (props: {
|
|
145
|
-
components: OpenApi.IComponents;
|
|
146
|
-
schema: OpenApi.IJsonSchema | undefined;
|
|
147
|
-
type: MetadataTupleType;
|
|
148
|
-
visited: IVisited;
|
|
149
|
-
}): void => {
|
|
150
|
-
if (props.visited.tuples.has(props.type)) return;
|
|
151
|
-
props.visited.tuples.add(props.type);
|
|
152
|
-
const component: OpenApi.IJsonSchema | undefined = componentSchema(
|
|
153
|
-
props.components,
|
|
154
|
-
props.type.name,
|
|
155
|
-
);
|
|
156
|
-
if (component !== undefined && isReadonlyArrayName(props.type.name))
|
|
157
|
-
setReadonlyArray(component);
|
|
158
|
-
const schema: JsonSchemaObject | undefined = objectSchema(
|
|
159
|
-
props.schema ?? component,
|
|
160
|
-
);
|
|
161
|
-
props.type.elements.forEach((metadata, index) =>
|
|
162
|
-
visitMetadata({
|
|
163
|
-
components: props.components,
|
|
164
|
-
schema: Array.isArray(schema?.prefixItems)
|
|
165
|
-
? schema.prefixItems[index]
|
|
166
|
-
: undefined,
|
|
167
|
-
metadata,
|
|
168
|
-
visited: props.visited,
|
|
169
|
-
}),
|
|
170
|
-
);
|
|
171
|
-
};
|
|
172
|
-
|
|
173
|
-
const visitObjectType = (props: {
|
|
174
|
-
components: OpenApi.IComponents;
|
|
175
|
-
type: MetadataObjectType;
|
|
176
|
-
visited: IVisited;
|
|
177
|
-
}): void => {
|
|
178
|
-
if (props.visited.objects.has(props.type)) return;
|
|
179
|
-
props.visited.objects.add(props.type);
|
|
180
|
-
|
|
181
|
-
const schema: JsonSchemaObject | undefined = objectSchema(
|
|
182
|
-
componentSchema(props.components, props.type.name),
|
|
183
|
-
);
|
|
184
|
-
const properties: Record<string, OpenApi.IJsonSchema> | undefined =
|
|
185
|
-
schema?.properties as Record<string, OpenApi.IJsonSchema> | undefined;
|
|
186
|
-
for (const property of props.type.properties) {
|
|
187
|
-
const key: string | undefined = propertyKey(property.key);
|
|
188
|
-
const child: OpenApi.IJsonSchema | undefined =
|
|
189
|
-
key === undefined ? undefined : properties?.[key];
|
|
190
|
-
visitMetadata({
|
|
191
|
-
components: props.components,
|
|
192
|
-
schema: child,
|
|
193
|
-
metadata: property.value,
|
|
194
|
-
visited: props.visited,
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
};
|
|
198
|
-
|
|
199
|
-
const isReadonlyArrayLike = (
|
|
200
|
-
metadata: MetadataSchema,
|
|
201
|
-
visited: WeakSet<MetadataSchema> = new WeakSet(),
|
|
202
|
-
): boolean => {
|
|
203
|
-
if (visited.has(metadata)) return false;
|
|
204
|
-
visited.add(metadata);
|
|
205
|
-
const name: unknown = (metadata as { name?: unknown }).name;
|
|
206
|
-
return (
|
|
207
|
-
(typeof name === "string" && isReadonlyArrayName(name)) ||
|
|
208
|
-
metadata.arrays.some((array) => isReadonlyArrayName(array.name)) ||
|
|
209
|
-
metadata.tuples.some((tuple) => isReadonlyArrayName(tuple.name)) ||
|
|
210
|
-
metadata.aliases.some((alias) => {
|
|
211
|
-
const type: MetadataAliasType | undefined = alias.type as
|
|
212
|
-
| MetadataAliasType
|
|
213
|
-
| undefined;
|
|
214
|
-
return type !== undefined && isReadonlyArrayLike(type.value, visited);
|
|
215
|
-
})
|
|
216
|
-
);
|
|
217
|
-
};
|
|
218
|
-
|
|
219
|
-
const isReadonlyArrayName = (name: string): boolean => {
|
|
220
|
-
const compact: string = name.replace(/\s+/g, "");
|
|
221
|
-
// Metadata identity names pass through the generator's name replacer, which
|
|
222
|
-
// strips TypeScript punctuation for schema-key safety — depending on the
|
|
223
|
-
// compiler shim, `ReadonlyArray<string>` arrives here as "ReadonlyArray",
|
|
224
|
-
// "ReadonlyArray<string>", or the stripped "ReadonlyArraystring", and
|
|
225
|
-
// `readonly string[]` as "readonly string[]" or "readonlystring". Match on
|
|
226
|
-
// the prefixes that survive every form; this predicate only ever sees names
|
|
227
|
-
// of array/tuple metadata entries, whose spelling the generator controls
|
|
228
|
-
// ("readonly" is case-sensitive, so PascalCase user types cannot collide).
|
|
229
|
-
return compact.startsWith("ReadonlyArray") || compact.startsWith("readonly");
|
|
230
|
-
};
|
|
231
|
-
|
|
232
|
-
const componentSchema = (
|
|
233
|
-
components: OpenApi.IComponents,
|
|
234
|
-
name: string,
|
|
235
|
-
): OpenApi.IJsonSchema | undefined =>
|
|
236
|
-
(components.schemas ?? {})[name] as OpenApi.IJsonSchema | undefined;
|
|
237
|
-
|
|
238
|
-
const arraySchema = (
|
|
239
|
-
schema: OpenApi.IJsonSchema | undefined,
|
|
240
|
-
): OpenApi.IJsonSchema | undefined => {
|
|
241
|
-
const obj: JsonSchemaObject | undefined = objectSchema(schema);
|
|
242
|
-
return obj?.items as OpenApi.IJsonSchema | undefined;
|
|
243
|
-
};
|
|
244
|
-
|
|
245
|
-
const objectSchema = (
|
|
246
|
-
schema: OpenApi.IJsonSchema | undefined,
|
|
247
|
-
): JsonSchemaObject | undefined =>
|
|
248
|
-
typeof schema === "object" && schema !== null
|
|
249
|
-
? (schema as JsonSchemaObject)
|
|
250
|
-
: undefined;
|
|
251
|
-
|
|
252
|
-
const propertyKey = (metadata: MetadataSchema): string | undefined => {
|
|
253
|
-
const value: unknown = metadata.constants[0]?.values[0]?.value;
|
|
254
|
-
return typeof value === "string"
|
|
255
|
-
? value
|
|
256
|
-
: typeof value === "number"
|
|
257
|
-
? String(value)
|
|
258
|
-
: undefined;
|
|
259
|
-
};
|
|
260
|
-
|
|
261
|
-
const setReadonlyArray = (schema: OpenApi.IJsonSchema): void => {
|
|
262
|
-
const obj: JsonSchemaObject | undefined = objectSchema(schema);
|
|
263
|
-
if (obj !== undefined) obj["x-readonly-array"] = true;
|
|
264
|
-
};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { MetadataFactory } from "../internal/legacy";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Validator slot reserved for `@TypedHeaders` per-field SDK-side checks.
|
|
5
|
-
* Returns `[]` because the typia native transform already enforces the
|
|
6
|
-
* "atomic-or-array-of-atomic" constraint at compile time, and
|
|
7
|
-
* `MetadataFactory.validate` — the only call site — is itself a passthrough on
|
|
8
|
-
* the v13 runtime.
|
|
9
|
-
*/
|
|
10
|
-
export namespace HttpHeadersValidator {
|
|
11
|
-
export const validate: MetadataFactory.Validator = () => [];
|
|
12
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { MetadataFactory } from "../internal/legacy";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Validator slot reserved for `@TypedQuery` per-field SDK-side checks. Returns
|
|
5
|
-
* `[]` because the typia native transform already enforces the atomic-only
|
|
6
|
-
* constraint at compile time, and `MetadataFactory.validate` — the only call
|
|
7
|
-
* site — is itself a passthrough on the v13 runtime.
|
|
8
|
-
*/
|
|
9
|
-
export namespace HttpQueryValidator {
|
|
10
|
-
export const validate: MetadataFactory.Validator = () => [];
|
|
11
|
-
}
|