@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.
Files changed (279) hide show
  1. package/lib/NestiaSdkApplication.d.ts +1 -3
  2. package/lib/NestiaSdkApplication.js +138 -136
  3. package/lib/NestiaSdkApplication.js.map +1 -1
  4. package/lib/analyses/ConfigAnalyzer.d.ts +2 -2
  5. package/lib/analyses/ConfigAnalyzer.js +39 -80
  6. package/lib/analyses/ConfigAnalyzer.js.map +1 -1
  7. package/lib/analyses/ExceptionAnalyzer.d.ts +0 -16
  8. package/lib/analyses/ExceptionAnalyzer.js +142 -105
  9. package/lib/analyses/ExceptionAnalyzer.js.map +1 -1
  10. package/lib/analyses/GenericAnalyzer.d.ts +1 -2
  11. package/lib/analyses/GenericAnalyzer.js.map +1 -1
  12. package/lib/analyses/ImportAnalyzer.d.ts +6 -11
  13. package/lib/analyses/ImportAnalyzer.js +70 -42
  14. package/lib/analyses/ImportAnalyzer.js.map +1 -1
  15. package/lib/analyses/ReflectControllerAnalyzer.d.ts +7 -1
  16. package/lib/analyses/ReflectControllerAnalyzer.js +28 -99
  17. package/lib/analyses/ReflectControllerAnalyzer.js.map +1 -1
  18. package/lib/analyses/ReflectHttpOperationAnalyzer.d.ts +6 -2
  19. package/lib/analyses/ReflectHttpOperationAnalyzer.js +72 -152
  20. package/lib/analyses/ReflectHttpOperationAnalyzer.js.map +1 -1
  21. package/lib/analyses/ReflectHttpOperationParameterAnalyzer.d.ts +15 -0
  22. package/lib/analyses/ReflectHttpOperationParameterAnalyzer.js +215 -0
  23. package/lib/analyses/ReflectHttpOperationParameterAnalyzer.js.map +1 -0
  24. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.d.ts +15 -0
  25. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js +81 -0
  26. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js.map +1 -0
  27. package/lib/analyses/ReflectMetadataAnalyzer.d.ts +1 -3
  28. package/lib/analyses/ReflectMetadataAnalyzer.js +0 -4
  29. package/lib/analyses/ReflectMetadataAnalyzer.js.map +1 -1
  30. package/lib/analyses/ReflectWebSocketOperationAnalyzer.d.ts +6 -2
  31. package/lib/analyses/ReflectWebSocketOperationAnalyzer.js +72 -48
  32. package/lib/analyses/ReflectWebSocketOperationAnalyzer.js.map +1 -1
  33. package/lib/analyses/TypedHttpRouteAnalyzer.d.ts +15 -0
  34. package/lib/analyses/TypedHttpRouteAnalyzer.js +111 -0
  35. package/lib/analyses/TypedHttpRouteAnalyzer.js.map +1 -0
  36. package/lib/analyses/TypedWebSocketRouteAnalyzer.d.ts +10 -0
  37. package/lib/analyses/TypedWebSocketRouteAnalyzer.js +9 -0
  38. package/lib/analyses/TypedWebSocketRouteAnalyzer.js.map +1 -0
  39. package/lib/decorators/OperationMetadata.d.ts +2 -0
  40. package/lib/decorators/OperationMetadata.js +10 -0
  41. package/lib/decorators/OperationMetadata.js.map +1 -0
  42. package/lib/executable/internal/NestiaConfigLoader.d.ts +1 -1
  43. package/lib/executable/internal/NestiaConfigLoader.js +33 -3
  44. package/lib/executable/internal/NestiaConfigLoader.js.map +1 -1
  45. package/lib/executable/internal/NestiaSdkCommand.js +1 -1
  46. package/lib/executable/internal/NestiaSdkCommand.js.map +1 -1
  47. package/lib/generates/CloneGenerator.d.ts +0 -5
  48. package/lib/generates/CloneGenerator.js +60 -60
  49. package/lib/generates/CloneGenerator.js.map +1 -1
  50. package/lib/generates/E2eGenerator.d.ts +2 -3
  51. package/lib/generates/E2eGenerator.js +9 -8
  52. package/lib/generates/E2eGenerator.js.map +1 -1
  53. package/lib/generates/OpenAiGenerator.d.ts +2 -4
  54. package/lib/generates/OpenAiGenerator.js +13 -3
  55. package/lib/generates/OpenAiGenerator.js.map +1 -1
  56. package/lib/generates/SdkGenerator.d.ts +4 -4
  57. package/lib/generates/SdkGenerator.js +63 -73
  58. package/lib/generates/SdkGenerator.js.map +1 -1
  59. package/lib/generates/SwaggerGenerator.d.ts +6 -18
  60. package/lib/generates/SwaggerGenerator.js +60 -235
  61. package/lib/generates/SwaggerGenerator.js.map +1 -1
  62. package/lib/generates/internal/E2eFileProgrammer.js +5 -9
  63. package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
  64. package/lib/generates/internal/SdkAliasCollection.d.ts +6 -4
  65. package/lib/generates/internal/SdkAliasCollection.js +33 -31
  66. package/lib/generates/internal/SdkAliasCollection.js.map +1 -1
  67. package/lib/generates/internal/SdkDistributionComposer.d.ts +4 -1
  68. package/lib/generates/internal/SdkDistributionComposer.js +6 -6
  69. package/lib/generates/internal/SdkDistributionComposer.js.map +1 -1
  70. package/lib/generates/internal/SdkFileProgrammer.d.ts +2 -4
  71. package/lib/generates/internal/SdkFileProgrammer.js +6 -6
  72. package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
  73. package/lib/generates/internal/SdkHttpCloneProgrammer.d.ts +0 -12
  74. package/lib/generates/internal/SdkHttpCloneProgrammer.js +142 -97
  75. package/lib/generates/internal/SdkHttpCloneProgrammer.js.map +1 -1
  76. package/lib/generates/internal/SdkHttpFunctionProgrammer.d.ts +4 -3
  77. package/lib/generates/internal/SdkHttpFunctionProgrammer.js +37 -59
  78. package/lib/generates/internal/SdkHttpFunctionProgrammer.js.map +1 -1
  79. package/lib/generates/internal/SdkHttpNamespaceProgrammer.d.ts +4 -3
  80. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js +31 -48
  81. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js.map +1 -1
  82. package/lib/generates/internal/SdkHttpRouteProgrammer.js +7 -3
  83. package/lib/generates/internal/SdkHttpRouteProgrammer.js.map +1 -1
  84. package/lib/generates/internal/SdkHttpSimulationProgrammer.d.ts +4 -3
  85. package/lib/generates/internal/SdkHttpSimulationProgrammer.js +7 -13
  86. package/lib/generates/internal/SdkHttpSimulationProgrammer.js.map +1 -1
  87. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.d.ts +1 -2
  88. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js +11 -16
  89. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js.map +1 -1
  90. package/lib/generates/internal/SdkWebSocketRouteProgrammer.d.ts +1 -2
  91. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js +7 -10
  92. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js.map +1 -1
  93. package/lib/generates/internal/SwaggerDescriptionComposer.d.ts +23 -0
  94. package/lib/generates/internal/SwaggerDescriptionComposer.js +44 -0
  95. package/lib/generates/internal/SwaggerDescriptionComposer.js.map +1 -0
  96. package/lib/generates/internal/SwaggerOperationComposer.d.ts +12 -0
  97. package/lib/generates/internal/SwaggerOperationComposer.js +68 -0
  98. package/lib/generates/internal/SwaggerOperationComposer.js.map +1 -0
  99. package/lib/generates/internal/SwaggerOperationParameterComposer.d.ts +18 -0
  100. package/lib/generates/internal/SwaggerOperationParameterComposer.js +99 -0
  101. package/lib/generates/internal/SwaggerOperationParameterComposer.js.map +1 -0
  102. package/lib/generates/internal/SwaggerOperationResponseComposer.d.ts +9 -0
  103. package/lib/generates/internal/SwaggerOperationResponseComposer.js +91 -0
  104. package/lib/generates/internal/SwaggerOperationResponseComposer.js.map +1 -0
  105. package/lib/structures/INestiaProject.d.ts +5 -5
  106. package/lib/structures/INestiaSdkInput.d.ts +20 -0
  107. package/lib/structures/{ISwaggerError.js → INestiaSdkInput.js} +1 -1
  108. package/lib/structures/INestiaSdkInput.js.map +1 -0
  109. package/lib/structures/IReflectApplication.d.ts +6 -0
  110. package/lib/structures/IReflectApplication.js +3 -0
  111. package/lib/structures/IReflectApplication.js.map +1 -0
  112. package/lib/structures/IReflectController.d.ts +3 -5
  113. package/lib/structures/IReflectHttpOperation.d.ts +13 -65
  114. package/lib/structures/IReflectHttpOperationException.d.ts +14 -0
  115. package/lib/structures/IReflectHttpOperationException.js +3 -0
  116. package/lib/structures/IReflectHttpOperationException.js.map +1 -0
  117. package/lib/structures/IReflectHttpOperationParameter.d.ts +35 -0
  118. package/lib/structures/IReflectHttpOperationParameter.js +3 -0
  119. package/lib/structures/IReflectHttpOperationParameter.js.map +1 -0
  120. package/lib/structures/IReflectHttpOperationSuccess.d.ts +15 -0
  121. package/lib/structures/IReflectHttpOperationSuccess.js +3 -0
  122. package/lib/structures/IReflectHttpOperationSuccess.js.map +1 -0
  123. package/lib/structures/IReflectOperationError.d.ts +16 -0
  124. package/lib/structures/IReflectOperationError.js +23 -0
  125. package/lib/structures/IReflectOperationError.js.map +1 -0
  126. package/lib/structures/IReflectType.d.ts +4 -0
  127. package/lib/structures/{IErrorReport.js → IReflectType.js} +1 -1
  128. package/lib/structures/IReflectType.js.map +1 -0
  129. package/lib/structures/IReflectTypeImport.d.ts +4 -0
  130. package/lib/structures/{ISwaggerLazySchema.js → IReflectTypeImport.js} +1 -1
  131. package/lib/structures/IReflectTypeImport.js.map +1 -0
  132. package/lib/structures/IReflectWebSocketOperation.d.ts +8 -9
  133. package/lib/structures/IReflectWebSocketOperationParameter.d.ts +23 -0
  134. package/lib/structures/IReflectWebSocketOperationParameter.js +3 -0
  135. package/lib/structures/IReflectWebSocketOperationParameter.js.map +1 -0
  136. package/lib/structures/ITypedApplication.d.ts +7 -0
  137. package/lib/structures/{INormalizedInput.js → ITypedApplication.js} +1 -1
  138. package/lib/structures/ITypedApplication.js.map +1 -0
  139. package/lib/structures/ITypedHttpRoute.d.ts +14 -42
  140. package/lib/structures/ITypedHttpRouteException.d.ts +10 -0
  141. package/lib/structures/ITypedHttpRouteException.js +3 -0
  142. package/lib/structures/ITypedHttpRouteException.js.map +1 -0
  143. package/lib/structures/ITypedHttpRouteParameter.d.ts +31 -0
  144. package/lib/structures/ITypedHttpRouteParameter.js +3 -0
  145. package/lib/structures/ITypedHttpRouteParameter.js.map +1 -0
  146. package/lib/structures/ITypedHttpRouteSuccess.d.ts +19 -0
  147. package/lib/structures/{ISwaggerLazyProperty.js → ITypedHttpRouteSuccess.js} +1 -1
  148. package/lib/structures/ITypedHttpRouteSuccess.js.map +1 -0
  149. package/lib/structures/ITypedWebSocketRoute.d.ts +8 -44
  150. package/lib/structures/ITypedWebSocketRouteParameter.d.ts +2 -0
  151. package/lib/structures/ITypedWebSocketRouteParameter.js +3 -0
  152. package/lib/structures/ITypedWebSocketRouteParameter.js.map +1 -0
  153. package/lib/transform.d.ts +3 -0
  154. package/lib/transform.js +8 -0
  155. package/lib/transform.js.map +1 -0
  156. package/lib/transformers/IOperationMetadata.d.ts +36 -0
  157. package/lib/transformers/IOperationMetadata.js +3 -0
  158. package/lib/transformers/IOperationMetadata.js.map +1 -0
  159. package/lib/transformers/ISdkTransformerContext.d.ts +7 -0
  160. package/lib/transformers/ISdkTransformerContext.js +3 -0
  161. package/lib/transformers/ISdkTransformerContext.js.map +1 -0
  162. package/lib/transformers/SdkMetadataProgrammer.d.ts +11 -0
  163. package/lib/transformers/SdkMetadataProgrammer.js +159 -0
  164. package/lib/transformers/SdkMetadataProgrammer.js.map +1 -0
  165. package/lib/transformers/SdkTransformer.d.ts +4 -0
  166. package/lib/transformers/SdkTransformer.js +88 -0
  167. package/lib/transformers/SdkTransformer.js.map +1 -0
  168. package/lib/transformers/TextPlainValidator.d.ts +4 -0
  169. package/lib/transformers/TextPlainValidator.js +19 -0
  170. package/lib/transformers/TextPlainValidator.js.map +1 -0
  171. package/lib/utils/StringUtil.d.ts +1 -0
  172. package/lib/utils/StringUtil.js +1 -0
  173. package/lib/utils/StringUtil.js.map +1 -1
  174. package/package.json +8 -8
  175. package/src/NestiaSdkApplication.ts +173 -160
  176. package/src/analyses/ConfigAnalyzer.ts +50 -98
  177. package/src/analyses/ExceptionAnalyzer.ts +142 -142
  178. package/src/analyses/GenericAnalyzer.ts +3 -5
  179. package/src/analyses/ImportAnalyzer.ts +130 -115
  180. package/src/analyses/ReflectControllerAnalyzer.ts +63 -115
  181. package/src/analyses/ReflectHttpOperationAnalyzer.ts +142 -278
  182. package/src/analyses/ReflectHttpOperationParameterAnalyzer.ts +319 -0
  183. package/src/analyses/ReflectHttpOperationResponseAnalyzer.ts +117 -0
  184. package/src/analyses/ReflectMetadataAnalyzer.ts +1 -18
  185. package/src/analyses/ReflectWebSocketOperationAnalyzer.ts +143 -78
  186. package/src/analyses/TypedHttpRouteAnalyzer.ts +178 -0
  187. package/src/analyses/TypedWebSocketRouteAnalyzer.ts +18 -0
  188. package/src/decorators/OperationMetadata.ts +15 -0
  189. package/src/executable/internal/NestiaConfigLoader.ts +17 -3
  190. package/src/executable/internal/NestiaSdkCommand.ts +1 -4
  191. package/src/generates/CloneGenerator.ts +60 -59
  192. package/src/generates/E2eGenerator.ts +20 -21
  193. package/src/generates/OpenAiGenerator.ts +44 -45
  194. package/src/generates/SdkGenerator.ts +97 -125
  195. package/src/generates/SwaggerGenerator.ts +114 -416
  196. package/src/generates/internal/E2eFileProgrammer.ts +5 -14
  197. package/src/generates/internal/SdkAliasCollection.ts +33 -41
  198. package/src/generates/internal/SdkDistributionComposer.ts +9 -6
  199. package/src/generates/internal/SdkFileProgrammer.ts +11 -14
  200. package/src/generates/internal/SdkHttpCloneProgrammer.ts +142 -142
  201. package/src/generates/internal/SdkHttpFunctionProgrammer.ts +20 -47
  202. package/src/generates/internal/SdkHttpNamespaceProgrammer.ts +245 -275
  203. package/src/generates/internal/SdkHttpRouteProgrammer.ts +7 -7
  204. package/src/generates/internal/SdkHttpSimulationProgrammer.ts +11 -23
  205. package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +197 -233
  206. package/src/generates/internal/SdkWebSocketRouteProgrammer.ts +5 -15
  207. package/src/generates/internal/{SwaggerDescriptionGenerator.ts → SwaggerDescriptionComposer.ts} +25 -5
  208. package/src/generates/internal/SwaggerOperationComposer.ts +90 -0
  209. package/src/generates/internal/SwaggerOperationParameterComposer.ts +173 -0
  210. package/src/generates/internal/SwaggerOperationResponseComposer.ts +110 -0
  211. package/src/structures/INestiaProject.ts +5 -5
  212. package/src/structures/INestiaSdkInput.ts +25 -0
  213. package/src/structures/IReflectApplication.ts +8 -0
  214. package/src/structures/IReflectController.ts +3 -5
  215. package/src/structures/IReflectHttpOperation.ts +14 -76
  216. package/src/structures/IReflectHttpOperationException.ts +19 -0
  217. package/src/structures/IReflectHttpOperationParameter.ts +81 -0
  218. package/src/structures/IReflectHttpOperationSuccess.ts +22 -0
  219. package/src/structures/IReflectOperationError.ts +26 -0
  220. package/src/structures/IReflectType.ts +4 -0
  221. package/src/structures/IReflectTypeImport.ts +4 -0
  222. package/src/structures/IReflectWebSocketOperation.ts +9 -9
  223. package/src/structures/IReflectWebSocketOperationParameter.ts +38 -0
  224. package/src/structures/ITypedApplication.ts +8 -0
  225. package/src/structures/ITypedHttpRoute.ts +15 -45
  226. package/src/structures/ITypedHttpRouteException.ts +15 -0
  227. package/src/structures/ITypedHttpRouteParameter.ts +41 -0
  228. package/src/structures/ITypedHttpRouteSuccess.ts +22 -0
  229. package/src/structures/ITypedWebSocketRoute.ts +8 -56
  230. package/src/structures/ITypedWebSocketRouteParameter.ts +3 -0
  231. package/src/transform.ts +9 -0
  232. package/src/transformers/IOperationMetadata.ts +38 -0
  233. package/src/transformers/ISdkTransformerContext.ts +8 -0
  234. package/src/transformers/SdkMetadataProgrammer.ts +227 -0
  235. package/src/transformers/SdkTransformer.ts +168 -0
  236. package/src/transformers/TextPlainValidator.ts +17 -0
  237. package/src/utils/StringUtil.ts +3 -0
  238. package/lib/analyses/TypedControllerAnalyzer.d.ts +0 -8
  239. package/lib/analyses/TypedControllerAnalyzer.js +0 -77
  240. package/lib/analyses/TypedControllerAnalyzer.js.map +0 -1
  241. package/lib/analyses/TypedHttpOperationAnalyzer.d.ts +0 -15
  242. package/lib/analyses/TypedHttpOperationAnalyzer.js +0 -263
  243. package/lib/analyses/TypedHttpOperationAnalyzer.js.map +0 -1
  244. package/lib/analyses/TypedWebSocketOperationAnalyzer.d.ts +0 -15
  245. package/lib/analyses/TypedWebSocketOperationAnalyzer.js +0 -226
  246. package/lib/analyses/TypedWebSocketOperationAnalyzer.js.map +0 -1
  247. package/lib/generates/internal/SwaggerDescriptionGenerator.d.ts +0 -14
  248. package/lib/generates/internal/SwaggerDescriptionGenerator.js +0 -33
  249. package/lib/generates/internal/SwaggerDescriptionGenerator.js.map +0 -1
  250. package/lib/generates/internal/SwaggerSchemaGenerator.d.ts +0 -21
  251. package/lib/generates/internal/SwaggerSchemaGenerator.js +0 -289
  252. package/lib/generates/internal/SwaggerSchemaGenerator.js.map +0 -1
  253. package/lib/generates/internal/SwaggerSchemaValidator.d.ts +0 -7
  254. package/lib/generates/internal/SwaggerSchemaValidator.js +0 -191
  255. package/lib/generates/internal/SwaggerSchemaValidator.js.map +0 -1
  256. package/lib/structures/IErrorReport.d.ts +0 -6
  257. package/lib/structures/IErrorReport.js.map +0 -1
  258. package/lib/structures/INormalizedInput.d.ts +0 -19
  259. package/lib/structures/INormalizedInput.js.map +0 -1
  260. package/lib/structures/ISwaggerError.d.ts +0 -6
  261. package/lib/structures/ISwaggerError.js.map +0 -1
  262. package/lib/structures/ISwaggerLazyProperty.d.ts +0 -6
  263. package/lib/structures/ISwaggerLazyProperty.js.map +0 -1
  264. package/lib/structures/ISwaggerLazySchema.d.ts +0 -6
  265. package/lib/structures/ISwaggerLazySchema.js.map +0 -1
  266. package/lib/structures/ITypeTuple.d.ts +0 -5
  267. package/lib/structures/ITypeTuple.js +0 -3
  268. package/lib/structures/ITypeTuple.js.map +0 -1
  269. package/src/analyses/TypedControllerAnalyzer.ts +0 -92
  270. package/src/analyses/TypedHttpOperationAnalyzer.ts +0 -365
  271. package/src/analyses/TypedWebSocketOperationAnalyzer.ts +0 -375
  272. package/src/generates/internal/SwaggerSchemaGenerator.ts +0 -473
  273. package/src/generates/internal/SwaggerSchemaValidator.ts +0 -206
  274. package/src/structures/IErrorReport.ts +0 -6
  275. package/src/structures/INormalizedInput.ts +0 -20
  276. package/src/structures/ISwaggerError.ts +0 -8
  277. package/src/structures/ISwaggerLazyProperty.ts +0 -7
  278. package/src/structures/ISwaggerLazySchema.ts +0 -7
  279. package/src/structures/ITypeTuple.ts +0 -6
@@ -0,0 +1,7 @@
1
+ import ts from "typescript";
2
+ import { MetadataCollection } from "typia/lib/factories/MetadataCollection";
3
+ export interface ISdkTransformerContext {
4
+ checker: ts.TypeChecker;
5
+ api: ts.TransformationContext;
6
+ collection: MetadataCollection;
7
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ISdkTransformerContext.js.map
@@ -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,4 @@
1
+ import ts from "typescript";
2
+ export declare namespace SdkTransformer {
3
+ const transformFile: (checker: ts.TypeChecker) => (api: ts.TransformationContext) => (file: ts.SourceFile) => ts.SourceFile;
4
+ }
@@ -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,4 @@
1
+ import { Metadata } from "typia/lib/schemas/metadata/Metadata";
2
+ export declare namespace TextPlainValidator {
3
+ const validate: (metadata: Metadata) => string[];
4
+ }
@@ -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"}
@@ -1,3 +1,4 @@
1
1
  export declare namespace StringUtil {
2
+ const capitalize: (text: string) => string;
2
3
  const escapeDuplicate: (keep: string[]) => (change: string) => string;
3
4
  }
@@ -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,CAK1B;AALD,WAAiB,UAAU;IACZ,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,EALgB,UAAU,0BAAV,UAAU,QAK1B"}
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.10.0",
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": "rimraf lib && tsc --watch",
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.10.0",
36
- "@nestia/fetcher": "^3.10.0",
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.7.0"
48
+ "typia": "^6.8.0-dev.20240812"
49
49
  },
50
50
  "peerDependencies": {
51
- "@nestia/core": ">=3.10.0",
52
- "@nestia/fetcher": ">=3.10.0",
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.7.0 <7.0.0"
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",