@nestia/sdk 12.0.0-dev.20260612.2 → 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 (93) hide show
  1. package/assets/bundle/distribute/package.json +1 -1
  2. package/lib/factories/ExpressionFactory.d.ts +9 -0
  3. package/lib/factories/ExpressionFactory.js +16 -0
  4. package/lib/factories/ExpressionFactory.js.map +1 -0
  5. package/lib/factories/IdentifierFactory.d.ts +22 -0
  6. package/lib/factories/IdentifierFactory.js +50 -0
  7. package/lib/factories/IdentifierFactory.js.map +1 -0
  8. package/lib/factories/LiteralFactory.d.ts +9 -0
  9. package/lib/factories/LiteralFactory.js +48 -0
  10. package/lib/factories/LiteralFactory.js.map +1 -0
  11. package/lib/factories/StatementFactory.d.ts +14 -0
  12. package/lib/factories/StatementFactory.js +20 -0
  13. package/lib/factories/StatementFactory.js.map +1 -0
  14. package/lib/factories/TypeFactory.d.ts +24 -0
  15. package/lib/factories/TypeFactory.js +27 -0
  16. package/lib/factories/TypeFactory.js.map +1 -0
  17. package/lib/generates/CloneGenerator.js +2 -2
  18. package/lib/generates/CloneGenerator.js.map +1 -1
  19. package/lib/generates/internal/E2eFileProgrammer.js +30 -29
  20. package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
  21. package/lib/generates/internal/FilePrinter.d.ts +2 -2
  22. package/lib/generates/internal/FilePrinter.js +14 -25
  23. package/lib/generates/internal/FilePrinter.js.map +1 -1
  24. package/lib/generates/internal/ImportDictionary.d.ts +1 -1
  25. package/lib/generates/internal/ImportDictionary.js +10 -9
  26. package/lib/generates/internal/ImportDictionary.js.map +1 -1
  27. package/lib/generates/internal/SdkAliasCollection.d.ts +12 -12
  28. package/lib/generates/internal/SdkAliasCollection.js +23 -25
  29. package/lib/generates/internal/SdkAliasCollection.js.map +1 -1
  30. package/lib/generates/internal/SdkFileProgrammer.js +2 -2
  31. package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
  32. package/lib/generates/internal/SdkHttpCloneProgrammer.d.ts +1 -1
  33. package/lib/generates/internal/SdkHttpCloneProgrammer.js +3 -3
  34. package/lib/generates/internal/SdkHttpCloneProgrammer.js.map +1 -1
  35. package/lib/generates/internal/SdkHttpFunctionProgrammer.d.ts +1 -1
  36. package/lib/generates/internal/SdkHttpFunctionProgrammer.js +45 -48
  37. package/lib/generates/internal/SdkHttpFunctionProgrammer.js.map +1 -1
  38. package/lib/generates/internal/SdkHttpNamespaceProgrammer.d.ts +1 -1
  39. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js +61 -60
  40. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js.map +1 -1
  41. package/lib/generates/internal/SdkHttpParameterProgrammer.d.ts +2 -2
  42. package/lib/generates/internal/SdkHttpParameterProgrammer.js +11 -13
  43. package/lib/generates/internal/SdkHttpParameterProgrammer.js.map +1 -1
  44. package/lib/generates/internal/SdkHttpRouteProgrammer.d.ts +1 -1
  45. package/lib/generates/internal/SdkHttpSimulationProgrammer.d.ts +1 -1
  46. package/lib/generates/internal/SdkHttpSimulationProgrammer.js +50 -48
  47. package/lib/generates/internal/SdkHttpSimulationProgrammer.js.map +1 -1
  48. package/lib/generates/internal/SdkMcpRouteProgrammer.d.ts +1 -1
  49. package/lib/generates/internal/SdkMcpRouteProgrammer.js +54 -53
  50. package/lib/generates/internal/SdkMcpRouteProgrammer.js.map +1 -1
  51. package/lib/generates/internal/SdkTypeProgrammer.d.ts +3 -3
  52. package/lib/generates/internal/SdkTypeProgrammer.js +42 -43
  53. package/lib/generates/internal/SdkTypeProgrammer.js.map +1 -1
  54. package/lib/generates/internal/SdkTypeTagProgrammer.d.ts +2 -1
  55. package/lib/generates/internal/SdkTypeTagProgrammer.js +7 -9
  56. package/lib/generates/internal/SdkTypeTagProgrammer.js.map +1 -1
  57. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.d.ts +2 -2
  58. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js +45 -47
  59. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js.map +1 -1
  60. package/lib/generates/internal/SdkWebSocketParameterProgrammer.d.ts +3 -3
  61. package/lib/generates/internal/SdkWebSocketParameterProgrammer.js +9 -9
  62. package/lib/generates/internal/SdkWebSocketParameterProgrammer.js.map +1 -1
  63. package/lib/generates/internal/SdkWebSocketRouteProgrammer.d.ts +2 -2
  64. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js +34 -40
  65. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js.map +1 -1
  66. package/lib/transform.d.ts +5 -9
  67. package/lib/transform.js +8 -31
  68. package/lib/transform.js.map +1 -1
  69. package/package.json +11 -11
  70. package/src/factories/ExpressionFactory.ts +23 -0
  71. package/src/factories/IdentifierFactory.ts +84 -0
  72. package/src/factories/LiteralFactory.ts +54 -0
  73. package/src/factories/StatementFactory.ts +56 -0
  74. package/src/factories/TypeFactory.ts +27 -0
  75. package/src/generates/CloneGenerator.ts +8 -7
  76. package/src/generates/internal/E2eFileProgrammer.ts +59 -53
  77. package/src/generates/internal/FilePrinter.ts +28 -36
  78. package/src/generates/internal/ImportDictionary.ts +19 -21
  79. package/src/generates/internal/SdkAliasCollection.ts +55 -49
  80. package/src/generates/internal/SdkFileProgrammer.ts +4 -7
  81. package/src/generates/internal/SdkHttpCloneProgrammer.ts +11 -13
  82. package/src/generates/internal/SdkHttpFunctionProgrammer.ts +90 -101
  83. package/src/generates/internal/SdkHttpNamespaceProgrammer.ts +153 -166
  84. package/src/generates/internal/SdkHttpParameterProgrammer.ts +15 -17
  85. package/src/generates/internal/SdkHttpRouteProgrammer.ts +1 -1
  86. package/src/generates/internal/SdkHttpSimulationProgrammer.ts +121 -130
  87. package/src/generates/internal/SdkMcpRouteProgrammer.ts +135 -140
  88. package/src/generates/internal/SdkTypeProgrammer.ts +389 -382
  89. package/src/generates/internal/SdkTypeTagProgrammer.ts +13 -17
  90. package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +124 -130
  91. package/src/generates/internal/SdkWebSocketParameterProgrammer.ts +17 -15
  92. package/src/generates/internal/SdkWebSocketRouteProgrammer.ts +112 -139
  93. package/src/transform.ts +14 -45
@@ -1,7 +1,7 @@
1
- import { TypeScriptFactory } from "@nestia/factory";
2
- import { LiteralFactory } from "@nestia/factory";
1
+ import { type TypeNode, factory } from "@ttsc/factory";
3
2
  import { IMetadataTypeTag } from "@typia/interface";
4
3
 
4
+ import { LiteralFactory } from "../../factories/LiteralFactory";
5
5
  import { ImportDictionary } from "./ImportDictionary";
6
6
 
7
7
  export namespace SdkTypeTagProgrammer {
@@ -9,12 +9,12 @@ export namespace SdkTypeTagProgrammer {
9
9
  importer: ImportDictionary,
10
10
  from: "object" | "array" | "boolean" | "number" | "bigint" | "string",
11
11
  tag: IMetadataTypeTag,
12
- ) => {
12
+ ): TypeNode => {
13
13
  const name: string = tag.name.split("<")[0]!;
14
14
  if (PREDEFINED[from]?.has(name) === true)
15
- return TypeScriptFactory.createTypeReferenceNode(
16
- TypeScriptFactory.createQualifiedName(
17
- TypeScriptFactory.createIdentifier(
15
+ return factory.createTypeReferenceNode(
16
+ factory.createQualifiedName(
17
+ factory.createIdentifier(
18
18
  importer.external({
19
19
  declaration: true,
20
20
  file: `typia`,
@@ -22,17 +22,13 @@ export namespace SdkTypeTagProgrammer {
22
22
  name: "tags",
23
23
  }),
24
24
  ),
25
- TypeScriptFactory.createIdentifier(name),
25
+ factory.createIdentifier(name),
26
26
  ),
27
- [
28
- TypeScriptFactory.createLiteralTypeNode(
29
- LiteralFactory.write(tag.value) as any,
30
- ),
31
- ],
27
+ [factory.createLiteralTypeNode(LiteralFactory.write(tag.value) as any)],
32
28
  );
33
- return TypeScriptFactory.createTypeReferenceNode(
34
- TypeScriptFactory.createQualifiedName(
35
- TypeScriptFactory.createIdentifier(
29
+ return factory.createTypeReferenceNode(
30
+ factory.createQualifiedName(
31
+ factory.createIdentifier(
36
32
  importer.external({
37
33
  declaration: true,
38
34
  file: `typia`,
@@ -40,10 +36,10 @@ export namespace SdkTypeTagProgrammer {
40
36
  name: "tags",
41
37
  }),
42
38
  ),
43
- TypeScriptFactory.createIdentifier("TagBase"),
39
+ factory.createIdentifier("TagBase"),
44
40
  ),
45
41
  [
46
- TypeScriptFactory.createLiteralTypeNode(
42
+ factory.createLiteralTypeNode(
47
43
  LiteralFactory.write({
48
44
  target: from,
49
45
  kind: tag.kind,
@@ -1,6 +1,16 @@
1
- import { Node, NodeFlags, SyntaxKind, TypeScriptFactory } from "@nestia/factory";
2
- import { ExpressionFactory, IdentifierFactory, TypeFactory } from "@nestia/factory";
1
+ import {
2
+ type Block,
3
+ type Expression,
4
+ NodeFlags,
5
+ type Statement,
6
+ SyntaxKind,
7
+ type TypeNode,
8
+ factory,
9
+ } from "@ttsc/factory";
3
10
 
11
+ import { ExpressionFactory } from "../../factories/ExpressionFactory";
12
+ import { IdentifierFactory } from "../../factories/IdentifierFactory";
13
+ import { TypeFactory } from "../../factories/TypeFactory";
4
14
  import { INestiaProject } from "../../structures/INestiaProject";
5
15
  import { ITypedWebSocketRoute } from "../../structures/ITypedWebSocketRoute";
6
16
  import { FilePrinter } from "./FilePrinter";
@@ -12,11 +22,11 @@ export namespace SdkWebSocketNamespaceProgrammer {
12
22
  export const write =
13
23
  (project: INestiaProject) =>
14
24
  (importer: ImportDictionary) =>
15
- (route: ITypedWebSocketRoute): Node =>
16
- TypeScriptFactory.createModuleDeclaration(
17
- [TypeScriptFactory.createToken(SyntaxKind.ExportKeyword)],
18
- TypeScriptFactory.createIdentifier(route.name),
19
- TypeScriptFactory.createModuleBlock([
25
+ (route: ITypedWebSocketRoute): Statement =>
26
+ factory.createModuleDeclaration(
27
+ [factory.createToken(SyntaxKind.ExportKeyword)],
28
+ factory.createIdentifier(route.name),
29
+ factory.createModuleBlock([
20
30
  ...writeTypes(project)(importer)(route),
21
31
  FilePrinter.enter(),
22
32
  writePath(project)(route),
@@ -27,12 +37,12 @@ export namespace SdkWebSocketNamespaceProgrammer {
27
37
  const writeTypes =
28
38
  (project: INestiaProject) =>
29
39
  (importer: ImportDictionary) =>
30
- (route: ITypedWebSocketRoute): Node[] => {
31
- const output: Node[] = [];
32
- const declare = (name: string, type: Node) =>
40
+ (route: ITypedWebSocketRoute): Statement[] => {
41
+ const output: Statement[] = [];
42
+ const declare = (name: string, type: TypeNode) =>
33
43
  output.push(
34
- TypeScriptFactory.createTypeAliasDeclaration(
35
- [TypeScriptFactory.createModifier(SyntaxKind.ExportKeyword)],
44
+ factory.createTypeAliasDeclaration(
45
+ [factory.createModifier(SyntaxKind.ExportKeyword)],
36
46
  name,
37
47
  undefined,
38
48
  type,
@@ -43,12 +53,12 @@ export namespace SdkWebSocketNamespaceProgrammer {
43
53
  declare("Props", SdkAliasCollection.websocketProps(route));
44
54
  declare(
45
55
  "Output",
46
- TypeScriptFactory.createTypeLiteralNode([
47
- TypeScriptFactory.createPropertySignature(
56
+ factory.createTypeLiteralNode([
57
+ factory.createPropertySignature(
48
58
  undefined,
49
59
  "connector",
50
60
  undefined,
51
- TypeScriptFactory.createTypeReferenceNode(
61
+ factory.createTypeReferenceNode(
52
62
  importer.external({
53
63
  declaration: false,
54
64
  file: "tgrid",
@@ -56,40 +66,36 @@ export namespace SdkWebSocketNamespaceProgrammer {
56
66
  name: "WebSocketConnector",
57
67
  }),
58
68
  [
59
- TypeScriptFactory.createTypeReferenceNode("Header"),
60
- TypeScriptFactory.createTypeReferenceNode("Provider"),
61
- TypeScriptFactory.createTypeReferenceNode("Listener"),
69
+ factory.createTypeReferenceNode("Header"),
70
+ factory.createTypeReferenceNode("Provider"),
71
+ factory.createTypeReferenceNode("Listener"),
62
72
  ],
63
73
  ),
64
74
  ),
65
- TypeScriptFactory.createPropertySignature(
75
+ factory.createPropertySignature(
66
76
  undefined,
67
77
  "driver",
68
78
  undefined,
69
- TypeScriptFactory.createTypeReferenceNode(
79
+ factory.createTypeReferenceNode(
70
80
  importer.external({
71
81
  declaration: true,
72
82
  file: "tgrid",
73
83
  type: "element",
74
84
  name: "Driver",
75
85
  }),
76
- [TypeScriptFactory.createTypeReferenceNode("Listener")],
86
+ [factory.createTypeReferenceNode("Listener")],
77
87
  ),
78
88
  ),
79
- TypeScriptFactory.createPropertySignature(
89
+ factory.createPropertySignature(
80
90
  undefined,
81
91
  "reconnect",
82
92
  undefined,
83
- TypeScriptFactory.createFunctionTypeNode(
93
+ factory.createFunctionTypeNode(
84
94
  undefined,
85
95
  [],
86
- TypeScriptFactory.createTypeReferenceNode(
87
- TypeScriptFactory.createIdentifier("Promise"),
88
- [
89
- TypeScriptFactory.createKeywordTypeNode(
90
- SyntaxKind.VoidKeyword,
91
- ),
92
- ],
96
+ factory.createTypeReferenceNode(
97
+ factory.createIdentifier("Promise"),
98
+ [factory.createKeywordTypeNode(SyntaxKind.VoidKeyword)],
93
99
  ),
94
100
  ),
95
101
  ),
@@ -122,10 +128,10 @@ export namespace SdkWebSocketNamespaceProgrammer {
122
128
 
123
129
  const writePath =
124
130
  (project: INestiaProject) =>
125
- (route: ITypedWebSocketRoute): Node => {
126
- const out = (body: Node) =>
131
+ (route: ITypedWebSocketRoute): Statement => {
132
+ const out = (body: Block | Expression) =>
127
133
  constant("path")(
128
- TypeScriptFactory.createArrowFunction(
134
+ factory.createArrowFunction(
129
135
  [],
130
136
  [],
131
137
  SdkWebSocketParameterProgrammer.getParameterDeclarations({
@@ -140,63 +146,56 @@ export namespace SdkWebSocketNamespaceProgrammer {
140
146
  ),
141
147
  );
142
148
  if (route.pathParameters.length === 0 && route.query === null)
143
- return out(TypeScriptFactory.createStringLiteral(route.path));
149
+ return out(factory.createStringLiteral(route.path));
144
150
 
145
151
  const access = (key: string) =>
146
152
  project.config.keyword === true
147
- ? TypeScriptFactory.createPropertyAccessExpression(
148
- TypeScriptFactory.createIdentifier("props"),
153
+ ? factory.createPropertyAccessExpression(
154
+ factory.createIdentifier("props"),
149
155
  key,
150
156
  )
151
- : TypeScriptFactory.createIdentifier(key);
157
+ : factory.createIdentifier(key);
152
158
  const template = () => {
153
159
  const split: string[] = route.path.split(":");
154
- if (split.length === 1)
155
- return TypeScriptFactory.createStringLiteral(route.path);
156
- return TypeScriptFactory.createTemplateExpression(
157
- TypeScriptFactory.createTemplateHead(split[0]!),
160
+ if (split.length === 1) return factory.createStringLiteral(route.path);
161
+ return factory.createTemplateExpression(
162
+ factory.createTemplateHead(split[0]!),
158
163
  split.slice(1).map((s, i, arr) => {
159
164
  const name: string = s.split("/")[0]!;
160
- return TypeScriptFactory.createTemplateSpan(
161
- TypeScriptFactory.createCallExpression(
162
- TypeScriptFactory.createIdentifier("encodeURIComponent"),
165
+ return factory.createTemplateSpan(
166
+ factory.createCallExpression(
167
+ factory.createIdentifier("encodeURIComponent"),
163
168
  undefined,
164
169
  [
165
- TypeScriptFactory.createBinaryExpression(
166
- TypeScriptFactory.createCallChain(
167
- TypeScriptFactory.createPropertyAccessChain(
170
+ factory.createBinaryExpression(
171
+ factory.createCallChain(
172
+ factory.createPropertyAccessChain(
168
173
  access(
169
174
  route.pathParameters.find((p) => p.field === name)!
170
175
  .name,
171
176
  ),
172
- TypeScriptFactory.createToken(
173
- SyntaxKind.QuestionDotToken,
174
- ),
177
+ factory.createToken(SyntaxKind.QuestionDotToken),
175
178
  "toString",
176
179
  ),
177
180
  undefined,
178
181
  undefined,
179
182
  [],
180
183
  ),
181
- TypeScriptFactory.createToken(
182
- SyntaxKind.QuestionQuestionToken,
183
- ),
184
- TypeScriptFactory.createStringLiteral("null"),
184
+ factory.createToken(SyntaxKind.QuestionQuestionToken),
185
+ factory.createStringLiteral("null"),
185
186
  ),
186
187
  ],
187
188
  ),
188
189
  (i !== arr.length - 1
189
- ? TypeScriptFactory.createTemplateMiddle
190
- : TypeScriptFactory.createTemplateTail)(
191
- s.substring(name.length),
192
- ),
190
+ ? factory.createTemplateMiddle
191
+ : factory.createTemplateTail)(s.substring(name.length)),
193
192
  );
194
193
  }),
195
194
  );
196
195
  };
197
196
  if (route.query === null) return out(template());
198
197
 
199
- const block = (expr: Node) => {
198
+ const block = (expr: Expression) => {
200
199
  const computeName = (str: string): string =>
201
200
  [...route.pathParameters, ...(route.query ? [route.query] : [])].find(
202
201
  (p) => p.name === str,
@@ -204,31 +203,31 @@ export namespace SdkWebSocketNamespaceProgrammer {
204
203
  ? computeName("_" + str)
205
204
  : str;
206
205
  const variables: string = computeName("variables");
207
- return TypeScriptFactory.createBlock(
206
+ return factory.createBlock(
208
207
  [
209
208
  local(variables)("URLSearchParams")(
210
- TypeScriptFactory.createNewExpression(
211
- TypeScriptFactory.createIdentifier("URLSearchParams"),
209
+ factory.createNewExpression(
210
+ factory.createIdentifier("URLSearchParams"),
212
211
  [],
213
212
  [],
214
213
  ),
215
214
  ),
216
- TypeScriptFactory.createForOfStatement(
215
+ factory.createForOfStatement(
217
216
  undefined,
218
- TypeScriptFactory.createVariableDeclarationList(
217
+ factory.createVariableDeclarationList(
219
218
  [
220
- TypeScriptFactory.createVariableDeclaration(
221
- TypeScriptFactory.createArrayBindingPattern([
222
- TypeScriptFactory.createBindingElement(
219
+ factory.createVariableDeclaration(
220
+ factory.createArrayBindingPattern([
221
+ factory.createBindingElement(
223
222
  undefined,
224
223
  undefined,
225
- TypeScriptFactory.createIdentifier("key"),
224
+ factory.createIdentifier("key"),
226
225
  undefined,
227
226
  ),
228
- TypeScriptFactory.createBindingElement(
227
+ factory.createBindingElement(
229
228
  undefined,
230
229
  undefined,
231
- TypeScriptFactory.createIdentifier("value"),
230
+ factory.createIdentifier("value"),
232
231
  undefined,
233
232
  ),
234
233
  ]),
@@ -239,54 +238,49 @@ export namespace SdkWebSocketNamespaceProgrammer {
239
238
  ],
240
239
  NodeFlags.Const,
241
240
  ),
242
- TypeScriptFactory.createCallExpression(
243
- TypeScriptFactory.createIdentifier("Object.entries"),
241
+ factory.createCallExpression(
242
+ factory.createIdentifier("Object.entries"),
244
243
  undefined,
245
- [
246
- TypeScriptFactory.createAsExpression(
247
- expr,
248
- TypeFactory.keyword("any"),
249
- ),
250
- ],
244
+ [factory.createAsExpression(expr, TypeFactory.keyword("any"))],
251
245
  ),
252
- TypeScriptFactory.createIfStatement(
253
- TypeScriptFactory.createStrictEquality(
254
- TypeScriptFactory.createIdentifier("undefined"),
255
- TypeScriptFactory.createIdentifier("value"),
246
+ factory.createIfStatement(
247
+ factory.createStrictEquality(
248
+ factory.createIdentifier("undefined"),
249
+ factory.createIdentifier("value"),
256
250
  ),
257
- TypeScriptFactory.createContinueStatement(),
258
- TypeScriptFactory.createIfStatement(
259
- TypeScriptFactory.createCallExpression(
260
- TypeScriptFactory.createIdentifier("Array.isArray"),
251
+ factory.createContinueStatement(),
252
+ factory.createIfStatement(
253
+ factory.createCallExpression(
254
+ factory.createIdentifier("Array.isArray"),
261
255
  undefined,
262
- [TypeScriptFactory.createIdentifier("value")],
256
+ [factory.createIdentifier("value")],
263
257
  ),
264
- TypeScriptFactory.createExpressionStatement(
265
- TypeScriptFactory.createCallExpression(
266
- TypeScriptFactory.createPropertyAccessExpression(
267
- TypeScriptFactory.createIdentifier("value"),
268
- TypeScriptFactory.createIdentifier("forEach"),
258
+ factory.createExpressionStatement(
259
+ factory.createCallExpression(
260
+ factory.createPropertyAccessExpression(
261
+ factory.createIdentifier("value"),
262
+ factory.createIdentifier("forEach"),
269
263
  ),
270
264
  undefined,
271
265
  [
272
- TypeScriptFactory.createArrowFunction(
266
+ factory.createArrowFunction(
273
267
  undefined,
274
268
  undefined,
275
269
  [IdentifierFactory.parameter("elem")],
276
270
  undefined,
277
271
  undefined,
278
- TypeScriptFactory.createCallExpression(
272
+ factory.createCallExpression(
279
273
  IdentifierFactory.access(
280
- TypeScriptFactory.createIdentifier(variables),
274
+ factory.createIdentifier(variables),
281
275
  "append",
282
276
  ),
283
277
  undefined,
284
278
  [
285
- TypeScriptFactory.createIdentifier("key"),
286
- TypeScriptFactory.createCallExpression(
287
- TypeScriptFactory.createIdentifier("String"),
279
+ factory.createIdentifier("key"),
280
+ factory.createCallExpression(
281
+ factory.createIdentifier("String"),
288
282
  undefined,
289
- [TypeScriptFactory.createIdentifier("elem")],
283
+ [factory.createIdentifier("elem")],
290
284
  ),
291
285
  ],
292
286
  ),
@@ -294,19 +288,19 @@ export namespace SdkWebSocketNamespaceProgrammer {
294
288
  ],
295
289
  ),
296
290
  ),
297
- TypeScriptFactory.createExpressionStatement(
298
- TypeScriptFactory.createCallExpression(
291
+ factory.createExpressionStatement(
292
+ factory.createCallExpression(
299
293
  IdentifierFactory.access(
300
- TypeScriptFactory.createIdentifier(variables),
294
+ factory.createIdentifier(variables),
301
295
  "set",
302
296
  ),
303
297
  undefined,
304
298
  [
305
- TypeScriptFactory.createIdentifier("key"),
306
- TypeScriptFactory.createCallExpression(
307
- TypeScriptFactory.createIdentifier("String"),
299
+ factory.createIdentifier("key"),
300
+ factory.createCallExpression(
301
+ factory.createIdentifier("String"),
308
302
  undefined,
309
- [TypeScriptFactory.createIdentifier("value")],
303
+ [factory.createIdentifier("value")],
310
304
  ),
311
305
  ],
312
306
  ),
@@ -315,35 +309,35 @@ export namespace SdkWebSocketNamespaceProgrammer {
315
309
  ),
316
310
  ),
317
311
  local("location")("string")(template()),
318
- TypeScriptFactory.createReturnStatement(
319
- TypeScriptFactory.createConditionalExpression(
320
- TypeScriptFactory.createStrictEquality(
312
+ factory.createReturnStatement(
313
+ factory.createConditionalExpression(
314
+ factory.createStrictEquality(
321
315
  ExpressionFactory.number(0),
322
316
  IdentifierFactory.access(
323
- TypeScriptFactory.createIdentifier(variables),
317
+ factory.createIdentifier(variables),
324
318
  "size",
325
319
  ),
326
320
  ),
327
321
  undefined,
328
- TypeScriptFactory.createIdentifier("location"),
322
+ factory.createIdentifier("location"),
329
323
  undefined,
330
- TypeScriptFactory.createTemplateExpression(
331
- TypeScriptFactory.createTemplateHead(""),
324
+ factory.createTemplateExpression(
325
+ factory.createTemplateHead(""),
332
326
  [
333
- TypeScriptFactory.createTemplateSpan(
334
- TypeScriptFactory.createIdentifier("location"),
335
- TypeScriptFactory.createTemplateMiddle("?"),
327
+ factory.createTemplateSpan(
328
+ factory.createIdentifier("location"),
329
+ factory.createTemplateMiddle("?"),
336
330
  ),
337
- TypeScriptFactory.createTemplateSpan(
338
- TypeScriptFactory.createCallExpression(
331
+ factory.createTemplateSpan(
332
+ factory.createCallExpression(
339
333
  IdentifierFactory.access(
340
- TypeScriptFactory.createIdentifier(variables),
334
+ factory.createIdentifier(variables),
341
335
  "toString",
342
336
  ),
343
337
  undefined,
344
338
  undefined,
345
339
  ),
346
- TypeScriptFactory.createTemplateTail(""),
340
+ factory.createTemplateTail(""),
347
341
  ),
348
342
  ],
349
343
  ),
@@ -357,27 +351,27 @@ export namespace SdkWebSocketNamespaceProgrammer {
357
351
  };
358
352
  }
359
353
 
360
- const local = (name: string) => (type: string) => (expression: Node) =>
361
- TypeScriptFactory.createVariableStatement(
354
+ const local = (name: string) => (type: string) => (expression: Expression) =>
355
+ factory.createVariableStatement(
362
356
  [],
363
- TypeScriptFactory.createVariableDeclarationList(
357
+ factory.createVariableDeclarationList(
364
358
  [
365
- TypeScriptFactory.createVariableDeclaration(
359
+ factory.createVariableDeclaration(
366
360
  name,
367
361
  undefined,
368
- TypeScriptFactory.createTypeReferenceNode(type),
362
+ factory.createTypeReferenceNode(type),
369
363
  expression,
370
364
  ),
371
365
  ],
372
366
  NodeFlags.Const,
373
367
  ),
374
368
  );
375
- const constant = (name: string) => (expression: Node) =>
376
- TypeScriptFactory.createVariableStatement(
377
- [TypeScriptFactory.createModifier(SyntaxKind.ExportKeyword)],
378
- TypeScriptFactory.createVariableDeclarationList(
369
+ const constant = (name: string) => (expression: Expression) =>
370
+ factory.createVariableStatement(
371
+ [factory.createModifier(SyntaxKind.ExportKeyword)],
372
+ factory.createVariableDeclarationList(
379
373
  [
380
- TypeScriptFactory.createVariableDeclaration(
374
+ factory.createVariableDeclaration(
381
375
  name,
382
376
  undefined,
383
377
  undefined,
@@ -1,4 +1,8 @@
1
- import { Node, TypeScriptFactory } from "@nestia/factory";
1
+ import {
2
+ type ParameterDeclaration,
3
+ type TypeNode,
4
+ factory,
5
+ } from "@ttsc/factory";
2
6
 
3
7
  import { INestiaProject } from "../../structures/INestiaProject";
4
8
  import { ITypedWebSocketRoute } from "../../structures/ITypedWebSocketRoute";
@@ -7,7 +11,7 @@ import { SdkAliasCollection } from "./SdkAliasCollection";
7
11
  export namespace SdkWebSocketParameterProgrammer {
8
12
  export interface IEntry {
9
13
  key: string;
10
- type: Node;
14
+ type: TypeNode;
11
15
  }
12
16
 
13
17
  export const getEntries = (props: {
@@ -26,7 +30,7 @@ export namespace SdkWebSocketParameterProgrammer {
26
30
  ? [
27
31
  {
28
32
  key: "query",
29
- type: TypeScriptFactory.createTypeReferenceNode(`${prefix}Query`),
33
+ type: factory.createTypeReferenceNode(`${prefix}Query`),
30
34
  },
31
35
  ]
32
36
  : []),
@@ -34,9 +38,7 @@ export namespace SdkWebSocketParameterProgrammer {
34
38
  ? [
35
39
  {
36
40
  key: "provider",
37
- type: TypeScriptFactory.createTypeReferenceNode(
38
- `${prefix}Provider`,
39
- ),
41
+ type: factory.createTypeReferenceNode(`${prefix}Provider`),
40
42
  },
41
43
  ]
42
44
  : []),
@@ -48,23 +50,23 @@ export namespace SdkWebSocketParameterProgrammer {
48
50
  route: ITypedWebSocketRoute;
49
51
  provider: boolean;
50
52
  prefix: boolean;
51
- }): Node[] => {
53
+ }): ParameterDeclaration[] => {
52
54
  const entries: IEntry[] = getEntries(props);
53
55
  if (entries.length === 0) return [];
54
56
  else if (props.project.config.keyword === true) {
55
57
  const typeName: string = props.prefix
56
58
  ? `${props.route.name}.Props`
57
59
  : "Props";
58
- const node: Node = props.provider
59
- ? TypeScriptFactory.createTypeReferenceNode(typeName)
60
- : TypeScriptFactory.createTypeReferenceNode("Omit", [
61
- TypeScriptFactory.createTypeReferenceNode(typeName),
62
- TypeScriptFactory.createLiteralTypeNode(
63
- TypeScriptFactory.createStringLiteral("provider"),
60
+ const node: TypeNode = props.provider
61
+ ? factory.createTypeReferenceNode(typeName)
62
+ : factory.createTypeReferenceNode("Omit", [
63
+ factory.createTypeReferenceNode(typeName),
64
+ factory.createLiteralTypeNode(
65
+ factory.createStringLiteral("provider"),
64
66
  ),
65
67
  ]);
66
68
  return [
67
- TypeScriptFactory.createParameterDeclaration(
69
+ factory.createParameterDeclaration(
68
70
  undefined,
69
71
  undefined,
70
72
  "props",
@@ -74,7 +76,7 @@ export namespace SdkWebSocketParameterProgrammer {
74
76
  ];
75
77
  }
76
78
  return entries.map((entry) =>
77
- TypeScriptFactory.createParameterDeclaration(
79
+ factory.createParameterDeclaration(
78
80
  undefined,
79
81
  undefined,
80
82
  entry.key,