@nestia/sdk 2.0.0-dev.20230831-5 → 2.0.0-dev.20230901-2

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 (60) hide show
  1. package/assets/bundle/api/utils/NestiaSimulator.ts +1 -22
  2. package/lib/NestiaSdkApplication.js +1 -1
  3. package/lib/NestiaSdkApplication.js.map +1 -1
  4. package/lib/analyses/ControllerAnalyzer.js +11 -5
  5. package/lib/analyses/ControllerAnalyzer.js.map +1 -1
  6. package/lib/analyses/ExceptionAnalyzer.js +7 -2
  7. package/lib/analyses/ExceptionAnalyzer.js.map +1 -1
  8. package/lib/analyses/ImportAnalyzer.js +1 -1
  9. package/lib/analyses/ImportAnalyzer.js.map +1 -1
  10. package/lib/analyses/ReflectAnalyzer.js +0 -10
  11. package/lib/analyses/ReflectAnalyzer.js.map +1 -1
  12. package/lib/executable/internal/NestiaSdkConfig.js +37 -46
  13. package/lib/executable/internal/NestiaSdkConfig.js.map +1 -1
  14. package/lib/generates/SwaggerGenerator.d.ts +10 -0
  15. package/lib/generates/SwaggerGenerator.js +37 -497
  16. package/lib/generates/SwaggerGenerator.js.map +1 -1
  17. package/lib/generates/internal/E2eFileProgrammer.js +5 -44
  18. package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
  19. package/lib/generates/internal/SdkFunctionProgrammer.js +13 -11
  20. package/lib/generates/internal/SdkFunctionProgrammer.js.map +1 -1
  21. package/lib/generates/internal/SdkSimulationProgrammer.js +4 -4
  22. package/lib/generates/internal/SdkSimulationProgrammer.js.map +1 -1
  23. package/lib/generates/internal/SwaggerSchemaGenerator.d.ts +19 -0
  24. package/lib/generates/internal/SwaggerSchemaGenerator.js +301 -0
  25. package/lib/generates/internal/SwaggerSchemaGenerator.js.map +1 -0
  26. package/lib/generates/internal/SwaggerSchemaValidator.d.ts +7 -0
  27. package/lib/generates/internal/SwaggerSchemaValidator.js +196 -0
  28. package/lib/generates/internal/SwaggerSchemaValidator.js.map +1 -0
  29. package/lib/structures/IController.d.ts +0 -4
  30. package/lib/structures/IRoute.d.ts +6 -3
  31. package/lib/structures/ISwaggerError.d.ts +6 -0
  32. package/lib/structures/ISwaggerError.js +3 -0
  33. package/lib/structures/ISwaggerError.js.map +1 -0
  34. package/lib/structures/ISwaggerRoute.d.ts +2 -1
  35. package/lib/structures/ISwaggerSchemaTuple.d.ts +6 -0
  36. package/lib/structures/ISwaggerSchemaTuple.js +3 -0
  37. package/lib/structures/ISwaggerSchemaTuple.js.map +1 -0
  38. package/lib/structures/ITypeTuple.d.ts +1 -1
  39. package/lib/utils/ImportDictionary.d.ts +1 -2
  40. package/lib/utils/ImportDictionary.js +28 -24
  41. package/lib/utils/ImportDictionary.js.map +1 -1
  42. package/package.json +5 -5
  43. package/src/NestiaSdkApplication.ts +1 -1
  44. package/src/analyses/ControllerAnalyzer.ts +13 -4
  45. package/src/analyses/ExceptionAnalyzer.ts +3 -2
  46. package/src/analyses/ImportAnalyzer.ts +1 -1
  47. package/src/analyses/ReflectAnalyzer.ts +0 -10
  48. package/src/generates/SwaggerGenerator.ts +102 -478
  49. package/src/generates/internal/E2eFileProgrammer.ts +7 -49
  50. package/src/generates/internal/SdkFunctionProgrammer.ts +14 -12
  51. package/src/generates/internal/SdkSimulationProgrammer.ts +5 -5
  52. package/src/generates/internal/SwaggerSchemaGenerator.ts +433 -0
  53. package/src/generates/internal/SwaggerSchemaValidator.ts +216 -0
  54. package/src/structures/IController.ts +0 -4
  55. package/src/structures/IRoute.ts +6 -3
  56. package/src/structures/ISwaggerError.ts +8 -0
  57. package/src/structures/ISwaggerRoute.ts +2 -1
  58. package/src/structures/ISwaggerSchemaTuple.ts +7 -0
  59. package/src/structures/ITypeTuple.ts +1 -1
  60. package/src/utils/ImportDictionary.ts +29 -26
@@ -10,16 +10,15 @@ const HashSet_1 = require("tstl/container/HashSet");
10
10
  const Pair_1 = require("tstl/utility/Pair");
11
11
  class ImportDictionary {
12
12
  constructor() {
13
- this.externals_ = new HashMap_1.HashMap();
14
- this.internals_ = new HashMap_1.HashMap();
13
+ this.components_ = new HashMap_1.HashMap();
15
14
  }
16
15
  empty() {
17
- return this.internals_.empty() && this.externals_.empty();
16
+ return this.components_.empty();
18
17
  }
19
18
  external(props) {
20
19
  var _a;
21
- const composition = this.externals_.take(new Pair_1.Pair(props.library, props.type), () => ({
22
- location: props.library,
20
+ const composition = this.components_.take(new Pair_1.Pair(props.library, props.type), () => ({
21
+ location: `node_modules/${props.library}`,
23
22
  elements: new HashSet_1.HashSet(),
24
23
  default: false,
25
24
  type: props.type,
@@ -39,7 +38,7 @@ class ImportDictionary {
39
38
  return props.file.substring(0, props.file.length - 3);
40
39
  return props.file;
41
40
  })();
42
- const composition = this.internals_.take(new Pair_1.Pair(file, props.type), () => ({
41
+ const composition = this.components_.take(new Pair_1.Pair(file, props.type), () => ({
43
42
  location: file,
44
43
  elements: new HashSet_1.HashSet(),
45
44
  default: false,
@@ -55,11 +54,25 @@ class ImportDictionary {
55
54
  return (_a = props.instance) !== null && _a !== void 0 ? _a : file;
56
55
  }
57
56
  toScript(outDir) {
58
- const statements = [];
59
- const enroll = (locator) => (dict) => {
57
+ const external = [];
58
+ const internal = [];
59
+ const locator = (str) => {
60
+ const location = path_1.default
61
+ .relative(outDir, str)
62
+ .split("\\")
63
+ .join("/");
64
+ const index = location.lastIndexOf(NODE_MODULES);
65
+ return index === -1
66
+ ? location.startsWith("..")
67
+ ? location
68
+ : `./${location}`
69
+ : location.substring(index + NODE_MODULES.length);
70
+ };
71
+ const enroll = (filter) => (container) => {
60
72
  var _a;
61
- const compositions = dict
73
+ const compositions = this.components_
62
74
  .toJSON()
75
+ .filter((c) => filter(c.second.location))
63
76
  .map((e) => (Object.assign(Object.assign({}, e.second), { location: locator(e.second.location) })))
64
77
  .sort((a, b) => a.location.localeCompare(b.location));
65
78
  for (const c of compositions) {
@@ -71,23 +84,14 @@ class ImportDictionary {
71
84
  .toJSON()
72
85
  .sort((a, b) => a.localeCompare(b))
73
86
  .join(", ")} }`);
74
- statements.push(`import ${c.type ? "type " : ""}${brackets.join(", ")} from "${c.location}";`);
87
+ container.push(`import ${c.type ? "type " : ""}${brackets.join(", ")} from "${c.location}";`);
75
88
  }
76
89
  };
77
- enroll((str) => str)(this.externals_);
78
- if (!this.externals_.empty() && !this.internals_.empty())
79
- statements.push("");
80
- enroll((str) => {
81
- const location = path_1.default
82
- .relative(outDir, str)
83
- .split("\\")
84
- .join("/");
85
- const index = location.lastIndexOf(NODE_MODULES);
86
- return index === -1
87
- ? `./${location}`
88
- : location.substring(index + NODE_MODULES.length);
89
- })(this.internals_);
90
- return statements.join("\n");
90
+ enroll((str) => str.indexOf(NODE_MODULES) !== -1)(external);
91
+ enroll((str) => str.indexOf(NODE_MODULES) === -1)(internal);
92
+ if (external.length && internal.length)
93
+ external.push("");
94
+ return [...external, ...internal].join("\n");
91
95
  }
92
96
  }
93
97
  exports.ImportDictionary = ImportDictionary;
@@ -1 +1 @@
1
- {"version":3,"file":"ImportDictionary.js","sourceRoot":"","sources":["../../src/utils/ImportDictionary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImportDictionary.js","sourceRoot":"","sources":["../../src/utils/ImportDictionary.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestia/sdk",
3
- "version": "2.0.0-dev.20230831-5",
3
+ "version": "2.0.0-dev.20230901-2",
4
4
  "description": "Nestia SDK and Swagger generator",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -35,7 +35,7 @@
35
35
  },
36
36
  "homepage": "https://nestia.io",
37
37
  "dependencies": {
38
- "@nestia/fetcher": "^2.0.0-dev.20230831-5",
38
+ "@nestia/fetcher": "^2.0.0-dev.20230901-2",
39
39
  "cli": "^1.0.1",
40
40
  "glob": "^7.2.0",
41
41
  "path-to-regexp": "^6.2.1",
@@ -44,16 +44,16 @@
44
44
  "tsconfck": "^2.0.1",
45
45
  "tsconfig-paths": "^4.1.1",
46
46
  "tstl": "^2.5.13",
47
- "typia": "^4.3.3"
47
+ "typia": "^5.0.1"
48
48
  },
49
49
  "peerDependencies": {
50
- "@nestia/fetcher": ">=2.0.0-dev.20230831-5",
50
+ "@nestia/fetcher": ">=2.0.0-dev.20230901-2",
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": ">= 4.3.3 <5.0.0"
56
+ "typia": ">=5.0.1 <6.0.0"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@nestjs/common": ">= 7.0.1",
@@ -287,7 +287,7 @@ const title = (str: string): void => {
287
287
  };
288
288
 
289
289
  const is_implicit_return_typed = (route: IRoute): boolean => {
290
- const name: string = route.output.name;
290
+ const name: string = route.output.typeName;
291
291
  if (name === "void") return false;
292
292
  else if (name.indexOf("readonly [") !== -1) return true;
293
293
 
@@ -133,8 +133,8 @@ export namespace ControllerAnalyzer {
133
133
  );
134
134
  else if (
135
135
  func.method === "HEAD" &&
136
- outputType.name !== "void" &&
137
- outputType.name !== "undefined"
136
+ outputType.typeName !== "void" &&
137
+ outputType.typeName !== "undefined"
138
138
  )
139
139
  throw new Error(
140
140
  `Error on ControllerAnalyzer.analyze(): HEAD method must return void type - ${controller.name}.${func.name}().`,
@@ -170,7 +170,11 @@ export namespace ControllerAnalyzer {
170
170
  const common: Omit<IRoute, "path" | "accessors"> = {
171
171
  ...func,
172
172
  parameters,
173
- output: { ...outputType, contentType: func.contentType },
173
+ output: {
174
+ type: outputType.type,
175
+ typeName: outputType.typeName,
176
+ contentType: func.contentType,
177
+ },
174
178
  imports,
175
179
  status: func.status,
176
180
 
@@ -185,6 +189,10 @@ export namespace ControllerAnalyzer {
185
189
  }:${character + 1}`;
186
190
  })(),
187
191
  description: CommentFactory.description(symbol),
192
+ operationId: tags
193
+ .find(({ name }) => name === "operation")
194
+ ?.text!?.[0].text.split(" ")[0]
195
+ .trim(),
188
196
  tags,
189
197
  setHeaders: tags
190
198
  .filter(
@@ -297,7 +305,8 @@ export namespace ControllerAnalyzer {
297
305
  ...param,
298
306
  name,
299
307
  optional,
300
- type: tuple,
308
+ type: tuple.type,
309
+ typeName: tuple.typeName,
301
310
  };
302
311
  }
303
312
  }
@@ -80,11 +80,12 @@ export namespace ExceptionAnalyzer {
80
80
  const matched: IController.IException[] = Object.entries(
81
81
  func.exceptions,
82
82
  )
83
- .filter(([_key, value]) => value.type === tuple.name)
83
+ .filter(([_key, value]) => value.type === tuple.typeName)
84
84
  .map(([_key, value]) => value);
85
85
  for (const m of matched)
86
86
  output[m.status] = {
87
- ...tuple,
87
+ type: tuple.type,
88
+ typeName: tuple.typeName,
88
89
  contentType: "application/json",
89
90
  description: m.description,
90
91
  };
@@ -25,7 +25,7 @@ export namespace ImportAnalyzer {
25
25
  try {
26
26
  return {
27
27
  type,
28
- name: explore_escaped_name(
28
+ typeName: explore_escaped_name(
29
29
  checker,
30
30
  genericDict,
31
31
  importDict,
@@ -328,16 +328,6 @@ export namespace ReflectAnalyzer {
328
328
  name: param.name,
329
329
  index: param.index,
330
330
  field: param.data,
331
- meta: (() => {
332
- const type = (param.factory as any).type;
333
- const nullable = (param.factory as any).nullable;
334
- if (type !== undefined && nullable !== undefined)
335
- return {
336
- type,
337
- nullable,
338
- };
339
- return undefined;
340
- })(),
341
331
  };
342
332
  else if (param.factory.name === "TypedQuery")
343
333
  return {