@nestia/sdk 3.0.0-dev.20231209 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -9
- package/assets/config/nestia.config.ts +82 -79
- package/lib/INestiaConfig.d.ts +28 -6
- package/lib/NestiaSdkApplication.js +12 -10
- package/lib/NestiaSdkApplication.js.map +1 -1
- package/lib/analyses/ConfigAnalyzer.js +1 -1
- package/lib/analyses/ConfigAnalyzer.js.map +1 -1
- package/lib/analyses/ControllerAnalyzer.js +30 -15
- package/lib/analyses/ControllerAnalyzer.js.map +1 -1
- package/lib/analyses/ExceptionAnalyzer.js +35 -6
- package/lib/analyses/ExceptionAnalyzer.js.map +1 -1
- package/lib/analyses/ImportAnalyzer.d.ts +1 -2
- package/lib/analyses/ImportAnalyzer.js +2 -2
- package/lib/analyses/ImportAnalyzer.js.map +1 -1
- package/lib/analyses/PathAnalyzer.d.ts +2 -4
- package/lib/analyses/PathAnalyzer.js +27 -11
- package/lib/analyses/PathAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectAnalyzer.js +34 -22
- package/lib/analyses/ReflectAnalyzer.js.map +1 -1
- package/lib/analyses/SecurityAnalyzer.js +13 -8
- package/lib/analyses/SecurityAnalyzer.js.map +1 -1
- package/lib/executable/internal/NestiaConfigLoader.js +300 -220
- package/lib/executable/internal/NestiaConfigLoader.js.map +1 -1
- package/lib/executable/sdk.js +11 -11
- package/lib/generates/CloneGenerator.d.ts +6 -0
- package/lib/generates/CloneGenerator.js +62 -0
- package/lib/generates/CloneGenerator.js.map +1 -0
- package/lib/generates/E2eGenerator.d.ts +2 -1
- package/lib/generates/E2eGenerator.js +2 -2
- package/lib/generates/E2eGenerator.js.map +1 -1
- package/lib/generates/SdkGenerator.js +3 -11
- package/lib/generates/SdkGenerator.js.map +1 -1
- package/lib/generates/SwaggerGenerator.d.ts +2 -0
- package/lib/generates/SwaggerGenerator.js +119 -62
- package/lib/generates/SwaggerGenerator.js.map +1 -1
- package/lib/generates/internal/E2eFileProgrammer.d.ts +2 -1
- package/lib/generates/internal/E2eFileProgrammer.js +49 -53
- package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
- package/lib/generates/internal/FilePrinter.d.ts +10 -0
- package/lib/generates/internal/FilePrinter.js +46 -0
- package/lib/generates/internal/FilePrinter.js.map +1 -0
- package/lib/{utils → generates/internal}/ImportDictionary.d.ts +2 -1
- package/lib/{utils → generates/internal}/ImportDictionary.js +20 -14
- package/lib/generates/internal/ImportDictionary.js.map +1 -0
- package/lib/generates/internal/SdkAliasCollection.d.ts +12 -0
- package/lib/generates/internal/SdkAliasCollection.js +97 -0
- package/lib/generates/internal/SdkAliasCollection.js.map +1 -0
- package/lib/generates/internal/SdkCloneProgrammer.d.ts +12 -0
- package/lib/generates/internal/SdkCloneProgrammer.js +99 -0
- package/lib/generates/internal/SdkCloneProgrammer.js.map +1 -0
- package/lib/generates/internal/SdkFileProgrammer.d.ts +2 -1
- package/lib/generates/internal/SdkFileProgrammer.js +27 -28
- package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkFunctionProgrammer.d.ts +7 -2
- package/lib/generates/internal/SdkFunctionProgrammer.js +115 -322
- package/lib/generates/internal/SdkFunctionProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkImportWizard.d.ts +1 -1
- package/lib/generates/internal/SdkNamespaceProgrammer.d.ts +11 -0
- package/lib/generates/internal/SdkNamespaceProgrammer.js +180 -0
- package/lib/generates/internal/SdkNamespaceProgrammer.js.map +1 -0
- package/lib/generates/internal/SdkRouteProgrammer.d.ts +7 -0
- package/lib/generates/internal/SdkRouteProgrammer.js +55 -0
- package/lib/generates/internal/SdkRouteProgrammer.js.map +1 -0
- package/lib/generates/internal/SdkSimulationProgrammer.d.ts +8 -2
- package/lib/generates/internal/SdkSimulationProgrammer.js +103 -89
- package/lib/generates/internal/SdkSimulationProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkTypeProgrammer.d.ts +9 -0
- package/lib/generates/internal/SdkTypeProgrammer.js +228 -0
- package/lib/generates/internal/SdkTypeProgrammer.js.map +1 -0
- package/lib/generates/internal/SwaggerSchemaGenerator.d.ts +4 -4
- package/lib/generates/internal/SwaggerSchemaGenerator.js +30 -28
- package/lib/generates/internal/SwaggerSchemaGenerator.js.map +1 -1
- package/lib/structures/IController.d.ts +4 -2
- package/lib/structures/IRoute.d.ts +5 -4
- package/lib/structures/ISwaggerLazyProperty.d.ts +2 -2
- package/lib/structures/ISwaggerLazySchema.d.ts +2 -2
- package/lib/structures/ParamCategory.d.ts +1 -1
- package/lib/structures/TypeEntry.js +2 -2
- package/lib/structures/TypeEntry.js.map +1 -1
- package/lib/utils/StringUtil.d.ts +3 -0
- package/lib/utils/StringUtil.js +8 -0
- package/lib/utils/StringUtil.js.map +1 -0
- package/package.json +12 -16
- package/src/INestiaConfig.ts +30 -6
- package/src/NestiaSdkApplication.ts +255 -253
- package/src/analyses/AccessorAnalyzer.ts +60 -60
- package/src/analyses/ConfigAnalyzer.ts +147 -147
- package/src/analyses/ControllerAnalyzer.ts +42 -19
- package/src/analyses/ExceptionAnalyzer.ts +148 -115
- package/src/analyses/GenericAnalyzer.ts +51 -51
- package/src/analyses/ImportAnalyzer.ts +1 -2
- package/src/analyses/PathAnalyzer.ts +110 -98
- package/src/analyses/ReflectAnalyzer.ts +39 -35
- package/src/analyses/SecurityAnalyzer.ts +24 -20
- package/src/executable/internal/CommandParser.ts +15 -15
- package/src/executable/internal/NestiaConfigLoader.ts +67 -67
- package/src/executable/internal/NestiaSdkCommand.ts +60 -60
- package/src/executable/sdk.ts +73 -73
- package/src/generates/CloneGenerator.ts +62 -0
- package/src/generates/E2eGenerator.ts +66 -64
- package/src/generates/SdkGenerator.ts +84 -96
- package/src/generates/SwaggerGenerator.ts +145 -53
- package/src/generates/internal/E2eFileProgrammer.ts +182 -123
- package/src/generates/internal/FilePrinter.ts +53 -0
- package/src/{utils → generates/internal}/ImportDictionary.ts +35 -13
- package/src/generates/internal/SdkAliasCollection.ts +152 -0
- package/src/generates/internal/SdkCloneProgrammer.ts +155 -0
- package/src/generates/internal/SdkDistributionComposer.ts +91 -91
- package/src/generates/internal/SdkFileProgrammer.ts +115 -106
- package/src/generates/internal/SdkFunctionProgrammer.ts +298 -518
- package/src/generates/internal/SdkImportWizard.ts +55 -55
- package/src/generates/internal/SdkNamespaceProgrammer.ts +510 -0
- package/src/generates/internal/SdkRouteDirectory.ts +17 -17
- package/src/generates/internal/SdkRouteProgrammer.ts +83 -0
- package/src/generates/internal/SdkSimulationProgrammer.ts +365 -133
- package/src/generates/internal/SdkTypeProgrammer.ts +386 -0
- package/src/generates/internal/SwaggerSchemaGenerator.ts +437 -427
- package/src/generates/internal/SwaggerSchemaValidator.ts +198 -198
- package/src/index.ts +4 -4
- package/src/module.ts +2 -2
- package/src/structures/IController.ts +94 -95
- package/src/structures/IErrorReport.ts +6 -6
- package/src/structures/INestiaProject.ts +13 -13
- package/src/structures/INormalizedInput.ts +20 -20
- package/src/structures/IRoute.ts +53 -53
- package/src/structures/ISwaggerLazyProperty.ts +2 -2
- package/src/structures/ISwaggerLazySchema.ts +2 -2
- package/src/structures/ITypeTuple.ts +6 -6
- package/src/structures/MethodType.ts +5 -5
- package/src/structures/ParamCategory.ts +1 -1
- package/src/structures/TypeEntry.ts +1 -1
- package/src/utils/ArrayUtil.ts +26 -26
- package/src/utils/FileRetriever.ts +22 -22
- package/src/utils/MapUtil.ts +14 -14
- package/src/utils/PathUtil.ts +10 -10
- package/src/utils/SourceFinder.ts +66 -66
- package/src/utils/StringUtil.ts +6 -0
- package/src/utils/StripEnums.ts +5 -5
- package/assets/bundle/api/utils/NestiaSimulator.ts +0 -70
- package/lib/generates/internal/SdkDtoGenerator.d.ts +0 -9
- package/lib/generates/internal/SdkDtoGenerator.js +0 -294
- package/lib/generates/internal/SdkDtoGenerator.js.map +0 -1
- package/lib/generates/internal/SdkTypeDefiner.d.ts +0 -11
- package/lib/generates/internal/SdkTypeDefiner.js +0 -82
- package/lib/generates/internal/SdkTypeDefiner.js.map +0 -1
- package/lib/structures/ISwagger.d.ts +0 -72
- package/lib/structures/ISwagger.js +0 -3
- package/lib/structures/ISwagger.js.map +0 -1
- package/lib/structures/ISwaggerComponents.d.ts +0 -26
- package/lib/structures/ISwaggerComponents.js +0 -3
- package/lib/structures/ISwaggerComponents.js.map +0 -1
- package/lib/structures/ISwaggerInfo.d.ts +0 -71
- package/lib/structures/ISwaggerInfo.js +0 -3
- package/lib/structures/ISwaggerInfo.js.map +0 -1
- package/lib/structures/ISwaggerRoute.d.ts +0 -47
- package/lib/structures/ISwaggerRoute.js +0 -3
- package/lib/structures/ISwaggerRoute.js.map +0 -1
- package/lib/structures/ISwaggerSecurityScheme.d.ts +0 -56
- package/lib/structures/ISwaggerSecurityScheme.js +0 -3
- package/lib/structures/ISwaggerSecurityScheme.js.map +0 -1
- package/lib/utils/ImportDictionary.js.map +0 -1
- package/src/generates/internal/SdkDtoGenerator.ts +0 -424
- package/src/generates/internal/SdkTypeDefiner.ts +0 -119
- package/src/structures/ISwagger.ts +0 -91
- package/src/structures/ISwaggerComponents.ts +0 -29
- package/src/structures/ISwaggerInfo.ts +0 -80
- package/src/structures/ISwaggerRoute.ts +0 -51
- package/src/structures/ISwaggerSecurityScheme.ts +0 -65
|
@@ -0,0 +1,180 @@
|
|
|
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.SdkNamespaceProgrammer = void 0;
|
|
7
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
const typia_1 = __importDefault(require("typia"));
|
|
9
|
+
const ExpressionFactory_1 = require("typia/lib/factories/ExpressionFactory");
|
|
10
|
+
const IdentifierFactory_1 = require("typia/lib/factories/IdentifierFactory");
|
|
11
|
+
const LiteralFactory_1 = require("typia/lib/factories/LiteralFactory");
|
|
12
|
+
const TypeFactory_1 = require("typia/lib/factories/TypeFactory");
|
|
13
|
+
const Escaper_1 = require("typia/lib/utils/Escaper");
|
|
14
|
+
const FilePrinter_1 = require("./FilePrinter");
|
|
15
|
+
const SdkAliasCollection_1 = require("./SdkAliasCollection");
|
|
16
|
+
const SdkImportWizard_1 = require("./SdkImportWizard");
|
|
17
|
+
const SdkSimulationProgrammer_1 = require("./SdkSimulationProgrammer");
|
|
18
|
+
const SdkTypeProgrammer_1 = require("./SdkTypeProgrammer");
|
|
19
|
+
var SdkNamespaceProgrammer;
|
|
20
|
+
(function (SdkNamespaceProgrammer) {
|
|
21
|
+
SdkNamespaceProgrammer.write = (checker) => (config) => (importer) => (route, props) => {
|
|
22
|
+
const types = write_types(checker)(config)(importer)(route, props);
|
|
23
|
+
return typescript_1.default.factory.createModuleDeclaration([typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createIdentifier(route.name), typescript_1.default.factory.createModuleBlock([
|
|
24
|
+
...types,
|
|
25
|
+
...(types.length ? [FilePrinter_1.FilePrinter.enter()] : []),
|
|
26
|
+
write_metadata(importer)(route, props),
|
|
27
|
+
FilePrinter_1.FilePrinter.enter(),
|
|
28
|
+
write_path(config)(importer)(route, props),
|
|
29
|
+
...(config.simulate
|
|
30
|
+
? [
|
|
31
|
+
SdkSimulationProgrammer_1.SdkSimulationProgrammer.random(checker)(config)(importer)(route),
|
|
32
|
+
SdkSimulationProgrammer_1.SdkSimulationProgrammer.simulate(config)(importer)(route, props),
|
|
33
|
+
]
|
|
34
|
+
: []),
|
|
35
|
+
...(config.json && (input => {
|
|
36
|
+
const $io0 = input => true === input.custom && "body" === input.category && "number" === typeof input.index && "string" === typeof input.name && (undefined === input.field || "string" === typeof input.field) && "boolean" === typeof input.encrypted && ("application/json" === input.contentType || "text/plain" === input.contentType || "application/x-www-form-urlencoded" === input.contentType || "multipart/form-data" === input.contentType);
|
|
37
|
+
return "object" === typeof input && null !== input && $io0(input);
|
|
38
|
+
})(props.input) &&
|
|
39
|
+
(props.input.contentType === "application/json" ||
|
|
40
|
+
props.input.encrypted === true)
|
|
41
|
+
? [write_stringify(config)(importer)]
|
|
42
|
+
: []),
|
|
43
|
+
]), typescript_1.default.NodeFlags.Namespace);
|
|
44
|
+
};
|
|
45
|
+
const write_types = (checker) => (config) => (importer) => (route, props) => {
|
|
46
|
+
const array = [];
|
|
47
|
+
const declare = (name, type) => array.push(typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], name, undefined, type));
|
|
48
|
+
if (props.headers !== undefined)
|
|
49
|
+
declare("Headers", SdkAliasCollection_1.SdkAliasCollection.headers(config)(importer)(props.headers));
|
|
50
|
+
if (props.query !== undefined)
|
|
51
|
+
declare("Query", SdkAliasCollection_1.SdkAliasCollection.query(config)(importer)(props.query));
|
|
52
|
+
if (props.input !== undefined)
|
|
53
|
+
declare("Input", SdkAliasCollection_1.SdkAliasCollection.input(config)(importer)(props.input));
|
|
54
|
+
if (config.propagate === true || route.output.typeName !== "void")
|
|
55
|
+
declare("Output", SdkAliasCollection_1.SdkAliasCollection.output(checker)(config)(importer)(route));
|
|
56
|
+
return array;
|
|
57
|
+
};
|
|
58
|
+
const write_metadata = (importer) => (route, props) => constant("METADATA")(typescript_1.default.factory.createAsExpression(typescript_1.default.factory.createObjectLiteralExpression([
|
|
59
|
+
typescript_1.default.factory.createPropertyAssignment("method", typescript_1.default.factory.createStringLiteral(route.method)),
|
|
60
|
+
typescript_1.default.factory.createPropertyAssignment("path", typescript_1.default.factory.createStringLiteral(route.path)),
|
|
61
|
+
typescript_1.default.factory.createPropertyAssignment("request", props.input
|
|
62
|
+
? LiteralFactory_1.LiteralFactory.generate((input => {
|
|
63
|
+
const $io0 = input => true === input.custom && "body" === input.category && "number" === typeof input.index && "string" === typeof input.name && (undefined === input.field || "string" === typeof input.field) && "boolean" === typeof input.encrypted && ("application/json" === input.contentType || "text/plain" === input.contentType || "application/x-www-form-urlencoded" === input.contentType || "multipart/form-data" === input.contentType);
|
|
64
|
+
return "object" === typeof input && null !== input && $io0(input);
|
|
65
|
+
})(props.input) ? {
|
|
66
|
+
type: props.input.contentType,
|
|
67
|
+
encrypted: !!props.input.encrypted,
|
|
68
|
+
}
|
|
69
|
+
: {
|
|
70
|
+
type: "application/json",
|
|
71
|
+
encrypted: false,
|
|
72
|
+
})
|
|
73
|
+
: typescript_1.default.factory.createNull()),
|
|
74
|
+
typescript_1.default.factory.createPropertyAssignment("response", route.method !== "HEAD"
|
|
75
|
+
? LiteralFactory_1.LiteralFactory.generate({
|
|
76
|
+
type: route.output.contentType,
|
|
77
|
+
encrypted: !!route.encrypted,
|
|
78
|
+
})
|
|
79
|
+
: typescript_1.default.factory.createNull()),
|
|
80
|
+
typescript_1.default.factory.createPropertyAssignment("status", route.status !== undefined
|
|
81
|
+
? ExpressionFactory_1.ExpressionFactory.number(route.status)
|
|
82
|
+
: typescript_1.default.factory.createNull()),
|
|
83
|
+
...(route.output.contentType ===
|
|
84
|
+
"application/x-www-form-urlencoded"
|
|
85
|
+
? [
|
|
86
|
+
typescript_1.default.factory.createPropertyAssignment("parseQuery", typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(`${SdkImportWizard_1.SdkImportWizard.typia(importer)}.http.createAssertQuery`), [
|
|
87
|
+
typescript_1.default.factory.createTypeReferenceNode(route.output.typeName),
|
|
88
|
+
], undefined)),
|
|
89
|
+
]
|
|
90
|
+
: []),
|
|
91
|
+
], true), typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("const"))));
|
|
92
|
+
const write_path = (config) => (importer) => (route, props) => {
|
|
93
|
+
const g = {
|
|
94
|
+
total: [
|
|
95
|
+
...route.parameters.filter((param) => param.category === "param" || param.category === "query"),
|
|
96
|
+
],
|
|
97
|
+
query: route.parameters.filter((param) => param.category === "query" && param.field !== undefined),
|
|
98
|
+
path: route.parameters.filter((param) => param.category === "param"),
|
|
99
|
+
};
|
|
100
|
+
const out = (body) => constant("path")(typescript_1.default.factory.createArrowFunction([], [], g.total.map((p) => IdentifierFactory_1.IdentifierFactory.parameter(p.name, p === props.query
|
|
101
|
+
? typescript_1.default.factory.createTypeReferenceNode(`${route.name}.Query`)
|
|
102
|
+
: getType(config)(importer)(p))), undefined, undefined, body));
|
|
103
|
+
if (g.total.length === 0)
|
|
104
|
+
return out(typescript_1.default.factory.createStringLiteral(route.path));
|
|
105
|
+
const template = () => {
|
|
106
|
+
const splitted = route.path.split(":");
|
|
107
|
+
if (splitted.length === 1)
|
|
108
|
+
return typescript_1.default.factory.createStringLiteral(route.path);
|
|
109
|
+
return typescript_1.default.factory.createTemplateExpression(typescript_1.default.factory.createTemplateHead(splitted[0]), splitted.slice(1).map((s, i, arr) => {
|
|
110
|
+
const name = s.split("/")[0];
|
|
111
|
+
return typescript_1.default.factory.createTemplateSpan(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("encodeURIComponent"), undefined, [
|
|
112
|
+
typescript_1.default.factory.createBinaryExpression(typescript_1.default.factory.createIdentifier(g.path.find((p) => p.field === name).name), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionQuestionToken), typescript_1.default.factory.createStringLiteral("null")),
|
|
113
|
+
]), (i !== arr.length - 1
|
|
114
|
+
? typescript_1.default.factory.createTemplateMiddle
|
|
115
|
+
: typescript_1.default.factory.createTemplateTail)(s.substring(name.length)));
|
|
116
|
+
}));
|
|
117
|
+
};
|
|
118
|
+
if (props.query === undefined && g.query.length === 0)
|
|
119
|
+
return out(template());
|
|
120
|
+
const block = (expr) => {
|
|
121
|
+
const computeName = (str) => g.total
|
|
122
|
+
.filter((p) => p.category !== "headers")
|
|
123
|
+
.find((p) => p.name === str) !== undefined
|
|
124
|
+
? computeName("_" + str)
|
|
125
|
+
: str;
|
|
126
|
+
const variables = computeName("variables");
|
|
127
|
+
return typescript_1.default.factory.createBlock([
|
|
128
|
+
local(variables)("URLSearchParams")(typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("URLSearchParams"), [], [])),
|
|
129
|
+
typescript_1.default.factory.createForOfStatement(undefined, typescript_1.default.factory.createVariableDeclarationList([
|
|
130
|
+
typescript_1.default.factory.createVariableDeclaration(typescript_1.default.factory.createArrayBindingPattern([
|
|
131
|
+
typescript_1.default.factory.createBindingElement(undefined, undefined, typescript_1.default.factory.createIdentifier("key"), undefined),
|
|
132
|
+
typescript_1.default.factory.createBindingElement(undefined, undefined, typescript_1.default.factory.createIdentifier("value"), undefined),
|
|
133
|
+
]), undefined, undefined, undefined),
|
|
134
|
+
], typescript_1.default.NodeFlags.Const), typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Object.entries"), undefined, [
|
|
135
|
+
typescript_1.default.factory.createAsExpression(expr, TypeFactory_1.TypeFactory.keyword("any")),
|
|
136
|
+
]), typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createIdentifier("undefined"), typescript_1.default.factory.createIdentifier("value")), typescript_1.default.factory.createContinueStatement(), typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Array.isArray"), undefined, [typescript_1.default.factory.createIdentifier("value")]), typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier("value"), typescript_1.default.factory.createIdentifier("forEach")), undefined, [
|
|
137
|
+
typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("elem")], undefined, undefined, typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(variables))("append"), undefined, [
|
|
138
|
+
typescript_1.default.factory.createIdentifier("key"),
|
|
139
|
+
typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("String"), undefined, [typescript_1.default.factory.createIdentifier("elem")]),
|
|
140
|
+
])),
|
|
141
|
+
])), typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(variables))("set"), undefined, [
|
|
142
|
+
typescript_1.default.factory.createIdentifier("key"),
|
|
143
|
+
typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("String"), undefined, [typescript_1.default.factory.createIdentifier("value")]),
|
|
144
|
+
]))))),
|
|
145
|
+
local("location")("string")(template()),
|
|
146
|
+
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createStrictEquality(ExpressionFactory_1.ExpressionFactory.number(0), IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(variables))("size")), undefined, typescript_1.default.factory.createIdentifier("location"), undefined, typescript_1.default.factory.createTemplateExpression(typescript_1.default.factory.createTemplateHead(""), [
|
|
147
|
+
typescript_1.default.factory.createTemplateSpan(typescript_1.default.factory.createIdentifier("location"), typescript_1.default.factory.createTemplateMiddle("?")),
|
|
148
|
+
typescript_1.default.factory.createTemplateSpan(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(variables))("toString"), undefined, undefined), typescript_1.default.factory.createTemplateTail("")),
|
|
149
|
+
]))),
|
|
150
|
+
], true);
|
|
151
|
+
};
|
|
152
|
+
if (props.query !== undefined && g.query.length === 0)
|
|
153
|
+
return out(block(typescript_1.default.factory.createIdentifier(props.query.name)));
|
|
154
|
+
return out(block(typescript_1.default.factory.createObjectLiteralExpression([
|
|
155
|
+
...(props.query
|
|
156
|
+
? [
|
|
157
|
+
typescript_1.default.factory.createSpreadAssignment(typescript_1.default.factory.createIdentifier(props.query.name)),
|
|
158
|
+
]
|
|
159
|
+
: []),
|
|
160
|
+
...g.query.map((q) => q.name === q.field
|
|
161
|
+
? typescript_1.default.factory.createShorthandPropertyAssignment(q.name)
|
|
162
|
+
: typescript_1.default.factory.createPropertyAssignment(Escaper_1.Escaper.variable(q.field)
|
|
163
|
+
? q.field
|
|
164
|
+
: typescript_1.default.factory.createStringLiteral(q.field), typescript_1.default.factory.createIdentifier(q.name))),
|
|
165
|
+
], true)));
|
|
166
|
+
};
|
|
167
|
+
const write_stringify = (config) => (importer) => constant("stringify")(typescript_1.default.factory.createArrowFunction([], undefined, [
|
|
168
|
+
IdentifierFactory_1.IdentifierFactory.parameter("input", typescript_1.default.factory.createTypeReferenceNode("Input")),
|
|
169
|
+
], undefined, undefined, typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(SdkImportWizard_1.SdkImportWizard.typia(importer)))("json"))(config.assert ? "stringify" : "assertStringify"), undefined, [typescript_1.default.factory.createIdentifier("input")])));
|
|
170
|
+
})(SdkNamespaceProgrammer || (exports.SdkNamespaceProgrammer = SdkNamespaceProgrammer = {}));
|
|
171
|
+
const local = (name) => (type) => (expression) => typescript_1.default.factory.createVariableStatement([], typescript_1.default.factory.createVariableDeclarationList([
|
|
172
|
+
typescript_1.default.factory.createVariableDeclaration(name, undefined, typescript_1.default.factory.createTypeReferenceNode(type), expression),
|
|
173
|
+
], typescript_1.default.NodeFlags.Const));
|
|
174
|
+
const constant = (name) => (expression) => typescript_1.default.factory.createVariableStatement([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createVariableDeclarationList([
|
|
175
|
+
typescript_1.default.factory.createVariableDeclaration(name, undefined, undefined, expression),
|
|
176
|
+
], typescript_1.default.NodeFlags.Const));
|
|
177
|
+
const getType = (config) => (importer) => (p) => p.metadata
|
|
178
|
+
? SdkTypeProgrammer_1.SdkTypeProgrammer.write(config)(importer)(p.metadata)
|
|
179
|
+
: typescript_1.default.factory.createTypeReferenceNode(p.typeName);
|
|
180
|
+
//# sourceMappingURL=SdkNamespaceProgrammer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SdkNamespaceProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkNamespaceProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { INestiaConfig } from "../../INestiaConfig";
|
|
3
|
+
import { IRoute } from "../../structures/IRoute";
|
|
4
|
+
import { ImportDictionary } from "./ImportDictionary";
|
|
5
|
+
export declare namespace SdkRouteProgrammer {
|
|
6
|
+
const generate: (checker: ts.TypeChecker) => (config: INestiaConfig) => (importer: ImportDictionary) => (route: IRoute) => ts.Statement[];
|
|
7
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SdkRouteProgrammer = void 0;
|
|
4
|
+
const FilePrinter_1 = require("./FilePrinter");
|
|
5
|
+
const SdkFunctionProgrammer_1 = require("./SdkFunctionProgrammer");
|
|
6
|
+
const SdkNamespaceProgrammer_1 = require("./SdkNamespaceProgrammer");
|
|
7
|
+
var SdkRouteProgrammer;
|
|
8
|
+
(function (SdkRouteProgrammer) {
|
|
9
|
+
SdkRouteProgrammer.generate = (checker) => (config) => (importer) => (route) => {
|
|
10
|
+
const props = {
|
|
11
|
+
headers: route.parameters.find((p) => p.category === "headers" && p.field === undefined),
|
|
12
|
+
query: route.parameters.find((p) => p.category === "query" && p.field === undefined),
|
|
13
|
+
input: route.parameters.find((p) => p.category === "body"),
|
|
14
|
+
};
|
|
15
|
+
return [
|
|
16
|
+
FilePrinter_1.FilePrinter.description(SdkFunctionProgrammer_1.SdkFunctionProgrammer.write(config)(importer)(route, props), describe(route)),
|
|
17
|
+
SdkNamespaceProgrammer_1.SdkNamespaceProgrammer.write(checker)(config)(importer)(route, props),
|
|
18
|
+
];
|
|
19
|
+
};
|
|
20
|
+
const describe = (route) => {
|
|
21
|
+
var _a;
|
|
22
|
+
// MAIN DESCRIPTION
|
|
23
|
+
const comments = route.description
|
|
24
|
+
? route.description.split("\n")
|
|
25
|
+
: [];
|
|
26
|
+
// COMMENT TAGS
|
|
27
|
+
const tags = route.jsDocTags.filter((tag) => tag.name !== "param" ||
|
|
28
|
+
route.parameters
|
|
29
|
+
.filter((p) => p.category !== "headers")
|
|
30
|
+
.some((p) => { var _a, _b; return p.name === ((_b = (_a = tag.text) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.text); }));
|
|
31
|
+
if (tags.length !== 0) {
|
|
32
|
+
const content = tags.map((t) => {
|
|
33
|
+
var _a;
|
|
34
|
+
return ((_a = t.text) === null || _a === void 0 ? void 0 : _a.length)
|
|
35
|
+
? `@${t.name} ${t.text.map((e) => e.text).join("")}`
|
|
36
|
+
: `@${t.name}`;
|
|
37
|
+
});
|
|
38
|
+
comments.push("", ...new Set(content));
|
|
39
|
+
}
|
|
40
|
+
// EXCEPTIONS
|
|
41
|
+
for (const [key, value] of Object.entries(route.exceptions)) {
|
|
42
|
+
if (comments.some((str) => str.startsWith(`@throw ${key}`) || str.startsWith(`@throws ${key}`)))
|
|
43
|
+
continue;
|
|
44
|
+
comments.push(((_a = value.description) === null || _a === void 0 ? void 0 : _a.length)
|
|
45
|
+
? `@throws ${key} ${value.description.split("\n")[0]}`
|
|
46
|
+
: `@throws ${key}`);
|
|
47
|
+
}
|
|
48
|
+
// POSTFIX
|
|
49
|
+
if (!!comments.length)
|
|
50
|
+
comments.push("");
|
|
51
|
+
comments.push(`@controller ${route.target.class.name}.${route.target.function.name}`, `@path ${route.method} ${route.path}`, `@nestia Generated by Nestia - https://github.com/samchon/nestia`);
|
|
52
|
+
return comments.join("\n");
|
|
53
|
+
};
|
|
54
|
+
})(SdkRouteProgrammer || (exports.SdkRouteProgrammer = SdkRouteProgrammer = {}));
|
|
55
|
+
//# sourceMappingURL=SdkRouteProgrammer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SdkRouteProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkRouteProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
1
2
|
import { INestiaConfig } from "../../INestiaConfig";
|
|
2
3
|
import { IRoute } from "../../structures/IRoute";
|
|
3
|
-
import { ImportDictionary } from "
|
|
4
|
+
import { ImportDictionary } from "./ImportDictionary";
|
|
4
5
|
export declare namespace SdkSimulationProgrammer {
|
|
5
|
-
const
|
|
6
|
+
const random: (checker: ts.TypeChecker) => (config: INestiaConfig) => (importer: ImportDictionary) => (route: IRoute) => ts.VariableStatement;
|
|
7
|
+
const simulate: (config: INestiaConfig) => (importer: ImportDictionary) => (route: IRoute, props: {
|
|
8
|
+
headers: IRoute.IParameter | undefined;
|
|
9
|
+
query: IRoute.IParameter | undefined;
|
|
10
|
+
input: IRoute.IParameter | undefined;
|
|
11
|
+
}) => ts.VariableStatement;
|
|
6
12
|
}
|
|
@@ -1,106 +1,120 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.SdkSimulationProgrammer = void 0;
|
|
7
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
const ExpressionFactory_1 = require("typia/lib/factories/ExpressionFactory");
|
|
9
|
+
const IdentifierFactory_1 = require("typia/lib/factories/IdentifierFactory");
|
|
10
|
+
const LiteralFactory_1 = require("typia/lib/factories/LiteralFactory");
|
|
11
|
+
const StatementFactory_1 = require("typia/lib/factories/StatementFactory");
|
|
12
|
+
const TypeFactory_1 = require("typia/lib/factories/TypeFactory");
|
|
13
|
+
const SdkAliasCollection_1 = require("./SdkAliasCollection");
|
|
4
14
|
const SdkImportWizard_1 = require("./SdkImportWizard");
|
|
5
|
-
const
|
|
15
|
+
const SdkTypeProgrammer_1 = require("./SdkTypeProgrammer");
|
|
6
16
|
var SdkSimulationProgrammer;
|
|
7
17
|
(function (SdkSimulationProgrammer) {
|
|
8
|
-
SdkSimulationProgrammer.
|
|
18
|
+
SdkSimulationProgrammer.random = (checker) => (config) => (importer) => (route) => {
|
|
19
|
+
const output = SdkAliasCollection_1.SdkAliasCollection.responseBody(checker)(config)(importer)(route);
|
|
20
|
+
return constant("random")(typescript_1.default.factory.createArrowFunction(undefined, undefined, [
|
|
21
|
+
typescript_1.default.factory.createParameterDeclaration(undefined, undefined, "g", typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken), typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("Partial"), [
|
|
22
|
+
typescript_1.default.factory.createTypeReferenceNode(`${SdkImportWizard_1.SdkImportWizard.typia(importer)}.IRandomGenerator`),
|
|
23
|
+
])),
|
|
24
|
+
], config.primitive === false
|
|
25
|
+
? output
|
|
26
|
+
: typescript_1.default.factory.createTypeReferenceNode(SdkImportWizard_1.SdkImportWizard.Resolved(importer), [output]), undefined, typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(SdkImportWizard_1.SdkImportWizard.typia(importer)))("random"), [output], [typescript_1.default.factory.createIdentifier("g")])));
|
|
27
|
+
};
|
|
28
|
+
SdkSimulationProgrammer.simulate = (config) => (importer) => (route, props) => {
|
|
29
|
+
var _a;
|
|
9
30
|
const output = config.propagate === true || route.output.typeName !== "void";
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
` ${route.parameters.filter((p) => p.category !== "headers").length ===
|
|
20
|
-
0 && route.output.typeName === "void"
|
|
21
|
-
? "_connection"
|
|
22
|
-
: "connection"}: ${route.parameters.some((p) => p.category === "headers" && p.field === undefined)
|
|
23
|
-
? `${SdkImportWizard_1.SdkImportWizard.IConnection(importer)}<${route.name}.Headers>`
|
|
24
|
-
: SdkImportWizard_1.SdkImportWizard.IConnection(importer)},`,
|
|
31
|
+
const caller = () => typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("random"), undefined, [
|
|
32
|
+
typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createLogicalAnd(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("object"), typescript_1.default.factory.createTypeOfExpression(typescript_1.default.factory.createIdentifier("connection.simulate"))), typescript_1.default.factory.createStrictInequality(typescript_1.default.factory.createNull(), typescript_1.default.factory.createIdentifier("connection.simulate"))), undefined, typescript_1.default.factory.createIdentifier("connection.simulate"), undefined, typescript_1.default.factory.createIdentifier("undefined")),
|
|
33
|
+
]);
|
|
34
|
+
return constant("simulate")(typescript_1.default.factory.createArrowFunction(undefined, undefined, [
|
|
35
|
+
IdentifierFactory_1.IdentifierFactory.parameter("connection", typescript_1.default.factory.createTypeReferenceNode(SdkImportWizard_1.SdkImportWizard.IConnection(importer), route.parameters.some((p) => p.category === "headers" && p.field === undefined)
|
|
36
|
+
? [
|
|
37
|
+
typescript_1.default.factory.createTypeReferenceNode(`${route.name}.Headers`),
|
|
38
|
+
]
|
|
39
|
+
: [])),
|
|
25
40
|
...route.parameters
|
|
26
41
|
.filter((p) => p.category !== "headers")
|
|
27
|
-
.map((p) =>
|
|
28
|
-
?
|
|
29
|
-
:
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
]
|
|
34
|
-
|
|
35
|
-
.
|
|
42
|
+
.map((p) => typescript_1.default.factory.createParameterDeclaration([], undefined, p.name, p.optional
|
|
43
|
+
? typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken)
|
|
44
|
+
: undefined, config.primitive !== false &&
|
|
45
|
+
(p === props.query || p === props.input)
|
|
46
|
+
? typescript_1.default.factory.createTypeReferenceNode(`${route.name}.${p === props.query ? "Query" : "Input"}`)
|
|
47
|
+
: getTypeName(config)(importer)(p))),
|
|
48
|
+
], typescript_1.default.factory.createTypeReferenceNode(output ? "Output" : "void"), undefined, typescript_1.default.factory.createBlock([
|
|
49
|
+
...assert(config)(importer)(route),
|
|
50
|
+
typescript_1.default.factory.createReturnStatement(config.propagate
|
|
51
|
+
? typescript_1.default.factory.createObjectLiteralExpression([
|
|
52
|
+
typescript_1.default.factory.createPropertyAssignment("success", typescript_1.default.factory.createTrue()),
|
|
53
|
+
typescript_1.default.factory.createPropertyAssignment("status", ExpressionFactory_1.ExpressionFactory.number((_a = route.status) !== null && _a !== void 0 ? _a : (route.method === "POST" ? 201 : 200))),
|
|
54
|
+
typescript_1.default.factory.createPropertyAssignment("headers", LiteralFactory_1.LiteralFactory.generate({
|
|
55
|
+
"Content-Type": route.output.contentType,
|
|
56
|
+
})),
|
|
57
|
+
typescript_1.default.factory.createPropertyAssignment("data", caller()),
|
|
58
|
+
], true)
|
|
59
|
+
: caller()),
|
|
60
|
+
], true)));
|
|
36
61
|
};
|
|
37
62
|
const assert = (config) => (importer) => (route) => {
|
|
63
|
+
const parameters = route.parameters.filter((p) => p.category !== "headers");
|
|
64
|
+
if (parameters.length === 0)
|
|
65
|
+
return [];
|
|
38
66
|
const typia = SdkImportWizard_1.SdkImportWizard.typia(importer);
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
.
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
.
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
`try {`,
|
|
68
|
-
...individual.map((l) => ` ${l}`),
|
|
69
|
-
`} catch (exp) {`,
|
|
70
|
-
` if (!${typia}.is<${SdkImportWizard_1.SdkImportWizard.HttpError(importer)}>(exp)) throw exp;`,
|
|
71
|
-
` return {`,
|
|
72
|
-
` success: false,`,
|
|
73
|
-
` status: exp.status,`,
|
|
74
|
-
` headers: exp.headers,`,
|
|
75
|
-
` data: exp.toJSON().message,`,
|
|
76
|
-
` } as any;`,
|
|
77
|
-
`}`,
|
|
78
|
-
];
|
|
79
|
-
};
|
|
80
|
-
const returns = (config) => (route) => {
|
|
81
|
-
var _a;
|
|
82
|
-
const random = (prefix, postfix) => route.output.typeName === "void"
|
|
83
|
-
? [`${prefix} undefined${postfix}`]
|
|
84
|
-
: [
|
|
85
|
-
`${prefix} random(`,
|
|
86
|
-
` typeof connection.simulate === 'object' &&`,
|
|
87
|
-
` connection.simulate !== null`,
|
|
88
|
-
` ? connection.simulate`,
|
|
89
|
-
` : undefined`,
|
|
90
|
-
`)${postfix}`,
|
|
91
|
-
];
|
|
92
|
-
if (config.propagate !== true)
|
|
93
|
-
return random("return", ";");
|
|
67
|
+
const validator = StatementFactory_1.StatementFactory.constant("assert", typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(importer.external({
|
|
68
|
+
type: false,
|
|
69
|
+
library: `@nestia/fetcher/lib/NestiaSimulator`,
|
|
70
|
+
instance: "NestiaSimulator",
|
|
71
|
+
})))("assert"), undefined, [
|
|
72
|
+
typescript_1.default.factory.createObjectLiteralExpression([
|
|
73
|
+
typescript_1.default.factory.createPropertyAssignment("method", typescript_1.default.factory.createIdentifier("METADATA.method")),
|
|
74
|
+
typescript_1.default.factory.createPropertyAssignment("host", typescript_1.default.factory.createIdentifier("connection.host")),
|
|
75
|
+
typescript_1.default.factory.createPropertyAssignment("path", typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("path"), undefined, route.parameters
|
|
76
|
+
.filter((p) => p.category === "param" || p.category === "query")
|
|
77
|
+
.map((p) => typescript_1.default.factory.createIdentifier(p.name)))),
|
|
78
|
+
typescript_1.default.factory.createPropertyAssignment("contentType", typescript_1.default.factory.createIdentifier(JSON.stringify(route.output.contentType))),
|
|
79
|
+
], true),
|
|
80
|
+
]));
|
|
81
|
+
const individual = parameters
|
|
82
|
+
.map((p) => typescript_1.default.factory.createCallExpression((() => {
|
|
83
|
+
const base = IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier("assert"))(p.category);
|
|
84
|
+
if (p.category !== "param")
|
|
85
|
+
return base;
|
|
86
|
+
return typescript_1.default.factory.createCallExpression(base, undefined, [
|
|
87
|
+
typescript_1.default.factory.createStringLiteral(p.name),
|
|
88
|
+
]);
|
|
89
|
+
})(), undefined, [
|
|
90
|
+
typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(typia))("assert"), undefined, [
|
|
91
|
+
typescript_1.default.factory.createIdentifier(p.category === "headers" ? "connection.headers" : p.name),
|
|
92
|
+
])),
|
|
93
|
+
]))
|
|
94
|
+
.map(typescript_1.default.factory.createExpressionStatement);
|
|
94
95
|
return [
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
` "Content-Type": "${route.output.contentType}",`,
|
|
100
|
-
` },`,
|
|
101
|
-
...random("data:", ",").map((r) => ` ${r}`),
|
|
102
|
-
`}`,
|
|
96
|
+
validator,
|
|
97
|
+
...(config.propagate !== true
|
|
98
|
+
? individual
|
|
99
|
+
: [tryAndCatch(importer)(individual)]),
|
|
103
100
|
];
|
|
104
101
|
};
|
|
102
|
+
const tryAndCatch = (importer) => (individual) => typescript_1.default.factory.createTryStatement(typescript_1.default.factory.createBlock(individual, true), typescript_1.default.factory.createCatchClause("exp", typescript_1.default.factory.createBlock([
|
|
103
|
+
typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createLogicalNot(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(SdkImportWizard_1.SdkImportWizard.typia(importer)))("is"), [
|
|
104
|
+
typescript_1.default.factory.createTypeReferenceNode(SdkImportWizard_1.SdkImportWizard.HttpError(importer)),
|
|
105
|
+
], [typescript_1.default.factory.createIdentifier("exp")])), typescript_1.default.factory.createThrowStatement(typescript_1.default.factory.createIdentifier("exp"))),
|
|
106
|
+
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createAsExpression(typescript_1.default.factory.createObjectLiteralExpression([
|
|
107
|
+
typescript_1.default.factory.createPropertyAssignment("success", typescript_1.default.factory.createFalse()),
|
|
108
|
+
typescript_1.default.factory.createPropertyAssignment("status", typescript_1.default.factory.createIdentifier("exp.status")),
|
|
109
|
+
typescript_1.default.factory.createPropertyAssignment("headers", typescript_1.default.factory.createIdentifier("exp.headers")),
|
|
110
|
+
typescript_1.default.factory.createPropertyAssignment("data", typescript_1.default.factory.createIdentifier("exp.toJSON().message")),
|
|
111
|
+
], true), TypeFactory_1.TypeFactory.keyword("any"))),
|
|
112
|
+
], true)), undefined);
|
|
105
113
|
})(SdkSimulationProgrammer || (exports.SdkSimulationProgrammer = SdkSimulationProgrammer = {}));
|
|
114
|
+
const constant = (name) => (expression) => typescript_1.default.factory.createVariableStatement([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createVariableDeclarationList([
|
|
115
|
+
typescript_1.default.factory.createVariableDeclaration(typescript_1.default.factory.createIdentifier(name), undefined, undefined, expression),
|
|
116
|
+
], typescript_1.default.NodeFlags.Const));
|
|
117
|
+
const getTypeName = (config) => (importer) => (p) => p.metadata
|
|
118
|
+
? SdkTypeProgrammer_1.SdkTypeProgrammer.write(config)(importer)(p.metadata)
|
|
119
|
+
: typescript_1.default.factory.createTypeReferenceNode(p.typeName);
|
|
106
120
|
//# sourceMappingURL=SdkSimulationProgrammer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SdkSimulationProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkSimulationProgrammer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SdkSimulationProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkSimulationProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { Metadata } from "typia/lib/schemas/metadata/Metadata";
|
|
3
|
+
import { MetadataObject } from "typia/lib/schemas/metadata/MetadataObject";
|
|
4
|
+
import { INestiaConfig } from "../../INestiaConfig";
|
|
5
|
+
import { ImportDictionary } from "./ImportDictionary";
|
|
6
|
+
export declare namespace SdkTypeProgrammer {
|
|
7
|
+
const write: (config: INestiaConfig) => (importer: ImportDictionary) => (meta: Metadata, parentEscaped?: boolean) => ts.TypeNode;
|
|
8
|
+
const write_object: (config: INestiaConfig) => (importer: ImportDictionary) => (object: MetadataObject) => ts.TypeNode;
|
|
9
|
+
}
|