@nestia/sdk 2.5.0-dev.20240130-4 → 2.5.0-dev.20240130-6

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 (46) hide show
  1. package/lib/generates/CloneGenerator.js +10 -10
  2. package/lib/generates/CloneGenerator.js.map +1 -1
  3. package/lib/generates/internal/E2eFileProgrammer.js +10 -10
  4. package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
  5. package/lib/generates/internal/FilePrinter.d.ts +10 -0
  6. package/lib/{utils/FormatUtil.js → generates/internal/FilePrinter.js} +17 -9
  7. package/lib/generates/internal/FilePrinter.js.map +1 -0
  8. package/lib/{utils → generates/internal}/ImportDictionary.js +2 -2
  9. package/lib/generates/internal/ImportDictionary.js.map +1 -0
  10. package/lib/generates/internal/SdkAliasCollection.d.ts +1 -1
  11. package/lib/generates/internal/SdkFileProgrammer.js +15 -15
  12. package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
  13. package/lib/generates/internal/SdkFunctionProgrammer.d.ts +1 -1
  14. package/lib/generates/internal/SdkImportWizard.d.ts +1 -1
  15. package/lib/generates/internal/SdkInterfaceProgrammer.d.ts +1 -1
  16. package/lib/generates/internal/SdkInterfaceProgrammer.js +7 -26
  17. package/lib/generates/internal/SdkInterfaceProgrammer.js.map +1 -1
  18. package/lib/generates/internal/SdkNamespaceProgrammer.d.ts +1 -1
  19. package/lib/generates/internal/SdkNamespaceProgrammer.js +3 -3
  20. package/lib/generates/internal/SdkNamespaceProgrammer.js.map +1 -1
  21. package/lib/generates/internal/SdkRouteProgrammer.d.ts +1 -1
  22. package/lib/generates/internal/SdkRouteProgrammer.js +2 -2
  23. package/lib/generates/internal/SdkRouteProgrammer.js.map +1 -1
  24. package/lib/generates/internal/SdkSimulationProgrammer.d.ts +1 -1
  25. package/lib/generates/internal/SdkTypeProgrammer.d.ts +3 -1
  26. package/lib/generates/internal/SdkTypeProgrammer.js +62 -4
  27. package/lib/generates/internal/SdkTypeProgrammer.js.map +1 -1
  28. package/package.json +3 -3
  29. package/src/generates/CloneGenerator.ts +9 -19
  30. package/src/generates/internal/E2eFileProgrammer.ts +10 -23
  31. package/src/generates/internal/FilePrinter.ts +53 -0
  32. package/src/{utils → generates/internal}/ImportDictionary.ts +2 -2
  33. package/src/generates/internal/SdkAliasCollection.ts +1 -1
  34. package/src/generates/internal/SdkFileProgrammer.ts +16 -27
  35. package/src/generates/internal/SdkFunctionProgrammer.ts +1 -1
  36. package/src/generates/internal/SdkImportWizard.ts +1 -1
  37. package/src/generates/internal/SdkInterfaceProgrammer.ts +12 -76
  38. package/src/generates/internal/SdkNamespaceProgrammer.ts +4 -4
  39. package/src/generates/internal/SdkRouteProgrammer.ts +3 -3
  40. package/src/generates/internal/SdkSimulationProgrammer.ts +1 -1
  41. package/src/generates/internal/SdkTypeProgrammer.ts +125 -5
  42. package/lib/utils/FormatUtil.d.ts +0 -6
  43. package/lib/utils/FormatUtil.js.map +0 -1
  44. package/lib/utils/ImportDictionary.js.map +0 -1
  45. package/src/utils/FormatUtil.ts +0 -31
  46. /package/lib/{utils → generates/internal}/ImportDictionary.d.ts +0 -0
@@ -3,10 +3,10 @@ import { IJsDocTagInfo } from "typia";
3
3
 
4
4
  import { INestiaConfig } from "../../INestiaConfig";
5
5
  import { IRoute } from "../../structures/IRoute";
6
- import { FormatUtil } from "../../utils/FormatUtil";
7
- import { ImportDictionary } from "../../utils/ImportDictionary";
6
+ import { ImportDictionary } from "./ImportDictionary";
8
7
  import { SdkFunctionProgrammer } from "./SdkFunctionProgrammer";
9
8
  import { SdkNamespaceProgrammer } from "./SdkNamespaceProgrammer";
9
+ import { FilePrinter } from "./FilePrinter";
10
10
 
11
11
  export namespace SdkRouteProgrammer {
12
12
  export const generate =
@@ -24,7 +24,7 @@ export namespace SdkRouteProgrammer {
24
24
  input: route.parameters.find((p) => p.category === "body"),
25
25
  };
26
26
  return [
27
- FormatUtil.description(
27
+ FilePrinter.description(
28
28
  SdkFunctionProgrammer.generate(config)(importer)(route, props),
29
29
  describe(route),
30
30
  ),
@@ -7,7 +7,7 @@ import { TypeFactory } from "typia/lib/factories/TypeFactory";
7
7
 
8
8
  import { INestiaConfig } from "../../INestiaConfig";
9
9
  import { IRoute } from "../../structures/IRoute";
10
- import { ImportDictionary } from "../../utils/ImportDictionary";
10
+ import { ImportDictionary } from "./ImportDictionary";
11
11
  import { SdkAliasCollection } from "./SdkAliasCollection";
12
12
  import { SdkImportWizard } from "./SdkImportWizard";
13
13
  import { SdkTypeProgrammer } from "./SdkTypeProgrammer";
@@ -1,4 +1,5 @@
1
1
  import ts from "typescript";
2
+ import { IJsDocTagInfo } from "typia";
2
3
  import { ExpressionFactory } from "typia/lib/factories/ExpressionFactory";
3
4
  import { TypeFactory } from "typia/lib/factories/TypeFactory";
4
5
  import { IMetadataTypeTag } from "typia/lib/schemas/metadata/IMetadataTypeTag";
@@ -8,12 +9,18 @@ import { MetadataArray } from "typia/lib/schemas/metadata/MetadataArray";
8
9
  import { MetadataAtomic } from "typia/lib/schemas/metadata/MetadataAtomic";
9
10
  import { MetadataEscaped } from "typia/lib/schemas/metadata/MetadataEscaped";
10
11
  import { MetadataObject } from "typia/lib/schemas/metadata/MetadataObject";
12
+ import { MetadataProperty } from "typia/lib/schemas/metadata/MetadataProperty";
11
13
  import { MetadataTuple } from "typia/lib/schemas/metadata/MetadataTuple";
14
+ import { Escaper } from "typia/lib/utils/Escaper";
12
15
 
13
16
  import { INestiaConfig } from "../../INestiaConfig";
14
- import { ImportDictionary } from "../../utils/ImportDictionary";
17
+ import { FilePrinter } from "./FilePrinter";
18
+ import { ImportDictionary } from "./ImportDictionary";
15
19
 
16
20
  export namespace SdkTypeProgrammer {
21
+ /* -----------------------------------------------------------
22
+ FACADE
23
+ ----------------------------------------------------------- */
17
24
  export const write =
18
25
  (config: INestiaConfig) =>
19
26
  (importer: ImportDictionary) =>
@@ -22,8 +29,8 @@ export namespace SdkTypeProgrammer {
22
29
 
23
30
  // COALESCES
24
31
  if (meta.any) union.push(TypeFactory.keyword("any"));
25
- if (meta.nullable) union.push(node("null"));
26
- if (meta.isRequired() === false) union.push(node("undefined"));
32
+ if (meta.nullable) union.push(writeNode("null"));
33
+ if (meta.isRequired() === false) union.push(writeNode("undefined"));
27
34
  if (parentEscaped === false && meta.escaped)
28
35
  union.push(write_escaped(config)(importer)(meta.escaped));
29
36
 
@@ -40,7 +47,9 @@ export namespace SdkTypeProgrammer {
40
47
  for (const array of meta.arrays)
41
48
  union.push(write_array(config)(importer)(array));
42
49
  for (const object of meta.objects)
43
- union.push(write_alias(config)(importer)(object));
50
+ if (object.name === "__type" || object.name.startsWith("__type."))
51
+ union.push(write_object(config)(importer)(object));
52
+ else union.push(write_alias(config)(importer)(object));
44
53
  for (const alias of meta.aliases)
45
54
  union.push(write_alias(config)(importer)(alias));
46
55
 
@@ -49,6 +58,27 @@ export namespace SdkTypeProgrammer {
49
58
  : ts.factory.createUnionTypeNode(union);
50
59
  };
51
60
 
61
+ export const write_object =
62
+ (config: INestiaConfig) =>
63
+ (importer: ImportDictionary) =>
64
+ (object: MetadataObject): ts.TypeNode => {
65
+ const regular = object.properties.filter((p) => p.key.isSoleLiteral());
66
+ const dynamic = object.properties.filter((p) => !p.key.isSoleLiteral());
67
+ return FilePrinter.description(
68
+ regular.length && dynamic.length
69
+ ? ts.factory.createIntersectionTypeNode([
70
+ write_regular_property(config)(importer)(regular),
71
+ ...dynamic.map(write_dynamic_property(config)(importer)),
72
+ ])
73
+ : dynamic.length
74
+ ? ts.factory.createIntersectionTypeNode(
75
+ dynamic.map(write_dynamic_property(config)(importer)),
76
+ )
77
+ : write_regular_property(config)(importer)(regular),
78
+ writeComment([])(object.description ?? null, object.jsDocTags),
79
+ );
80
+ };
81
+
52
82
  const write_escaped =
53
83
  (config: INestiaConfig) =>
54
84
  (importer: ImportDictionary) =>
@@ -68,6 +98,9 @@ export namespace SdkTypeProgrammer {
68
98
  return write(config)(importer)(meta.returns, true);
69
99
  };
70
100
 
101
+ /* -----------------------------------------------------------
102
+ ATOMICS
103
+ ----------------------------------------------------------- */
71
104
  const write_constant = (value: boolean | bigint | number | string) => {
72
105
  if (typeof value === "boolean")
73
106
  return ts.factory.createLiteralTypeNode(
@@ -150,6 +183,9 @@ export namespace SdkTypeProgrammer {
150
183
  meta.tags,
151
184
  );
152
185
 
186
+ /* -----------------------------------------------------------
187
+ INSTANCES
188
+ ----------------------------------------------------------- */
153
189
  const write_array =
154
190
  (config: INestiaConfig) =>
155
191
  (importer: ImportDictionary) =>
@@ -179,6 +215,58 @@ export namespace SdkTypeProgrammer {
179
215
  ),
180
216
  );
181
217
 
218
+ const write_regular_property =
219
+ (config: INestiaConfig) =>
220
+ (importer: ImportDictionary) =>
221
+ (properties: MetadataProperty[]): ts.TypeLiteralNode =>
222
+ ts.factory.createTypeLiteralNode(
223
+ properties.map((p) =>
224
+ FilePrinter.description(
225
+ ts.factory.createPropertySignature(
226
+ undefined,
227
+ Escaper.variable(String(p.key.constants[0].values[0]))
228
+ ? ts.factory.createIdentifier(
229
+ String(p.key.constants[0].values[0]),
230
+ )
231
+ : ts.factory.createStringLiteral(
232
+ String(p.key.constants[0].values[0]),
233
+ ),
234
+ p.value.isRequired() === false
235
+ ? ts.factory.createToken(ts.SyntaxKind.QuestionToken)
236
+ : undefined,
237
+ SdkTypeProgrammer.write(config)(importer)(p.value),
238
+ ),
239
+ writeComment(p.value.atomics)(p.description, p.jsDocTags),
240
+ ),
241
+ ),
242
+ );
243
+
244
+ const write_dynamic_property =
245
+ (config: INestiaConfig) =>
246
+ (importer: ImportDictionary) =>
247
+ (property: MetadataProperty): ts.TypeLiteralNode =>
248
+ ts.factory.createTypeLiteralNode([
249
+ FilePrinter.description(
250
+ ts.factory.createIndexSignature(
251
+ undefined,
252
+ [
253
+ ts.factory.createParameterDeclaration(
254
+ undefined,
255
+ undefined,
256
+ ts.factory.createIdentifier("key"),
257
+ undefined,
258
+ SdkTypeProgrammer.write(config)(importer)(property.key),
259
+ ),
260
+ ],
261
+ SdkTypeProgrammer.write(config)(importer)(property.value),
262
+ ),
263
+ writeComment(property.value.atomics)(
264
+ property.description,
265
+ property.jsDocTags,
266
+ ),
267
+ ),
268
+ ]);
269
+
182
270
  const write_alias =
183
271
  (config: INestiaConfig) =>
184
272
  (importer: ImportDictionary) =>
@@ -187,6 +275,9 @@ export namespace SdkTypeProgrammer {
187
275
  return ts.factory.createTypeReferenceNode(meta.name);
188
276
  };
189
277
 
278
+ /* -----------------------------------------------------------
279
+ MISCELLANEOUS
280
+ ----------------------------------------------------------- */
190
281
  const write_type_tag_matrix =
191
282
  (importer: ImportDictionary) =>
192
283
  (base: ts.TypeNode, matrix: IMetadataTypeTag[][]): ts.TypeNode => {
@@ -212,7 +303,7 @@ export namespace SdkTypeProgrammer {
212
303
  };
213
304
  }
214
305
 
215
- const node = (text: string) => ts.factory.createTypeReferenceNode(text);
306
+ const writeNode = (text: string) => ts.factory.createTypeReferenceNode(text);
216
307
  const writeTag = (importer: ImportDictionary) => (tag: IMetadataTypeTag) => {
217
308
  const instance: string = tag.name.split("<")[0];
218
309
  return ts.factory.createTypeReferenceNode(
@@ -241,6 +332,35 @@ const writeTag = (importer: ImportDictionary) => (tag: IMetadataTypeTag) => {
241
332
  ],
242
333
  );
243
334
  };
335
+ const writeComment =
336
+ (atomics: MetadataAtomic[]) =>
337
+ (description: string | null, jsDocTags: IJsDocTagInfo[]): string => {
338
+ const lines: string[] = [];
339
+ if (description?.length)
340
+ lines.push(...description.split("\n").map((s) => `${s}`));
341
+
342
+ const filtered: IJsDocTagInfo[] =
343
+ !!atomics.length && !!jsDocTags?.length
344
+ ? jsDocTags.filter(
345
+ (tag) =>
346
+ !atomics.some((a) =>
347
+ a.tags.some((r) => r.some((t) => t.kind === tag.name)),
348
+ ),
349
+ )
350
+ : jsDocTags ?? [];
351
+
352
+ if (description?.length && filtered.length) lines.push("");
353
+ if (filtered.length)
354
+ lines.push(
355
+ ...filtered.map((t) =>
356
+ t.text?.length
357
+ ? `@${t.name} ${t.text.map((e) => e.text).join("")}`
358
+ : `@${t.name}`,
359
+ ),
360
+ );
361
+ return lines.join("\n");
362
+ };
363
+
244
364
  const importInternalFile =
245
365
  (config: INestiaConfig) => (importer: ImportDictionary) => (name: string) => {
246
366
  const top = name.split(".")[0];
@@ -1,6 +0,0 @@
1
- import ts from "typescript";
2
- export declare namespace FormatUtil {
3
- const description: <Node_1 extends ts.Node>(node: Node_1, comment: string) => Node_1;
4
- const enter: () => ts.ExpressionStatement;
5
- const beautify: (script: string) => Promise<string>;
6
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"FormatUtil.js","sourceRoot":"","sources":["../../src/utils/FormatUtil.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uCAAkC;AAClC,4DAA4B;AAE5B,IAAiB,UAAU,CA2B1B;AA3BD,WAAiB,UAAU;IACZ,sBAAW,GAAG,CACzB,IAAU,EACV,OAAe,EACT,EAAE;QACR,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,oBAAE,CAAC,0BAA0B,CAC3B,IAAI,EACJ,oBAAE,CAAC,UAAU,CAAC,sBAAsB,EACpC,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EACtE,IAAI,CACL,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEW,gBAAK,GAAG,GAAG,EAAE,CACxB,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAE7D,mBAAQ,GAAG,CAAO,MAAc,EAAmB,EAAE;QAChE,IAAI,CAAC;YACH,OAAO,MAAM,IAAA,iBAAM,EAAC,MAAM,EAAE;gBAC1B,MAAM,EAAE,YAAY;aACrB,CAAC,CAAC;QACL,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC,CAAA,CAAC;AACJ,CAAC,EA3BgB,UAAU,0BAAV,UAAU,QA2B1B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImportDictionary.js","sourceRoot":"","sources":["../../src/utils/ImportDictionary.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- import { format } from "prettier";
2
- import ts from "typescript";
3
-
4
- export namespace FormatUtil {
5
- export const description = <Node extends ts.Node>(
6
- node: Node,
7
- comment: string,
8
- ): Node => {
9
- if (comment.length === 0) return node;
10
- ts.addSyntheticLeadingComment(
11
- node,
12
- ts.SyntaxKind.MultiLineCommentTrivia,
13
- ["*", ...comment.split("\n").map((str) => ` * ${str}`), ""].join("\n"),
14
- true,
15
- );
16
- return node;
17
- };
18
-
19
- export const enter = () =>
20
- ts.factory.createExpressionStatement(ts.factory.createIdentifier("\n"));
21
-
22
- export const beautify = async (script: string): Promise<string> => {
23
- try {
24
- return await format(script, {
25
- parser: "typescript",
26
- });
27
- } catch {
28
- return script;
29
- }
30
- };
31
- }