@nestia/sdk 12.0.0-dev.20260601.1 → 12.0.0-dev.20260619.1

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 (259) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +93 -93
  3. package/assets/bundle/api/HttpError.ts +1 -1
  4. package/assets/bundle/api/IConnection.ts +1 -1
  5. package/assets/bundle/api/Primitive.ts +1 -1
  6. package/assets/bundle/api/Resolved.ts +1 -1
  7. package/assets/bundle/api/index.ts +4 -4
  8. package/assets/bundle/api/module.ts +6 -6
  9. package/assets/bundle/distribute/README.md +37 -37
  10. package/assets/bundle/distribute/package.json +28 -28
  11. package/assets/bundle/distribute/tsconfig.json +109 -109
  12. package/assets/bundle/e2e/index.ts +42 -42
  13. package/assets/config/nestia.config.ts +97 -97
  14. package/lib/NestiaSdkApplication.js +29 -7
  15. package/lib/NestiaSdkApplication.js.map +1 -1
  16. package/lib/NestiaSwaggerComposer.js +21 -13
  17. package/lib/NestiaSwaggerComposer.js.map +1 -1
  18. package/lib/analyses/AccessorAnalyzer.d.ts +4 -1
  19. package/lib/analyses/AccessorAnalyzer.js.map +1 -1
  20. package/lib/analyses/ConfigAnalyzer.js +1 -1
  21. package/lib/analyses/PathAnalyzer.d.ts +18 -3
  22. package/lib/analyses/PathAnalyzer.js +32 -0
  23. package/lib/analyses/PathAnalyzer.js.map +1 -1
  24. package/lib/analyses/ReflectControllerAnalyzer.js +3 -2
  25. package/lib/analyses/ReflectControllerAnalyzer.js.map +1 -1
  26. package/lib/analyses/ReflectHttpOperationAnalyzer.d.ts +1 -1
  27. package/lib/analyses/ReflectHttpOperationAnalyzer.js +1 -1
  28. package/lib/analyses/ReflectHttpOperationAnalyzer.js.map +1 -1
  29. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.d.ts +1 -1
  30. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js +53 -20
  31. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js.map +1 -1
  32. package/lib/analyses/ReflectMcpOperationAnalyzer.d.ts +14 -0
  33. package/lib/analyses/ReflectMcpOperationAnalyzer.js +79 -0
  34. package/lib/analyses/ReflectMcpOperationAnalyzer.js.map +1 -0
  35. package/lib/analyses/TypedMcpRouteAnalyzer.d.ts +9 -0
  36. package/lib/analyses/TypedMcpRouteAnalyzer.js +31 -0
  37. package/lib/analyses/TypedMcpRouteAnalyzer.js.map +1 -0
  38. package/lib/executable/internal/NestiaConfigLoader.js +5 -1
  39. package/lib/executable/internal/NestiaConfigLoader.js.map +1 -1
  40. package/lib/executable/internal/NestiaSdkCommand.js +30 -14
  41. package/lib/executable/internal/NestiaSdkCommand.js.map +1 -1
  42. package/lib/executable/internal/NestiaSdkWatcher.d.ts +10 -0
  43. package/lib/executable/internal/NestiaSdkWatcher.js +322 -0
  44. package/lib/executable/internal/NestiaSdkWatcher.js.map +1 -0
  45. package/lib/executable/sdk.js +12 -12
  46. package/lib/executable/sdk.js.map +1 -1
  47. package/lib/factories/ExpressionFactory.d.ts +9 -0
  48. package/lib/factories/ExpressionFactory.js +16 -0
  49. package/lib/factories/ExpressionFactory.js.map +1 -0
  50. package/lib/factories/IdentifierFactory.d.ts +22 -0
  51. package/lib/factories/IdentifierFactory.js +50 -0
  52. package/lib/factories/IdentifierFactory.js.map +1 -0
  53. package/lib/factories/LiteralFactory.d.ts +9 -0
  54. package/lib/factories/LiteralFactory.js +48 -0
  55. package/lib/factories/LiteralFactory.js.map +1 -0
  56. package/lib/factories/StatementFactory.d.ts +14 -0
  57. package/lib/factories/StatementFactory.js +20 -0
  58. package/lib/factories/StatementFactory.js.map +1 -0
  59. package/lib/factories/TypeFactory.d.ts +24 -0
  60. package/lib/factories/TypeFactory.js +27 -0
  61. package/lib/factories/TypeFactory.js.map +1 -0
  62. package/lib/generates/CloneGenerator.js +6 -4
  63. package/lib/generates/CloneGenerator.js.map +1 -1
  64. package/lib/generates/SdkGenerator.js +50 -1
  65. package/lib/generates/SdkGenerator.js.map +1 -1
  66. package/lib/generates/SwaggerGenerator.js +18 -2
  67. package/lib/generates/SwaggerGenerator.js.map +1 -1
  68. package/lib/generates/internal/E2eFileProgrammer.js +32 -29
  69. package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
  70. package/lib/generates/internal/FilePrinter.d.ts +2 -2
  71. package/lib/generates/internal/FilePrinter.js +14 -25
  72. package/lib/generates/internal/FilePrinter.js.map +1 -1
  73. package/lib/generates/internal/ImportDictionary.d.ts +2 -1
  74. package/lib/generates/internal/ImportDictionary.js +16 -10
  75. package/lib/generates/internal/ImportDictionary.js.map +1 -1
  76. package/lib/generates/internal/SdkAliasCollection.d.ts +12 -10
  77. package/lib/generates/internal/SdkAliasCollection.js +29 -22
  78. package/lib/generates/internal/SdkAliasCollection.js.map +1 -1
  79. package/lib/generates/internal/SdkDistributionComposer.d.ts +1 -0
  80. package/lib/generates/internal/SdkDistributionComposer.js +3 -0
  81. package/lib/generates/internal/SdkDistributionComposer.js.map +1 -1
  82. package/lib/generates/internal/SdkFileProgrammer.js +6 -3
  83. package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
  84. package/lib/generates/internal/SdkHttpCloneProgrammer.d.ts +1 -1
  85. package/lib/generates/internal/SdkHttpCloneProgrammer.js +3 -3
  86. package/lib/generates/internal/SdkHttpCloneProgrammer.js.map +1 -1
  87. package/lib/generates/internal/SdkHttpCloneReferencer.d.ts +1 -1
  88. package/lib/generates/internal/SdkHttpCloneReferencer.js +42 -9
  89. package/lib/generates/internal/SdkHttpCloneReferencer.js.map +1 -1
  90. package/lib/generates/internal/SdkHttpFunctionProgrammer.d.ts +1 -1
  91. package/lib/generates/internal/SdkHttpFunctionProgrammer.js +47 -51
  92. package/lib/generates/internal/SdkHttpFunctionProgrammer.js.map +1 -1
  93. package/lib/generates/internal/SdkHttpNamespaceProgrammer.d.ts +1 -1
  94. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js +63 -61
  95. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js.map +1 -1
  96. package/lib/generates/internal/SdkHttpParameterProgrammer.d.ts +2 -2
  97. package/lib/generates/internal/SdkHttpParameterProgrammer.js +11 -13
  98. package/lib/generates/internal/SdkHttpParameterProgrammer.js.map +1 -1
  99. package/lib/generates/internal/SdkHttpRouteProgrammer.d.ts +1 -1
  100. package/lib/generates/internal/SdkHttpSimulationProgrammer.d.ts +1 -1
  101. package/lib/generates/internal/SdkHttpSimulationProgrammer.js +52 -47
  102. package/lib/generates/internal/SdkHttpSimulationProgrammer.js.map +1 -1
  103. package/lib/generates/internal/SdkMcpRouteProgrammer.d.ts +15 -0
  104. package/lib/generates/internal/SdkMcpRouteProgrammer.js +149 -0
  105. package/lib/generates/internal/SdkMcpRouteProgrammer.js.map +1 -0
  106. package/lib/generates/internal/SdkRouteDirectory.d.ts +2 -1
  107. package/lib/generates/internal/SdkRouteDirectory.js.map +1 -1
  108. package/lib/generates/internal/SdkTypeProgrammer.d.ts +3 -3
  109. package/lib/generates/internal/SdkTypeProgrammer.js +42 -43
  110. package/lib/generates/internal/SdkTypeProgrammer.js.map +1 -1
  111. package/lib/generates/internal/SdkTypeTagProgrammer.d.ts +2 -1
  112. package/lib/generates/internal/SdkTypeTagProgrammer.js +7 -9
  113. package/lib/generates/internal/SdkTypeTagProgrammer.js.map +1 -1
  114. package/lib/generates/internal/SdkWebSocketCloneProgrammer.d.ts +6 -0
  115. package/lib/generates/internal/SdkWebSocketCloneProgrammer.js +283 -0
  116. package/lib/generates/internal/SdkWebSocketCloneProgrammer.js.map +1 -0
  117. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.d.ts +2 -2
  118. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js +45 -47
  119. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js.map +1 -1
  120. package/lib/generates/internal/SdkWebSocketParameterProgrammer.d.ts +3 -3
  121. package/lib/generates/internal/SdkWebSocketParameterProgrammer.js +9 -9
  122. package/lib/generates/internal/SdkWebSocketParameterProgrammer.js.map +1 -1
  123. package/lib/generates/internal/SdkWebSocketRouteProgrammer.d.ts +2 -2
  124. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js +37 -41
  125. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js.map +1 -1
  126. package/lib/generates/internal/SwaggerOperationParameterComposer.js +10 -2
  127. package/lib/generates/internal/SwaggerOperationParameterComposer.js.map +1 -1
  128. package/lib/generates/internal/SwaggerOperationResponseComposer.d.ts +1 -1
  129. package/lib/generates/internal/SwaggerOperationResponseComposer.js +6 -1
  130. package/lib/generates/internal/SwaggerOperationResponseComposer.js.map +1 -1
  131. package/lib/generates/internal/SwaggerReadonlyArrayEmender.d.ts +9 -0
  132. package/lib/generates/internal/SwaggerReadonlyArrayEmender.js +174 -0
  133. package/lib/generates/internal/SwaggerReadonlyArrayEmender.js.map +1 -0
  134. package/lib/structures/INestiaSdkInput.d.ts +9 -2
  135. package/lib/structures/IReflectController.d.ts +2 -1
  136. package/lib/structures/IReflectHttpOperationSuccess.d.ts +4 -2
  137. package/lib/structures/IReflectMcpOperation.d.ts +35 -0
  138. package/lib/structures/IReflectMcpOperation.js +3 -0
  139. package/lib/structures/IReflectMcpOperation.js.map +1 -0
  140. package/lib/structures/IReflectMcpOperationParameter.d.ts +19 -0
  141. package/lib/structures/IReflectMcpOperationParameter.js +3 -0
  142. package/lib/structures/IReflectMcpOperationParameter.js.map +1 -0
  143. package/lib/structures/ITypedApplication.d.ts +2 -1
  144. package/lib/structures/ITypedHttpRouteSuccess.d.ts +3 -1
  145. package/lib/structures/ITypedMcpRoute.d.ts +31 -0
  146. package/lib/structures/ITypedMcpRoute.js +3 -0
  147. package/lib/structures/ITypedMcpRoute.js.map +1 -0
  148. package/lib/transform.d.ts +5 -9
  149. package/lib/transform.js +8 -31
  150. package/lib/transform.js.map +1 -1
  151. package/lib/utils/HttpResponseContentTypeUtil.d.ts +5 -0
  152. package/lib/utils/HttpResponseContentTypeUtil.js +22 -0
  153. package/lib/utils/HttpResponseContentTypeUtil.js.map +1 -0
  154. package/native/go.mod +52 -52
  155. package/native/go.sum +84 -54
  156. package/native/sdk/register.go +322 -165
  157. package/native/sdk/sdk.go +17 -17
  158. package/native/sdk/sdk_metadata_json.go +327 -327
  159. package/native/sdk/sdk_transform.go +1879 -1549
  160. package/package.json +13 -11
  161. package/src/INestiaConfig.ts +267 -267
  162. package/src/NestiaSdkApplication.ts +39 -8
  163. package/src/NestiaSwaggerComposer.ts +153 -142
  164. package/src/analyses/AccessorAnalyzer.ts +64 -67
  165. package/src/analyses/ConfigAnalyzer.ts +330 -330
  166. package/src/analyses/ImportAnalyzer.ts +92 -92
  167. package/src/analyses/PathAnalyzer.ts +130 -69
  168. package/src/analyses/ReflectControllerAnalyzer.ts +112 -105
  169. package/src/analyses/ReflectHttpOperationAnalyzer.ts +183 -183
  170. package/src/analyses/ReflectHttpOperationExceptionAnalyzer.ts +90 -90
  171. package/src/analyses/ReflectHttpOperationParameterAnalyzer.ts +350 -350
  172. package/src/analyses/ReflectHttpOperationResponseAnalyzer.ts +163 -130
  173. package/src/analyses/ReflectMcpOperationAnalyzer.ts +124 -0
  174. package/src/analyses/ReflectMetadataAnalyzer.ts +44 -44
  175. package/src/analyses/SecurityAnalyzer.ts +25 -25
  176. package/src/analyses/TypedMcpRouteAnalyzer.ts +34 -0
  177. package/src/decorators/OperationMetadata.ts +29 -29
  178. package/src/executable/internal/CommandParser.ts +15 -15
  179. package/src/executable/internal/NestiaConfigLoader.ts +451 -446
  180. package/src/executable/internal/NestiaSdkCommand.ts +124 -106
  181. package/src/executable/internal/NestiaSdkWatcher.ts +342 -0
  182. package/src/executable/sdk.ts +90 -88
  183. package/src/factories/ExpressionFactory.ts +23 -0
  184. package/src/factories/IdentifierFactory.ts +84 -0
  185. package/src/factories/LiteralFactory.ts +54 -0
  186. package/src/factories/StatementFactory.ts +56 -0
  187. package/src/factories/TypeFactory.ts +27 -0
  188. package/src/generates/CloneGenerator.ts +74 -66
  189. package/src/generates/E2eGenerator.ts +32 -32
  190. package/src/generates/SdkGenerator.ts +176 -118
  191. package/src/generates/SwaggerGenerator.ts +342 -310
  192. package/src/generates/internal/E2eFileProgrammer.ts +246 -233
  193. package/src/generates/internal/FilePrinter.ts +57 -65
  194. package/src/generates/internal/ImportDictionary.ts +207 -204
  195. package/src/generates/internal/SdkAliasCollection.ts +280 -261
  196. package/src/generates/internal/SdkDistributionComposer.ts +123 -116
  197. package/src/generates/internal/SdkFileProgrammer.ts +113 -112
  198. package/src/generates/internal/SdkHttpCloneProgrammer.ts +124 -126
  199. package/src/generates/internal/SdkHttpCloneReferencer.ts +131 -77
  200. package/src/generates/internal/SdkHttpFunctionProgrammer.ts +290 -301
  201. package/src/generates/internal/SdkHttpNamespaceProgrammer.ts +507 -510
  202. package/src/generates/internal/SdkHttpParameterProgrammer.ts +163 -165
  203. package/src/generates/internal/SdkHttpRouteProgrammer.ts +109 -109
  204. package/src/generates/internal/SdkHttpSimulationProgrammer.ts +322 -314
  205. package/src/generates/internal/SdkImportWizard.ts +62 -62
  206. package/src/generates/internal/SdkMcpRouteProgrammer.ts +447 -0
  207. package/src/generates/internal/SdkRouteDirectory.ts +21 -18
  208. package/src/generates/internal/SdkTypeProgrammer.ts +389 -382
  209. package/src/generates/internal/SdkTypeTagProgrammer.ts +110 -114
  210. package/src/generates/internal/SdkWebSocketCloneProgrammer.ts +319 -0
  211. package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +383 -389
  212. package/src/generates/internal/SdkWebSocketParameterProgrammer.ts +91 -89
  213. package/src/generates/internal/SdkWebSocketRouteProgrammer.ts +304 -323
  214. package/src/generates/internal/SwaggerDescriptionComposer.ts +64 -64
  215. package/src/generates/internal/SwaggerOperationComposer.ts +119 -119
  216. package/src/generates/internal/SwaggerOperationParameterComposer.ts +175 -162
  217. package/src/generates/internal/SwaggerOperationResponseComposer.ts +115 -110
  218. package/src/generates/internal/SwaggerReadonlyArrayEmender.ts +262 -0
  219. package/src/index.ts +4 -4
  220. package/src/internal/legacy.ts +492 -492
  221. package/src/module.ts +4 -4
  222. package/src/structures/INestiaProject.ts +10 -10
  223. package/src/structures/INestiaSdkInput.ts +27 -20
  224. package/src/structures/IOperationMetadata.ts +41 -41
  225. package/src/structures/IReflectController.ts +18 -15
  226. package/src/structures/IReflectHttpOperation.ts +26 -26
  227. package/src/structures/IReflectHttpOperationException.ts +18 -18
  228. package/src/structures/IReflectHttpOperationParameter.ts +79 -79
  229. package/src/structures/IReflectHttpOperationSuccess.ts +18 -21
  230. package/src/structures/IReflectImport.ts +6 -6
  231. package/src/structures/IReflectMcpOperation.ts +38 -0
  232. package/src/structures/IReflectMcpOperationParameter.ts +27 -0
  233. package/src/structures/IReflectOperationError.ts +26 -26
  234. package/src/structures/IReflectType.ts +4 -4
  235. package/src/structures/IReflectWebSocketOperation.ts +17 -17
  236. package/src/structures/ITypedApplication.ts +12 -11
  237. package/src/structures/ITypedHttpRoute.ts +41 -41
  238. package/src/structures/ITypedHttpRouteException.ts +15 -15
  239. package/src/structures/ITypedHttpRouteParameter.ts +41 -41
  240. package/src/structures/ITypedHttpRouteSuccess.ts +18 -22
  241. package/src/structures/ITypedMcpRoute.ts +33 -0
  242. package/src/structures/ITypedWebSocketRoute.ts +24 -24
  243. package/src/structures/ITypedWebSocketRouteParameter.ts +3 -3
  244. package/src/transform.ts +28 -59
  245. package/src/typings/get-function-location.d.ts +7 -7
  246. package/src/utils/ArrayUtil.ts +26 -26
  247. package/src/utils/EmittedJavaScriptPatcher.ts +88 -88
  248. package/src/utils/FileRetriever.ts +22 -22
  249. package/src/utils/HttpResponseContentTypeUtil.ts +30 -0
  250. package/src/utils/MapUtil.ts +14 -14
  251. package/src/utils/PathUtil.ts +10 -10
  252. package/src/utils/SourceFinder.ts +63 -63
  253. package/src/utils/StringUtil.ts +17 -17
  254. package/src/utils/TsConfigReader.ts +108 -108
  255. package/src/utils/TtscExecutor.ts +68 -68
  256. package/src/utils/VersioningStrategy.ts +28 -28
  257. package/src/validators/HttpHeadersValidator.ts +11 -11
  258. package/src/validators/HttpQueryValidator.ts +11 -11
  259. package/src/validators/TextPlainValidator.ts +17 -17
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpressionFactory.js","sourceRoot":"","sources":["../../src/factories/ExpressionFactory.ts"],"names":[],"mappings":";;;AAAA,2CAKuB;AAEvB;;;;GAIG;AACH,IAAiB,iBAAiB,CAUjC;AAVD,WAAiB,iBAAiB;IACnB,wBAAM,GAAG,CACpB,KAAa,EAC2B,EAAE,CAC1C,KAAK,GAAG,CAAC;QACP,CAAC,CAAC,iBAAO,CAAC,2BAA2B,CACjC,oBAAU,CAAC,UAAU,EACrB,iBAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAC9C;QACH,CAAC,CAAC,iBAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC,EAVgB,iBAAiB,aAAjB,iBAAiB,GAAjB,iBAAiB,QAUjC"}
@@ -0,0 +1,22 @@
1
+ import { type Expression, type Identifier, type ParameterDeclaration, type StringLiteral, type Token, type TypeNode } from "@ttsc/factory";
2
+ /**
3
+ * Identifier and member-access helpers. The surface kept here is the subset
4
+ * nestia generators actually call (`identifier`, `access`, `parameter`).
5
+ */
6
+ export declare namespace IdentifierFactory {
7
+ /**
8
+ * Build an identifier or string literal depending on whether `name` is a
9
+ * valid JavaScript identifier.
10
+ */
11
+ const identifier: (name: string) => Identifier | StringLiteral;
12
+ /**
13
+ * Member access on `input` by `key`. Falls back to element access when the
14
+ * key is not a valid identifier.
15
+ */
16
+ const access: (input: Expression, key: string, chain?: boolean) => Expression;
17
+ /**
18
+ * Parameter declaration with default `any` type when the caller omits one.
19
+ * Passing a `QuestionToken` as `init` marks the parameter optional.
20
+ */
21
+ const parameter: (name: string | Identifier, type?: TypeNode, init?: Expression | Token) => ParameterDeclaration;
22
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IdentifierFactory = void 0;
4
+ const factory_1 = require("@ttsc/factory");
5
+ const TypeFactory_1 = require("./TypeFactory");
6
+ // Conservative "is this string a syntactically valid JavaScript variable
7
+ // name?" test, inlined to avoid pulling in @typia/utils' full namespace.
8
+ const VARIABLE_REGEX = /^[A-Za-z_$][A-Za-z0-9_$]*$/;
9
+ const isVariableName = (str) => VARIABLE_REGEX.test(str);
10
+ /**
11
+ * Identifier and member-access helpers. The surface kept here is the subset
12
+ * nestia generators actually call (`identifier`, `access`, `parameter`).
13
+ */
14
+ var IdentifierFactory;
15
+ (function (IdentifierFactory) {
16
+ /**
17
+ * Build an identifier or string literal depending on whether `name` is a
18
+ * valid JavaScript identifier.
19
+ */
20
+ IdentifierFactory.identifier = (name) => isVariableName(name)
21
+ ? factory_1.factory.createIdentifier(name)
22
+ : factory_1.factory.createStringLiteral(name);
23
+ /**
24
+ * Member access on `input` by `key`. Falls back to element access when the
25
+ * key is not a valid identifier.
26
+ */
27
+ IdentifierFactory.access = (input, key, chain) => {
28
+ const postfix = IdentifierFactory.identifier(key);
29
+ if (postfix.kind === "StringLiteral")
30
+ return chain === true
31
+ ? factory_1.factory.createElementAccessChain(input, factory_1.factory.createToken(factory_1.SyntaxKind.QuestionDotToken), postfix)
32
+ : factory_1.factory.createElementAccessExpression(input, postfix);
33
+ return chain === true
34
+ ? factory_1.factory.createPropertyAccessChain(input, factory_1.factory.createToken(factory_1.SyntaxKind.QuestionDotToken), postfix)
35
+ : factory_1.factory.createPropertyAccessExpression(input, postfix);
36
+ };
37
+ /**
38
+ * Parameter declaration with default `any` type when the caller omits one.
39
+ * Passing a `QuestionToken` as `init` marks the parameter optional.
40
+ */
41
+ IdentifierFactory.parameter = (name, type, init) => {
42
+ const isQuestionToken = !!init &&
43
+ init.kind === "Token" &&
44
+ init.token === factory_1.SyntaxKind.QuestionToken;
45
+ return factory_1.factory.createParameterDeclaration(undefined, undefined, name, isQuestionToken
46
+ ? factory_1.factory.createToken(factory_1.SyntaxKind.QuestionToken)
47
+ : undefined, type !== null && type !== void 0 ? type : TypeFactory_1.TypeFactory.keyword("any"), isQuestionToken ? undefined : init);
48
+ };
49
+ })(IdentifierFactory || (exports.IdentifierFactory = IdentifierFactory = {}));
50
+ //# sourceMappingURL=IdentifierFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdentifierFactory.js","sourceRoot":"","sources":["../../src/factories/IdentifierFactory.ts"],"names":[],"mappings":";;;AAAA,2CASuB;AAEvB,+CAA4C;AAE5C,yEAAyE;AACzE,yEAAyE;AACzE,MAAM,cAAc,GAAG,4BAA4B,CAAC;AACpD,MAAM,cAAc,GAAG,CAAC,GAAW,EAAW,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE1E;;;GAGG;AACH,IAAiB,iBAAiB,CA6DjC;AA7DD,WAAiB,iBAAiB;IAChC;;;OAGG;IACU,4BAAU,GAAG,CAAC,IAAY,EAA8B,EAAE,CACrE,cAAc,CAAC,IAAI,CAAC;QAClB,CAAC,CAAC,iBAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC;QAChC,CAAC,CAAC,iBAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAExC;;;OAGG;IACU,wBAAM,GAAG,CACpB,KAAiB,EACjB,GAAW,EACX,KAAe,EACH,EAAE;QACd,MAAM,OAAO,GAAG,4BAAU,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe;YAClC,OAAO,KAAK,KAAK,IAAI;gBACnB,CAAC,CAAC,iBAAO,CAAC,wBAAwB,CAC9B,KAAK,EACL,iBAAO,CAAC,WAAW,CAAC,oBAAU,CAAC,gBAAgB,CAAC,EAChD,OAAO,CACR;gBACH,CAAC,CAAC,iBAAO,CAAC,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC5D,OAAO,KAAK,KAAK,IAAI;YACnB,CAAC,CAAC,iBAAO,CAAC,yBAAyB,CAC/B,KAAK,EACL,iBAAO,CAAC,WAAW,CAAC,oBAAU,CAAC,gBAAgB,CAAC,EAChD,OAAO,CACR;YACH,CAAC,CAAC,iBAAO,CAAC,8BAA8B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC,CAAC;IAEF;;;OAGG;IACU,2BAAS,GAAG,CACvB,IAAyB,EACzB,IAAe,EACf,IAAyB,EACH,EAAE;QACxB,MAAM,eAAe,GACnB,CAAC,CAAC,IAAI;YACN,IAAI,CAAC,IAAI,KAAK,OAAO;YACpB,IAAc,CAAC,KAAK,KAAK,oBAAU,CAAC,aAAa,CAAC;QACrD,OAAO,iBAAO,CAAC,0BAA0B,CACvC,SAAS,EACT,SAAS,EACT,IAAI,EACJ,eAAe;YACb,CAAC,CAAC,iBAAO,CAAC,WAAW,CAAC,oBAAU,CAAC,aAAa,CAAC;YAC/C,CAAC,CAAC,SAAS,EACb,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAClC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAA+B,CAC/D,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,EA7DgB,iBAAiB,aAAjB,iBAAiB,GAAjB,iBAAiB,QA6DjC"}
@@ -0,0 +1,9 @@
1
+ import { type Expression } from "@ttsc/factory";
2
+ /**
3
+ * Recursive value-to-AST-literal builder. Hands back already-AST inputs
4
+ * unchanged (so callers can mix factory output with raw JS values inside the
5
+ * same object/array), and emits the appropriate literal node otherwise.
6
+ */
7
+ export declare namespace LiteralFactory {
8
+ const write: (input: any) => Expression;
9
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LiteralFactory = void 0;
4
+ const factory_1 = require("@ttsc/factory");
5
+ const ExpressionFactory_1 = require("./ExpressionFactory");
6
+ const IdentifierFactory_1 = require("./IdentifierFactory");
7
+ const PASSTHROUGH_KINDS = new Set([
8
+ "ArrowFunction",
9
+ "CallExpression",
10
+ "Identifier",
11
+ ]);
12
+ const isNode = (value) => typeof value === "object" &&
13
+ value !== null &&
14
+ typeof value.kind === "string";
15
+ /**
16
+ * Recursive value-to-AST-literal builder. Hands back already-AST inputs
17
+ * unchanged (so callers can mix factory output with raw JS values inside the
18
+ * same object/array), and emits the appropriate literal node otherwise.
19
+ */
20
+ var LiteralFactory;
21
+ (function (LiteralFactory) {
22
+ LiteralFactory.write = (input) => {
23
+ if (input === null)
24
+ return factory_1.factory.createNull();
25
+ if (isNode(input) && PASSTHROUGH_KINDS.has(input.kind))
26
+ return input;
27
+ if (Array.isArray(input))
28
+ return writeArray(input);
29
+ if (typeof input === "object")
30
+ return writeObject(input);
31
+ if (typeof input === "boolean")
32
+ return input ? factory_1.factory.createTrue() : factory_1.factory.createFalse();
33
+ if (typeof input === "number")
34
+ return ExpressionFactory_1.ExpressionFactory.number(input);
35
+ if (typeof input === "string")
36
+ return factory_1.factory.createStringLiteral(input);
37
+ if (typeof input === "bigint")
38
+ return factory_1.factory.createStringLiteral(input.toString());
39
+ if (typeof input === "function")
40
+ return factory_1.factory.createIdentifier("undefined");
41
+ throw new TypeError("LiteralFactory.write: unsupported input type.");
42
+ };
43
+ const writeObject = (obj) => factory_1.factory.createObjectLiteralExpression(Object.entries(obj)
44
+ .filter(([, value]) => value !== undefined)
45
+ .map(([key, value]) => factory_1.factory.createPropertyAssignment(IdentifierFactory_1.IdentifierFactory.identifier(key), LiteralFactory.write(value))), true);
46
+ const writeArray = (array) => factory_1.factory.createArrayLiteralExpression(array.map(LiteralFactory.write), true);
47
+ })(LiteralFactory || (exports.LiteralFactory = LiteralFactory = {}));
48
+ //# sourceMappingURL=LiteralFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiteralFactory.js","sourceRoot":"","sources":["../../src/factories/LiteralFactory.ts"],"names":[],"mappings":";;;AAAA,2CAAyD;AAEzD,2DAAwD;AACxD,2DAAwD;AAExD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAS;IACxC,eAAe;IACf,gBAAgB;IAChB,YAAY;CACb,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC,KAAc,EAAuB,EAAE,CACrD,OAAO,KAAK,KAAK,QAAQ;IACzB,KAAK,KAAK,IAAI;IACd,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ,CAAC;AAEzD;;;;GAIG;AACH,IAAiB,cAAc,CAgC9B;AAhCD,WAAiB,cAAc;IAChB,oBAAK,GAAG,CAAC,KAAU,EAAc,EAAE;QAC9C,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,iBAAO,CAAC,UAAU,EAAE,CAAC;QAChD,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACrE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,WAAW,CAAC,KAAe,CAAC,CAAC;QACnE,IAAI,OAAO,KAAK,KAAK,SAAS;YAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,iBAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,iBAAO,CAAC,WAAW,EAAE,CAAC;QAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,qCAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,iBAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACzE,IAAI,OAAO,KAAK,KAAK,QAAQ;YAC3B,OAAO,iBAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvD,IAAI,OAAO,KAAK,KAAK,UAAU;YAC7B,OAAO,iBAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;IACvE,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,GAAW,EAAc,EAAE,CAC9C,iBAAO,CAAC,6BAA6B,CACnC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;SAChB,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC;SAC1C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CACpB,iBAAO,CAAC,wBAAwB,CAC9B,qCAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,EACjC,oBAAK,CAAC,KAAK,CAAC,CACb,CACF,EACH,IAAI,CACL,CAAC;IAEJ,MAAM,UAAU,GAAG,CAAC,KAAqB,EAAc,EAAE,CACvD,iBAAO,CAAC,4BAA4B,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAK,CAAC,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC,EAhCgB,cAAc,aAAd,cAAc,GAAd,cAAc,QAgC9B"}
@@ -0,0 +1,14 @@
1
+ import { type Expression, type TypeNode, type VariableStatement } from "@ttsc/factory";
2
+ /** Variable-statement helpers. `constant` emits `const`, `mut` emits `let`. */
3
+ export declare namespace StatementFactory {
4
+ const mut: (props: {
5
+ name: string;
6
+ type?: TypeNode | undefined;
7
+ initializer?: Expression | undefined;
8
+ }) => VariableStatement;
9
+ const constant: (props: {
10
+ name: string;
11
+ type?: TypeNode | undefined;
12
+ value?: Expression | undefined;
13
+ }) => VariableStatement;
14
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StatementFactory = void 0;
4
+ const factory_1 = require("@ttsc/factory");
5
+ const TypeFactory_1 = require("./TypeFactory");
6
+ /** Variable-statement helpers. `constant` emits `const`, `mut` emits `let`. */
7
+ var StatementFactory;
8
+ (function (StatementFactory) {
9
+ StatementFactory.mut = (props) => factory_1.factory.createVariableStatement(undefined, factory_1.factory.createVariableDeclarationList([
10
+ factory_1.factory.createVariableDeclaration(props.name, undefined, props.type !== undefined
11
+ ? props.type
12
+ : props.initializer === undefined
13
+ ? TypeFactory_1.TypeFactory.keyword("any")
14
+ : undefined, props.initializer),
15
+ ], factory_1.NodeFlags.Let));
16
+ StatementFactory.constant = (props) => factory_1.factory.createVariableStatement(undefined, factory_1.factory.createVariableDeclarationList([
17
+ factory_1.factory.createVariableDeclaration(props.name, undefined, props.type, props.value),
18
+ ], factory_1.NodeFlags.Const));
19
+ })(StatementFactory || (exports.StatementFactory = StatementFactory = {}));
20
+ //# sourceMappingURL=StatementFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatementFactory.js","sourceRoot":"","sources":["../../src/factories/StatementFactory.ts"],"names":[],"mappings":";;;AAAA,2CAMuB;AAEvB,+CAA4C;AAE5C,+EAA+E;AAC/E,IAAiB,gBAAgB,CA4ChC;AA5CD,WAAiB,gBAAgB;IAClB,oBAAG,GAAG,CAAC,KAInB,EAAqB,EAAE,CACtB,iBAAO,CAAC,uBAAuB,CAC7B,SAAS,EACT,iBAAO,CAAC,6BAA6B,CACnC;QACE,iBAAO,CAAC,yBAAyB,CAC/B,KAAK,CAAC,IAAI,EACV,SAAS,EACT,KAAK,CAAC,IAAI,KAAK,SAAS;YACtB,CAAC,CAAC,KAAK,CAAC,IAAI;YACZ,CAAC,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS;gBAC/B,CAAC,CAAC,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC5B,CAAC,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,CAClB;KACF,EACD,mBAAS,CAAC,GAAG,CACd,CACF,CAAC;IAES,yBAAQ,GAAG,CAAC,KAIxB,EAAqB,EAAE,CACtB,iBAAO,CAAC,uBAAuB,CAC7B,SAAS,EACT,iBAAO,CAAC,6BAA6B,CACnC;QACE,iBAAO,CAAC,yBAAyB,CAC/B,KAAK,CAAC,IAAI,EACV,SAAS,EACT,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,KAAK,CACZ;KACF,EACD,mBAAS,CAAC,KAAK,CAChB,CACF,CAAC;AACN,CAAC,EA5CgB,gBAAgB,aAAhB,gBAAgB,GAAhB,gBAAgB,QA4ChC"}
@@ -0,0 +1,24 @@
1
+ import { type KeywordTypeNode, SyntaxKind } from "@ttsc/factory";
2
+ /**
3
+ * Higher-level type-keyword factory.
4
+ *
5
+ * Wraps {@link factory.createKeywordTypeNode} with a name-based interface so
6
+ * generator code reads as `TypeFactory.keyword("any")` instead of selecting the
7
+ * `SyntaxKind.AnyKeyword` token by hand.
8
+ */
9
+ export declare namespace TypeFactory {
10
+ const KEYWORDS: {
11
+ readonly void: SyntaxKind.VoidKeyword;
12
+ readonly any: SyntaxKind.AnyKeyword;
13
+ readonly unknown: SyntaxKind.UnknownKeyword;
14
+ readonly boolean: SyntaxKind.BooleanKeyword;
15
+ readonly number: SyntaxKind.NumberKeyword;
16
+ readonly bigint: SyntaxKind.BigIntKeyword;
17
+ readonly string: SyntaxKind.StringKeyword;
18
+ readonly never: SyntaxKind.NeverKeyword;
19
+ readonly undefined: SyntaxKind.UndefinedKeyword;
20
+ };
21
+ export type Keyword = keyof typeof KEYWORDS;
22
+ export const keyword: (type: Keyword) => KeywordTypeNode;
23
+ export {};
24
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TypeFactory = void 0;
4
+ const factory_1 = require("@ttsc/factory");
5
+ /**
6
+ * Higher-level type-keyword factory.
7
+ *
8
+ * Wraps {@link factory.createKeywordTypeNode} with a name-based interface so
9
+ * generator code reads as `TypeFactory.keyword("any")` instead of selecting the
10
+ * `SyntaxKind.AnyKeyword` token by hand.
11
+ */
12
+ var TypeFactory;
13
+ (function (TypeFactory) {
14
+ const KEYWORDS = {
15
+ void: factory_1.SyntaxKind.VoidKeyword,
16
+ any: factory_1.SyntaxKind.AnyKeyword,
17
+ unknown: factory_1.SyntaxKind.UnknownKeyword,
18
+ boolean: factory_1.SyntaxKind.BooleanKeyword,
19
+ number: factory_1.SyntaxKind.NumberKeyword,
20
+ bigint: factory_1.SyntaxKind.BigIntKeyword,
21
+ string: factory_1.SyntaxKind.StringKeyword,
22
+ never: factory_1.SyntaxKind.NeverKeyword,
23
+ undefined: factory_1.SyntaxKind.UndefinedKeyword,
24
+ };
25
+ TypeFactory.keyword = (type) => factory_1.factory.createKeywordTypeNode(KEYWORDS[type]);
26
+ })(TypeFactory || (exports.TypeFactory = TypeFactory = {}));
27
+ //# sourceMappingURL=TypeFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypeFactory.js","sourceRoot":"","sources":["../../src/factories/TypeFactory.ts"],"names":[],"mappings":";;;AAAA,2CAA0E;AAE1E;;;;;;GAMG;AACH,IAAiB,WAAW,CAiB3B;AAjBD,WAAiB,WAAW;IAC1B,MAAM,QAAQ,GAAG;QACf,IAAI,EAAE,oBAAU,CAAC,WAAW;QAC5B,GAAG,EAAE,oBAAU,CAAC,UAAU;QAC1B,OAAO,EAAE,oBAAU,CAAC,cAAc;QAClC,OAAO,EAAE,oBAAU,CAAC,cAAc;QAClC,MAAM,EAAE,oBAAU,CAAC,aAAa;QAChC,MAAM,EAAE,oBAAU,CAAC,aAAa;QAChC,MAAM,EAAE,oBAAU,CAAC,aAAa;QAChC,KAAK,EAAE,oBAAU,CAAC,YAAY;QAC9B,SAAS,EAAE,oBAAU,CAAC,gBAAgB;KAC9B,CAAC;IAIE,mBAAO,GAAG,CAAC,IAAa,EAAmB,EAAE,CACxD,iBAAO,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAClD,CAAC,EAjBgB,WAAW,aAAX,WAAW,GAAX,WAAW,QAiB3B"}
@@ -13,19 +13,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.CloneGenerator = void 0;
16
- const factory_1 = require("@nestia/factory");
16
+ const factory_1 = require("@ttsc/factory");
17
17
  const fs_1 = __importDefault(require("fs"));
18
18
  const FilePrinter_1 = require("./internal/FilePrinter");
19
19
  const ImportDictionary_1 = require("./internal/ImportDictionary");
20
20
  const SdkHttpCloneProgrammer_1 = require("./internal/SdkHttpCloneProgrammer");
21
21
  const SdkHttpCloneReferencer_1 = require("./internal/SdkHttpCloneReferencer");
22
+ const SdkWebSocketCloneProgrammer_1 = require("./internal/SdkWebSocketCloneProgrammer");
22
23
  var CloneGenerator;
23
24
  (function (CloneGenerator) {
24
25
  CloneGenerator.write = (app) => __awaiter(this, void 0, void 0, function* () {
25
26
  const dict = SdkHttpCloneProgrammer_1.SdkHttpCloneProgrammer.write(app);
26
- if (dict.size === 0)
27
+ const websocket = yield SdkWebSocketCloneProgrammer_1.SdkWebSocketCloneProgrammer.write(app);
28
+ if (dict.size === 0 && websocket.size === 0)
27
29
  return;
28
- SdkHttpCloneReferencer_1.SdkHttpCloneReferencer.replace(app);
30
+ SdkHttpCloneReferencer_1.SdkHttpCloneReferencer.replace(app, websocket);
29
31
  try {
30
32
  yield fs_1.default.promises.mkdir(`${app.project.config.output}/structures`);
31
33
  }
@@ -56,7 +58,7 @@ var CloneGenerator;
56
58
  const internal = [];
57
59
  for (const child of modulo.children.values())
58
60
  internal.push(...iterate(importer)(child));
59
- output.push(factory_1.TypeScriptFactory.createModuleDeclaration([factory_1.TypeScriptFactory.createModifier(factory_1.SyntaxKind.ExportKeyword)], factory_1.TypeScriptFactory.createIdentifier(modulo.name), factory_1.TypeScriptFactory.createModuleBlock(internal), factory_1.NodeFlags.Namespace));
61
+ output.push(factory_1.factory.createModuleDeclaration([factory_1.factory.createModifier(factory_1.SyntaxKind.ExportKeyword)], factory_1.factory.createIdentifier(modulo.name), factory_1.factory.createModuleBlock(internal), factory_1.NodeFlags.Namespace));
60
62
  }
61
63
  return output;
62
64
  };
@@ -1 +1 @@
1
- {"version":3,"file":"CloneGenerator.js","sourceRoot":"","sources":["../../src/generates/CloneGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAAiF;AACjF,4CAAoB;AAIpB,wDAAqD;AACrD,kEAA+D;AAC/D,8EAA2E;AAC3E,8EAA2E;AAE3E,IAAiB,cAAc,CAuD9B;AAvDD,WAAiB,cAAc;IAChB,oBAAK,GAAG,CAAO,GAAsB,EAAiB,EAAE;QACnE,MAAM,IAAI,GACR,+CAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAE5B,+CAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,aAAa,CAAC,CAAC;QACrE,CAAC;mBAAO,CAAC,CAAA,CAAC;QACV,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI;YAC7B,MAAM,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC,CAAA,CAAC;IAEF,MAAM,YAAY,GAChB,CAAC,OAAuB,EAAE,EAAE,CAC5B,CACE,GAAW,EACX,KAAqC,EACtB,EAAE;QACjB,MAAM,QAAQ,GAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;QACzE,MAAM,QAAQ,GAAqB,IAAI,mCAAgB,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,UAAU,GAAW,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEpC,MAAM,yBAAW,CAAC,KAAK,CAAC;YACtB,QAAQ;YACR,UAAU,EAAE;gBACV,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,aAAa,CAAC;gBAC/D,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,yBAAW,CAAC,KAAK,EAAE,CAAC,CAAC;gBAClD,GAAG,UAAU;aACd;SACF,CAAC,CAAC;IACL,CAAC,CAAA,CAAC;IAEJ,MAAM,OAAO,GACX,CAAC,QAA0B,EAAE,EAAE,CAC/B,CAAC,MAAsC,EAAU,EAAE;QACjD,MAAM,MAAM,GAAW,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzE,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAW,EAAE,CAAC;YAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAC1C,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,IAAI,CACT,2BAAiB,CAAC,uBAAuB,CACvC,CAAC,2BAAiB,CAAC,cAAc,CAAC,oBAAU,CAAC,aAAa,CAAC,CAAC,EAC5D,2BAAiB,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAC/C,2BAAiB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAC7C,mBAAS,CAAC,SAAS,CACpB,CACF,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACN,CAAC,EAvDgB,cAAc,aAAd,cAAc,GAAd,cAAc,QAuD9B"}
1
+ {"version":3,"file":"CloneGenerator.js","sourceRoot":"","sources":["../../src/generates/CloneGenerator.ts"],"names":[],"mappings":"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"}
@@ -50,11 +50,14 @@ var SdkGenerator;
50
50
  if (app.project.config.distribute !== undefined)
51
51
  yield SdkDistributionComposer_1.SdkDistributionComposer.compose({
52
52
  config: app.project.config,
53
+ mcp: app.routes.some((r) => r.protocol === "mcp"),
53
54
  websocket: app.routes.some((r) => r.protocol === "websocket"),
54
55
  });
55
56
  });
56
57
  SdkGenerator.validate = (app) => {
57
58
  const errors = [];
59
+ validateMcpDuplicates(errors)(app.routes);
60
+ validateMcpAccessors(errors)(app.routes);
58
61
  if (app.project.config.clone === true)
59
62
  return errors;
60
63
  for (const route of app.routes)
@@ -66,6 +69,51 @@ var SdkGenerator;
66
69
  });
67
70
  return errors;
68
71
  };
72
+ const validateMcpDuplicates = (errors) => (routes) => {
73
+ var _a;
74
+ const dict = new Map();
75
+ for (const route of routes)
76
+ if (route.protocol === "mcp") {
77
+ const array = (_a = dict.get(route.toolName)) !== null && _a !== void 0 ? _a : [];
78
+ array.push(route);
79
+ dict.set(route.toolName, array);
80
+ }
81
+ for (const [toolName, list] of dict)
82
+ if (list.length > 1)
83
+ for (const route of list)
84
+ errors.push({
85
+ file: route.controller.file,
86
+ class: route.controller.class.name,
87
+ function: route.function.name || route.name,
88
+ from: `@McpRoute(${JSON.stringify(toolName)})`,
89
+ contents: [
90
+ `Duplicate MCP tool name ${JSON.stringify(toolName)} is not allowed.`,
91
+ ],
92
+ });
93
+ };
94
+ const validateMcpAccessors = (errors) => (routes) => {
95
+ var _a;
96
+ const dict = new Map();
97
+ for (const route of routes)
98
+ if (route.protocol === "mcp") {
99
+ const accessor = route.accessor.join(".");
100
+ const array = (_a = dict.get(accessor)) !== null && _a !== void 0 ? _a : [];
101
+ array.push(route);
102
+ dict.set(accessor, array);
103
+ }
104
+ for (const [accessor, list] of dict)
105
+ if (list.length > 1)
106
+ for (const route of list)
107
+ errors.push({
108
+ file: route.controller.file,
109
+ class: route.controller.class.name,
110
+ function: route.function.name || route.name,
111
+ from: `@McpRoute(${JSON.stringify(route.toolName)})`,
112
+ contents: [
113
+ `MCP tool name ${JSON.stringify(route.toolName)} conflicts on generated SDK accessor "api.functional.${accessor}".`,
114
+ ],
115
+ });
116
+ };
69
117
  const validateImplicit = (props) => {
70
118
  for (const p of SdkHttpParameterProgrammer_1.SdkHttpParameterProgrammer.getAll(props.route)) {
71
119
  if (isImplicitType(p.type))
@@ -87,7 +135,8 @@ var SdkGenerator;
87
135
  from: `exception ${JSON.stringify(key)}`,
88
136
  contents: [`implicit (unnamed) exception type.`],
89
137
  });
90
- if (isImplicitType(props.route.success.type))
138
+ if (props.route.success.binary === false &&
139
+ isImplicitType(props.route.success.type))
91
140
  props.errors.push({
92
141
  file: props.route.controller.file,
93
142
  class: props.route.controller.class.name,
@@ -1 +1 @@
1
- {"version":3,"file":"SdkGenerator.js","sourceRoot":"","sources":["../../src/generates/SdkGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SdkGenerator.js","sourceRoot":"","sources":["../../src/generates/SdkGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,gDAA4B;AAQ5B,qDAAkD;AAClD,gFAA6E;AAC7E,oEAAiE;AACjE,sFAAmF;AAEnF,IAAiB,YAAY,CAiK5B;AAjKD,WAAiB,YAAY;IACd,qBAAQ,GAAG,CAAO,GAAsB,EAAiB,EAAE;QACtE,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS;YACzC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAEtD,0BAA0B;QAC1B,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC;mBAAO,CAAC,CAAA,CAAC;QAEV,WAAW;QACX,MAAM,MAAM,GAAa,MAAM,YAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,wBAAW,CAAC,CAAC;QAChE,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAW,GAAG,wBAAW,IAAI,IAAI,EAAE,CAAC;YACjD,MAAM,MAAM,GAAW,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YAC9D,MAAM,KAAK,GAAa,MAAM,YAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAExD,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAW,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACpE,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,aAAa;QACb,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI;YAAE,MAAM,+BAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEvE,aAAa;QACb,MAAM,qCAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAEtC,eAAe;QACf,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS;YAC7C,MAAM,iDAAuB,CAAC,OAAO,CAAC;gBACpC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;gBAC1B,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC;gBACjD,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC;aAC9D,CAAC,CAAC;IACP,CAAC,CAAA,CAAC;IAEW,qBAAQ,GAAG,CACtB,GAAsB,EACI,EAAE;QAC5B,MAAM,MAAM,GAA6B,EAAE,CAAC;QAC5C,qBAAqB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,oBAAoB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC;QACrD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM;YAC5B,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM;gBAC3B,gBAAgB,CAAC;oBACf,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;oBAC1B,MAAM;oBACN,KAAK;iBACN,CAAC,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,qBAAqB,GACzB,CAAC,MAAgC,EAAE,EAAE,CACrC,CAAC,MAAmC,EAAQ,EAAE;;QAC5C,MAAM,IAAI,GAAkC,IAAI,GAAG,EAAE,CAAC;QACtD,KAAK,MAAM,KAAK,IAAI,MAAM;YACxB,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;gBAC7B,MAAM,KAAK,SAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAAC;gBAC7C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAClC,CAAC;QAEH,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,IAAI;YACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBACjB,KAAK,MAAM,KAAK,IAAI,IAAI;oBACtB,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI;wBAC3B,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI;wBAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI;wBAC3C,IAAI,EAAE,aAAa,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG;wBAC9C,QAAQ,EAAE;4BACR,2BAA2B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB;yBACtE;qBACF,CAAC,CAAC;IACX,CAAC,CAAC;IAEJ,MAAM,oBAAoB,GACxB,CAAC,MAAgC,EAAE,EAAE,CACrC,CAAC,MAAmC,EAAQ,EAAE;;QAC5C,MAAM,IAAI,GAAkC,IAAI,GAAG,EAAE,CAAC;QACtD,KAAK,MAAM,KAAK,IAAI,MAAM;YACxB,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1C,MAAM,KAAK,SAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAAC;gBACvC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC5B,CAAC;QAEH,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,IAAI;YACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBACjB,KAAK,MAAM,KAAK,IAAI,IAAI;oBACtB,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI;wBAC3B,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI;wBAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI;wBAC3C,IAAI,EAAE,aAAa,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG;wBACpD,QAAQ,EAAE;4BACR,iBAAiB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,wDAAwD,QAAQ,IAAI;yBACpH;qBACF,CAAC,CAAC;IACX,CAAC,CAAC;IAEJ,MAAM,gBAAgB,GAAG,CAAC,KAIzB,EAAQ,EAAE;QACT,KAAK,MAAM,CAAC,IAAI,uDAA0B,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/D,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI;oBACjC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI;oBACxC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;oBAC1B,IAAI,EAAE,aAAa,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;oBAC3C,QAAQ,EAAE,CAAC,oCAAoC,CAAC;iBACjD,CAAC,CAAC;QACP,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,KAAK,IAAI;YACjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC;gBAC/D,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC;oBAC5B,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI;wBACjC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI;wBACxC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;wBAC1B,IAAI,EAAE,aAAa,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;wBACxC,QAAQ,EAAE,CAAC,oCAAoC,CAAC;qBACjD,CAAC,CAAC;QACT,IACE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK;YACpC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAExC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI;gBACjC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI;gBACxC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;gBAC1B,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,CAAC,iCAAiC,CAAC;aAC9C,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,IAAkB,EAAW,EAAE,kBACrD,IAAI,CAAC,IAAI,KAAK,QAAQ;QACtB,IAAI,CAAC,IAAI,KAAK,UAAU;QACxB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;QAChC,CAAC,CAAC,EAAC,MAAA,IAAI,CAAC,aAAa,0CAAE,MAAM,CAAA,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAA,CAAC;IAE/D,wBAAW,GAAG,cAAQ,CAAC,IAAI,CACtC,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,KAAK,CACN,CAAC;AACJ,CAAC,EAjKgB,YAAY,aAAZ,YAAY,GAAZ,YAAY,QAiK5B"}
@@ -13,14 +13,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.SwaggerGenerator = void 0;
16
- const legacy_1 = require("../internal/legacy");
17
16
  const utils_1 = require("@typia/utils");
18
17
  const fs_1 = __importDefault(require("fs"));
19
18
  const path_1 = __importDefault(require("path"));
20
19
  const tstl_1 = require("tstl");
20
+ const legacy_1 = require("../internal/legacy");
21
21
  const FileRetriever_1 = require("../utils/FileRetriever");
22
22
  const SdkHttpParameterProgrammer_1 = require("./internal/SdkHttpParameterProgrammer");
23
23
  const SwaggerOperationComposer_1 = require("./internal/SwaggerOperationComposer");
24
+ const SwaggerReadonlyArrayEmender_1 = require("./internal/SwaggerReadonlyArrayEmender");
24
25
  var SwaggerGenerator;
25
26
  (function (SwaggerGenerator) {
26
27
  SwaggerGenerator.generate = (app) => __awaiter(this, void 0, void 0, function* () {
@@ -60,7 +61,7 @@ var SwaggerGenerator;
60
61
  var _a;
61
62
  var _b;
62
63
  // GATHER METADATA
63
- const routes = props.routes.filter((r) => r.jsDocTags.every((tag) => tag.name !== "internal" && tag.name !== "hidden"));
64
+ const routes = props.routes.filter((r) => r.jsDocTags.every((tag) => tag.name !== "internal" && tag.name !== "hidden") && isSwaggerExcluded(r) === false);
64
65
  const metadatas = routes
65
66
  .map((r) => [
66
67
  r.success.metadata,
@@ -74,6 +75,11 @@ var SwaggerGenerator;
74
75
  version: "3.1",
75
76
  metadatas,
76
77
  });
78
+ json.schemas.forEach((schema, i) => SwaggerReadonlyArrayEmender_1.SwaggerReadonlyArrayEmender.emend({
79
+ components: json.components,
80
+ schema,
81
+ metadata: metadatas[i],
82
+ }));
77
83
  const dict = new WeakMap();
78
84
  json.schemas.forEach((schema, i) => dict.set(metadatas[i], schema));
79
85
  const schema = (metadata) => dict.get(metadata);
@@ -210,5 +216,15 @@ var SwaggerGenerator;
210
216
  str = str.replace(`:${param.field}`, `{${param.field}}`);
211
217
  return str;
212
218
  };
219
+ const isSwaggerExcluded = (route) => {
220
+ const controller = Reflect.getMetadata("swagger/apiExcludeController", route.controller.class);
221
+ if (Array.isArray(controller) && controller[0] === true)
222
+ return true;
223
+ const endpoint = Reflect.getMetadata("swagger/apiExcludeEndpoint", route.function);
224
+ return (endpoint !== undefined &&
225
+ (typeof endpoint !== "object" ||
226
+ endpoint === null ||
227
+ endpoint.disable !== false));
228
+ };
213
229
  })(SwaggerGenerator || (exports.SwaggerGenerator = SwaggerGenerator = {}));
214
230
  //# sourceMappingURL=SwaggerGenerator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SwaggerGenerator.js","sourceRoot":"","sources":["../../src/generates/SwaggerGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SwaggerGenerator.js","sourceRoot":"","sources":["../../src/generates/SwaggerGenerator.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.E2eFileProgrammer = void 0;
13
- const factory_1 = require("@nestia/factory");
14
- const factory_2 = require("@nestia/factory");
13
+ const factory_1 = require("@ttsc/factory");
14
+ const IdentifierFactory_1 = require("../../factories/IdentifierFactory");
15
+ const LiteralFactory_1 = require("../../factories/LiteralFactory");
15
16
  const FilePrinter_1 = require("./FilePrinter");
16
17
  const ImportDictionary_1 = require("./ImportDictionary");
17
18
  const SdkAliasCollection_1 = require("./SdkAliasCollection");
@@ -39,24 +40,24 @@ var E2eFileProgrammer;
39
40
  ],
40
41
  });
41
42
  });
42
- const generateFunctor = (project) => (importer) => (route) => factory_1.TypeScriptFactory.createVariableStatement([factory_1.TypeScriptFactory.createModifier(factory_1.SyntaxKind.ExportKeyword)], factory_1.TypeScriptFactory.createVariableDeclarationList([
43
- factory_1.TypeScriptFactory.createVariableDeclaration(factory_1.TypeScriptFactory.createIdentifier(getFunctionName(route)), undefined, undefined, generateArrow(project)(importer)(route)),
43
+ const generateFunctor = (project) => (importer) => (route) => factory_1.factory.createVariableStatement([factory_1.factory.createModifier(factory_1.SyntaxKind.ExportKeyword)], factory_1.factory.createVariableDeclarationList([
44
+ factory_1.factory.createVariableDeclaration(factory_1.factory.createIdentifier(getFunctionName(route)), undefined, undefined, generateArrow(project)(importer)(route)),
44
45
  ], factory_1.NodeFlags.Const));
45
46
  const generateArrow = (project) => (importer) => (route) => {
46
- const random = factory_2.IdentifierFactory.access(factory_1.TypeScriptFactory.createIdentifier(SdkImportWizard_1.SdkImportWizard.typia(importer)), "random");
47
+ const random = IdentifierFactory_1.IdentifierFactory.access(factory_1.factory.createIdentifier(SdkImportWizard_1.SdkImportWizard.typia(importer)), "random");
47
48
  const connection = route.headerObject
48
- ? factory_1.TypeScriptFactory.createObjectLiteralExpression([
49
- factory_1.TypeScriptFactory.createSpreadAssignment(factory_1.TypeScriptFactory.createIdentifier("connection")),
50
- factory_1.TypeScriptFactory.createPropertyAssignment("headers", factory_1.TypeScriptFactory.createObjectLiteralExpression([
51
- factory_1.TypeScriptFactory.createSpreadAssignment(factory_2.IdentifierFactory.access(factory_1.TypeScriptFactory.createIdentifier("connection"), "headers")),
52
- factory_1.TypeScriptFactory.createSpreadAssignment(factory_1.TypeScriptFactory.createCallExpression(random, [
53
- project.config.clone === true
49
+ ? factory_1.factory.createObjectLiteralExpression([
50
+ factory_1.factory.createSpreadAssignment(factory_1.factory.createIdentifier("connection")),
51
+ factory_1.factory.createPropertyAssignment("headers", factory_1.factory.createObjectLiteralExpression([
52
+ factory_1.factory.createSpreadAssignment(IdentifierFactory_1.IdentifierFactory.access(factory_1.factory.createIdentifier("connection"), "headers")),
53
+ factory_1.factory.createSpreadAssignment(factory_1.factory.createCallExpression(random, [
54
+ (project.config.clone === true
54
55
  ? SdkAliasCollection_1.SdkAliasCollection.from(project)(importer)(route.headerObject.metadata)
55
- : SdkAliasCollection_1.SdkAliasCollection.name(route.headerObject),
56
+ : SdkAliasCollection_1.SdkAliasCollection.name(route.headerObject)),
56
57
  ], undefined)),
57
58
  ], true)),
58
59
  ], true)
59
- : factory_1.TypeScriptFactory.createIdentifier("connection");
60
+ : factory_1.factory.createIdentifier("connection");
60
61
  const entries = SdkHttpParameterProgrammer_1.SdkHttpParameterProgrammer.getEntries({
61
62
  project,
62
63
  importer,
@@ -65,43 +66,45 @@ var E2eFileProgrammer;
65
66
  e2e: true,
66
67
  prefix: ["api", "functional", ...route.accessor].join(".") + ".",
67
68
  });
68
- const fetch = factory_1.TypeScriptFactory.createCallExpression(factory_1.TypeScriptFactory.createIdentifier(["api", "functional", ...route.accessor].join(".")), undefined, [
69
+ const fetch = factory_1.factory.createCallExpression(factory_1.factory.createIdentifier(["api", "functional", ...route.accessor].join(".")), undefined, [
69
70
  connection,
70
71
  ...(project.config.keyword === true && entries.length !== 0
71
72
  ? [
72
- factory_2.LiteralFactory.write(Object.fromEntries(entries.map((e) => [
73
+ LiteralFactory_1.LiteralFactory.write(Object.fromEntries(entries.map((e) => [
73
74
  e.key,
74
- factory_1.TypeScriptFactory.createCallExpression(factory_2.IdentifierFactory.access(factory_1.TypeScriptFactory.createIdentifier(SdkImportWizard_1.SdkImportWizard.typia(importer)), "random"), [getRandomType(importer)(e)], undefined),
75
+ factory_1.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(factory_1.factory.createIdentifier(SdkImportWizard_1.SdkImportWizard.typia(importer)), "random"), [getRandomType(importer)(e)], undefined),
75
76
  ]))),
76
77
  ]
77
- : entries.map((e) => factory_1.TypeScriptFactory.createCallExpression(factory_2.IdentifierFactory.access(factory_1.TypeScriptFactory.createIdentifier(SdkImportWizard_1.SdkImportWizard.typia(importer)), "random"), [getRandomType(importer)(e)], undefined))),
78
+ : entries.map((e) => factory_1.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(factory_1.factory.createIdentifier(SdkImportWizard_1.SdkImportWizard.typia(importer)), "random"), [getRandomType(importer)(e)], undefined))),
78
79
  ]);
79
- const assert = factory_1.TypeScriptFactory.createCallExpression(factory_2.IdentifierFactory.access(factory_1.TypeScriptFactory.createIdentifier(SdkImportWizard_1.SdkImportWizard.typia(importer)), "assert"), undefined, [factory_1.TypeScriptFactory.createIdentifier("output")]);
80
- return factory_1.TypeScriptFactory.createArrowFunction([factory_1.TypeScriptFactory.createModifier(factory_1.SyntaxKind.AsyncKeyword)], undefined, [
81
- factory_2.IdentifierFactory.parameter("connection", factory_1.TypeScriptFactory.createTypeReferenceNode("api.IConnection")),
82
- ], undefined, undefined, factory_1.TypeScriptFactory.createBlock([
83
- factory_1.TypeScriptFactory.createVariableStatement([], factory_1.TypeScriptFactory.createVariableDeclarationList([
84
- factory_1.TypeScriptFactory.createVariableDeclaration("output", undefined, project.config.propagate !== true &&
80
+ const assert = factory_1.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(factory_1.factory.createIdentifier(SdkImportWizard_1.SdkImportWizard.typia(importer)), "assert"), undefined, [factory_1.factory.createIdentifier("output")]);
81
+ return factory_1.factory.createArrowFunction([factory_1.factory.createModifier(factory_1.SyntaxKind.AsyncKeyword)], undefined, [
82
+ IdentifierFactory_1.IdentifierFactory.parameter("connection", factory_1.factory.createTypeReferenceNode("api.IConnection")),
83
+ ], undefined, undefined, factory_1.factory.createBlock([
84
+ factory_1.factory.createVariableStatement([], factory_1.factory.createVariableDeclarationList([
85
+ factory_1.factory.createVariableDeclaration("output", undefined, project.config.propagate !== true &&
85
86
  route.success.type.name === "void"
86
87
  ? undefined
87
- : SdkAliasCollection_1.SdkAliasCollection.response(project)(importer)(route), factory_1.TypeScriptFactory.createAwaitExpression(fetch)),
88
+ : SdkAliasCollection_1.SdkAliasCollection.response(project)(importer)(route), factory_1.factory.createAwaitExpression(fetch)),
88
89
  ], factory_1.NodeFlags.Const)),
89
- factory_1.TypeScriptFactory.createExpressionStatement(assert),
90
+ ...(route.success.binary === true
91
+ ? []
92
+ : [factory_1.factory.createExpressionStatement(assert)]),
90
93
  ]));
91
94
  };
92
95
  })(E2eFileProgrammer || (exports.E2eFileProgrammer = E2eFileProgrammer = {}));
93
96
  const getRandomType = (importer) => (entry) => {
94
97
  if (isPlainStringPathParameter(entry) === false)
95
98
  return entry.type;
96
- return factory_1.TypeScriptFactory.createIntersectionTypeNode([
99
+ return factory_1.factory.createIntersectionTypeNode([
97
100
  entry.type,
98
- factory_1.TypeScriptFactory.createTypeReferenceNode(factory_1.TypeScriptFactory.createQualifiedName(factory_1.TypeScriptFactory.createIdentifier(importer.external({
101
+ factory_1.factory.createTypeReferenceNode(factory_1.factory.createQualifiedName(factory_1.factory.createIdentifier(importer.external({
99
102
  declaration: true,
100
103
  file: "typia",
101
104
  type: "element",
102
105
  name: "tags",
103
- })), factory_1.TypeScriptFactory.createIdentifier("MinLength")), [
104
- factory_1.TypeScriptFactory.createLiteralTypeNode(factory_2.LiteralFactory.write(1)),
106
+ })), factory_1.factory.createIdentifier("MinLength")), [
107
+ factory_1.factory.createLiteralTypeNode(LiteralFactory_1.LiteralFactory.write(1)),
105
108
  ]),
106
109
  ]);
107
110
  };