@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
|
@@ -29,10 +29,35 @@ const SwaggerGenerator_1 = require("./generates/SwaggerGenerator");
|
|
|
29
29
|
const IReflectOperationError_1 = require("./structures/IReflectOperationError");
|
|
30
30
|
const StringUtil_1 = require("./utils/StringUtil");
|
|
31
31
|
const VersioningStrategy_1 = require("./utils/VersioningStrategy");
|
|
32
|
+
/**
|
|
33
|
+
* Runs the generators of `@nestia/sdk` over one configuration.
|
|
34
|
+
*
|
|
35
|
+
* Each method validates the configuration for the output it needs, analyzes the
|
|
36
|
+
* controllers and the TypeScript metadata, reports every error at once, and
|
|
37
|
+
* then generates.
|
|
38
|
+
*
|
|
39
|
+
* @evidence contracts/common.md#principled-implementation The shared pipeline reflects controllers, types routes from transform metadata, assigns accessors and rejects collected analysis errors before writing. SDK-specific representability checks are attached by sdk and SDK-producing all; e2e currently invokes the SDK writer without that additional validation callback.
|
|
40
|
+
* @evidence contracts/common.md#clear-and-simple-design One class with four public generators over one private pipeline; directory assertion, title, and error report are module-private helpers.
|
|
41
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts No controller or route name is special-cased; the same pipeline serves the CLI and programmatic callers.
|
|
42
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states the four generators and that the errors of an analysis are reported together.
|
|
43
|
+
* @evidence contracts/portability.md#os-neutral-implementation Output checks and diagnostic locations use Node fs.stat and path operations; controller compilation and output writes remain owned by ConfigAnalyzer and the generators. Filesystem errors distinguish missing/non-directory locations from other native failures.
|
|
44
|
+
*/
|
|
32
45
|
class NestiaSdkApplication {
|
|
33
46
|
constructor(config) {
|
|
34
47
|
this.config = config;
|
|
35
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Generates everything the configuration asks for: the SDK and its e2e tests
|
|
51
|
+
* when `output` is set, and the Swagger document when `swagger` is set.
|
|
52
|
+
*
|
|
53
|
+
* It throws when neither `output` nor `swagger.output` is configured.
|
|
54
|
+
*
|
|
55
|
+
* @evidence contracts/common.md#principled-implementation The SDK validation is attached only when an SDK is generated, so a Swagger-only run does not fail on SDK rules, and the e2e tests are generated after the SDK they import.
|
|
56
|
+
* @evidence contracts/common.md#clear-and-simple-design One method that composes the generators inside the shared pipeline.
|
|
57
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts The error names the properties a caller can configure; none is stale.
|
|
58
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states what is generated and the failure.
|
|
59
|
+
* @evidence contracts/portability.md#os-neutral-implementation all delegates configured output creation to the native writers and does not apply the explicit parent-directory checks used by sdk/e2e/swagger. Diagnostic source paths are rendered relative to the current native working directory.
|
|
60
|
+
*/
|
|
36
61
|
all() {
|
|
37
62
|
return __awaiter(this, void 0, void 0, function* () {
|
|
38
63
|
var _a;
|
|
@@ -42,7 +67,6 @@ class NestiaSdkApplication {
|
|
|
42
67
|
"",
|
|
43
68
|
" - INestiaConfig.output",
|
|
44
69
|
" - INestiaConfig.swagger.output",
|
|
45
|
-
" - INestiaConfig.openai.output",
|
|
46
70
|
].join("\n"));
|
|
47
71
|
print_title("Nestia All Generator");
|
|
48
72
|
yield this.generate({
|
|
@@ -59,20 +83,36 @@ class NestiaSdkApplication {
|
|
|
59
83
|
});
|
|
60
84
|
});
|
|
61
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* Generates the SDK and the automatic e2e test functions.
|
|
88
|
+
*
|
|
89
|
+
* It throws when `output` or `e2e` is missing, or when the parent directory
|
|
90
|
+
* of either does not exist.
|
|
91
|
+
*
|
|
92
|
+
* @evidence contracts/common.md#principled-implementation The e2e functions import the generated SDK, so the SDK is generated first, and both parent directories are asserted before any analysis runs.
|
|
93
|
+
* @evidence contracts/common.md#clear-and-simple-design One method over the shared pipeline.
|
|
94
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts The directory check follows the configuration and no path is special-cased.
|
|
95
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states the requirements and the failures.
|
|
96
|
+
* @evidence contracts/portability.md#os-neutral-implementation path.resolve obtains each native parent and fs.stat follows symlinks to verify a directory before analysis. ENOENT/ENOTDIR become configuration diagnostics; permission and other filesystem errors propagate without a platform-specific shell fallback.
|
|
97
|
+
*/
|
|
62
98
|
e2e() {
|
|
63
99
|
return __awaiter(this, void 0, void 0, function* () {
|
|
64
100
|
if (!this.config.output)
|
|
65
101
|
throw new Error("Error on NestiaApplication.e2e(): configure INestiaConfig.output property.");
|
|
66
102
|
else if (!this.config.e2e)
|
|
67
103
|
throw new Error("Error on NestiaApplication.e2e(): configure INestiaConfig.e2e property.");
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
104
|
+
yield assertDirectory({
|
|
105
|
+
method: "e2e",
|
|
106
|
+
property: "output",
|
|
107
|
+
location: this.config.output,
|
|
108
|
+
directory: path_1.default.resolve(this.config.output + "/.."),
|
|
109
|
+
});
|
|
110
|
+
yield assertDirectory({
|
|
111
|
+
method: "e2e",
|
|
112
|
+
property: "e2e",
|
|
113
|
+
location: this.config.e2e,
|
|
114
|
+
directory: path_1.default.resolve(this.config.e2e + "/.."),
|
|
73
115
|
});
|
|
74
|
-
yield validate("sdk")(this.config.output);
|
|
75
|
-
yield validate("e2e")(this.config.e2e);
|
|
76
116
|
print_title("Nestia E2E Generator");
|
|
77
117
|
yield this.generate({
|
|
78
118
|
generate: (app) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -82,14 +122,27 @@ class NestiaSdkApplication {
|
|
|
82
122
|
});
|
|
83
123
|
});
|
|
84
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* Generates the SDK library.
|
|
127
|
+
*
|
|
128
|
+
* It throws when `output` is missing or its parent directory does not exist.
|
|
129
|
+
*
|
|
130
|
+
* @evidence contracts/common.md#principled-implementation The SDK validation runs after route typing and before the generator, so a route the SDK cannot express is reported instead of written.
|
|
131
|
+
* @evidence contracts/common.md#clear-and-simple-design One method over the shared pipeline.
|
|
132
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts The directory check follows the configuration.
|
|
133
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states the requirement and the failures.
|
|
134
|
+
* @evidence contracts/portability.md#os-neutral-implementation The configured output parent is resolved through Node path and verified by fs.stat, including linked directories. Generator writes use their own native boundaries; this entry does not infer case identity from an OS name.
|
|
135
|
+
*/
|
|
85
136
|
sdk() {
|
|
86
137
|
return __awaiter(this, void 0, void 0, function* () {
|
|
87
138
|
if (!this.config.output)
|
|
88
139
|
throw new Error("Error on NestiaApplication.sdk(): configure INestiaConfig.output property.");
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
140
|
+
yield assertDirectory({
|
|
141
|
+
method: "sdk",
|
|
142
|
+
property: "output",
|
|
143
|
+
location: this.config.output,
|
|
144
|
+
directory: path_1.default.resolve(this.config.output + "/.."),
|
|
145
|
+
});
|
|
93
146
|
print_title("Nestia SDK Generator");
|
|
94
147
|
yield this.generate({
|
|
95
148
|
generate: SdkGenerator_1.SdkGenerator.generate,
|
|
@@ -97,18 +150,32 @@ class NestiaSdkApplication {
|
|
|
97
150
|
});
|
|
98
151
|
});
|
|
99
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Generates the Swagger document.
|
|
155
|
+
*
|
|
156
|
+
* It throws when `swagger.output` is missing or the directory that will hold
|
|
157
|
+
* the document does not exist; the output may be a file or a directory.
|
|
158
|
+
*
|
|
159
|
+
* @evidence contracts/common.md#principled-implementation The directory to check is the parent of a file path with an extension and the path itself otherwise, which is how the generator decides where to write.
|
|
160
|
+
* @evidence contracts/common.md#clear-and-simple-design One method over the shared pipeline.
|
|
161
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts The rule is the generator's own output rule.
|
|
162
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states the requirement and the two output forms.
|
|
163
|
+
* @evidence contracts/portability.md#os-neutral-implementation path.parse/resolve decide the native containing directory from whether the output has an extension, matching SwaggerGenerator's destination rule. The common directory check distinguishes missing paths from non-directory entries and propagates other filesystem errors.
|
|
164
|
+
*/
|
|
100
165
|
swagger() {
|
|
101
166
|
return __awaiter(this, void 0, void 0, function* () {
|
|
102
167
|
var _a;
|
|
103
168
|
if (!((_a = this.config.swagger) === null || _a === void 0 ? void 0 : _a.output))
|
|
104
169
|
throw new Error(`Error on NestiaApplication.swagger(): configure INestiaConfig.swagger property.`);
|
|
105
170
|
const parsed = path_1.default.parse(this.config.swagger.output);
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
:
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
171
|
+
yield assertDirectory({
|
|
172
|
+
method: "swagger",
|
|
173
|
+
property: "swagger.output",
|
|
174
|
+
location: this.config.swagger.output,
|
|
175
|
+
directory: !!parsed.ext
|
|
176
|
+
? path_1.default.resolve(parsed.dir)
|
|
177
|
+
: path_1.default.resolve(this.config.swagger.output),
|
|
178
|
+
});
|
|
112
179
|
print_title("Nestia Swagger Generator");
|
|
113
180
|
yield this.generate({
|
|
114
181
|
generate: SwaggerGenerator_1.SwaggerGenerator.generate,
|
|
@@ -118,7 +185,7 @@ class NestiaSdkApplication {
|
|
|
118
185
|
generate(props) {
|
|
119
186
|
return __awaiter(this, void 0, void 0, function* () {
|
|
120
187
|
var _a, _b;
|
|
121
|
-
var _c
|
|
188
|
+
var _c;
|
|
122
189
|
//----
|
|
123
190
|
// ANALYZE REFLECTS
|
|
124
191
|
//----
|
|
@@ -169,8 +236,6 @@ class NestiaSdkApplication {
|
|
|
169
236
|
// ANALYZE TYPESCRIPT CODE
|
|
170
237
|
//----
|
|
171
238
|
console.log("Analyzing source codes");
|
|
172
|
-
// METADATA COMPONENTS
|
|
173
|
-
const sourceCollection = TypedHttpRouteAnalyzer_1.TypedHttpRouteAnalyzer.dictionary(controllers);
|
|
174
239
|
// CONVERT TO TYPED OPERATIONS
|
|
175
240
|
const routes = [];
|
|
176
241
|
for (const c of controllers)
|
|
@@ -179,21 +244,23 @@ class NestiaSdkApplication {
|
|
|
179
244
|
routes.push(...TypedMcpRouteAnalyzer_1.TypedMcpRouteAnalyzer.analyze({
|
|
180
245
|
controller: c,
|
|
181
246
|
operation: o,
|
|
247
|
+
clone: project.config.clone,
|
|
248
|
+
errors: project.errors,
|
|
182
249
|
}));
|
|
183
250
|
continue;
|
|
184
251
|
}
|
|
185
252
|
const pathList = new Set();
|
|
186
|
-
const versions = VersioningStrategy_1.VersioningStrategy.merge(project)(
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
253
|
+
const versions = VersioningStrategy_1.VersioningStrategy.merge(project)({
|
|
254
|
+
controller: c.versions,
|
|
255
|
+
method: o.versions,
|
|
256
|
+
});
|
|
190
257
|
for (const v of versions)
|
|
191
258
|
for (const prefix of wrapPaths(c.prefixes))
|
|
192
259
|
for (const cPath of wrapPaths(c.paths))
|
|
193
260
|
for (const filePath of wrapPaths(o.paths)) {
|
|
194
261
|
const localPath = PathAnalyzer_1.PathAnalyzer.join(prefix, cPath, filePath);
|
|
195
262
|
pathList.add(PathAnalyzer_1.PathAnalyzer.joinWithGlobalPrefix({
|
|
196
|
-
globalPrefix: (
|
|
263
|
+
globalPrefix: (_c = (_a = project.input.globalPrefix) === null || _a === void 0 ? void 0 : _a.prefix) !== null && _c !== void 0 ? _c : "",
|
|
197
264
|
exclude: (_b = project.input.globalPrefix) === null || _b === void 0 ? void 0 : _b.exclude,
|
|
198
265
|
excludePath: localPath,
|
|
199
266
|
method: o.protocol === "http" ? o.method : "",
|
|
@@ -204,7 +271,6 @@ class NestiaSdkApplication {
|
|
|
204
271
|
routes.push(...TypedHttpRouteAnalyzer_1.TypedHttpRouteAnalyzer.analyze({
|
|
205
272
|
controller: c,
|
|
206
273
|
errors: project.errors,
|
|
207
|
-
dictionary: sourceCollection,
|
|
208
274
|
operation: o,
|
|
209
275
|
paths: Array.from(pathList),
|
|
210
276
|
}));
|
|
@@ -216,7 +282,7 @@ class NestiaSdkApplication {
|
|
|
216
282
|
}));
|
|
217
283
|
}
|
|
218
284
|
AccessorAnalyzer_1.AccessorAnalyzer.analyze(routes);
|
|
219
|
-
const collection = TypedHttpRouteAnalyzer_1.TypedHttpRouteAnalyzer.routeDictionary(routes.filter((r) => r.protocol
|
|
285
|
+
const collection = TypedHttpRouteAnalyzer_1.TypedHttpRouteAnalyzer.routeDictionary(routes.filter((r) => r.protocol !== "websocket"));
|
|
220
286
|
if (props.validate !== undefined)
|
|
221
287
|
project.errors.push(...props.validate({
|
|
222
288
|
project,
|
|
@@ -237,6 +303,23 @@ class NestiaSdkApplication {
|
|
|
237
303
|
}
|
|
238
304
|
}
|
|
239
305
|
exports.NestiaSdkApplication = NestiaSdkApplication;
|
|
306
|
+
/**
|
|
307
|
+
* Asserts the directory an output is written into exists, naming the configured
|
|
308
|
+
* location. `fs.promises.stat()` itself rejects a missing path, so it is caught
|
|
309
|
+
* rather than left to surface as a bare `ENOENT`; a symbolic link to a
|
|
310
|
+
* directory is followed.
|
|
311
|
+
*/
|
|
312
|
+
const assertDirectory = (props) => __awaiter(void 0, void 0, void 0, function* () {
|
|
313
|
+
const stats = yield fs_1.default.promises
|
|
314
|
+
.stat(props.directory)
|
|
315
|
+
.catch((error) => {
|
|
316
|
+
if (error.code === "ENOENT" || error.code === "ENOTDIR")
|
|
317
|
+
return null;
|
|
318
|
+
throw error;
|
|
319
|
+
});
|
|
320
|
+
if (stats === null || stats.isDirectory() === false)
|
|
321
|
+
throw new Error(`Error on NestiaApplication.${props.method}(): directory ${JSON.stringify(props.directory)} of INestiaConfig.${props.property} ${JSON.stringify(props.location)} ${stats === null ? "does not exist" : "is not a directory"}.`);
|
|
322
|
+
});
|
|
240
323
|
const print_title = (str) => {
|
|
241
324
|
console.log("-----------------------------------------------------------");
|
|
242
325
|
console.log(` ${str}`);
|
|
@@ -248,6 +331,8 @@ const report = (props) => {
|
|
|
248
331
|
map.take(new IReflectOperationError_1.IReflectOperationError.Key(e), () => []).push(...e.contents);
|
|
249
332
|
console.log("");
|
|
250
333
|
print_title(`Nestia ${StringUtil_1.StringUtil.capitalize(props.type)} Report`);
|
|
334
|
+
// every contradiction at once, not only the first function's
|
|
335
|
+
const messages = [];
|
|
251
336
|
for (const { first: { error }, second: contents, } of map) {
|
|
252
337
|
if (error.contents.length === 0)
|
|
253
338
|
continue;
|
|
@@ -256,7 +341,8 @@ const report = (props) => {
|
|
|
256
341
|
`${location} - `,
|
|
257
342
|
error.class,
|
|
258
343
|
...(error.function !== null ? [`.${error.function}()`] : [""]),
|
|
259
|
-
|
|
344
|
+
// an empty origin names no part of the function
|
|
345
|
+
...(error.from ? [` from ${error.from}`] : [""]),
|
|
260
346
|
":\n",
|
|
261
347
|
contents
|
|
262
348
|
.map((c) => {
|
|
@@ -264,19 +350,22 @@ const report = (props) => {
|
|
|
264
350
|
return ` - ${c}`;
|
|
265
351
|
else
|
|
266
352
|
return [
|
|
353
|
+
// the property the type was found at, when there is one
|
|
267
354
|
c.accessor
|
|
268
|
-
? ` - ${c.name}: `
|
|
269
|
-
: ` - ${c.name}
|
|
355
|
+
? ` - ${c.name} (${c.accessor}): `
|
|
356
|
+
: ` - ${c.name}: `,
|
|
270
357
|
...c.messages.map((msg) => ` - ${msg}`),
|
|
271
358
|
].join("\n");
|
|
272
359
|
})
|
|
273
360
|
.join("\n"),
|
|
274
361
|
].join("");
|
|
275
362
|
if (props.type === "error")
|
|
276
|
-
|
|
363
|
+
messages.push(message);
|
|
277
364
|
else
|
|
278
365
|
console.log(message);
|
|
279
366
|
}
|
|
367
|
+
if (messages.length !== 0)
|
|
368
|
+
throw new Error(messages.join("\n\n"));
|
|
280
369
|
};
|
|
281
370
|
const wrapPaths = (paths) => paths.length === 0 ? [""] : paths;
|
|
282
371
|
//# sourceMappingURL=NestiaSdkApplication.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NestiaSdkApplication.js","sourceRoot":"","sources":["../src/NestiaSdkApplication.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NestiaSdkApplication.js","sourceRoot":"","sources":["../src/NestiaSdkApplication.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,27 @@ import { INestApplication } from "@nestjs/common";
|
|
|
2
2
|
import { OpenApiV3, OpenApiV3_1, SwaggerV2 } from "@typia/interface";
|
|
3
3
|
import { OpenApi } from "typia";
|
|
4
4
|
import { INestiaConfig } from "./INestiaConfig";
|
|
5
|
+
/**
|
|
6
|
+
* Composes the Swagger document of a running NestJS application, without files.
|
|
7
|
+
*
|
|
8
|
+
* @evidence contracts/common.md#principled-implementation The controllers are taken from the application's module graph and analyzed like the CLI does, and only the HTTP routes are composed.
|
|
9
|
+
* @evidence contracts/common.md#clear-and-simple-design One public function with a private analysis pipeline.
|
|
10
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts It uses the same analyzers and composer as the CLI, so both produce one document.
|
|
11
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states its purpose.
|
|
12
|
+
* @evidence contracts/portability.md#os-neutral-implementation Controller source lookup is delegated to ConfigAnalyzer.application; diagnostic filenames use Node path.relative from process.cwd. Route paths and versions remain protocol text rather than native filesystem identity.
|
|
13
|
+
*/
|
|
5
14
|
export declare namespace NestiaSwaggerComposer {
|
|
15
|
+
/**
|
|
16
|
+
* Returns the OpenAPI document of the application in the requested version.
|
|
17
|
+
*
|
|
18
|
+
* The document is composed as OpenAPI 3.2 and converted to the configured
|
|
19
|
+
* older version; every analysis error is collected and thrown together.
|
|
20
|
+
*
|
|
21
|
+
* @evidence contracts/common.md#principled-implementation Composition runs at the newest version and `OpenApiConverter.downgradeDocument` produces the older ones, so version differences live in one converter, and a failure of the analysis throws one error that lists every problem.
|
|
22
|
+
* @evidence contracts/common.md#clear-and-simple-design One function over the shared analyzers and the Swagger generator.
|
|
23
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts No route is special-cased; the module graph is read through `ConfigAnalyzer.application`.
|
|
24
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states the returned versions and the error behavior.
|
|
25
|
+
* @evidence contracts/portability.md#os-neutral-implementation The composer receives an existing application and writes no output file. Its delegated controller discovery obtains native source locations, and its report renders those locations through path.relative; initialize may read package metadata for default info.
|
|
26
|
+
*/
|
|
6
27
|
const document: (app: INestApplication, config: Omit<INestiaConfig.ISwaggerConfig, "output">) => Promise<OpenApi.IDocument | OpenApiV3_1.IDocument | OpenApiV3.IDocument | SwaggerV2.IDocument>;
|
|
7
28
|
}
|
|
@@ -24,8 +24,29 @@ const TypedHttpRouteAnalyzer_1 = require("./analyses/TypedHttpRouteAnalyzer");
|
|
|
24
24
|
const SwaggerGenerator_1 = require("./generates/SwaggerGenerator");
|
|
25
25
|
const IReflectOperationError_1 = require("./structures/IReflectOperationError");
|
|
26
26
|
const VersioningStrategy_1 = require("./utils/VersioningStrategy");
|
|
27
|
+
/**
|
|
28
|
+
* Composes the Swagger document of a running NestJS application, without files.
|
|
29
|
+
*
|
|
30
|
+
* @evidence contracts/common.md#principled-implementation The controllers are taken from the application's module graph and analyzed like the CLI does, and only the HTTP routes are composed.
|
|
31
|
+
* @evidence contracts/common.md#clear-and-simple-design One public function with a private analysis pipeline.
|
|
32
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts It uses the same analyzers and composer as the CLI, so both produce one document.
|
|
33
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states its purpose.
|
|
34
|
+
* @evidence contracts/portability.md#os-neutral-implementation Controller source lookup is delegated to ConfigAnalyzer.application; diagnostic filenames use Node path.relative from process.cwd. Route paths and versions remain protocol text rather than native filesystem identity.
|
|
35
|
+
*/
|
|
27
36
|
var NestiaSwaggerComposer;
|
|
28
37
|
(function (NestiaSwaggerComposer) {
|
|
38
|
+
/**
|
|
39
|
+
* Returns the OpenAPI document of the application in the requested version.
|
|
40
|
+
*
|
|
41
|
+
* The document is composed as OpenAPI 3.2 and converted to the configured
|
|
42
|
+
* older version; every analysis error is collected and thrown together.
|
|
43
|
+
*
|
|
44
|
+
* @evidence contracts/common.md#principled-implementation Composition runs at the newest version and `OpenApiConverter.downgradeDocument` produces the older ones, so version differences live in one converter, and a failure of the analysis throws one error that lists every problem.
|
|
45
|
+
* @evidence contracts/common.md#clear-and-simple-design One function over the shared analyzers and the Swagger generator.
|
|
46
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts No route is special-cased; the module graph is read through `ConfigAnalyzer.application`.
|
|
47
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states the returned versions and the error behavior.
|
|
48
|
+
* @evidence contracts/portability.md#os-neutral-implementation The composer receives an existing application and writes no output file. Its delegated controller discovery obtains native source locations, and its report renders those locations through path.relative; initialize may read package metadata for default info.
|
|
49
|
+
*/
|
|
29
50
|
NestiaSwaggerComposer.document = (app, config) => __awaiter(this, void 0, void 0, function* () {
|
|
30
51
|
var _a;
|
|
31
52
|
const input = yield ConfigAnalyzer_1.ConfigAnalyzer.application(app);
|
|
@@ -40,7 +61,7 @@ var NestiaSwaggerComposer;
|
|
|
40
61
|
});
|
|
41
62
|
const analyze = (input) => {
|
|
42
63
|
var _a, _b;
|
|
43
|
-
var _c
|
|
64
|
+
var _c;
|
|
44
65
|
// GET REFLECT CONTROLLERS
|
|
45
66
|
const unique = new WeakSet();
|
|
46
67
|
const project = {
|
|
@@ -53,8 +74,6 @@ var NestiaSwaggerComposer;
|
|
|
53
74
|
.filter((c) => c !== null);
|
|
54
75
|
if (project.errors.length)
|
|
55
76
|
throw report({ type: "error", errors: project.errors });
|
|
56
|
-
// METADATA COMPONENTS
|
|
57
|
-
const collection = TypedHttpRouteAnalyzer_1.TypedHttpRouteAnalyzer.dictionary(controllers);
|
|
58
77
|
// CONVERT TO TYPED OPERATIONS
|
|
59
78
|
const routes = [];
|
|
60
79
|
for (const c of controllers)
|
|
@@ -62,17 +81,17 @@ var NestiaSwaggerComposer;
|
|
|
62
81
|
if (o.protocol !== "http")
|
|
63
82
|
continue;
|
|
64
83
|
const pathList = new Set();
|
|
65
|
-
const versions = VersioningStrategy_1.VersioningStrategy.merge(project)(
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
84
|
+
const versions = VersioningStrategy_1.VersioningStrategy.merge(project)({
|
|
85
|
+
controller: c.versions,
|
|
86
|
+
method: o.versions,
|
|
87
|
+
});
|
|
69
88
|
for (const v of versions)
|
|
70
89
|
for (const prefix of wrapPaths(c.prefixes))
|
|
71
90
|
for (const cPath of wrapPaths(c.paths))
|
|
72
91
|
for (const filePath of wrapPaths(o.paths)) {
|
|
73
92
|
const localPath = PathAnalyzer_1.PathAnalyzer.join(prefix, cPath, filePath);
|
|
74
93
|
pathList.add(PathAnalyzer_1.PathAnalyzer.joinWithGlobalPrefix({
|
|
75
|
-
globalPrefix: (
|
|
94
|
+
globalPrefix: (_c = (_a = project.input.globalPrefix) === null || _a === void 0 ? void 0 : _a.prefix) !== null && _c !== void 0 ? _c : "",
|
|
76
95
|
exclude: (_b = project.input.globalPrefix) === null || _b === void 0 ? void 0 : _b.exclude,
|
|
77
96
|
excludePath: localPath,
|
|
78
97
|
method: o.method,
|
|
@@ -82,7 +101,6 @@ var NestiaSwaggerComposer;
|
|
|
82
101
|
routes.push(...TypedHttpRouteAnalyzer_1.TypedHttpRouteAnalyzer.analyze({
|
|
83
102
|
controller: c,
|
|
84
103
|
errors: project.errors,
|
|
85
|
-
dictionary: collection,
|
|
86
104
|
operation: o,
|
|
87
105
|
paths: Array.from(pathList),
|
|
88
106
|
}));
|
|
@@ -106,7 +124,8 @@ const report = (props) => {
|
|
|
106
124
|
`${location} - `,
|
|
107
125
|
error.class,
|
|
108
126
|
...(error.function !== null ? [`.${error.function}()`] : [""]),
|
|
109
|
-
|
|
127
|
+
// an empty origin names no part of the function
|
|
128
|
+
...(error.from ? [` from ${error.from}`] : [""]),
|
|
110
129
|
":\n",
|
|
111
130
|
contents
|
|
112
131
|
.map((c) => {
|
|
@@ -115,15 +134,15 @@ const report = (props) => {
|
|
|
115
134
|
else
|
|
116
135
|
return [
|
|
117
136
|
c.accessor
|
|
118
|
-
? ` - ${c.name}: `
|
|
119
|
-
: ` - ${c.name}
|
|
137
|
+
? ` - ${c.name} (${c.accessor}): `
|
|
138
|
+
: ` - ${c.name}: `,
|
|
120
139
|
...c.messages.map((msg) => ` - ${msg}`),
|
|
121
140
|
].join("\n");
|
|
122
141
|
})
|
|
123
142
|
.join("\n"),
|
|
124
143
|
].join(""));
|
|
125
144
|
}
|
|
126
|
-
throw new Error(`Error on NestiaSwaggerComposer.compose():\n${messages}`);
|
|
145
|
+
throw new Error(`Error on NestiaSwaggerComposer.compose():\n${messages.join("\n\n")}`);
|
|
127
146
|
};
|
|
128
147
|
const wrapPaths = (paths) => paths.length === 0 ? [""] : paths;
|
|
129
148
|
//# sourceMappingURL=NestiaSwaggerComposer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NestiaSwaggerComposer.js","sourceRoot":"","sources":["../src/NestiaSwaggerComposer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,wCAAgD;AAChD,gDAAwB;AACxB,+BAA+B;AAI/B,kEAA+D;AAC/D,8DAA2D;AAC3D,0DAAuD;AACvD,oFAAiF;AACjF,8EAA2E;AAC3E,mEAAgE;
|
|
1
|
+
{"version":3,"file":"NestiaSwaggerComposer.js","sourceRoot":"","sources":["../src/NestiaSwaggerComposer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,wCAAgD;AAChD,gDAAwB;AACxB,+BAA+B;AAI/B,kEAA+D;AAC/D,8DAA2D;AAC3D,0DAAuD;AACvD,oFAAiF;AACjF,8EAA2E;AAC3E,mEAAgE;AAKhE,gFAA6E;AAE7E,mEAAgE;AAEhE;;;;;;;;GAQG;AACH,IAAiB,qBAAqB,CA4FrC;AA5FD,WAAiB,qBAAqB;IACpC;;;;;;;;;;;OAWG;IACU,8BAAQ,GAAG,CACtB,GAAqB,EACrB,MAAoD,EAMpD,EAAE;;QACF,MAAM,KAAK,GAAoB,MAAM,+BAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAsB,MAAM,mCAAgB,CAAC,OAAO,CAAC;YACjE,MAAM;YACN,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC;YACtB,QAAQ,EAAE,MAAM,mCAAgB,CAAC,UAAU,CAAC,MAAM,CAAC;SACpD,CAAC,CAAC;QACH,OAAO,OAAC,MAAM,CAAC,OAAO,mCAAI,KAAK,CAAC,KAAK,KAAK;YACxC,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,wBAAgB,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAgB,CAAC,CAAC;IAC5E,CAAC,CAAA,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,KAAsB,EAAqB,EAAE;;;QAC5D,0BAA0B;QAC1B,MAAM,MAAM,GAAiB,IAAI,OAAO,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAmC;YAC9C,KAAK;YACL,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;SACb,CAAC;QACF,MAAM,WAAW,GAAyB,OAAO,CAAC,KAAK,CAAC,WAAW;aAChE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,qDAAyB,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CACtE;aACA,MAAM,CAAC,CAAC,CAAC,EAA2B,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QACtD,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM;YACvB,MAAM,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAE1D,8BAA8B;QAC9B,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,KAAK,MAAM,CAAC,IAAI,WAAW;YACzB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;gBAC7B,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM;oBAAE,SAAS;gBACpC,MAAM,QAAQ,GAAgB,IAAI,GAAG,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAa,uCAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC3D,UAAU,EAAE,CAAC,CAAC,QAAQ;oBACtB,MAAM,EAAE,CAAC,CAAC,QAAQ;iBACnB,CAAC,CAAC;gBACH,KAAK,MAAM,CAAC,IAAI,QAAQ;oBACtB,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;wBACxC,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;4BACpC,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gCAC1C,MAAM,SAAS,GAAW,2BAAY,CAAC,IAAI,CACzC,MAAM,EACN,KAAK,EACL,QAAQ,CACT,CAAC;gCACF,QAAQ,CAAC,GAAG,CACV,2BAAY,CAAC,oBAAoB,CAAC;oCAChC,YAAY,QAAE,MAAA,OAAO,CAAC,KAAK,CAAC,YAAY,0CAAE,MAAM,mCAAI,EAAE;oCACtD,OAAO,EAAE,MAAA,OAAO,CAAC,KAAK,CAAC,YAAY,0CAAE,OAAO;oCAC5C,WAAW,EAAE,SAAS;oCACtB,MAAM,EAAE,CAAC,CAAC,MAAM;oCAChB,IAAI,EAAE,2BAAY,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC;iCACtC,CAAC,CACH,CAAC;4BACJ,CAAC;gBACP,MAAM,CAAC,IAAI,CACT,GAAG,+CAAsB,CAAC,OAAO,CAAC;oBAChC,UAAU,EAAE,CAAC;oBACb,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,SAAS,EAAE,CAAC;oBACZ,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAC5B,CAAC,CACH,CAAC;YACJ,CAAC;QACH,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM;YACvB,MAAM,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1D,mCAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC,EA5FgB,qBAAqB,aAArB,qBAAqB,GAArB,qBAAqB,QA4FrC;AAED,MAAM,MAAM,GAAG,CAAC,KAGf,EAAQ,EAAE;IACT,MAAM,GAAG,GAGL,IAAI,cAAO,EAAE,CAAC;IAClB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM;QAC1B,GAAG,CAAC,IAAI,CAAC,IAAI,+CAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAE5E,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,EACT,KAAK,EAAE,EAAE,KAAK,EAAE,EAChB,MAAM,EAAE,QAAQ,GACjB,IAAI,GAAG,EAAE,CAAC;QACT,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAC1C,MAAM,QAAQ,GAAW,cAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAClE,QAAQ,CAAC,IAAI,CACX;YACE,GAAG,QAAQ,KAAK;YAChB,KAAK,CAAC,KAAK;YACX,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9D,gDAAgD;YAChD,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAChD,KAAK;YACL,QAAQ;iBACL,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACT,IAAI,OAAO,CAAC,KAAK,QAAQ;oBAAE,OAAO,OAAO,CAAC,EAAE,CAAC;;oBAE3C,OAAO;wBACL,CAAC,CAAC,QAAQ;4BACR,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,QAAQ,KAAK;4BACnC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI;wBACrB,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC;qBAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC;SACd,CAAC,IAAI,CAAC,EAAE,CAAC,CACX,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,KAAK,CACb,8CAA8C,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CACtE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,KAAe,EAAY,EAAE,CAC9C,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC"}
|
|
@@ -2,7 +2,33 @@ import { ITypedHttpRoute } from "../structures/ITypedHttpRoute";
|
|
|
2
2
|
import { ITypedMcpRoute } from "../structures/ITypedMcpRoute";
|
|
3
3
|
import { ITypedWebSocketRoute } from "../structures/ITypedWebSocketRoute";
|
|
4
4
|
type AnyRoute = ITypedHttpRoute | ITypedWebSocketRoute | ITypedMcpRoute;
|
|
5
|
+
/**
|
|
6
|
+
* Assigns each route the accessor path under which the generated SDK exposes
|
|
7
|
+
* it.
|
|
8
|
+
*
|
|
9
|
+
* @evidence contracts/common.md#principled-implementation The accessors are shrunk where a name repeats, escaped into valid unique identifiers, shrunk again, and each route is renamed to its last accessor segment.
|
|
10
|
+
* @evidence contracts/common.md#clear-and-simple-design One public function over three private passes.
|
|
11
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts The passes follow the accessor structure and no route or controller name is special-cased.
|
|
12
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states its purpose.
|
|
13
|
+
* efficient algorithms: For R routes of at most D accessor segments, the prefix maps avoid repeated route-to-route searches. Prefix slicing and joining costs O(R D²) character work before collision escapes; collisions add probes and longer names. Two shrink passes are required around escaping because escaping changes the names being shrunk.
|
|
14
|
+
* reuse equivalent work: This invocation computes its own result and coordinates no completed or in-flight computation across requests.
|
|
15
|
+
* bound retention and release resources: This operation owns only invocation-local values, with no retained cache, handle or background task.
|
|
16
|
+
* @evidenceExclude contracts/portability.md#os-neutral-implementation AccessorAnalyzer analyzes reflected route metadata; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
|
|
17
|
+
*/
|
|
5
18
|
export declare namespace AccessorAnalyzer {
|
|
19
|
+
/**
|
|
20
|
+
* Rewrites the accessor of every route in place so that accessors are valid,
|
|
21
|
+
* unique, and as short as they can be.
|
|
22
|
+
*
|
|
23
|
+
* @evidence contracts/common.md#principled-implementation Segments that repeat their parent are removed when no sibling shares the parent, non-identifier characters become underscores, a segment that collides with an existing accessor gets an underscore prefix, and the route name becomes the last segment.
|
|
24
|
+
* @evidence contracts/common.md#clear-and-simple-design One function that runs the passes in a fixed order.
|
|
25
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts The rules apply to every route, and reserved names are computed from the routes themselves.
|
|
26
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states the passes and the in-place rewrite.
|
|
27
|
+
* efficient algorithms: For R routes of at most D accessor segments, the prefix maps avoid repeated route-to-route searches. Prefix slicing and joining costs O(R D²) character work before collision escapes; collisions add probes and longer names. Two shrink passes are required around escaping because escaping changes the names being shrunk.
|
|
28
|
+
* reuse equivalent work: This invocation computes its own result and coordinates no completed or in-flight computation across requests.
|
|
29
|
+
* bound retention and release resources: This operation owns only invocation-local values, with no retained cache, handle or background task.
|
|
30
|
+
* @evidenceExclude contracts/portability.md#os-neutral-implementation AccessorAnalyzer.analyze analyzes reflected route metadata; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
|
|
31
|
+
*/
|
|
6
32
|
const analyze: (routes: Array<AnyRoute>) => void;
|
|
7
33
|
}
|
|
8
34
|
export {};
|
|
@@ -2,8 +2,34 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AccessorAnalyzer = void 0;
|
|
4
4
|
const utils_1 = require("@typia/utils");
|
|
5
|
+
/**
|
|
6
|
+
* Assigns each route the accessor path under which the generated SDK exposes
|
|
7
|
+
* it.
|
|
8
|
+
*
|
|
9
|
+
* @evidence contracts/common.md#principled-implementation The accessors are shrunk where a name repeats, escaped into valid unique identifiers, shrunk again, and each route is renamed to its last accessor segment.
|
|
10
|
+
* @evidence contracts/common.md#clear-and-simple-design One public function over three private passes.
|
|
11
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts The passes follow the accessor structure and no route or controller name is special-cased.
|
|
12
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states its purpose.
|
|
13
|
+
* efficient algorithms: For R routes of at most D accessor segments, the prefix maps avoid repeated route-to-route searches. Prefix slicing and joining costs O(R D²) character work before collision escapes; collisions add probes and longer names. Two shrink passes are required around escaping because escaping changes the names being shrunk.
|
|
14
|
+
* reuse equivalent work: This invocation computes its own result and coordinates no completed or in-flight computation across requests.
|
|
15
|
+
* bound retention and release resources: This operation owns only invocation-local values, with no retained cache, handle or background task.
|
|
16
|
+
* @evidenceExclude contracts/portability.md#os-neutral-implementation AccessorAnalyzer analyzes reflected route metadata; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
|
|
17
|
+
*/
|
|
5
18
|
var AccessorAnalyzer;
|
|
6
19
|
(function (AccessorAnalyzer) {
|
|
20
|
+
/**
|
|
21
|
+
* Rewrites the accessor of every route in place so that accessors are valid,
|
|
22
|
+
* unique, and as short as they can be.
|
|
23
|
+
*
|
|
24
|
+
* @evidence contracts/common.md#principled-implementation Segments that repeat their parent are removed when no sibling shares the parent, non-identifier characters become underscores, a segment that collides with an existing accessor gets an underscore prefix, and the route name becomes the last segment.
|
|
25
|
+
* @evidence contracts/common.md#clear-and-simple-design One function that runs the passes in a fixed order.
|
|
26
|
+
* @evidence contracts/common.md#prohibited-implementation-shortcuts The rules apply to every route, and reserved names are computed from the routes themselves.
|
|
27
|
+
* @evidence contracts/common.md#meaningful-documentation The comment states the passes and the in-place rewrite.
|
|
28
|
+
* efficient algorithms: For R routes of at most D accessor segments, the prefix maps avoid repeated route-to-route searches. Prefix slicing and joining costs O(R D²) character work before collision escapes; collisions add probes and longer names. Two shrink passes are required around escaping because escaping changes the names being shrunk.
|
|
29
|
+
* reuse equivalent work: This invocation computes its own result and coordinates no completed or in-flight computation across requests.
|
|
30
|
+
* bound retention and release resources: This operation owns only invocation-local values, with no retained cache, handle or background task.
|
|
31
|
+
* @evidenceExclude contracts/portability.md#os-neutral-implementation AccessorAnalyzer.analyze analyzes reflected route metadata; it does not resolve native file identity or launch a process. Source resolution and file emission belong to their filesystem owners.
|
|
32
|
+
*/
|
|
7
33
|
AccessorAnalyzer.analyze = (routes) => {
|
|
8
34
|
var _b;
|
|
9
35
|
shrink(routes);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessorAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/AccessorAnalyzer.ts"],"names":[],"mappings":";;;AAAA,wCAAgD;AAQhD,IAAiB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"AccessorAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/AccessorAnalyzer.ts"],"names":[],"mappings":"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"}
|