@nestia/sdk 2.0.0-dev.20230904-2 → 2.0.0-dev.20230907

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 (54) hide show
  1. package/assets/bundle/api/utils/NestiaSimulator.ts +0 -14
  2. package/lib/INestiaConfig.d.ts +22 -0
  3. package/lib/NestiaSdkApplication.d.ts +1 -1
  4. package/lib/NestiaSdkApplication.js +5 -5
  5. package/lib/NestiaSdkApplication.js.map +1 -1
  6. package/lib/analyses/ControllerAnalyzer.js +4 -4
  7. package/lib/analyses/ControllerAnalyzer.js.map +1 -1
  8. package/lib/analyses/ReflectAnalyzer.js +9 -1
  9. package/lib/analyses/ReflectAnalyzer.js.map +1 -1
  10. package/lib/executable/internal/NestiaConfigLoader.js +9 -1
  11. package/lib/executable/internal/NestiaConfigLoader.js.map +1 -1
  12. package/lib/generates/SdkGenerator.d.ts +2 -1
  13. package/lib/generates/SdkGenerator.js +5 -1
  14. package/lib/generates/SdkGenerator.js.map +1 -1
  15. package/lib/generates/SwaggerGenerator.js +9 -6
  16. package/lib/generates/SwaggerGenerator.js.map +1 -1
  17. package/lib/generates/internal/E2eFileProgrammer.js +20 -14
  18. package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
  19. package/lib/generates/internal/SdkDtoGenerator.d.ts +9 -0
  20. package/lib/generates/internal/SdkDtoGenerator.js +264 -0
  21. package/lib/generates/internal/SdkDtoGenerator.js.map +1 -0
  22. package/lib/generates/internal/SdkFileProgrammer.js +8 -7
  23. package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
  24. package/lib/generates/internal/SdkFunctionProgrammer.js +15 -12
  25. package/lib/generates/internal/SdkFunctionProgrammer.js.map +1 -1
  26. package/lib/generates/internal/SdkImportWizard.d.ts +1 -0
  27. package/lib/generates/internal/SdkImportWizard.js +5 -0
  28. package/lib/generates/internal/SdkImportWizard.js.map +1 -1
  29. package/lib/generates/internal/SdkSimulationProgrammer.js +5 -1
  30. package/lib/generates/internal/SdkSimulationProgrammer.js.map +1 -1
  31. package/lib/generates/internal/SdkTypeDefiner.d.ts +10 -0
  32. package/lib/generates/internal/SdkTypeDefiner.js +92 -0
  33. package/lib/generates/internal/SdkTypeDefiner.js.map +1 -0
  34. package/lib/generates/internal/SwaggerSchemaGenerator.js +2 -2
  35. package/lib/generates/internal/SwaggerSchemaGenerator.js.map +1 -1
  36. package/lib/structures/IController.d.ts +2 -0
  37. package/lib/structures/IRoute.d.ts +5 -1
  38. package/package.json +6 -6
  39. package/src/INestiaConfig.ts +24 -0
  40. package/src/NestiaSdkApplication.ts +5 -9
  41. package/src/analyses/ControllerAnalyzer.ts +5 -5
  42. package/src/analyses/ReflectAnalyzer.ts +8 -0
  43. package/src/generates/SdkGenerator.ts +7 -0
  44. package/src/generates/SwaggerGenerator.ts +11 -7
  45. package/src/generates/internal/E2eFileProgrammer.ts +32 -19
  46. package/src/generates/internal/SdkDtoGenerator.ts +384 -0
  47. package/src/generates/internal/SdkFileProgrammer.ts +8 -7
  48. package/src/generates/internal/SdkFunctionProgrammer.ts +41 -16
  49. package/src/generates/internal/SdkImportWizard.ts +7 -0
  50. package/src/generates/internal/SdkSimulationProgrammer.ts +10 -1
  51. package/src/generates/internal/SdkTypeDefiner.ts +123 -0
  52. package/src/generates/internal/SwaggerSchemaGenerator.ts +2 -2
  53. package/src/structures/IController.ts +2 -0
  54. package/src/structures/IRoute.ts +7 -2
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SdkTypeDefiner = void 0;
4
+ const SdkDtoGenerator_1 = require("./SdkDtoGenerator");
5
+ var SdkTypeDefiner;
6
+ (function (SdkTypeDefiner) {
7
+ SdkTypeDefiner.name = (config) => (importer) => (p) => p.metadata
8
+ ? SdkDtoGenerator_1.SdkDtoGenerator.decode(config)(importer)(p.metadata)
9
+ : p.typeName;
10
+ SdkTypeDefiner.headers = (config) => (importer) => (param) => {
11
+ const type = SdkTypeDefiner.name(config)(importer)(param);
12
+ if (config.primitive === false)
13
+ return type;
14
+ const resolved = importer.external({
15
+ type: true,
16
+ library: "@nestia/fetcher",
17
+ instance: "Resolved",
18
+ });
19
+ return `${resolved}<${type}>`;
20
+ };
21
+ SdkTypeDefiner.query = (config) => (importer) => (param) => {
22
+ const type = SdkTypeDefiner.name(config)(importer)(param);
23
+ if (config.primitive === false)
24
+ return type;
25
+ const resolved = importer.external({
26
+ type: true,
27
+ library: "@nestia/fetcher",
28
+ instance: "Resolved",
29
+ });
30
+ return `${resolved}<${type}>`;
31
+ };
32
+ SdkTypeDefiner.input = (config) => (importer) => (param) => {
33
+ const type = SdkTypeDefiner.name(config)(importer)(param);
34
+ if (config.primitive === false)
35
+ return type;
36
+ const primitive = importer.external({
37
+ type: true,
38
+ library: "@nestia/fetcher",
39
+ instance: "Primitive",
40
+ });
41
+ return `${primitive}<${type}>`;
42
+ };
43
+ SdkTypeDefiner.output = (config) => (importer) => (route) => {
44
+ if (config.propagate !== true) {
45
+ const type = SdkTypeDefiner.name(config)(importer)(route.output);
46
+ if (type === "void" || config.primitive === false)
47
+ return type;
48
+ const primitive = importer.external({
49
+ type: true,
50
+ library: "@nestia/fetcher",
51
+ instance: "Primitive",
52
+ });
53
+ return `${primitive}<${type}>`;
54
+ }
55
+ const propagation = importer.external({
56
+ type: true,
57
+ library: "@nestia/fetcher",
58
+ instance: "IPropagation",
59
+ });
60
+ const branches = [
61
+ {
62
+ body: SdkTypeDefiner.name(config)(importer)(route.output),
63
+ status: route.status
64
+ ? String(route.status)
65
+ : route.method === "GET" ||
66
+ route.method === "DELETE" ||
67
+ route.method === "HEAD"
68
+ ? "200"
69
+ : "201",
70
+ success: "true",
71
+ },
72
+ ];
73
+ for (const [key, value] of Object.entries(route.exceptions))
74
+ branches.push({
75
+ body: SdkTypeDefiner.name(config)(importer)(value),
76
+ status: key.endsWith("XX")
77
+ ? `${propagation}.StatusRange<${key}>`
78
+ : key,
79
+ success: "false",
80
+ });
81
+ branches.push({
82
+ status: "number",
83
+ body: "any",
84
+ success: "boolean",
85
+ });
86
+ return ("\n" +
87
+ branches
88
+ .map((b) => ` | ${propagation}<${b.status}, ${b.body}, ${b.success}>`)
89
+ .join("\n"));
90
+ };
91
+ })(SdkTypeDefiner || (exports.SdkTypeDefiner = SdkTypeDefiner = {}));
92
+ //# sourceMappingURL=SdkTypeDefiner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SdkTypeDefiner.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkTypeDefiner.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@ var SwaggerSchemaGenerator;
38
38
  };
39
39
  }
40
40
  // FROM COMMENT TAGS -> ANY
41
- for (const tag of route.tags) {
41
+ for (const tag of route.jsDocTags) {
42
42
  if (tag.name !== "throw" && tag.name !== "throws")
43
43
  continue;
44
44
  const text = (_c = (_b = tag.text) === null || _b === void 0 ? void 0 : _b.find((elem) => elem.kind === "text")) === null || _c === void 0 ? void 0 : _c.text;
@@ -232,7 +232,7 @@ var SwaggerSchemaGenerator;
232
232
  ? (tag) => tag.text.find((elem) => elem.kind === "parameterName" &&
233
233
  elem.text === parameterName) !== undefined
234
234
  : () => true;
235
- const tag = route.tags.find((tag) => tag.name === tagName && tag.text && parametric(tag));
235
+ const tag = route.jsDocTags.find((tag) => tag.name === tagName && tag.text && parametric(tag));
236
236
  return tag && tag.text
237
237
  ? (_a = tag.text.find((elem) => elem.kind === "text")) === null || _a === void 0 ? void 0 : _a.text
238
238
  : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"SwaggerSchemaGenerator.js","sourceRoot":"","sources":["../../../src/generates/internal/SwaggerSchemaGenerator.ts"],"names":[],"mappings":";;;AAAA,+BAAiC;AAIjC,+EAA4E;AAC5E,yEAAsE;AACtE,kEAA+D;AAQ/D,qEAAkE;AAElE,IAAiB,sBAAsB,CAoWtC;AApWD,WAAiB,sBAAsB;IAStB,+BAAQ,GACjB,CAAC,KAAa,EAAE,EAAE,CAClB,CAAC,KAAa,EAA+B,EAAE;;QAC3C,MAAM,MAAM,GAAgC,EAAE,CAAC;QAE/C,MAAM;QACN,qBAAqB;QACrB,MAAM;QACN,iBAAiB;QACjB,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;YAC1D,MAAM,MAAM,GAAG,iCAAe,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAClD,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;oBACf,MAAM,MAAM,GACR,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;wBAC7C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;oBACpD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,CAAC;aACJ,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;gBACxB,KAAK,CAAC,MAAM,CAAC,IAAI,CACb,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iCACrB,CAAC,KACJ,KAAK,EACL,IAAI,EAAE,oBAAoB,MAAM,GAAG,IACrC,CAAC,CACN,CAAC;YAEN,MAAM,CAAC,MAAM,CAAC,GAAG;gBACb,WAAW,EAAE,MAAA,GAAG,CAAC,WAAW,mCAAI,EAAE;gBAClC,OAAO,EAAE;oBACL,kBAAkB,EAAE;wBAChB,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;qBAClC;iBACJ;aACJ,CAAC;SACL;QAED,2BAA2B;QAC3B,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE;YAC1B,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,SAAS;YAE5D,MAAM,IAAI,GAAuB,MAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,IAAI,CAC3C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CACjC,0CAAE,IAAI,CAAC;YACR,IAAI,IAAI,KAAK,SAAS;gBAAE,SAAS;YAEjC,MAAM,QAAQ,GAAa,IAAI;iBAC1B,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAW,QAAQ,CAAC,CAAC,CAAC,CAAC;YACnC,IACI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACrB,MAAM,KAAK,KAAK;gBAChB,MAAM,KAAK,KAAK;gBAChB,MAAM,KAAK,KAAK;gBAChB,MAAM,KAAK,KAAK;gBAEhB,SAAS;YAEb,MAAM,WAAW,GACb,QAAQ,CAAC,MAAM,KAAK,CAAC;gBACjB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,WAAW,IAAI,MAAM,KAAK,SAAS;gBACnC,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;iBAChC,IAAI,MAAM,KAAK,SAAS;gBACzB,MAAM,CAAC,MAAM,CAAC,GAAG;oBACb,WAAW,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE;oBAC9B,OAAO,EAAE;wBACL,kBAAkB,EAAE;4BAChB,MAAM,EAAE,EAAE;yBACb;qBACJ;iBACJ,CAAC;SACT;QAED,MAAM;QACN,UAAU;QACV,MAAM;QACN,SAAS;QACT,MAAM,MAAM,GACR,KAAK,CAAC,MAAM,KAAK,SAAS;YACtB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YACtB,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,KAAK;gBACtB,KAAK,CAAC,MAAM,KAAK,MAAM;gBACvB,KAAK,CAAC,MAAM,KAAK,QAAQ;gBAC3B,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,KAAK,CAAC;QAEhB,SAAS;QACT,MAAM,MAAM,GAAG,iCAAe,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;gBACf,MAAM,MAAM,GACR,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;oBAC7C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;gBACpD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,CAAC;SACJ,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;YACxB,KAAK,CAAC,MAAM,CAAC,IAAI,CACb,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iCACrB,CAAC,KACJ,KAAK,EACL,IAAI,EAAE,UAAU,IAClB,CAAC,CACN,CAAC;QAEN,YAAY;QACZ,MAAM,WAAW,GACb,MAAA,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,mCAAI,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,GAAG;YACb,WAAW,EAAE,KAAK,CAAC,SAAS;gBACxB,CAAC,CAAC,GAAG,OAAO;qBACL,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;qBAClB,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,EAAE;gBAC1D,CAAC,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE;YACvB,OAAO,EACH,KAAK,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM;gBAC5B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC;oBACI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;wBACxB,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;qBAClC;iBACJ;YACX,oBAAoB,EAAE,KAAK,CAAC,SAAS;SACxC,CAAC;QACF,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;IAEO,2BAAI,GACb,CAAC,KAAa,EAAE,EAAE,CAClB,CAAC,KAAa,EAAE,EAAE,CAClB,CAAC,KAAwB,EAA8B,EAAE;QACrD,8BAA8B;QAC9B,MAAM,MAAM,GAAG,iCAAe,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;gBACf,MAAM,MAAM,GACR,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;oBAC7C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;gBACpD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,CAAC;SACJ,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;YACxB,KAAK,CAAC,MAAM,CAAC,IAAI,CACb,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iCACrB,CAAC,KACJ,KAAK,EACL,IAAI,EAAE,KAAK,CAAC,IAAI,IAClB,CAAC,CACN,CAAC;QAEN,qBAAqB;QACrB,MAAM,WAAW,GACb,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM;YACrC,CAAC,CAAC,KAAK,CAAC,WAAW;YACnB,CAAC,CAAC,kBAAkB,CAAC;QAC7B,MAAM,SAAS,GACX,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC;QACjE,MAAM,WAAW,GAAuB,QAAQ,CAC5C,KAAK,EACL,OAAO,EACP,KAAK,CAAC,IAAI,CACb,CAAC;QAEF,iCAAiC;QACjC,MAAM,MAAM,GAAgB,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;QACpD,OAAO;YACH,WAAW,EAAE,SAAS;gBAClB,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,GACxC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EACnB,EAAE;gBACJ,CAAC,CAAC,WAAW;YACjB,OAAO,EAAE;gBACL,CAAC,WAAW,CAAC,EAAE;oBACX,MAAM;iBACT;aACJ;YACD,QAAQ,EAAE,IAAI;YACd,oBAAoB,EAAE,SAAS;SAClC,CAAC;IACN,CAAC,CAAC;IAEO,gCAAS,GAClB,CAAC,KAAa,EAAE,EAAE,CAClB,CAAC,KAAa,EAAE,EAAE,CAClB,CAAC,KAAwB,EAA8B,EAAE,CACrD,KAAK,CAAC,QAAQ,KAAK,SAAS;QACxB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;QAC9B,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO;YAC5B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IAEzC,MAAM,IAAI,GACN,CAAC,KAAa,EAAE,EAAE,CAClB,CAAC,KAAa,EAAE,EAAE,CAClB,CAAC,KAAwB,EAA4B,EAAE;QACnD,8BAA8B;QAC9B,MAAM,MAAM,GAAG,iCAAe,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,+CAAsB,CAAC,IAAI;SACxC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;YACxB,KAAK,CAAC,MAAM,CAAC,IAAI,CACb,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iCACrB,CAAC,KACJ,KAAK,EACL,IAAI,EAAE,KAAK,CAAC,IAAI,IAClB,CAAC,CACN,CAAC;QAEN,iCAAiC;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEN,MAAM,OAAO,GACT,CAAC,KAAa,EAAE,EAAE,CAClB,CAAC,KAAa,EAAE,EAAE,CAClB,CAAC,KAAwB,EAA8B,EAAE,CACrD,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAC7B,iCAAe,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,KAAK,CAAC,MAAM;YAClB,CAAC,CAAC,+CAAsB,CAAC,OAAO;YAChC,CAAC,CAAC,SAAS;KAClB,CAAC,CAAC,IAAI,uCAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAC3C,CAAC;IAEV,MAAM,KAAK,GACP,CAAC,KAAa,EAAE,EAAE,CAClB,CAAC,KAAa,EAAE,EAAE,CAClB,CAAC,KAAwB,EAA8B,EAAE,CACrD,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAC7B,iCAAe,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,KAAK,CAAC,MAAM;YAClB,CAAC,CAAC,+CAAsB,CAAC,KAAK;YAC9B,CAAC,CAAC,SAAS;KAClB,CAAC,CAAC,IAAI,uCAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAC3C,CAAC;IAEV,MAAM,YAAY,GACd,CAAC,KAAa,EAAE,EAAE,CAClB,CAAC,KAAa,EAAE,EAAE,CAClB,CAAC,KAAwB,EAAE,EAAE,CAC7B,CACI,MAAwD,EAC9B,EAAE;QAC5B,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE;YAC1B,KAAK,CAAC,MAAM,CAAC,IAAI,CACb,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iCACrB,CAAC,KACJ,KAAK,EACL,IAAI,EAAE,KAAK,CAAC,IAAI,IAClB,CAAC,CACN,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;SAC9C;aAAM,IACH,KAAK,CAAC,MAAM,CAAC,SAAS,KAAK,IAAI;YAC/B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAEhC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAE/C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;;YAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC3B,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,CAAC,CAAC,KAAK;aAChB,CAAC,CAAC;YACH,OAAO;gBACH,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAW;gBAC5C,EAAE,EACE,KAAK,CAAC,QAAQ,KAAK,SAAS;oBACxB,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,KAAK,CAAC,QAAQ;gBACxB,MAAM;gBACN,WAAW,EAAE,MAAA,CAAC,CAAC,WAAW,mCAAI,SAAS;gBACvC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE;aACjC,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEN,MAAM,IAAI,GACN,CAAC,KAAa,EAAE,EAAE,CAClB,CAAC,KAAa,EAAE,EAAE,CAClB,CACI,KAAwB,EACxB,MAAwD,EAChC,EAAE;;QAC1B,MAAM,MAAM,GAAgB,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;QACpD,OAAO;YACH,IAAI,EAAE,MAAA,KAAK,CAAC,KAAK,mCAAI,KAAK,CAAC,IAAI;YAC/B,EAAE,EAAE,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ;YAC5D,MAAM;YACN,WAAW,EAAE,MAAA,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,mCAAI,EAAE;YACvD,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI;SAC7D,CAAC;IACN,CAAC,CAAC;IAEN,MAAM,QAAQ,GACV,CAAC,KAAa,EAAE,EAAE,CAClB,CACI,MAAwD,EAC7C,EAAE;QACb,MAAM,MAAM,GAAgB,EAAS,CAAC;QACtC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YACd,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE;YAClD,MAAM;SACT,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;IAEN,MAAM,QAAQ,GAAG,CACb,KAAa,EACb,OAAe,EACf,aAAsB,EACJ,EAAE;;QACpB,MAAM,UAAU,GAAuC,aAAa;YAChE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CACJ,GAAG,CAAC,IAAK,CAAC,IAAI,CACV,CAAC,IAAI,EAAE,EAAE,CACL,IAAI,CAAC,IAAI,KAAK,eAAe;gBAC7B,IAAI,CAAC,IAAI,KAAK,aAAa,CAClC,KAAK,SAAS;YACrB,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QAEjB,MAAM,GAAG,GAAgC,KAAK,CAAC,IAAI,CAAC,IAAI,CACpD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,CAC/D,CAAC;QACF,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI;YAClB,CAAC,CAAC,MAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,0CAAE,IAAI;YACrD,CAAC,CAAC,SAAS,CAAC;IACpB,CAAC,CAAC;AACN,CAAC,EApWgB,sBAAsB,sCAAtB,sBAAsB,QAoWtC;AAED,MAAM,OAAO,GAAG,IAAI,gBAAS,CAAC,CAAC,SAAkB,EAAE,EAAE;IACjD,OAAO,IAAI,gBAAS,CAAC,CAAC,IAA4B,EAAE,MAAe,EAAE,EAAE;QACnE,MAAM,OAAO,GACT,IAAI,KAAK,SAAS;YACd,CAAC,CAAC,iCAAiC;YACnC,CAAC,CAAC,oCAAoC,CAAC;QAC/C,MAAM,SAAS,GACX,IAAI,KAAK,SAAS;YACd,CAAC,CAAC,wEAAwE;YAC1E,CAAC,CAAC,mBAAmB,MAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,MAAO;iBACjD,SAAS,CAAC,CAAC,CAAC;iBACZ,WAAW,EAAE,2DAA2D,CAAC;QAExF,MAAM,OAAO,GAAa;YACtB,YAAY;YACZ,EAAE;YACF,OAAO;YACP,EAAE;YACF,OAAO,IAAI,8GAA8G,SAAS,aAAa;YAC/I,EAAE;YACF,mMAAmM;SACtM,CAAC;QACF,IAAI,SAAS,KAAK,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QAC7D,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,MAAM,GAAG,GAAG,IAAI,gBAAS,CAAC,GAAG,EAAE,CAC3B,mBAAQ,CAAC,IAAI,CACT;IACI,GAAG,EAAE,IAAI;IACT,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,KAAK;IACjB,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;CACX,EACD;IACI,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;CACd,CACJ,CACJ,CAAC"}
1
+ {"version":3,"file":"SwaggerSchemaGenerator.js","sourceRoot":"","sources":["../../../src/generates/internal/SwaggerSchemaGenerator.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export interface IController {
5
5
  paths: string[];
6
6
  functions: IController.IFunction[];
7
7
  security: Record<string, string[]>[];
8
+ swaggerTgas: string[];
8
9
  }
9
10
  export declare namespace IController {
10
11
  interface IFunction {
@@ -18,6 +19,7 @@ export declare namespace IController {
18
19
  contentType: "application/json" | "text/plain";
19
20
  security: Record<string, string[]>[];
20
21
  exceptions: Record<number | "2XX" | "3XX" | "4XX" | "5XX", IController.IException>;
22
+ swaggerTags: string[];
21
23
  }
22
24
  type IParameter = ICommonParameter | IQueryParameter | IHeadersParameter | IBodyParameter | IPathParameter;
23
25
  interface ICommonParameter {
@@ -1,4 +1,5 @@
1
1
  import ts from "typescript";
2
+ import { Metadata } from "typia/lib/schemas/metadata/Metadata";
2
3
  import { IController } from "./IController";
3
4
  export interface IRoute {
4
5
  name: string;
@@ -17,7 +18,7 @@ export interface IRoute {
17
18
  };
18
19
  description?: string;
19
20
  operationId?: string;
20
- tags: ts.JSDocTagInfo[];
21
+ jsDocTags: ts.JSDocTagInfo[];
21
22
  setHeaders: Array<{
22
23
  type: "setter";
23
24
  source: string;
@@ -28,16 +29,19 @@ export interface IRoute {
28
29
  }>;
29
30
  security: Record<string, string[]>[];
30
31
  exceptions: Record<number | "2XX" | "3XX" | "4XX" | "5XX", IRoute.IOutput>;
32
+ swaggerTags: string[];
31
33
  }
32
34
  export declare namespace IRoute {
33
35
  type IParameter = IController.IParameter & {
34
36
  optional: boolean;
35
37
  type: ts.Type;
36
38
  typeName: string;
39
+ metadata?: Metadata;
37
40
  };
38
41
  interface IOutput {
39
42
  type: ts.Type;
40
43
  typeName: string;
44
+ metadata?: Metadata;
41
45
  description?: string;
42
46
  contentType: "application/json" | "text/plain";
43
47
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestia/sdk",
3
- "version": "2.0.0-dev.20230904-2",
3
+ "version": "2.0.0-dev.20230907",
4
4
  "description": "Nestia SDK and Swagger generator",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -35,25 +35,25 @@
35
35
  },
36
36
  "homepage": "https://nestia.io",
37
37
  "dependencies": {
38
- "@nestia/fetcher": "^2.0.0-dev.20230904-2",
38
+ "@nestia/fetcher": ">=2.0.0-dev.20230907",
39
39
  "cli": "^1.0.1",
40
40
  "glob": "^7.2.0",
41
41
  "path-to-regexp": "^6.2.1",
42
- "reflect-metadata": ">= 0.1.12",
42
+ "reflect-metadata": ">=0.1.12",
43
43
  "tgrid": "^0.8.8",
44
44
  "tsconfck": "^2.0.1",
45
45
  "tsconfig-paths": "^4.1.1",
46
46
  "tstl": "^2.5.13",
47
- "typia": "^5.0.1"
47
+ "typia": ">=5.0.2 <6.0.0"
48
48
  },
49
49
  "peerDependencies": {
50
- "@nestia/fetcher": ">=2.0.0-dev.20230904-2",
50
+ "@nestia/fetcher": ">=2.0.0-dev.20230907",
51
51
  "@nestjs/common": ">=7.0.1",
52
52
  "@nestjs/core": ">=7.0.1",
53
53
  "reflect-metadata": ">=0.1.12",
54
54
  "ts-node": ">=10.6.0",
55
55
  "typescript": ">=4.8.0",
56
- "typia": ">=5.0.1 <6.0.0"
56
+ "typia": ">=5.0.2 <6.0.0"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@nestjs/common": ">= 7.0.1",
@@ -52,6 +52,30 @@ export interface INestiaConfig {
52
52
  */
53
53
  e2e?: string;
54
54
 
55
+ /**
56
+ * Whether to use propagation mode or not.
57
+ *
58
+ * If being configured, interaction functions of the SDK library would
59
+ * perform the propagation mode. The propagation mode means that never
60
+ * throwing exception even when status code is not 200 (or 201), but just
61
+ * returning the {@link IPropagation} typed instance, which can specify its body
62
+ * type through discriminated union determined by status code.
63
+ *
64
+ * @default false
65
+ */
66
+ propagate?: boolean;
67
+
68
+ /**
69
+ * Whether to clone DTO structures or not.
70
+ *
71
+ * If being configured, all of DTOs used in the backend server would be cloned
72
+ * into the `structures` directory, and the SDK library would be refer to the
73
+ * cloned DTOs instead of the original.
74
+ *
75
+ * @default false
76
+ */
77
+ clone?: boolean;
78
+
55
79
  /**
56
80
  * Whether to wrap DTO by primitive type.
57
81
  *
@@ -17,7 +17,7 @@ import { NestiaConfigUtil } from "./utils/NestiaConfigUtil";
17
17
  import { SourceFinder } from "./utils/SourceFinder";
18
18
 
19
19
  export class NestiaSdkApplication {
20
- private readonly checker_: Singleton<Promise<(str: string) => boolean>> =
20
+ private readonly bundler_: Singleton<Promise<(str: string) => boolean>> =
21
21
  new Singleton(async () => {
22
22
  if (!this.config) return () => false;
23
23
 
@@ -59,7 +59,7 @@ export class NestiaSdkApplication {
59
59
  if (this.config.output)
60
60
  return (
61
61
  file.indexOf(path.join(this.config.output, "functional")) ===
62
- -1 && (await this.checker_.get())(file) === false
62
+ -1 && (await this.bundler_.get())(file) === false
63
63
  );
64
64
 
65
65
  const content: string = await fs.promises.readFile(file, "utf8");
@@ -97,8 +97,8 @@ export class NestiaSdkApplication {
97
97
  await this.generate(
98
98
  "e2e",
99
99
  (config) => config,
100
- () => (config) => async (routes) => {
101
- await SdkGenerator.generate(config)(routes);
100
+ (checker) => (config) => async (routes) => {
101
+ await SdkGenerator.generate(checker)(config)(routes);
102
102
  await E2eGenerator.generate(config)(routes);
103
103
  },
104
104
  );
@@ -118,11 +118,7 @@ export class NestiaSdkApplication {
118
118
  );
119
119
 
120
120
  title("Nestia SDK Generator");
121
- await this.generate(
122
- "sdk",
123
- (config) => config,
124
- () => SdkGenerator.generate,
125
- );
121
+ await this.generate("sdk", (config) => config, SdkGenerator.generate);
126
122
  }
127
123
 
128
124
  public async swagger(): Promise<void> {
@@ -145,11 +145,11 @@ export namespace ControllerAnalyzer {
145
145
  .map((pair) => [pair.first, pair.second.toJSON()]);
146
146
 
147
147
  // PARSE COMMENT TAGS
148
- const tags = signature.getJsDocTags();
148
+ const jsDocTags = signature.getJsDocTags();
149
149
  const security: Record<string, string[]>[] = SecurityAnalyzer.merge(
150
150
  ...controller.security,
151
151
  ...func.security,
152
- ...tags
152
+ ...jsDocTags
153
153
  .filter((tag) => tag.name === "security")
154
154
  .map((tag) =>
155
155
  (tag.text ?? []).map((text) => {
@@ -191,12 +191,12 @@ export namespace ControllerAnalyzer {
191
191
  }:${character + 1}`;
192
192
  })(),
193
193
  description: CommentFactory.description(symbol),
194
- operationId: tags
194
+ operationId: jsDocTags
195
195
  .find(({ name }) => name === "operationId")
196
196
  ?.text!?.[0].text.split(" ")[0]
197
197
  .trim(),
198
- tags,
199
- setHeaders: tags
198
+ jsDocTags: jsDocTags,
199
+ setHeaders: jsDocTags
200
200
  .filter(
201
201
  (t) =>
202
202
  t.text?.length &&
@@ -90,6 +90,8 @@ export namespace ReflectAnalyzer {
90
90
  paths,
91
91
  functions: [],
92
92
  security: _Get_securities(creator),
93
+ swaggerTgas:
94
+ Reflect.getMetadata("swagger/apiUseTags", creator) ?? [],
93
95
  };
94
96
 
95
97
  // PARSE CHILDREN DATA
@@ -228,6 +230,12 @@ export namespace ReflectAnalyzer {
228
230
  )?.value ?? "application/json",
229
231
  security: _Get_securities(proto),
230
232
  exceptions: _Get_exceptions(proto),
233
+ swaggerTags: [
234
+ ...new Set([
235
+ ...controller.swaggerTgas,
236
+ ...(Reflect.getMetadata("swagger/apiUseTags", proto) ?? []),
237
+ ]),
238
+ ],
231
239
  };
232
240
 
233
241
  // VALIDATE PATH ARGUMENTS
@@ -1,14 +1,17 @@
1
1
  import fs from "fs";
2
2
  import NodePath from "path";
3
3
  import { IPointer } from "tstl";
4
+ import ts from "typescript";
4
5
 
5
6
  import { INestiaConfig } from "../INestiaConfig";
6
7
  import { IRoute } from "../structures/IRoute";
7
8
  import { DistributionComposer } from "./internal/DistributionComposer";
9
+ import { SdkDtoGenerator } from "./internal/SdkDtoGenerator";
8
10
  import { SdkFileProgrammer } from "./internal/SdkFileProgrammer";
9
11
 
10
12
  export namespace SdkGenerator {
11
13
  export const generate =
14
+ (checker: ts.TypeChecker) =>
12
15
  (config: INestiaConfig) =>
13
16
  async (routes: IRoute[]): Promise<void> => {
14
17
  console.log("Generating SDK Library");
@@ -55,6 +58,10 @@ export namespace SdkGenerator {
55
58
  );
56
59
  }
57
60
 
61
+ // STRUCTURES
62
+ if (config.clone)
63
+ await SdkDtoGenerator.generate(checker)(config)(routes);
64
+
58
65
  // FUNCTIONAL
59
66
  await SdkFileProgrammer.generate(config)(routes);
60
67
 
@@ -71,7 +71,8 @@ export namespace SwaggerGenerator {
71
71
  > = new Map();
72
72
 
73
73
  for (const route of routeList) {
74
- if (route.tags.find((tag) => tag.name === "internal")) continue;
74
+ if (route.jsDocTags.find((tag) => tag.name === "internal"))
75
+ continue;
75
76
 
76
77
  const path: Record<string, ISwaggerRoute> = MapUtil.take(
77
78
  pathDict,
@@ -297,8 +298,8 @@ export namespace SwaggerGenerator {
297
298
  const body = route.parameters.find(
298
299
  (param) => param.category === "body",
299
300
  );
300
- const getTagTexts = (name: string) =>
301
- route.tags
301
+ const getJsDocTexts = (name: string) =>
302
+ route.jsDocTags
302
303
  .filter(
303
304
  (tag) =>
304
305
  tag.name === name &&
@@ -320,7 +321,7 @@ export namespace SwaggerGenerator {
320
321
  const summary: string | undefined = (() => {
321
322
  if (description === undefined) return undefined;
322
323
 
323
- const [explicit] = getTagTexts("summary");
324
+ const [explicit] = getJsDocTexts("summary");
324
325
  if (explicit?.length) return explicit;
325
326
 
326
327
  const index: number = description.indexOf(".");
@@ -329,13 +330,16 @@ export namespace SwaggerGenerator {
329
330
  const content: string = description.substring(0, index).trim();
330
331
  return content.length ? content : undefined;
331
332
  })();
332
- const deprecated = route.tags.find(
333
+ const deprecated = route.jsDocTags.find(
333
334
  (tag) => tag.name === "deprecated",
334
335
  );
335
336
 
336
337
  return {
337
338
  deprecated: deprecated ? true : undefined,
338
- tags: getTagTexts("tag"),
339
+ tags: [
340
+ ...route.swaggerTags,
341
+ ...new Set([...getJsDocTexts("tag")]),
342
+ ],
339
343
  operationId:
340
344
  route.operationId ??
341
345
  props.config.operationId?.({
@@ -363,7 +367,7 @@ export namespace SwaggerGenerator {
363
367
  .filter((str) => str.length && str[0] !== ":"),
364
368
  route.name,
365
369
  ].join("."),
366
- "x-nestia-jsDocTags": route.tags,
370
+ "x-nestia-jsDocTags": route.jsDocTags,
367
371
  "x-nestia-method": route.method,
368
372
  };
369
373
  };
@@ -3,6 +3,7 @@ import fs from "fs";
3
3
  import { INestiaConfig } from "../../INestiaConfig";
4
4
  import { IRoute } from "../../structures/IRoute";
5
5
  import { ImportDictionary } from "../../utils/ImportDictionary";
6
+ import { SdkDtoGenerator } from "./SdkDtoGenerator";
6
7
  import { SdkImportWizard } from "./SdkImportWizard";
7
8
 
8
9
  export namespace E2eFileProgrammer {
@@ -11,20 +12,21 @@ export namespace E2eFileProgrammer {
11
12
  (props: { api: string; current: string }) =>
12
13
  async (route: IRoute): Promise<void> => {
13
14
  const importer: ImportDictionary = new ImportDictionary();
14
- for (const tuple of route.imports)
15
- for (const instance of tuple[1])
16
- importer.internal({
17
- file: tuple[0],
18
- type: true,
19
- instance,
20
- });
21
-
15
+ if (config.clone !== true)
16
+ for (const tuple of route.imports)
17
+ for (const instance of tuple[1])
18
+ importer.internal({
19
+ file: tuple[0],
20
+ type: true,
21
+ instance,
22
+ });
22
23
  importer.internal({
23
24
  type: false,
24
25
  file: props.api,
25
26
  instance: null,
26
27
  name: "api",
27
28
  });
29
+
28
30
  const body: string = arrow(config)(importer)(route);
29
31
  const content: string = [
30
32
  importer.toScript(props.current),
@@ -57,7 +59,9 @@ export namespace E2eFileProgrammer {
57
59
  " ...(connection.headers ?? {}),",
58
60
  ` ...${SdkImportWizard.typia(
59
61
  importer,
60
- )}.random<${headers.typeName}>(),`,
62
+ )}.random<${getTypeName(config)(importer)(
63
+ headers,
64
+ )}>(),`,
61
65
  " },",
62
66
  "},",
63
67
  ]
@@ -76,10 +80,7 @@ export namespace E2eFileProgrammer {
76
80
  ...(route.output.typeName === "void"
77
81
  ? [` ${output}`]
78
82
  : [
79
- ` const output: ${primitive(config)(importer)(
80
- route.output.typeName,
81
- )} = `,
82
- ` ${output}`,
83
+ ` const output = ${output}`,
83
84
  ` ${SdkImportWizard.typia(
84
85
  importer,
85
86
  )}.assert(output);`,
@@ -95,7 +96,10 @@ export namespace E2eFileProgrammer {
95
96
  (param: IRoute.IParameter): string => {
96
97
  const middle: string = `${SdkImportWizard.typia(
97
98
  importer,
98
- )}.random<${primitive(config)(importer)(param.typeName)}>()`;
99
+ )}.random<${wrap(config)(importer)(
100
+ getTypeName(config)(importer)(param),
101
+ param.category === "body",
102
+ )}>()`;
99
103
  return `${" ".repeat(4 * tab)}${middle},`;
100
104
  };
101
105
 
@@ -105,11 +109,20 @@ export namespace E2eFileProgrammer {
105
109
  const accessor = (route: IRoute): string =>
106
110
  ["api", "functional", ...route.accessors].join(".");
107
111
 
108
- const primitive =
112
+ const wrap =
109
113
  (config: INestiaConfig) =>
110
114
  (importer: ImportDictionary) =>
111
- (name: string): string =>
112
- config.primitive !== false
113
- ? `${SdkImportWizard.Primitive(importer)}<${name}>`
114
- : name;
115
+ (name: string, body: boolean): string =>
116
+ config.primitive === false
117
+ ? name
118
+ : `${(body
119
+ ? SdkImportWizard.Primitive
120
+ : SdkImportWizard.Resolved)(importer)}<${name}>`;
115
121
  }
122
+ const getTypeName =
123
+ (config: INestiaConfig) =>
124
+ (importer: ImportDictionary) =>
125
+ (p: IRoute.IParameter | IRoute.IOutput) =>
126
+ p.metadata
127
+ ? SdkDtoGenerator.decode(config)(importer)(p.metadata)
128
+ : p.typeName;