@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.
Files changed (168) hide show
  1. package/README.md +12 -9
  2. package/assets/config/nestia.config.ts +82 -79
  3. package/lib/INestiaConfig.d.ts +28 -6
  4. package/lib/NestiaSdkApplication.js +12 -10
  5. package/lib/NestiaSdkApplication.js.map +1 -1
  6. package/lib/analyses/ConfigAnalyzer.js +1 -1
  7. package/lib/analyses/ConfigAnalyzer.js.map +1 -1
  8. package/lib/analyses/ControllerAnalyzer.js +30 -15
  9. package/lib/analyses/ControllerAnalyzer.js.map +1 -1
  10. package/lib/analyses/ExceptionAnalyzer.js +35 -6
  11. package/lib/analyses/ExceptionAnalyzer.js.map +1 -1
  12. package/lib/analyses/ImportAnalyzer.d.ts +1 -2
  13. package/lib/analyses/ImportAnalyzer.js +2 -2
  14. package/lib/analyses/ImportAnalyzer.js.map +1 -1
  15. package/lib/analyses/PathAnalyzer.d.ts +2 -4
  16. package/lib/analyses/PathAnalyzer.js +27 -11
  17. package/lib/analyses/PathAnalyzer.js.map +1 -1
  18. package/lib/analyses/ReflectAnalyzer.js +34 -22
  19. package/lib/analyses/ReflectAnalyzer.js.map +1 -1
  20. package/lib/analyses/SecurityAnalyzer.js +13 -8
  21. package/lib/analyses/SecurityAnalyzer.js.map +1 -1
  22. package/lib/executable/internal/NestiaConfigLoader.js +300 -220
  23. package/lib/executable/internal/NestiaConfigLoader.js.map +1 -1
  24. package/lib/executable/sdk.js +11 -11
  25. package/lib/generates/CloneGenerator.d.ts +6 -0
  26. package/lib/generates/CloneGenerator.js +62 -0
  27. package/lib/generates/CloneGenerator.js.map +1 -0
  28. package/lib/generates/E2eGenerator.d.ts +2 -1
  29. package/lib/generates/E2eGenerator.js +2 -2
  30. package/lib/generates/E2eGenerator.js.map +1 -1
  31. package/lib/generates/SdkGenerator.js +3 -11
  32. package/lib/generates/SdkGenerator.js.map +1 -1
  33. package/lib/generates/SwaggerGenerator.d.ts +2 -0
  34. package/lib/generates/SwaggerGenerator.js +119 -62
  35. package/lib/generates/SwaggerGenerator.js.map +1 -1
  36. package/lib/generates/internal/E2eFileProgrammer.d.ts +2 -1
  37. package/lib/generates/internal/E2eFileProgrammer.js +49 -53
  38. package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
  39. package/lib/generates/internal/FilePrinter.d.ts +10 -0
  40. package/lib/generates/internal/FilePrinter.js +46 -0
  41. package/lib/generates/internal/FilePrinter.js.map +1 -0
  42. package/lib/{utils → generates/internal}/ImportDictionary.d.ts +2 -1
  43. package/lib/{utils → generates/internal}/ImportDictionary.js +20 -14
  44. package/lib/generates/internal/ImportDictionary.js.map +1 -0
  45. package/lib/generates/internal/SdkAliasCollection.d.ts +12 -0
  46. package/lib/generates/internal/SdkAliasCollection.js +97 -0
  47. package/lib/generates/internal/SdkAliasCollection.js.map +1 -0
  48. package/lib/generates/internal/SdkCloneProgrammer.d.ts +12 -0
  49. package/lib/generates/internal/SdkCloneProgrammer.js +99 -0
  50. package/lib/generates/internal/SdkCloneProgrammer.js.map +1 -0
  51. package/lib/generates/internal/SdkFileProgrammer.d.ts +2 -1
  52. package/lib/generates/internal/SdkFileProgrammer.js +27 -28
  53. package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
  54. package/lib/generates/internal/SdkFunctionProgrammer.d.ts +7 -2
  55. package/lib/generates/internal/SdkFunctionProgrammer.js +115 -322
  56. package/lib/generates/internal/SdkFunctionProgrammer.js.map +1 -1
  57. package/lib/generates/internal/SdkImportWizard.d.ts +1 -1
  58. package/lib/generates/internal/SdkNamespaceProgrammer.d.ts +11 -0
  59. package/lib/generates/internal/SdkNamespaceProgrammer.js +180 -0
  60. package/lib/generates/internal/SdkNamespaceProgrammer.js.map +1 -0
  61. package/lib/generates/internal/SdkRouteProgrammer.d.ts +7 -0
  62. package/lib/generates/internal/SdkRouteProgrammer.js +55 -0
  63. package/lib/generates/internal/SdkRouteProgrammer.js.map +1 -0
  64. package/lib/generates/internal/SdkSimulationProgrammer.d.ts +8 -2
  65. package/lib/generates/internal/SdkSimulationProgrammer.js +103 -89
  66. package/lib/generates/internal/SdkSimulationProgrammer.js.map +1 -1
  67. package/lib/generates/internal/SdkTypeProgrammer.d.ts +9 -0
  68. package/lib/generates/internal/SdkTypeProgrammer.js +228 -0
  69. package/lib/generates/internal/SdkTypeProgrammer.js.map +1 -0
  70. package/lib/generates/internal/SwaggerSchemaGenerator.d.ts +4 -4
  71. package/lib/generates/internal/SwaggerSchemaGenerator.js +30 -28
  72. package/lib/generates/internal/SwaggerSchemaGenerator.js.map +1 -1
  73. package/lib/structures/IController.d.ts +4 -2
  74. package/lib/structures/IRoute.d.ts +5 -4
  75. package/lib/structures/ISwaggerLazyProperty.d.ts +2 -2
  76. package/lib/structures/ISwaggerLazySchema.d.ts +2 -2
  77. package/lib/structures/ParamCategory.d.ts +1 -1
  78. package/lib/structures/TypeEntry.js +2 -2
  79. package/lib/structures/TypeEntry.js.map +1 -1
  80. package/lib/utils/StringUtil.d.ts +3 -0
  81. package/lib/utils/StringUtil.js +8 -0
  82. package/lib/utils/StringUtil.js.map +1 -0
  83. package/package.json +12 -16
  84. package/src/INestiaConfig.ts +30 -6
  85. package/src/NestiaSdkApplication.ts +255 -253
  86. package/src/analyses/AccessorAnalyzer.ts +60 -60
  87. package/src/analyses/ConfigAnalyzer.ts +147 -147
  88. package/src/analyses/ControllerAnalyzer.ts +42 -19
  89. package/src/analyses/ExceptionAnalyzer.ts +148 -115
  90. package/src/analyses/GenericAnalyzer.ts +51 -51
  91. package/src/analyses/ImportAnalyzer.ts +1 -2
  92. package/src/analyses/PathAnalyzer.ts +110 -98
  93. package/src/analyses/ReflectAnalyzer.ts +39 -35
  94. package/src/analyses/SecurityAnalyzer.ts +24 -20
  95. package/src/executable/internal/CommandParser.ts +15 -15
  96. package/src/executable/internal/NestiaConfigLoader.ts +67 -67
  97. package/src/executable/internal/NestiaSdkCommand.ts +60 -60
  98. package/src/executable/sdk.ts +73 -73
  99. package/src/generates/CloneGenerator.ts +62 -0
  100. package/src/generates/E2eGenerator.ts +66 -64
  101. package/src/generates/SdkGenerator.ts +84 -96
  102. package/src/generates/SwaggerGenerator.ts +145 -53
  103. package/src/generates/internal/E2eFileProgrammer.ts +182 -123
  104. package/src/generates/internal/FilePrinter.ts +53 -0
  105. package/src/{utils → generates/internal}/ImportDictionary.ts +35 -13
  106. package/src/generates/internal/SdkAliasCollection.ts +152 -0
  107. package/src/generates/internal/SdkCloneProgrammer.ts +155 -0
  108. package/src/generates/internal/SdkDistributionComposer.ts +91 -91
  109. package/src/generates/internal/SdkFileProgrammer.ts +115 -106
  110. package/src/generates/internal/SdkFunctionProgrammer.ts +298 -518
  111. package/src/generates/internal/SdkImportWizard.ts +55 -55
  112. package/src/generates/internal/SdkNamespaceProgrammer.ts +510 -0
  113. package/src/generates/internal/SdkRouteDirectory.ts +17 -17
  114. package/src/generates/internal/SdkRouteProgrammer.ts +83 -0
  115. package/src/generates/internal/SdkSimulationProgrammer.ts +365 -133
  116. package/src/generates/internal/SdkTypeProgrammer.ts +386 -0
  117. package/src/generates/internal/SwaggerSchemaGenerator.ts +437 -427
  118. package/src/generates/internal/SwaggerSchemaValidator.ts +198 -198
  119. package/src/index.ts +4 -4
  120. package/src/module.ts +2 -2
  121. package/src/structures/IController.ts +94 -95
  122. package/src/structures/IErrorReport.ts +6 -6
  123. package/src/structures/INestiaProject.ts +13 -13
  124. package/src/structures/INormalizedInput.ts +20 -20
  125. package/src/structures/IRoute.ts +53 -53
  126. package/src/structures/ISwaggerLazyProperty.ts +2 -2
  127. package/src/structures/ISwaggerLazySchema.ts +2 -2
  128. package/src/structures/ITypeTuple.ts +6 -6
  129. package/src/structures/MethodType.ts +5 -5
  130. package/src/structures/ParamCategory.ts +1 -1
  131. package/src/structures/TypeEntry.ts +1 -1
  132. package/src/utils/ArrayUtil.ts +26 -26
  133. package/src/utils/FileRetriever.ts +22 -22
  134. package/src/utils/MapUtil.ts +14 -14
  135. package/src/utils/PathUtil.ts +10 -10
  136. package/src/utils/SourceFinder.ts +66 -66
  137. package/src/utils/StringUtil.ts +6 -0
  138. package/src/utils/StripEnums.ts +5 -5
  139. package/assets/bundle/api/utils/NestiaSimulator.ts +0 -70
  140. package/lib/generates/internal/SdkDtoGenerator.d.ts +0 -9
  141. package/lib/generates/internal/SdkDtoGenerator.js +0 -294
  142. package/lib/generates/internal/SdkDtoGenerator.js.map +0 -1
  143. package/lib/generates/internal/SdkTypeDefiner.d.ts +0 -11
  144. package/lib/generates/internal/SdkTypeDefiner.js +0 -82
  145. package/lib/generates/internal/SdkTypeDefiner.js.map +0 -1
  146. package/lib/structures/ISwagger.d.ts +0 -72
  147. package/lib/structures/ISwagger.js +0 -3
  148. package/lib/structures/ISwagger.js.map +0 -1
  149. package/lib/structures/ISwaggerComponents.d.ts +0 -26
  150. package/lib/structures/ISwaggerComponents.js +0 -3
  151. package/lib/structures/ISwaggerComponents.js.map +0 -1
  152. package/lib/structures/ISwaggerInfo.d.ts +0 -71
  153. package/lib/structures/ISwaggerInfo.js +0 -3
  154. package/lib/structures/ISwaggerInfo.js.map +0 -1
  155. package/lib/structures/ISwaggerRoute.d.ts +0 -47
  156. package/lib/structures/ISwaggerRoute.js +0 -3
  157. package/lib/structures/ISwaggerRoute.js.map +0 -1
  158. package/lib/structures/ISwaggerSecurityScheme.d.ts +0 -56
  159. package/lib/structures/ISwaggerSecurityScheme.js +0 -3
  160. package/lib/structures/ISwaggerSecurityScheme.js.map +0 -1
  161. package/lib/utils/ImportDictionary.js.map +0 -1
  162. package/src/generates/internal/SdkDtoGenerator.ts +0 -424
  163. package/src/generates/internal/SdkTypeDefiner.ts +0 -119
  164. package/src/structures/ISwagger.ts +0 -91
  165. package/src/structures/ISwaggerComponents.ts +0 -29
  166. package/src/structures/ISwaggerInfo.ts +0 -80
  167. package/src/structures/ISwaggerRoute.ts +0 -51
  168. 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 "../../utils/ImportDictionary";
4
+ import { ImportDictionary } from "./ImportDictionary";
4
5
  export declare namespace SdkSimulationProgrammer {
5
- const generate: (config: INestiaConfig) => (importer: ImportDictionary) => (route: IRoute) => string;
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 SdkTypeDefiner_1 = require("./SdkTypeDefiner");
15
+ const SdkTypeProgrammer_1 = require("./SdkTypeProgrammer");
6
16
  var SdkSimulationProgrammer;
7
17
  (function (SdkSimulationProgrammer) {
8
- SdkSimulationProgrammer.generate = (config) => (importer) => (route) => {
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 body = [
11
- ...(route.parameters.filter((p) => p.category !== "headers").length !==
12
- 0
13
- ? assert(config)(importer)(route)
14
- : []),
15
- ...(output ? returns(config)(route) : []),
16
- ];
17
- return [
18
- `export const simulate = async (`,
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) => ` ${p.name}: ${p.category === "query" || p.category === "body"
28
- ? `${route.name}.${p.category === "query" ? "Query" : "Input"}`
29
- : SdkTypeDefiner_1.SdkTypeDefiner.name(config)(importer)(p)},`),
30
- `): Promise<${output ? "Output" : "void"}> => {`,
31
- ...body.map((l) => ` ${l}`),
32
- `}`,
33
- ]
34
- .map((line) => ` ${line}`)
35
- .join("\n");
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 func = [
40
- `const assert = ${importer.internal({
41
- file: `${config.output}/utils/NestiaSimulator.ts`,
42
- instance: "NestiaSimulator",
43
- type: false,
44
- })}.assert({`,
45
- ` method: METADATA.method,`,
46
- ` host: connection.host,`,
47
- ` path: path(${route.parameters
48
- .filter((p) => p.category === "param" || p.category === "query")
49
- .map((p) => p.name)
50
- .join(", ")}),`,
51
- ` contentType: ${JSON.stringify(route.output.contentType)},`,
52
- `});`,
53
- ];
54
- const individual = route.parameters
55
- .filter((p) => p.category !== "headers")
56
- .map((p) => p.category === "body"
57
- ? `assert.body(() => ${typia}.assert(${p.name}));`
58
- : p.category === "query"
59
- ? `assert.query(() => ${typia}.assert(${p.name}));`
60
- : p.category === "headers"
61
- ? `assert.headers(() => ${typia}.assert(connection.headers);`
62
- : `assert.param("${p.field}")(() => ${typia}.assert(${p.name}));`);
63
- if (config.propagate !== true)
64
- return [...func, ...individual];
65
- return [
66
- ...func,
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
- `return {`,
96
- ` success: true,`,
97
- ` status: ${(_a = route.status) !== null && _a !== void 0 ? _a : (route.method === "POST" ? 201 : 200)},`,
98
- ` headers: {`,
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":"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"}
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
+ }