@nestia/sdk 3.10.0 → 3.11.0-dev.20240812
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/lib/NestiaSdkApplication.d.ts +1 -3
- package/lib/NestiaSdkApplication.js +138 -136
- package/lib/NestiaSdkApplication.js.map +1 -1
- package/lib/analyses/ConfigAnalyzer.d.ts +2 -2
- package/lib/analyses/ConfigAnalyzer.js +39 -80
- package/lib/analyses/ConfigAnalyzer.js.map +1 -1
- package/lib/analyses/ExceptionAnalyzer.d.ts +0 -16
- package/lib/analyses/ExceptionAnalyzer.js +142 -105
- package/lib/analyses/ExceptionAnalyzer.js.map +1 -1
- package/lib/analyses/GenericAnalyzer.d.ts +1 -2
- package/lib/analyses/GenericAnalyzer.js.map +1 -1
- package/lib/analyses/ImportAnalyzer.d.ts +6 -11
- package/lib/analyses/ImportAnalyzer.js +70 -42
- package/lib/analyses/ImportAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectControllerAnalyzer.d.ts +7 -1
- package/lib/analyses/ReflectControllerAnalyzer.js +28 -99
- package/lib/analyses/ReflectControllerAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectHttpOperationAnalyzer.d.ts +6 -2
- package/lib/analyses/ReflectHttpOperationAnalyzer.js +72 -152
- package/lib/analyses/ReflectHttpOperationAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectHttpOperationParameterAnalyzer.d.ts +15 -0
- package/lib/analyses/ReflectHttpOperationParameterAnalyzer.js +215 -0
- package/lib/analyses/ReflectHttpOperationParameterAnalyzer.js.map +1 -0
- package/lib/analyses/ReflectHttpOperationResponseAnalyzer.d.ts +15 -0
- package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js +81 -0
- package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js.map +1 -0
- package/lib/analyses/ReflectMetadataAnalyzer.d.ts +1 -3
- package/lib/analyses/ReflectMetadataAnalyzer.js +0 -4
- package/lib/analyses/ReflectMetadataAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectWebSocketOperationAnalyzer.d.ts +6 -2
- package/lib/analyses/ReflectWebSocketOperationAnalyzer.js +72 -48
- package/lib/analyses/ReflectWebSocketOperationAnalyzer.js.map +1 -1
- package/lib/analyses/TypedHttpRouteAnalyzer.d.ts +15 -0
- package/lib/analyses/TypedHttpRouteAnalyzer.js +111 -0
- package/lib/analyses/TypedHttpRouteAnalyzer.js.map +1 -0
- package/lib/analyses/TypedWebSocketRouteAnalyzer.d.ts +10 -0
- package/lib/analyses/TypedWebSocketRouteAnalyzer.js +9 -0
- package/lib/analyses/TypedWebSocketRouteAnalyzer.js.map +1 -0
- package/lib/decorators/OperationMetadata.d.ts +2 -0
- package/lib/decorators/OperationMetadata.js +10 -0
- package/lib/decorators/OperationMetadata.js.map +1 -0
- package/lib/executable/internal/NestiaConfigLoader.d.ts +1 -1
- package/lib/executable/internal/NestiaConfigLoader.js +33 -3
- package/lib/executable/internal/NestiaConfigLoader.js.map +1 -1
- package/lib/executable/internal/NestiaSdkCommand.js +1 -1
- package/lib/executable/internal/NestiaSdkCommand.js.map +1 -1
- package/lib/generates/CloneGenerator.d.ts +0 -5
- package/lib/generates/CloneGenerator.js +60 -60
- package/lib/generates/CloneGenerator.js.map +1 -1
- package/lib/generates/E2eGenerator.d.ts +2 -3
- package/lib/generates/E2eGenerator.js +9 -8
- package/lib/generates/E2eGenerator.js.map +1 -1
- package/lib/generates/OpenAiGenerator.d.ts +2 -4
- package/lib/generates/OpenAiGenerator.js +13 -3
- package/lib/generates/OpenAiGenerator.js.map +1 -1
- package/lib/generates/SdkGenerator.d.ts +4 -4
- package/lib/generates/SdkGenerator.js +63 -73
- package/lib/generates/SdkGenerator.js.map +1 -1
- package/lib/generates/SwaggerGenerator.d.ts +6 -18
- package/lib/generates/SwaggerGenerator.js +60 -235
- package/lib/generates/SwaggerGenerator.js.map +1 -1
- package/lib/generates/internal/E2eFileProgrammer.js +5 -9
- package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkAliasCollection.d.ts +6 -4
- package/lib/generates/internal/SdkAliasCollection.js +33 -31
- package/lib/generates/internal/SdkAliasCollection.js.map +1 -1
- package/lib/generates/internal/SdkDistributionComposer.d.ts +4 -1
- package/lib/generates/internal/SdkDistributionComposer.js +6 -6
- package/lib/generates/internal/SdkDistributionComposer.js.map +1 -1
- package/lib/generates/internal/SdkFileProgrammer.d.ts +2 -4
- package/lib/generates/internal/SdkFileProgrammer.js +6 -6
- package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpCloneProgrammer.d.ts +0 -12
- package/lib/generates/internal/SdkHttpCloneProgrammer.js +142 -97
- package/lib/generates/internal/SdkHttpCloneProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpFunctionProgrammer.d.ts +4 -3
- package/lib/generates/internal/SdkHttpFunctionProgrammer.js +37 -59
- package/lib/generates/internal/SdkHttpFunctionProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpNamespaceProgrammer.d.ts +4 -3
- package/lib/generates/internal/SdkHttpNamespaceProgrammer.js +31 -48
- package/lib/generates/internal/SdkHttpNamespaceProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpRouteProgrammer.js +7 -3
- package/lib/generates/internal/SdkHttpRouteProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpSimulationProgrammer.d.ts +4 -3
- package/lib/generates/internal/SdkHttpSimulationProgrammer.js +7 -13
- package/lib/generates/internal/SdkHttpSimulationProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.d.ts +1 -2
- package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js +11 -16
- package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkWebSocketRouteProgrammer.d.ts +1 -2
- package/lib/generates/internal/SdkWebSocketRouteProgrammer.js +7 -10
- package/lib/generates/internal/SdkWebSocketRouteProgrammer.js.map +1 -1
- package/lib/generates/internal/SwaggerDescriptionComposer.d.ts +23 -0
- package/lib/generates/internal/SwaggerDescriptionComposer.js +44 -0
- package/lib/generates/internal/SwaggerDescriptionComposer.js.map +1 -0
- package/lib/generates/internal/SwaggerOperationComposer.d.ts +12 -0
- package/lib/generates/internal/SwaggerOperationComposer.js +68 -0
- package/lib/generates/internal/SwaggerOperationComposer.js.map +1 -0
- package/lib/generates/internal/SwaggerOperationParameterComposer.d.ts +18 -0
- package/lib/generates/internal/SwaggerOperationParameterComposer.js +99 -0
- package/lib/generates/internal/SwaggerOperationParameterComposer.js.map +1 -0
- package/lib/generates/internal/SwaggerOperationResponseComposer.d.ts +9 -0
- package/lib/generates/internal/SwaggerOperationResponseComposer.js +91 -0
- package/lib/generates/internal/SwaggerOperationResponseComposer.js.map +1 -0
- package/lib/structures/INestiaProject.d.ts +5 -5
- package/lib/structures/INestiaSdkInput.d.ts +20 -0
- package/lib/structures/{ISwaggerError.js → INestiaSdkInput.js} +1 -1
- package/lib/structures/INestiaSdkInput.js.map +1 -0
- package/lib/structures/IReflectApplication.d.ts +6 -0
- package/lib/structures/IReflectApplication.js +3 -0
- package/lib/structures/IReflectApplication.js.map +1 -0
- package/lib/structures/IReflectController.d.ts +3 -5
- package/lib/structures/IReflectHttpOperation.d.ts +13 -65
- package/lib/structures/IReflectHttpOperationException.d.ts +14 -0
- package/lib/structures/IReflectHttpOperationException.js +3 -0
- package/lib/structures/IReflectHttpOperationException.js.map +1 -0
- package/lib/structures/IReflectHttpOperationParameter.d.ts +35 -0
- package/lib/structures/IReflectHttpOperationParameter.js +3 -0
- package/lib/structures/IReflectHttpOperationParameter.js.map +1 -0
- package/lib/structures/IReflectHttpOperationSuccess.d.ts +15 -0
- package/lib/structures/IReflectHttpOperationSuccess.js +3 -0
- package/lib/structures/IReflectHttpOperationSuccess.js.map +1 -0
- package/lib/structures/IReflectOperationError.d.ts +16 -0
- package/lib/structures/IReflectOperationError.js +23 -0
- package/lib/structures/IReflectOperationError.js.map +1 -0
- package/lib/structures/IReflectType.d.ts +4 -0
- package/lib/structures/{IErrorReport.js → IReflectType.js} +1 -1
- package/lib/structures/IReflectType.js.map +1 -0
- package/lib/structures/IReflectTypeImport.d.ts +4 -0
- package/lib/structures/{ISwaggerLazySchema.js → IReflectTypeImport.js} +1 -1
- package/lib/structures/IReflectTypeImport.js.map +1 -0
- package/lib/structures/IReflectWebSocketOperation.d.ts +8 -9
- package/lib/structures/IReflectWebSocketOperationParameter.d.ts +23 -0
- package/lib/structures/IReflectWebSocketOperationParameter.js +3 -0
- package/lib/structures/IReflectWebSocketOperationParameter.js.map +1 -0
- package/lib/structures/ITypedApplication.d.ts +7 -0
- package/lib/structures/{INormalizedInput.js → ITypedApplication.js} +1 -1
- package/lib/structures/ITypedApplication.js.map +1 -0
- package/lib/structures/ITypedHttpRoute.d.ts +14 -42
- package/lib/structures/ITypedHttpRouteException.d.ts +10 -0
- package/lib/structures/ITypedHttpRouteException.js +3 -0
- package/lib/structures/ITypedHttpRouteException.js.map +1 -0
- package/lib/structures/ITypedHttpRouteParameter.d.ts +31 -0
- package/lib/structures/ITypedHttpRouteParameter.js +3 -0
- package/lib/structures/ITypedHttpRouteParameter.js.map +1 -0
- package/lib/structures/ITypedHttpRouteSuccess.d.ts +19 -0
- package/lib/structures/{ISwaggerLazyProperty.js → ITypedHttpRouteSuccess.js} +1 -1
- package/lib/structures/ITypedHttpRouteSuccess.js.map +1 -0
- package/lib/structures/ITypedWebSocketRoute.d.ts +8 -44
- package/lib/structures/ITypedWebSocketRouteParameter.d.ts +2 -0
- package/lib/structures/ITypedWebSocketRouteParameter.js +3 -0
- package/lib/structures/ITypedWebSocketRouteParameter.js.map +1 -0
- package/lib/transform.d.ts +3 -0
- package/lib/transform.js +8 -0
- package/lib/transform.js.map +1 -0
- package/lib/transformers/IOperationMetadata.d.ts +36 -0
- package/lib/transformers/IOperationMetadata.js +3 -0
- package/lib/transformers/IOperationMetadata.js.map +1 -0
- package/lib/transformers/ISdkTransformerContext.d.ts +7 -0
- package/lib/transformers/ISdkTransformerContext.js +3 -0
- package/lib/transformers/ISdkTransformerContext.js.map +1 -0
- package/lib/transformers/SdkMetadataProgrammer.d.ts +11 -0
- package/lib/transformers/SdkMetadataProgrammer.js +159 -0
- package/lib/transformers/SdkMetadataProgrammer.js.map +1 -0
- package/lib/transformers/SdkTransformer.d.ts +4 -0
- package/lib/transformers/SdkTransformer.js +88 -0
- package/lib/transformers/SdkTransformer.js.map +1 -0
- package/lib/transformers/TextPlainValidator.d.ts +4 -0
- package/lib/transformers/TextPlainValidator.js +19 -0
- package/lib/transformers/TextPlainValidator.js.map +1 -0
- package/lib/utils/StringUtil.d.ts +1 -0
- package/lib/utils/StringUtil.js +1 -0
- package/lib/utils/StringUtil.js.map +1 -1
- package/package.json +8 -8
- package/src/NestiaSdkApplication.ts +173 -160
- package/src/analyses/ConfigAnalyzer.ts +50 -98
- package/src/analyses/ExceptionAnalyzer.ts +142 -142
- package/src/analyses/GenericAnalyzer.ts +3 -5
- package/src/analyses/ImportAnalyzer.ts +130 -115
- package/src/analyses/ReflectControllerAnalyzer.ts +63 -115
- package/src/analyses/ReflectHttpOperationAnalyzer.ts +142 -278
- package/src/analyses/ReflectHttpOperationParameterAnalyzer.ts +319 -0
- package/src/analyses/ReflectHttpOperationResponseAnalyzer.ts +117 -0
- package/src/analyses/ReflectMetadataAnalyzer.ts +1 -18
- package/src/analyses/ReflectWebSocketOperationAnalyzer.ts +143 -78
- package/src/analyses/TypedHttpRouteAnalyzer.ts +178 -0
- package/src/analyses/TypedWebSocketRouteAnalyzer.ts +18 -0
- package/src/decorators/OperationMetadata.ts +15 -0
- package/src/executable/internal/NestiaConfigLoader.ts +17 -3
- package/src/executable/internal/NestiaSdkCommand.ts +1 -4
- package/src/generates/CloneGenerator.ts +60 -59
- package/src/generates/E2eGenerator.ts +20 -21
- package/src/generates/OpenAiGenerator.ts +44 -45
- package/src/generates/SdkGenerator.ts +97 -125
- package/src/generates/SwaggerGenerator.ts +114 -416
- package/src/generates/internal/E2eFileProgrammer.ts +5 -14
- package/src/generates/internal/SdkAliasCollection.ts +33 -41
- package/src/generates/internal/SdkDistributionComposer.ts +9 -6
- package/src/generates/internal/SdkFileProgrammer.ts +11 -14
- package/src/generates/internal/SdkHttpCloneProgrammer.ts +142 -142
- package/src/generates/internal/SdkHttpFunctionProgrammer.ts +20 -47
- package/src/generates/internal/SdkHttpNamespaceProgrammer.ts +245 -275
- package/src/generates/internal/SdkHttpRouteProgrammer.ts +7 -7
- package/src/generates/internal/SdkHttpSimulationProgrammer.ts +11 -23
- package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +197 -233
- package/src/generates/internal/SdkWebSocketRouteProgrammer.ts +5 -15
- package/src/generates/internal/{SwaggerDescriptionGenerator.ts → SwaggerDescriptionComposer.ts} +25 -5
- package/src/generates/internal/SwaggerOperationComposer.ts +90 -0
- package/src/generates/internal/SwaggerOperationParameterComposer.ts +173 -0
- package/src/generates/internal/SwaggerOperationResponseComposer.ts +110 -0
- package/src/structures/INestiaProject.ts +5 -5
- package/src/structures/INestiaSdkInput.ts +25 -0
- package/src/structures/IReflectApplication.ts +8 -0
- package/src/structures/IReflectController.ts +3 -5
- package/src/structures/IReflectHttpOperation.ts +14 -76
- package/src/structures/IReflectHttpOperationException.ts +19 -0
- package/src/structures/IReflectHttpOperationParameter.ts +81 -0
- package/src/structures/IReflectHttpOperationSuccess.ts +22 -0
- package/src/structures/IReflectOperationError.ts +26 -0
- package/src/structures/IReflectType.ts +4 -0
- package/src/structures/IReflectTypeImport.ts +4 -0
- package/src/structures/IReflectWebSocketOperation.ts +9 -9
- package/src/structures/IReflectWebSocketOperationParameter.ts +38 -0
- package/src/structures/ITypedApplication.ts +8 -0
- package/src/structures/ITypedHttpRoute.ts +15 -45
- package/src/structures/ITypedHttpRouteException.ts +15 -0
- package/src/structures/ITypedHttpRouteParameter.ts +41 -0
- package/src/structures/ITypedHttpRouteSuccess.ts +22 -0
- package/src/structures/ITypedWebSocketRoute.ts +8 -56
- package/src/structures/ITypedWebSocketRouteParameter.ts +3 -0
- package/src/transform.ts +9 -0
- package/src/transformers/IOperationMetadata.ts +38 -0
- package/src/transformers/ISdkTransformerContext.ts +8 -0
- package/src/transformers/SdkMetadataProgrammer.ts +227 -0
- package/src/transformers/SdkTransformer.ts +168 -0
- package/src/transformers/TextPlainValidator.ts +17 -0
- package/src/utils/StringUtil.ts +3 -0
- package/lib/analyses/TypedControllerAnalyzer.d.ts +0 -8
- package/lib/analyses/TypedControllerAnalyzer.js +0 -77
- package/lib/analyses/TypedControllerAnalyzer.js.map +0 -1
- package/lib/analyses/TypedHttpOperationAnalyzer.d.ts +0 -15
- package/lib/analyses/TypedHttpOperationAnalyzer.js +0 -263
- package/lib/analyses/TypedHttpOperationAnalyzer.js.map +0 -1
- package/lib/analyses/TypedWebSocketOperationAnalyzer.d.ts +0 -15
- package/lib/analyses/TypedWebSocketOperationAnalyzer.js +0 -226
- package/lib/analyses/TypedWebSocketOperationAnalyzer.js.map +0 -1
- package/lib/generates/internal/SwaggerDescriptionGenerator.d.ts +0 -14
- package/lib/generates/internal/SwaggerDescriptionGenerator.js +0 -33
- package/lib/generates/internal/SwaggerDescriptionGenerator.js.map +0 -1
- package/lib/generates/internal/SwaggerSchemaGenerator.d.ts +0 -21
- package/lib/generates/internal/SwaggerSchemaGenerator.js +0 -289
- package/lib/generates/internal/SwaggerSchemaGenerator.js.map +0 -1
- package/lib/generates/internal/SwaggerSchemaValidator.d.ts +0 -7
- package/lib/generates/internal/SwaggerSchemaValidator.js +0 -191
- package/lib/generates/internal/SwaggerSchemaValidator.js.map +0 -1
- package/lib/structures/IErrorReport.d.ts +0 -6
- package/lib/structures/IErrorReport.js.map +0 -1
- package/lib/structures/INormalizedInput.d.ts +0 -19
- package/lib/structures/INormalizedInput.js.map +0 -1
- package/lib/structures/ISwaggerError.d.ts +0 -6
- package/lib/structures/ISwaggerError.js.map +0 -1
- package/lib/structures/ISwaggerLazyProperty.d.ts +0 -6
- package/lib/structures/ISwaggerLazyProperty.js.map +0 -1
- package/lib/structures/ISwaggerLazySchema.d.ts +0 -6
- package/lib/structures/ISwaggerLazySchema.js.map +0 -1
- package/lib/structures/ITypeTuple.d.ts +0 -5
- package/lib/structures/ITypeTuple.js +0 -3
- package/lib/structures/ITypeTuple.js.map +0 -1
- package/src/analyses/TypedControllerAnalyzer.ts +0 -92
- package/src/analyses/TypedHttpOperationAnalyzer.ts +0 -365
- package/src/analyses/TypedWebSocketOperationAnalyzer.ts +0 -375
- package/src/generates/internal/SwaggerSchemaGenerator.ts +0 -473
- package/src/generates/internal/SwaggerSchemaValidator.ts +0 -206
- package/src/structures/IErrorReport.ts +0 -6
- package/src/structures/INormalizedInput.ts +0 -20
- package/src/structures/ISwaggerError.ts +0 -8
- package/src/structures/ISwaggerLazyProperty.ts +0 -7
- package/src/structures/ISwaggerLazySchema.ts +0 -7
- package/src/structures/ITypeTuple.ts +0 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ISdkTransformerContext.js","sourceRoot":"","sources":["../../src/transformers/ISdkTransformerContext.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { IOperationMetadata } from "./IOperationMetadata";
|
|
3
|
+
import { ISdkTransformerContext } from "./ISdkTransformerContext";
|
|
4
|
+
export declare namespace SdkMetadataProgrammer {
|
|
5
|
+
interface IProps {
|
|
6
|
+
context: ISdkTransformerContext;
|
|
7
|
+
generics: WeakMap<ts.Type, ts.Type>;
|
|
8
|
+
node: ts.MethodDeclaration;
|
|
9
|
+
}
|
|
10
|
+
const write: (p: IProps) => IOperationMetadata;
|
|
11
|
+
}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SdkMetadataProgrammer = void 0;
|
|
4
|
+
const CommentFactory_1 = require("typia/lib/factories/CommentFactory");
|
|
5
|
+
const MetadataFactory_1 = require("typia/lib/factories/MetadataFactory");
|
|
6
|
+
const TypeFactory_1 = require("typia/lib/factories/TypeFactory");
|
|
7
|
+
const Escaper_1 = require("typia/lib/utils/Escaper");
|
|
8
|
+
const ImportAnalyzer_1 = require("../analyses/ImportAnalyzer");
|
|
9
|
+
var SdkMetadataProgrammer;
|
|
10
|
+
(function (SdkMetadataProgrammer) {
|
|
11
|
+
SdkMetadataProgrammer.write = (p) => {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
const symbol = p.context.checker.getSymbolAtLocation(p.node);
|
|
14
|
+
const signature = p.context.checker.getSignatureFromDeclaration(p.node);
|
|
15
|
+
return {
|
|
16
|
+
parameters: p.node.parameters.map((parameter, index) => writeParameter({
|
|
17
|
+
context: p.context,
|
|
18
|
+
generics: p.generics,
|
|
19
|
+
parameter,
|
|
20
|
+
index,
|
|
21
|
+
})),
|
|
22
|
+
success: writeResponse({
|
|
23
|
+
context: p.context,
|
|
24
|
+
generics: p.generics,
|
|
25
|
+
type: getReturnType({
|
|
26
|
+
checker: p.context.checker,
|
|
27
|
+
signature,
|
|
28
|
+
}),
|
|
29
|
+
}),
|
|
30
|
+
exceptions: {}, // @todo
|
|
31
|
+
description: (_a = (symbol && CommentFactory_1.CommentFactory.description(symbol))) !== null && _a !== void 0 ? _a : null,
|
|
32
|
+
jsDocTags: (_b = signature === null || signature === void 0 ? void 0 : signature.getJsDocTags()) !== null && _b !== void 0 ? _b : [],
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
const writeParameter = (props) => {
|
|
36
|
+
var _a, _b, _c, _d;
|
|
37
|
+
const symbol = props.context.checker.getSymbolAtLocation(props.parameter);
|
|
38
|
+
return Object.assign(Object.assign({}, writeType(Object.assign(Object.assign({}, props), { type: (_b = props.context.checker.getTypeFromTypeNode((_a = props.parameter.type) !== null && _a !== void 0 ? _a : TypeFactory_1.TypeFactory.keyword("any"))) !== null && _b !== void 0 ? _b : null, required: props.parameter.questionToken === undefined }))), { name: props.parameter.name.getText(), index: props.index, description: (_c = (symbol && CommentFactory_1.CommentFactory.description(symbol))) !== null && _c !== void 0 ? _c : null, jsDocTags: (_d = symbol === null || symbol === void 0 ? void 0 : symbol.getJsDocTags()) !== null && _d !== void 0 ? _d : [] });
|
|
39
|
+
};
|
|
40
|
+
const writeResponse = (props) => writeType(Object.assign(Object.assign({}, props), { required: true }));
|
|
41
|
+
const writeType = (p) => {
|
|
42
|
+
const analyzed = p.type
|
|
43
|
+
? ImportAnalyzer_1.ImportAnalyzer.analyze(p.context.checker, p.generics, p.type)
|
|
44
|
+
: {
|
|
45
|
+
type: { name: "any" },
|
|
46
|
+
imports: [],
|
|
47
|
+
};
|
|
48
|
+
const [primitive, resolved] = [true, false].map((escape) => MetadataFactory_1.MetadataFactory.analyze(p.context.checker, p.context.api)({
|
|
49
|
+
escape,
|
|
50
|
+
constant: true,
|
|
51
|
+
absorb: true,
|
|
52
|
+
})(p.context.collection)(p.type));
|
|
53
|
+
return Object.assign(Object.assign({}, analyzed), { primitive: writeSchema({
|
|
54
|
+
collection: p.context.collection,
|
|
55
|
+
result: primitive,
|
|
56
|
+
}), resolved: writeSchema({
|
|
57
|
+
collection: p.context.collection,
|
|
58
|
+
result: resolved,
|
|
59
|
+
}) });
|
|
60
|
+
};
|
|
61
|
+
const writeSchema = (p) => {
|
|
62
|
+
if (p.result.success === false)
|
|
63
|
+
return {
|
|
64
|
+
success: false,
|
|
65
|
+
errors: p.result.errors.map((e) => ({
|
|
66
|
+
name: e.name,
|
|
67
|
+
accessor: e.explore.object !== null
|
|
68
|
+
? join({
|
|
69
|
+
object: e.explore.object,
|
|
70
|
+
key: e.explore.property,
|
|
71
|
+
})
|
|
72
|
+
: null,
|
|
73
|
+
messages: e.messages,
|
|
74
|
+
})),
|
|
75
|
+
};
|
|
76
|
+
const visited = iterateVisited(p.result.data);
|
|
77
|
+
return {
|
|
78
|
+
success: true,
|
|
79
|
+
data: {
|
|
80
|
+
components: {
|
|
81
|
+
objects: p.collection
|
|
82
|
+
.objects()
|
|
83
|
+
.filter((o) => visited.has(o.name))
|
|
84
|
+
.map((o) => o.toJSON()),
|
|
85
|
+
aliases: p.collection
|
|
86
|
+
.aliases()
|
|
87
|
+
.filter((a) => visited.has(a.name))
|
|
88
|
+
.map((a) => a.toJSON()),
|
|
89
|
+
arrays: p.collection
|
|
90
|
+
.arrays()
|
|
91
|
+
.filter((a) => visited.has(a.name))
|
|
92
|
+
.map((a) => a.toJSON()),
|
|
93
|
+
tuples: p.collection
|
|
94
|
+
.tuples()
|
|
95
|
+
.filter((t) => visited.has(t.name))
|
|
96
|
+
.map((t) => t.toJSON()),
|
|
97
|
+
},
|
|
98
|
+
metadata: p.result.data.toJSON(),
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
const getReturnType = (p) => {
|
|
103
|
+
var _a, _b, _c, _d;
|
|
104
|
+
const type = (_b = (_a = p.signature) === null || _a === void 0 ? void 0 : _a.getReturnType()) !== null && _b !== void 0 ? _b : null;
|
|
105
|
+
if (type === null)
|
|
106
|
+
return null;
|
|
107
|
+
else if (((_c = type.symbol) === null || _c === void 0 ? void 0 : _c.name) === "Promise") {
|
|
108
|
+
const generic = p.checker.getTypeArguments(type);
|
|
109
|
+
return (_d = generic[0]) !== null && _d !== void 0 ? _d : null;
|
|
110
|
+
}
|
|
111
|
+
return type;
|
|
112
|
+
};
|
|
113
|
+
})(SdkMetadataProgrammer || (exports.SdkMetadataProgrammer = SdkMetadataProgrammer = {}));
|
|
114
|
+
const iterateVisited = (metdata) => {
|
|
115
|
+
const names = new Set();
|
|
116
|
+
const visited = new WeakSet();
|
|
117
|
+
const iterate = (metadata) => {
|
|
118
|
+
if (visited.has(metadata))
|
|
119
|
+
return;
|
|
120
|
+
visited.add(metadata);
|
|
121
|
+
for (const alias of metadata.aliases) {
|
|
122
|
+
names.add(alias.name);
|
|
123
|
+
iterate(alias.value);
|
|
124
|
+
}
|
|
125
|
+
for (const array of metadata.arrays) {
|
|
126
|
+
names.add(array.type.name);
|
|
127
|
+
iterate(array.type.value);
|
|
128
|
+
}
|
|
129
|
+
for (const tuple of metadata.tuples) {
|
|
130
|
+
names.add(tuple.type.name);
|
|
131
|
+
tuple.type.elements.map(iterate);
|
|
132
|
+
}
|
|
133
|
+
for (const object of metadata.objects) {
|
|
134
|
+
names.add(object.name);
|
|
135
|
+
object.properties.map((p) => {
|
|
136
|
+
iterate(p.key);
|
|
137
|
+
iterate(p.value);
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
if (metadata.escaped) {
|
|
141
|
+
iterate(metadata.escaped.original);
|
|
142
|
+
iterate(metadata.escaped.returns);
|
|
143
|
+
}
|
|
144
|
+
if (metadata.rest)
|
|
145
|
+
iterate(metadata.rest);
|
|
146
|
+
};
|
|
147
|
+
iterate(metdata);
|
|
148
|
+
return names;
|
|
149
|
+
};
|
|
150
|
+
const join = ({ object, key, }) => {
|
|
151
|
+
if (key === null)
|
|
152
|
+
return object.name;
|
|
153
|
+
else if (typeof key === "object")
|
|
154
|
+
return `${object.name}[key]`;
|
|
155
|
+
else if (Escaper_1.Escaper.variable(key))
|
|
156
|
+
return `${object.name}.${key}`;
|
|
157
|
+
return `${object.name}[${JSON.stringify(key)}]`;
|
|
158
|
+
};
|
|
159
|
+
//# sourceMappingURL=SdkMetadataProgrammer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SdkMetadataProgrammer.js","sourceRoot":"","sources":["../../src/transformers/SdkMetadataProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SdkTransformer = void 0;
|
|
7
|
+
const tstl_1 = require("tstl");
|
|
8
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
9
|
+
const LiteralFactory_1 = require("typia/lib/factories/LiteralFactory");
|
|
10
|
+
const MetadataCollection_1 = require("typia/lib/factories/MetadataCollection");
|
|
11
|
+
const TypeFactory_1 = require("typia/lib/factories/TypeFactory");
|
|
12
|
+
const GenericAnalyzer_1 = require("../analyses/GenericAnalyzer");
|
|
13
|
+
const SdkMetadataProgrammer_1 = require("./SdkMetadataProgrammer");
|
|
14
|
+
var SdkTransformer;
|
|
15
|
+
(function (SdkTransformer) {
|
|
16
|
+
SdkTransformer.transformFile = (checker) => (api) => {
|
|
17
|
+
const context = {
|
|
18
|
+
checker,
|
|
19
|
+
api,
|
|
20
|
+
collection: new MetadataCollection_1.MetadataCollection({
|
|
21
|
+
replace: MetadataCollection_1.MetadataCollection.replace,
|
|
22
|
+
}),
|
|
23
|
+
};
|
|
24
|
+
return (file) => {
|
|
25
|
+
if (file.isDeclarationFile === true)
|
|
26
|
+
return file;
|
|
27
|
+
const visitor = {
|
|
28
|
+
done: false,
|
|
29
|
+
visited: new tstl_1.HashSet(),
|
|
30
|
+
};
|
|
31
|
+
file = typescript_1.default.visitEachChild(file, (node) => transformNode({
|
|
32
|
+
context,
|
|
33
|
+
visitor,
|
|
34
|
+
node,
|
|
35
|
+
}), api);
|
|
36
|
+
if (visitor.done === false)
|
|
37
|
+
return file;
|
|
38
|
+
return typescript_1.default.factory.updateSourceFile(file, [
|
|
39
|
+
typescript_1.default.factory.createImportDeclaration(undefined, typescript_1.default.factory.createImportClause(false, undefined, typescript_1.default.factory.createNamespaceImport(typescript_1.default.factory.createIdentifier("__OperationMetadata"))), typescript_1.default.factory.createStringLiteral("@nestia/sdk/lib/decorators/OperationMetadata"), undefined),
|
|
40
|
+
...file.statements,
|
|
41
|
+
]);
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
const transformNode = (props) => typescript_1.default.isClassDeclaration(props.node)
|
|
45
|
+
? transformClass(Object.assign(Object.assign({}, props), { node: props.node }))
|
|
46
|
+
: props.node;
|
|
47
|
+
const transformClass = (props) => {
|
|
48
|
+
const generics = GenericAnalyzer_1.GenericAnalyzer.analyze(props.context.checker, props.node);
|
|
49
|
+
return typescript_1.default.factory.updateClassDeclaration(props.node, props.node.modifiers, props.node.name, props.node.typeParameters, props.node.heritageClauses, props.node.members.map((m) => typescript_1.default.isMethodDeclaration(m)
|
|
50
|
+
? transformMethod(Object.assign(Object.assign({}, props), { generics, class: props.node, node: m }))
|
|
51
|
+
: m));
|
|
52
|
+
};
|
|
53
|
+
const transformMethod = (props) => {
|
|
54
|
+
var _a, _b, _c;
|
|
55
|
+
var _d;
|
|
56
|
+
const decorators = typescript_1.default.getDecorators
|
|
57
|
+
? typescript_1.default.getDecorators(props.node)
|
|
58
|
+
: props.node.decorators;
|
|
59
|
+
if (!(decorators === null || decorators === void 0 ? void 0 : decorators.length))
|
|
60
|
+
return props.node;
|
|
61
|
+
const key = new MethodKey((_b = (_a = props.class.name) === null || _a === void 0 ? void 0 : _a.getText()) !== null && _b !== void 0 ? _b : "", props.node.name.getText());
|
|
62
|
+
(_d = props.visitor).done || (_d.done = true);
|
|
63
|
+
if (props.visitor.visited.has(key))
|
|
64
|
+
return props.node;
|
|
65
|
+
else
|
|
66
|
+
props.visitor.visited.insert(key);
|
|
67
|
+
const metadata = SdkMetadataProgrammer_1.SdkMetadataProgrammer.write(props);
|
|
68
|
+
return typescript_1.default.factory.updateMethodDeclaration(props.node, [
|
|
69
|
+
...((_c = props.node.modifiers) !== null && _c !== void 0 ? _c : []),
|
|
70
|
+
typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("__OperationMetadata.OperationMetadata"), undefined, [
|
|
71
|
+
typescript_1.default.factory.createAsExpression(LiteralFactory_1.LiteralFactory.generate(metadata), TypeFactory_1.TypeFactory.keyword("any")),
|
|
72
|
+
])),
|
|
73
|
+
], props.node.asteriskToken, props.node.name, props.node.questionToken, props.node.typeParameters, props.node.parameters, props.node.type, props.node.body);
|
|
74
|
+
};
|
|
75
|
+
})(SdkTransformer || (exports.SdkTransformer = SdkTransformer = {}));
|
|
76
|
+
class MethodKey {
|
|
77
|
+
constructor(className, methodName) {
|
|
78
|
+
this.className = className;
|
|
79
|
+
this.methodName = methodName;
|
|
80
|
+
}
|
|
81
|
+
equals(o) {
|
|
82
|
+
return this.className === o.className && this.methodName === o.methodName;
|
|
83
|
+
}
|
|
84
|
+
hashCode() {
|
|
85
|
+
return (0, tstl_1.hash)(this.className, this.methodName);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=SdkTransformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SdkTransformer.js","sourceRoot":"","sources":["../../src/transformers/SdkTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TextPlainValidator = void 0;
|
|
4
|
+
var TextPlainValidator;
|
|
5
|
+
(function (TextPlainValidator) {
|
|
6
|
+
TextPlainValidator.validate = (metadata) => {
|
|
7
|
+
const expected = metadata.atomics.filter((a) => a.type === "string").length +
|
|
8
|
+
metadata.constants
|
|
9
|
+
.filter((c) => c.type === "string")
|
|
10
|
+
.map((c) => c.values.length)
|
|
11
|
+
.reduce((a, b) => a + b, 0) +
|
|
12
|
+
metadata.templates.length +
|
|
13
|
+
metadata.natives.filter((n) => n === "String").length;
|
|
14
|
+
if (metadata.size() === 0 || metadata.size() !== expected)
|
|
15
|
+
return [`Only string type is allowed in the "text/plain" content type.`];
|
|
16
|
+
return [];
|
|
17
|
+
};
|
|
18
|
+
})(TextPlainValidator || (exports.TextPlainValidator = TextPlainValidator = {}));
|
|
19
|
+
//# sourceMappingURL=TextPlainValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextPlainValidator.js","sourceRoot":"","sources":["../../src/transformers/TextPlainValidator.ts"],"names":[],"mappings":";;;AAEA,IAAiB,kBAAkB,CAclC;AAdD,WAAiB,kBAAkB;IACpB,2BAAQ,GAAG,CAAC,QAAkB,EAAY,EAAE;QACvD,MAAM,QAAQ,GACZ,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,MAAM;YAC1D,QAAQ,CAAC,SAAS;iBACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;iBAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;iBAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7B,QAAQ,CAAC,SAAS,CAAC,MAAM;YACzB,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;QACxD,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,QAAQ;YACvD,OAAO,CAAC,+DAA+D,CAAC,CAAC;QAC3E,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;AACJ,CAAC,EAdgB,kBAAkB,kCAAlB,kBAAkB,QAclC"}
|
package/lib/utils/StringUtil.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.StringUtil = void 0;
|
|
4
4
|
var StringUtil;
|
|
5
5
|
(function (StringUtil) {
|
|
6
|
+
StringUtil.capitalize = (text) => text.charAt(0).toUpperCase() + text.slice(1).toLowerCase();
|
|
6
7
|
StringUtil.escapeDuplicate = (keep) => (change) => keep.includes(change) ? StringUtil.escapeDuplicate(keep)(`_${change}`) : change;
|
|
7
8
|
})(StringUtil || (exports.StringUtil = StringUtil = {}));
|
|
8
9
|
//# sourceMappingURL=StringUtil.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StringUtil.js","sourceRoot":"","sources":["../../src/utils/StringUtil.ts"],"names":[],"mappings":";;;AAAA,IAAiB,UAAU,
|
|
1
|
+
{"version":3,"file":"StringUtil.js","sourceRoot":"","sources":["../../src/utils/StringUtil.ts"],"names":[],"mappings":";;;AAAA,IAAiB,UAAU,CAQ1B;AARD,WAAiB,UAAU;IACZ,qBAAU,GAAG,CAAC,IAAY,EAAU,EAAE,CACjD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAEhD,0BAAe,GAC1B,CAAC,IAAc,EAAE,EAAE,CACnB,CAAC,MAAc,EAAU,EAAE,CACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAA,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAC3E,CAAC,EARgB,UAAU,0BAAV,UAAU,QAQ1B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nestia/sdk",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.11.0-dev.20240812",
|
|
4
4
|
"description": "Nestia SDK and Swagger generator",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
},
|
|
10
10
|
"scripts": {
|
|
11
11
|
"build": "rimraf lib && tsc",
|
|
12
|
-
"dev": "
|
|
12
|
+
"dev": "tsc -p tsconfig.test.json --watch",
|
|
13
13
|
"eslint": "eslint ./**/*.ts",
|
|
14
14
|
"prepare": "ts-patch install && typia patch"
|
|
15
15
|
},
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
},
|
|
33
33
|
"homepage": "https://nestia.io",
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@nestia/core": "^3.
|
|
36
|
-
"@nestia/fetcher": "^3.
|
|
35
|
+
"@nestia/core": "^3.11.0-dev.20240812",
|
|
36
|
+
"@nestia/fetcher": "^3.11.0-dev.20240812",
|
|
37
37
|
"@samchon/openapi": "^0.4.3",
|
|
38
38
|
"@wrtnio/openai-function-schema": "^0.2.3",
|
|
39
39
|
"cli": "^1.0.1",
|
|
@@ -45,16 +45,16 @@
|
|
|
45
45
|
"tsconfck": "^2.1.2",
|
|
46
46
|
"tsconfig-paths": "^4.1.1",
|
|
47
47
|
"tstl": "^3.0.0",
|
|
48
|
-
"typia": "^6.
|
|
48
|
+
"typia": "^6.8.0-dev.20240812"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
51
|
-
"@nestia/core": ">=3.
|
|
52
|
-
"@nestia/fetcher": ">=3.
|
|
51
|
+
"@nestia/core": ">=3.11.0-dev.20240812",
|
|
52
|
+
"@nestia/fetcher": ">=3.11.0-dev.20240812",
|
|
53
53
|
"@nestjs/common": ">=7.0.1",
|
|
54
54
|
"@nestjs/core": ">=7.0.1",
|
|
55
55
|
"reflect-metadata": ">=0.1.12",
|
|
56
56
|
"ts-node": ">=10.6.0",
|
|
57
|
-
"typia": ">=6.
|
|
57
|
+
"typia": ">=6.8.0-dev.20240812 <7.0.0"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@trivago/prettier-plugin-sort-imports": "^4.3.0",
|