@nestia/sdk 2.5.8-dev.20240216 → 2.5.9-dev.20240223

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.
package/README.md CHANGED
@@ -6,17 +6,19 @@
6
6
  [![Downloads](https://img.shields.io/npm/dm/@nestia/core.svg)](https://www.npmjs.com/package/@nestia/core)
7
7
  [![Build Status](https://github.com/samchon/nestia/workflows/build/badge.svg)](https://github.com/samchon/nestia/actions?query=workflow%3Abuild)
8
8
  [![Guide Documents](https://img.shields.io/badge/guide-documents-forestgreen)](https://nestia.io/docs/)
9
+ [![Discord Badge](https://img.shields.io/badge/discord-NestJS/Nestia-d91965?style=flat&labelColor=5866f2&logo=discord&logoColor=white&link=https://discord.com/channels/520622812742811698/1197293125434093701)](https://discord.com/channels/520622812742811698/1181877086797967420)
9
10
 
10
11
  Nestia is a set of helper libraries for NestJS, supporting below features:
11
12
 
12
- - `@nestia/core`: super-fast decorators
13
+ - `@nestia/core`: Super-fast decorators
13
14
  - `@nestia/sdk`:
14
15
  - Swagger generator evolved than ever
15
16
  - SDK library generator for clients
16
17
  - Mockup Simulator for client applications
17
18
  - Automatic E2E test functions generator
18
- - `@nestia/migrate`: migration from Swagger to NestJS
19
- - `nestia`: just CLI (command line interface) tool
19
+ - `@nestia/migrate`: Migration from Swagger to NestJS
20
+ - `@nestia/editor`: Online TypeScript Swagger Editor
21
+ - `nestia`: Just CLI (command line interface) tool
20
22
 
21
23
  > **Note**
22
24
  >
@@ -25,8 +27,8 @@ Nestia is a set of helper libraries for NestJS, supporting below features:
25
27
  > - Runtime validator is **20,000x faster** than `class-validator`
26
28
  > - JSON serialization is **200x faster** than `class-transformer`
27
29
  > - Software Development Kit
28
- > - SDK is a collection of `fetch` functions with type definitions like [tRPC](https://trpc.io/)
29
- > - Mockup simulator means embedded backend simulator in SDK
30
+ > - Collection of typed `fetch` functions with DTO structures like [tRPC](https://trpc.io/)
31
+ > - Mockup simulator means embedded backend simulator in the SDK
30
32
  > - similar with [msw](https://mswjs.io/), but fully automated
31
33
 
32
34
  ![nestia-sdk-demo](https://user-images.githubusercontent.com/13158709/215004990-368c589d-7101-404e-b81b-fbc936382f05.gif)
@@ -59,7 +61,7 @@ Check out the document in the [website](https://nestia.io/docs/):
59
61
  - [TypedRoute](https://nestia.io/docs/core/TypedRoute/)
60
62
  - [TypedBody](https://nestia.io/docs/core/TypedBody/)
61
63
  - [TypedParam](https://nestia.io/docs/core/TypedParam/)
62
- - [TypedQuery](https://nestia.io/docs/core/TypedRoute/)
64
+ - [TypedQuery](https://nestia.io/docs/core/TypedQuery/)
63
65
  - [TypedHeaders](https://nestia.io/docs/core/TypedHeaders/)
64
66
  - [TypedException](https://nestia.io/docs/core/TypedException/)
65
67
  - Generators
@@ -68,6 +70,7 @@ Check out the document in the [website](https://nestia.io/docs/):
68
70
  - [E2E Functions](https://nestia.io/docs/sdk/e2e/)
69
71
  - [Mockup Simulator](https://nestia.io/docs/sdk/simulator/)
70
72
  - [Swagger to NestJS](https://nestia.io/docs/migrate/)
73
+ - [TypeScript Swagger Editor](https://nestia.io/docs/editor/)
71
74
 
72
75
  ### 🔗 Appendix
73
76
  - [⇲ Benchmark Result](https://github.com/samchon/nestia/tree/master/benchmark/results/11th%20Gen%20Intel(R)%20Core(TM)%20i5-1135G7%20%40%202.40GHz)
@@ -2,93 +2,96 @@ import { INestiaConfig } from "@nestia/sdk";
2
2
  import { Module } from "@nestjs/common";
3
3
  import { NestFactory } from "@nestjs/core";
4
4
 
5
+ // import { FastifyAdaptor } from "@nestjs/platform-fastify";
6
+
5
7
  export const NESTIA_CONFIG: INestiaConfig = {
6
- /**
7
- * Accessor of controller classes.
8
- *
9
- * You can specify it within two ways.
10
- *
11
- * - Asynchronous function returning `INestApplication` instance
12
- * - Specify the path or directory of controller class files
13
- */
14
- // input: "src/controllers",
15
- // input: "src/**/*.controller.ts",
16
- input: async () => {
17
- // change this to your own module
18
- @Module({
19
- controllers: [],
20
- })
21
- class MyModule {}
22
- const app = await NestFactory.create(MyModule);
23
- // app.setGlobalPrefix("api");
24
- // app.enableVersioning({
25
- // type: VersioningType.URI,
26
- // prefix: "v",
27
- // })
28
- return app;
29
- },
8
+ /**
9
+ * Accessor of controller classes.
10
+ *
11
+ * You can specify it within two ways.
12
+ *
13
+ * - Asynchronous function returning `INestApplication` instance
14
+ * - Specify the path or directory of controller class files
15
+ */
16
+ // input: "src/controllers",
17
+ // input: "src/**/*.controller.ts",
18
+ input: async () => {
19
+ // change this to your own module
20
+ @Module({
21
+ controllers: [],
22
+ })
23
+ class MyModule {}
24
+ const app = await NestFactory.create(MyModule);
25
+ // const app = await NestFactory.create(YourModule, new FastifyAdaptor());
26
+ // app.setGlobalPrefix("api");
27
+ // app.enableVersioning({
28
+ // type: VersioningType.URI,
29
+ // prefix: "v",
30
+ // })
31
+ return app;
32
+ },
30
33
 
34
+ /**
35
+ * Building `swagger.json` is also possible.
36
+ *
37
+ * If not specified, you can't build the `swagger.json`.
38
+ */
39
+ swagger: {
31
40
  /**
32
- * Building `swagger.json` is also possible.
41
+ * Output path of the `swagger.json`.
33
42
  *
34
- * If not specified, you can't build the `swagger.json`.
43
+ * If you've configured only directory, the file name would be the `swagger.json`.
44
+ * Otherwise you've configured the full path with file name and extension, the
45
+ * `swagger.json` file would be renamed to it.
35
46
  */
36
- swagger: {
37
- /**
38
- * Output path of the `swagger.json`.
39
- *
40
- * If you've configured only directory, the file name would be the `swagger.json`.
41
- * Otherwise you've configured the full path with file name and extension, the
42
- * `swagger.json` file would be renamed to it.
43
- */
44
- output: "dist/swagger.json",
45
- },
47
+ output: "dist/swagger.json",
48
+ },
46
49
 
47
- /**
48
- * Output directory that SDK would be placed in.
49
- *
50
- * If not configured, you can't build the SDK library.
51
- */
52
- output: "src/api",
50
+ /**
51
+ * Output directory that SDK would be placed in.
52
+ *
53
+ * If not configured, you can't build the SDK library.
54
+ */
55
+ output: "src/api",
53
56
 
54
- /**
55
- * Target directory that SDK distribution files would be placed in.
56
- *
57
- * If you configure this property and runs `npx nestia sdk` command,
58
- * distribution environments for the SDK library would be generated.
59
- *
60
- * After the SDK library generation, move to the `distribute` directory,
61
- * and runs `npm publish` command, then you can share SDK library with
62
- * other client (frontend) developers.
63
- */
64
- // distribute: "packages/api",
57
+ /**
58
+ * Target directory that SDK distribution files would be placed in.
59
+ *
60
+ * If you configure this property and runs `npx nestia sdk` command,
61
+ * distribution environments for the SDK library would be generated.
62
+ *
63
+ * After the SDK library generation, move to the `distribute` directory,
64
+ * and runs `npm publish` command, then you can share SDK library with
65
+ * other client (frontend) developers.
66
+ */
67
+ // distribute: "packages/api",
65
68
 
66
- /**
67
- * Whether to use propagation mode or not.
68
- *
69
- * If being configured, interaction functions of the SDK library would
70
- * perform the propagation mode. The propagation mode means that never
71
- * throwing exception even when status code is not 200 (or 201), but just
72
- * returning the {@link IPropagation} typed instance, which can specify its body
73
- * type through discriminated union determined by status code.
74
- *
75
- * @default false
76
- */
77
- // propagate: true,
69
+ /**
70
+ * Whether to use propagation mode or not.
71
+ *
72
+ * If being configured, interaction functions of the SDK library would
73
+ * perform the propagation mode. The propagation mode means that never
74
+ * throwing exception even when status code is not 200 (or 201), but just
75
+ * returning the {@link IPropagation} typed instance, which can specify its body
76
+ * type through discriminated union determined by status code.
77
+ *
78
+ * @default false
79
+ */
80
+ // propagate: true,
78
81
 
79
- /**
80
- * Allow simulation mode.
81
- *
82
- * If you configure this property to be `true`, the SDK library would be contain
83
- * simulation mode. In the simulation mode, the SDK library would not communicate
84
- * with the real backend server, but just returns random mock-up data
85
- * with requestion data validation.
86
- *
87
- * For reference, random mock-up data would be generated by `typia.random<T>()`
88
- * function.
89
- *
90
- * @default false
91
- */
92
- // simulate: true,
82
+ /**
83
+ * Allow simulation mode.
84
+ *
85
+ * If you configure this property to be `true`, the SDK library would be contain
86
+ * simulation mode. In the simulation mode, the SDK library would not communicate
87
+ * with the real backend server, but just returns random mock-up data
88
+ * with requestion data validation.
89
+ *
90
+ * For reference, random mock-up data would be generated by `typia.random<T>()`
91
+ * function.
92
+ *
93
+ * @default false
94
+ */
95
+ // simulate: true,
93
96
  };
94
97
  export default NESTIA_CONFIG;
@@ -135,7 +135,7 @@ var ControllerAnalyzer;
135
135
  })
136
136
  .flat());
137
137
  // CONSTRUCT COMMON DATA
138
- const common = Object.assign(Object.assign({}, func), { parameters: parameters.filter((p) => p !== null), output: {
138
+ const common = Object.assign(Object.assign({}, func), { controller: controller.target, parameters: parameters.filter((p) => p !== null), output: {
139
139
  type: outputType.type,
140
140
  typeName: outputType.typeName,
141
141
  contentType: func.contentType,
@@ -1 +1 @@
1
- {"version":3,"file":"ControllerAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/ControllerAnalyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ControllerAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/ControllerAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -87,6 +87,7 @@ var ReflectAnalyzer;
87
87
  //----
88
88
  // BASIC INFO
89
89
  const meta = {
90
+ target: creator,
90
91
  file,
91
92
  name,
92
93
  functions: [],
@@ -1 +1 @@
1
- {"version":3,"file":"ReflectAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/ReflectAnalyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReflectAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/ReflectAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -87,6 +87,35 @@ var SwaggerGenerator;
87
87
  e.messages.map((m) => ` - ${m}`).join("\n"), "\n\n");
88
88
  throw new TypeError("Invalid type detected");
89
89
  }
90
+ // SWAGGER CUSTOMIZER
91
+ const routeGetter = new Singleton_1.Singleton(() => (accessor) => {
92
+ var _a;
93
+ const method = accessor.method.toLowerCase();
94
+ const path = "/" +
95
+ accessor.path
96
+ .split("/")
97
+ .filter((str) => !!str.length)
98
+ .map((str) => str.startsWith(":") ? `{${str.substring(1)}}` : str)
99
+ .join("/");
100
+ console.log({ path, method });
101
+ return (_a = swagger.paths[path]) === null || _a === void 0 ? void 0 : _a[method];
102
+ });
103
+ for (const route of routeList) {
104
+ if (false ===
105
+ Reflect.hasMetadata("nestia/SwaggerCustomizer", route.controller.prototype, route.symbol.function))
106
+ continue;
107
+ const path = get_path(route.path, route.parameters);
108
+ const method = route.method.toLowerCase();
109
+ const target = swagger.paths[path][method];
110
+ const closure = Reflect.getMetadata("nestia/SwaggerCustomizer", route.controller.prototype, route.symbol.function);
111
+ closure({
112
+ route: target,
113
+ method,
114
+ path,
115
+ swagger,
116
+ get: routeGetter.get(),
117
+ });
118
+ }
90
119
  // DO GENERATE
91
120
  yield fs_1.default.promises.writeFile(location, !config.beautify
92
121
  ? JSON.stringify(swagger)
@@ -1 +1 @@
1
- {"version":3,"file":"SwaggerGenerator.js","sourceRoot":"","sources":["../../src/generates/SwaggerGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,qDAAkD;AAElD,kDAAiE;AACjE,+EAA4E;AAC5E,oGAAiG;AAWjG,0DAAuD;AACvD,8CAA2C;AAC3C,8EAA2E;AAE3E,IAAiB,gBAAgB,CAkWhC;AAlWD,WAAiB,gBAAgB;IAUlB,yBAAQ,GACnB,CAAC,OAAuB,EAAE,EAAE,CAC5B,CAAC,MAAoC,EAAE,EAAE,CACzC,CAAO,SAAmB,EAAiB,EAAE;;QAC3C,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAE5C,oBAAoB;QACpB,iBAAiB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;QAErC,iBAAiB;QACjB,MAAM,MAAM,GAAoB,cAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAW,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,KAAK;YACpC,IAAI,CAAC;gBACH,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACrC,CAAC;YAAC,WAAM,CAAC,CAAA,CAAC;QACZ,IAAI,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,KAAK;YACpC,MAAM,IAAI,KAAK,CACb,4EAA4E,SAAS,EAAE,CACxF,CAAC;QAEJ,MAAM,QAAQ,GAAW,CAAC,CAAC,MAAM,CAAC,GAAG;YACnC,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YAC7B,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC;QAE3D,MAAM,UAAU,GAAuB,IAAI,uCAAkB,CAAC;YAC5D,OAAO,EAAE,uCAAkB,CAAC,OAAO;SACpC,CAAC,CAAC;QAEH,8BAA8B;QAC9B,MAAM,MAAM,GAAoB,EAAE,CAAC;QACnC,MAAM,WAAW,GAA8B,EAAE,CAAC;QAClD,MAAM,cAAc,GAAgC,EAAE,CAAC;QACvD,MAAM,OAAO,GAAa,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,QAAQ,GAA+C,IAAI,GAAG,EAAE,CAAC;QAEvE,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC9B,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC;gBAAE,SAAS;YAErE,MAAM,IAAI,GAAkC,iBAAO,CAAC,IAAI,CACtD,QAAQ,EACR,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,EACtC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CACX,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,GAAG,cAAc,CAAC;gBAChD,MAAM;gBACN,OAAO;gBACP,UAAU;gBACV,WAAW;gBACX,cAAc;gBACd,MAAM;aACP,CAAC,CAAC,KAAK,CAAC,CAAC;QACZ,CAAC;QACD,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,QAAQ;YAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QAEpE,oBAAoB;QACpB,MAAM,WAAW,GAAqB,qDAAyB,CAAC,KAAK,CAAC;YACpE,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,UAAU,mCACb,CAAC,MAAA,OAAO,CAAC,UAAU,mCAAI,EAAE,CAAC,GAC1B,CAAC,MAAA,WAAW,CAAC,UAAU,mCAAI,EAAE,CAAC,CAClC,CAAC;QACF,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE;YACxC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAE,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,cAAc;YAC5B,MAAM,CAAC,MAAM,CACX,CAAC,CAAC,MAAM,EACR,MACE,MAAA,WAAW,CAAC,UAAU,CAAC,OAAO,0CAC5B,CAAC,CAAC,MAAM,CAEX,0CAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAC1B,CAAC;QAEJ,qBAAqB;QACrB,IAAI,MAAM,CAAC,QAAQ;YAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE7D,gBAAgB;QAChB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,KAAK,MAAM,CAAC,IAAI,MAAM;gBACpB,OAAO,CAAC,KAAK,CACX,GAAG,cAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,IAC/C,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KACjB,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,IACzB,CAAC,CAAC,IACJ,sDAAsD;oBACpD,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAC9C,MAAM,CACP,CAAC;YACJ,MAAM,IAAI,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAC/C,CAAC;QAED,cAAc;QACd,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CACzB,QAAQ,EACR,CAAC,MAAM,CAAC,QAAQ;YACd,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,SAAS,CACZ,OAAO,EACP,IAAI,EACJ,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC1D,EACL,MAAM,CACP,CAAC;IACJ,CAAC,CAAA,CAAC;IAEJ,MAAM,iBAAiB,GACrB,CAAC,MAAoC,EAAE,EAAE,CACzC,CAAC,SAAmB,EAAgB,EAAE;;QACpC,MAAM,WAAW,GAGb,IAAI,GAAG,EAAE,CAAC;QACd,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAA,MAAM,CAAC,QAAQ,mCAAI,EAAE,CAAC;YAC9D,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE;gBACnB,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC;gBAC7B,MAAM,EACJ,KAAK,CAAC,IAAI,KAAK,QAAQ;oBACrB,CAAC,CAAC,IAAI,GAAG,CAAC;wBACN,GAAG,MAAM,CAAC,IAAI,CAAC,MAAA,MAAA,KAAK,CAAC,KAAK,CAAC,iBAAiB,0CAAE,MAAM,mCAAI,EAAE,CAAC;wBAC3D,GAAG,MAAM,CAAC,IAAI,CAAC,MAAA,MAAA,KAAK,CAAC,KAAK,CAAC,QAAQ,0CAAE,MAAM,mCAAI,EAAE,CAAC;wBAClD,GAAG,MAAM,CAAC,IAAI,CAAC,MAAA,MAAA,KAAK,CAAC,KAAK,CAAC,QAAQ,0CAAE,MAAM,mCAAI,EAAE,CAAC;wBAClD,GAAG,MAAM,CAAC,IAAI,CAAC,MAAA,MAAA,KAAK,CAAC,KAAK,CAAC,iBAAiB,0CAAE,MAAM,mCAAI,EAAE,CAAC;qBAC5D,CAAC;oBACJ,CAAC,CAAC,IAAI,GAAG,EAAE;aAChB,CAAC,CAAC;QAEL,MAAM,QAAQ,GACZ,CAAC,QAA+B,EAAE,EAAE,CACpC,CAAC,GAAW,EAAE,MAAgB,EAAE,EAAE;YAChC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,QAAQ,KAAK,SAAS;gBACxB,OAAO,QAAQ,CAAC,2BAA2B,GAAG,oBAAoB,CAAC,CAAC;iBACjE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;iBAChC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;gBACxC,OAAO,QAAQ,CACb,2BAA2B,GAAG,2DAA2D,CAC1F,CAAC;YACJ,KAAK,MAAM,CAAC,IAAI,MAAM;gBACpB,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK;oBAClC,QAAQ,CACN,2BAA2B,GAAG,qCAAqC,CAAC,IAAI,CACzE,CAAC;QACR,CAAC,CAAC;QAEJ,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,SAAS;YAC3B,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,QAAQ;gBACjC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;oBAChD,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,CACf,UAAU,CAAC,IAAI,CACb,OAAO,GAAG,KAAK,KAAK,CAAC,MAAM,QAAQ,KAAK,CAAC,QAAQ,IAAI,CACtD,CACF,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAErB,IAAI,UAAU,CAAC,MAAM;YACnB,MAAM,IAAI,KAAK,CACb,uKAAuK;gBACrK,IAAI;gBACJ,uBAAuB;gBACvB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CACxB,CAAC;IACN,CAAC,CAAC;IAEJ;;kEAE8D;IAC9D,MAAM,UAAU,GAAG,CACjB,MAAoC,EACjB,EAAE;;QACrB,MAAM,IAAI,GAAG,IAAI,qBAAS,CACxB,GAAgD,EAAE;YAChD,MAAM,QAAQ,GAAkB,MAAM,6BAAa,CAAC,IAAI,CACtD,cAAc,CACf,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACjB,IAAI,QAAQ,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAEnC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAW,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACrE,MAAM,IAAI;;;;;;;;2CAAG,eAAK,CAAC,IAAI,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEAahC,OAAO,CAAC,CAAC;gBACZ,OAAO;oBACL,KAAK,EAAE,IAAI,CAAC,IAAI;oBAChB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;wBACnB,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;4BAChC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;4BACxB,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;gCAChC,CAAC,CAAC;oCACE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;oCACvB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;iCACtB;gCACH,CAAC,CAAC,SAAS;wBACf,CAAC,CAAC,SAAS;iBACd,CAAC;YACJ,CAAC;YAAC,WAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAA,CACF,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,MAAA,MAAM,CAAC,OAAO,mCAAI;gBACzB;oBACE,GAAG,EAAE,mCAAmC;oBACxC,WAAW,EAAE,wBAAwB;iBACtC;aACF;YACD,IAAI,kCACC,CAAC,MAAA,MAAM,CAAC,IAAI,mCAAI,EAAE,CAAC,KACtB,OAAO,EAAE,MAAA,MAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,OAAO,mCAAI,MAAA,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,0CAAE,OAAO,mCAAI,OAAO,EACvE,KAAK,EACH,MAAA,MAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,KAAK,mCAClB,MAAA,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,0CAAE,KAAK,mCACzB,mBAAmB,EACrB,WAAW,EACT,MAAA,MAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,WAAW,mCACxB,MAAA,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,0CAAE,WAAW,mCAC/B,yDAAyD,EAC3D,OAAO,EAAE,MAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,OAAO,mCAAI,MAAA,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,0CAAE,OAAO,GAC7D;YACD,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,EAAE;SACf,CAAC;IACJ,CAAC,CAAA,CAAC;IAEF,SAAS,QAAQ,CAAC,IAAY,EAAE,UAA+B;QAC7D,MAAM,QAAQ,GAAwB,UAAU,CAAC,MAAM,CACrD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CACvD,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,QAAQ;YAC1B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,cAAc,GAClB,CAAC,KAAa,EAAE,EAAE,CAClB,CAAC,KAAa,EAAiB,EAAE;;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;QACzE,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE,CACrC,KAAK,CAAC,SAAS;aACZ,MAAM,CACL,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,IAAI,KAAK,IAAI;YACjB,GAAG,CAAC,IAAI;YACR,GAAG,CAAC,IAAI,CAAC,IAAI,CACX,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CACnD,KAAK,SAAS,CAClB;aACA,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAE,CAAC,IAAI,CAAC,CAAC;QAExE,MAAM,WAAW,GAAuB,CAAA,MAAA,KAAK,CAAC,WAAW,0CAAE,MAAM;YAC/D,CAAC,CAAC,KAAK,CAAC,WAAW;YACnB,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,OAAO,GAAuB,CAAC,GAAG,EAAE;YACxC,IAAI,WAAW,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YAEhD,MAAM,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM;gBAAE,OAAO,QAAQ,CAAC;YAEtC,MAAM,KAAK,GAAW,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,KAAK,IAAI,CAAC;gBAAE,OAAO,SAAS,CAAC;YAEjC,MAAM,GAAG,GAAW,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3D,OAAO,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,CAAC,CAAC,EAAE,CAAC;QACL,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CACrC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,CACnC,CAAC;QAEF,uBACE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EACzC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACnE,WAAW,EACT,MAAA,KAAK,CAAC,WAAW,mCACjB,MAAA,MAAA,KAAK,CAAC,MAAM,EAAC,WAAW,mDAAG;gBACzB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK;gBACzB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;gBAC/B,MAAM,EAAE,KAAK,CAAC,MAAe;gBAC7B,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC,EACJ,UAAU,EAAE,KAAK,CAAC,UAAU;iBACzB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC;iBAC5C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,+CAAsB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;iBACrE,IAAI,EAAE,EACT,WAAW,EAAE,IAAI;gBACf,CAAC,CAAC,+CAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;gBACjD,CAAC,CAAC,SAAS,EACb,SAAS,EAAE,+CAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EACxD,OAAO;YACP,WAAW,EACX,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,IACzD,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,KAAK,IAAI;YAClC,CAAC,CAAC;gBACE,oBAAoB,EAAE;oBACpB,GAAG,KAAK,CAAC,IAAI;yBACV,KAAK,CAAC,GAAG,CAAC;yBACV,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;oBAChD,KAAK,CAAC,IAAI;iBACX,CAAC,IAAI,CAAC,GAAG,CAAC;gBACX,oBAAoB,EAAE,KAAK,CAAC,SAAS;gBACrC,iBAAiB,EAAE,KAAK,CAAC,MAAM;aAChC;YACH,CAAC,CAAC,EAAE,CAAC,EACP;IACJ,CAAC,CAAC;IAEJ,SAAS,aAAa,CACpB,QAA4D,EAC5D,OAAiB;QAEjB,OAAO,CAAC,UAAU,CAAC,eAAe,GAAG,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;YACjD,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACpE,CAAC;IAED,SAAS,cAAc,CACrB,KAA6B;;QAE7B,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YACzB,uCACK,KAAK,KACR,EAAE,EAAE,MAAA,KAAK,CAAC,EAAE,mCAAI,QAAQ,EACxB,IAAI,EAAE,MAAA,KAAK,CAAC,IAAI,mCAAI,eAAe,IACnC;QACJ,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,EAlWgB,gBAAgB,gCAAhB,gBAAgB,QAkWhC"}
1
+ {"version":3,"file":"SwaggerGenerator.js","sourceRoot":"","sources":["../../src/generates/SwaggerGenerator.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { VERSION_NEUTRAL, VersionValue } from "@nestjs/common/interfaces";
2
2
  import type { ParamCategory } from "./ParamCategory";
3
3
  export interface IController {
4
+ target: Function;
4
5
  file: string;
5
6
  name: string;
6
7
  prefixes: string[];
@@ -2,6 +2,7 @@ import ts from "typescript";
2
2
  import { Metadata } from "typia/lib/schemas/metadata/Metadata";
3
3
  import { IController } from "./IController";
4
4
  export interface IRoute {
5
+ controller: Function;
5
6
  name: string;
6
7
  method: string;
7
8
  path: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestia/sdk",
3
- "version": "2.5.8-dev.20240216",
3
+ "version": "2.5.9-dev.20240223",
4
4
  "description": "Nestia SDK and Swagger generator",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -32,7 +32,7 @@
32
32
  },
33
33
  "homepage": "https://nestia.io",
34
34
  "dependencies": {
35
- "@nestia/fetcher": "^2.5.8-dev.20240216",
35
+ "@nestia/fetcher": "^2.5.9-dev.20240223",
36
36
  "cli": "^1.0.1",
37
37
  "get-function-location": "^2.0.0",
38
38
  "glob": "^7.2.0",
@@ -45,7 +45,7 @@
45
45
  "typia": "^5.4.5"
46
46
  },
47
47
  "peerDependencies": {
48
- "@nestia/fetcher": ">=2.5.8-dev.20240216",
48
+ "@nestia/fetcher": ">=2.5.9-dev.20240223",
49
49
  "@nestjs/common": ">=7.0.1",
50
50
  "@nestjs/core": ">=7.0.1",
51
51
  "reflect-metadata": ">=0.1.12",
@@ -1,248 +1,248 @@
1
- import type { INestApplication } from "@nestjs/common";
2
-
3
- import type { INormalizedInput } from "./structures/INormalizedInput";
4
- import type { ISwagger } from "./structures/ISwagger";
5
- import type { ISwaggerInfo } from "./structures/ISwaggerInfo";
6
- import type { ISwaggerSecurityScheme } from "./structures/ISwaggerSecurityScheme";
7
-
8
- /**
9
- * Definition for the `nestia.config.ts` file.
10
- *
11
- * @author Jeongho Nam - https://github.com/samchon
12
- */
13
- export interface INestiaConfig {
14
- /**
15
- * Accessor of controller classes.
16
- *
17
- * You can specify target controller classes within two ways.
18
- *
19
- * - Asynchronous function returning `INestApplication` instance
20
- * - Specify the path or directory of controller class files
21
- */
22
- input:
23
- | (() => Promise<INestApplication>)
24
- | INestiaConfig.IInput
25
- | string[]
26
- | string;
27
-
28
- /**
29
- * Building `swagger.json` is also possible.
30
- *
31
- * If not specified, you can't build the `swagger.json`.
32
- */
33
- swagger?: INestiaConfig.ISwaggerConfig;
34
-
35
- /**
36
- * Output directory that SDK would be placed in.
37
- *
38
- * If not configured, you can't build the SDK library.
39
- */
40
- output?: string;
41
-
42
- /**
43
- * Target directory that SDK distribution files would be placed in.
44
- *
45
- * If you configure this property and runs `npx nestia sdk` command,
46
- * distribution environments for the SDK library would be generated.
47
- *
48
- * After the SDK library generation, move to the `distribute` directory,
49
- * and runs `npm publish` command, then you can share SDK library with
50
- * other client (frontend) developers.
51
- *
52
- * Recommend to use `"packages/api"` value.
53
- */
54
- distribute?: string;
55
-
56
- /**
57
- * Allow simulation mode.
58
- *
59
- * If you configure this property to be `true`, the SDK library would be contain
60
- * simulation mode. In the simulation mode, the SDK library would not communicate
61
- * with the real backend server, but just returns random mock-up data
62
- * with requestion data validation.
63
- *
64
- * For reference, random mock-up data would be generated by `typia.random<T>()`
65
- * function.
66
- *
67
- * @default false
68
- */
69
- simulate?: boolean;
70
-
71
- /**
72
- * Target directory that e2e test functions would be placed in.
73
- *
74
- * If you configure this property and runs `npx nestia e2e` command,
75
- * `@nestia/sdk` will analyze your NestJS backend server code, and
76
- * generates e2e test functions for every API endpoints.
77
- *
78
- * If not configured, you can't run `npx nestia e2e` command.
79
- */
80
- e2e?: string;
81
-
82
- /**
83
- * Whether to use propagation mode or not.
84
- *
85
- * If being configured, interaction functions of the SDK library would
86
- * perform the propagation mode. The propagation mode means that never
87
- * throwing exception even when status code is not 200 (or 201), but just
88
- * returning the {@link IPropagation} typed instance, which can specify its body
89
- * type through discriminated union determined by status code.
90
- *
91
- * @default false
92
- */
93
- propagate?: boolean;
94
-
95
- /**
96
- * Whether to clone DTO structures or not.
97
- *
98
- * If being configured, all of DTOs used in the backend server would be cloned
99
- * into the `structures` directory, and the SDK library would be refer to the
100
- * cloned DTOs instead of the original.
101
- *
102
- * @default false
103
- */
104
- clone?: boolean;
105
-
106
- /**
107
- * Whether to wrap DTO by primitive type.
108
- *
109
- * If you don't configure this property as `false`, all of DTOs in the
110
- * SDK library would be automatically wrapped by {@link Primitive} type.
111
- *
112
- * For refenrece, if a DTO type be capsuled by the {@link Primitive} type,
113
- * all of methods in the DTO type would be automatically erased. Also, if
114
- * the DTO has a `toJSON()` method, the DTO type would be automatically
115
- * converted to return type of the `toJSON()` method.
116
- *
117
- * @default true
118
- */
119
- primitive?: boolean;
120
-
121
- /**
122
- * Whether to assert parameter types or not.
123
- *
124
- * If you configure this property to be `true`, all of the function
125
- * parameters of SDK library would be checked through
126
- * [`typia.assert<T>()` function](https://typia.io/docs/validators/assert/).
127
- *
128
- * This option would make your SDK library compilation time a little bit slower,
129
- * but would enahcne the type safety even in the runtime level.
130
- *
131
- * @default false
132
- */
133
- assert?: boolean;
134
-
135
- /**
136
- * Whether to optimize JSON string conversion 10x faster or not.
137
- *
138
- * If you configure this property to be `true`, the SDK library would utilize the
139
- * [`typia.assertStringify<T>() function`](https://github.com/samchon/typia#enhanced-json)
140
- * to boost up JSON serialization speed and ensure type safety.
141
- *
142
- * This option would make your SDK library compilation time a little bit slower,
143
- * but would enhance JSON serialization speed 10x faster. Also, it can ensure type
144
- * safety even in the rumtime level.
145
- *
146
- * @default false
147
- */
148
- json?: boolean;
149
-
150
- /**
151
- * @internal
152
- */
153
- normalized?: INormalizedInput;
154
- }
155
- export namespace INestiaConfig {
156
- /**
157
- * List of files or directories to include or exclude to specifying the NestJS
158
- * controllers.
159
- */
160
- export interface IInput {
161
- /**
162
- * List of files or directories containing the NestJS controller classes.
163
- */
164
- include: string[];
165
-
166
- /**
167
- * List of files or directories to be excluded.
168
- */
169
- exclude?: string[];
170
- }
171
-
172
- /**
173
- * Building `swagger.json` is also possible.
174
- */
175
- export interface ISwaggerConfig {
176
- /**
177
- * Output path of the `swagger.json`.
178
- *
179
- * If you've configured only directory, the file name would be the `swagger.json`.
180
- * Otherwise you've configured the full path with file name and extension, the
181
- * `swagger.json` file would be renamed to it.
182
- */
183
- output: string;
184
-
185
- /**
186
- * Whether to beautify JSON content or not.
187
- *
188
- * If you configure this property to be `true`, the `swagger.json` file would
189
- * be beautified with indentation (2 spaces) and line breaks. If you configure
190
- * numeric value instead, the indentation would be specified by the number.
191
- *
192
- * @default false
193
- */
194
- beautify?: boolean | number;
195
-
196
- /**
197
- * Whether to include additional information or not.
198
- *
199
- * If configured to be `true`, those properties would be added into each
200
- * API endpoinnt.
201
- *
202
- * - `x-nestia-method`
203
- * - `x-nestia-namespace`
204
- * ` `x-nestia-jsDocTags`
205
- *
206
- * @default false
207
- */
208
- additional?: boolean;
209
-
210
- /**
211
- * API information.
212
- *
213
- * If omitted, `package.json` content would be used instead.
214
- */
215
- info?: Partial<ISwaggerInfo>;
216
-
217
- /**
218
- * List of server addresses.
219
- */
220
- servers?: ISwagger.IServer[];
221
-
222
- /**
223
- * Security schemes.
224
- *
225
- * When generating `swagger.json` file through `nestia`, if your controllers or
226
- * theirs methods have a security key which is not enrolled in here property,
227
- * it would be an error.
228
- */
229
- security?: Record<string, ISwaggerSecurityScheme>;
230
-
231
- /**
232
- * Decompose query DTO.
233
- *
234
- * If you configure this property to be `true`, the query DTO would be decomposed
235
- * into individual query parameters per each property.
236
- *
237
- * @default false
238
- */
239
- decompose?: boolean;
240
-
241
- operationId?(props: {
242
- class: string;
243
- function: string;
244
- method: "HEAD" | "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
245
- path: string;
246
- }): string;
247
- }
248
- }
1
+ import type { INestApplication } from "@nestjs/common";
2
+
3
+ import type { INormalizedInput } from "./structures/INormalizedInput";
4
+ import type { ISwagger } from "./structures/ISwagger";
5
+ import type { ISwaggerInfo } from "./structures/ISwaggerInfo";
6
+ import type { ISwaggerSecurityScheme } from "./structures/ISwaggerSecurityScheme";
7
+
8
+ /**
9
+ * Definition for the `nestia.config.ts` file.
10
+ *
11
+ * @author Jeongho Nam - https://github.com/samchon
12
+ */
13
+ export interface INestiaConfig {
14
+ /**
15
+ * Accessor of controller classes.
16
+ *
17
+ * You can specify target controller classes within two ways.
18
+ *
19
+ * - Asynchronous function returning `INestApplication` instance
20
+ * - Specify the path or directory of controller class files
21
+ */
22
+ input:
23
+ | (() => Promise<INestApplication>)
24
+ | INestiaConfig.IInput
25
+ | string[]
26
+ | string;
27
+
28
+ /**
29
+ * Building `swagger.json` is also possible.
30
+ *
31
+ * If not specified, you can't build the `swagger.json`.
32
+ */
33
+ swagger?: INestiaConfig.ISwaggerConfig;
34
+
35
+ /**
36
+ * Output directory that SDK would be placed in.
37
+ *
38
+ * If not configured, you can't build the SDK library.
39
+ */
40
+ output?: string;
41
+
42
+ /**
43
+ * Target directory that SDK distribution files would be placed in.
44
+ *
45
+ * If you configure this property and runs `npx nestia sdk` command,
46
+ * distribution environments for the SDK library would be generated.
47
+ *
48
+ * After the SDK library generation, move to the `distribute` directory,
49
+ * and runs `npm publish` command, then you can share SDK library with
50
+ * other client (frontend) developers.
51
+ *
52
+ * Recommend to use `"packages/api"` value.
53
+ */
54
+ distribute?: string;
55
+
56
+ /**
57
+ * Allow simulation mode.
58
+ *
59
+ * If you configure this property to be `true`, the SDK library would be contain
60
+ * simulation mode. In the simulation mode, the SDK library would not communicate
61
+ * with the real backend server, but just returns random mock-up data
62
+ * with requestion data validation.
63
+ *
64
+ * For reference, random mock-up data would be generated by `typia.random<T>()`
65
+ * function.
66
+ *
67
+ * @default false
68
+ */
69
+ simulate?: boolean;
70
+
71
+ /**
72
+ * Target directory that e2e test functions would be placed in.
73
+ *
74
+ * If you configure this property and runs `npx nestia e2e` command,
75
+ * `@nestia/sdk` will analyze your NestJS backend server code, and
76
+ * generates e2e test functions for every API endpoints.
77
+ *
78
+ * If not configured, you can't run `npx nestia e2e` command.
79
+ */
80
+ e2e?: string;
81
+
82
+ /**
83
+ * Whether to use propagation mode or not.
84
+ *
85
+ * If being configured, interaction functions of the SDK library would
86
+ * perform the propagation mode. The propagation mode means that never
87
+ * throwing exception even when status code is not 200 (or 201), but just
88
+ * returning the {@link IPropagation} typed instance, which can specify its body
89
+ * type through discriminated union determined by status code.
90
+ *
91
+ * @default false
92
+ */
93
+ propagate?: boolean;
94
+
95
+ /**
96
+ * Whether to clone DTO structures or not.
97
+ *
98
+ * If being configured, all of DTOs used in the backend server would be cloned
99
+ * into the `structures` directory, and the SDK library would be refer to the
100
+ * cloned DTOs instead of the original.
101
+ *
102
+ * @default false
103
+ */
104
+ clone?: boolean;
105
+
106
+ /**
107
+ * Whether to wrap DTO by primitive type.
108
+ *
109
+ * If you don't configure this property as `false`, all of DTOs in the
110
+ * SDK library would be automatically wrapped by {@link Primitive} type.
111
+ *
112
+ * For refenrece, if a DTO type be capsuled by the {@link Primitive} type,
113
+ * all of methods in the DTO type would be automatically erased. Also, if
114
+ * the DTO has a `toJSON()` method, the DTO type would be automatically
115
+ * converted to return type of the `toJSON()` method.
116
+ *
117
+ * @default true
118
+ */
119
+ primitive?: boolean;
120
+
121
+ /**
122
+ * Whether to assert parameter types or not.
123
+ *
124
+ * If you configure this property to be `true`, all of the function
125
+ * parameters of SDK library would be checked through
126
+ * [`typia.assert<T>()` function](https://typia.io/docs/validators/assert/).
127
+ *
128
+ * This option would make your SDK library compilation time a little bit slower,
129
+ * but would enahcne the type safety even in the runtime level.
130
+ *
131
+ * @default false
132
+ */
133
+ assert?: boolean;
134
+
135
+ /**
136
+ * Whether to optimize JSON string conversion 10x faster or not.
137
+ *
138
+ * If you configure this property to be `true`, the SDK library would utilize the
139
+ * [`typia.assertStringify<T>() function`](https://github.com/samchon/typia#enhanced-json)
140
+ * to boost up JSON serialization speed and ensure type safety.
141
+ *
142
+ * This option would make your SDK library compilation time a little bit slower,
143
+ * but would enhance JSON serialization speed 10x faster. Also, it can ensure type
144
+ * safety even in the rumtime level.
145
+ *
146
+ * @default false
147
+ */
148
+ json?: boolean;
149
+
150
+ /**
151
+ * @internal
152
+ */
153
+ normalized?: INormalizedInput;
154
+ }
155
+ export namespace INestiaConfig {
156
+ /**
157
+ * List of files or directories to include or exclude to specifying the NestJS
158
+ * controllers.
159
+ */
160
+ export interface IInput {
161
+ /**
162
+ * List of files or directories containing the NestJS controller classes.
163
+ */
164
+ include: string[];
165
+
166
+ /**
167
+ * List of files or directories to be excluded.
168
+ */
169
+ exclude?: string[];
170
+ }
171
+
172
+ /**
173
+ * Building `swagger.json` is also possible.
174
+ */
175
+ export interface ISwaggerConfig {
176
+ /**
177
+ * Output path of the `swagger.json`.
178
+ *
179
+ * If you've configured only directory, the file name would be the `swagger.json`.
180
+ * Otherwise you've configured the full path with file name and extension, the
181
+ * `swagger.json` file would be renamed to it.
182
+ */
183
+ output: string;
184
+
185
+ /**
186
+ * Whether to beautify JSON content or not.
187
+ *
188
+ * If you configure this property to be `true`, the `swagger.json` file would
189
+ * be beautified with indentation (2 spaces) and line breaks. If you configure
190
+ * numeric value instead, the indentation would be specified by the number.
191
+ *
192
+ * @default false
193
+ */
194
+ beautify?: boolean | number;
195
+
196
+ /**
197
+ * Whether to include additional information or not.
198
+ *
199
+ * If configured to be `true`, those properties would be added into each
200
+ * API endpoinnt.
201
+ *
202
+ * - `x-nestia-method`
203
+ * - `x-nestia-namespace`
204
+ * ` `x-nestia-jsDocTags`
205
+ *
206
+ * @default false
207
+ */
208
+ additional?: boolean;
209
+
210
+ /**
211
+ * API information.
212
+ *
213
+ * If omitted, `package.json` content would be used instead.
214
+ */
215
+ info?: Partial<ISwaggerInfo>;
216
+
217
+ /**
218
+ * List of server addresses.
219
+ */
220
+ servers?: ISwagger.IServer[];
221
+
222
+ /**
223
+ * Security schemes.
224
+ *
225
+ * When generating `swagger.json` file through `nestia`, if your controllers or
226
+ * theirs methods have a security key which is not enrolled in here property,
227
+ * it would be an error.
228
+ */
229
+ security?: Record<string, ISwaggerSecurityScheme>;
230
+
231
+ /**
232
+ * Decompose query DTO.
233
+ *
234
+ * If you configure this property to be `true`, the query DTO would be decomposed
235
+ * into individual query parameters per each property.
236
+ *
237
+ * @default false
238
+ */
239
+ decompose?: boolean;
240
+
241
+ operationId?(props: {
242
+ class: string;
243
+ function: string;
244
+ method: "HEAD" | "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
245
+ path: string;
246
+ }): string;
247
+ }
248
+ }
@@ -194,6 +194,7 @@ export namespace ControllerAnalyzer {
194
194
  // CONSTRUCT COMMON DATA
195
195
  const common: Omit<IRoute, "path" | "accessors"> = {
196
196
  ...func,
197
+ controller: controller.target,
197
198
  parameters: parameters.filter((p) => p !== null) as IRoute.IParameter[],
198
199
  output: {
199
200
  type: outputType.type,
@@ -94,6 +94,7 @@ export namespace ReflectAnalyzer {
94
94
  //----
95
95
  // BASIC INFO
96
96
  const meta: IController = {
97
+ target: creator,
97
98
  file,
98
99
  name,
99
100
  functions: [],
@@ -124,6 +124,54 @@ export namespace SwaggerGenerator {
124
124
  throw new TypeError("Invalid type detected");
125
125
  }
126
126
 
127
+ // SWAGGER CUSTOMIZER
128
+ const routeGetter = new Singleton(
129
+ () =>
130
+ (accessor: {
131
+ method: string;
132
+ path: string;
133
+ }): ISwaggerRoute | undefined => {
134
+ const method: string = accessor.method.toLowerCase();
135
+ const path: string =
136
+ "/" +
137
+ accessor.path
138
+ .split("/")
139
+ .filter((str) => !!str.length)
140
+ .map((str) =>
141
+ str.startsWith(":") ? `{${str.substring(1)}}` : str,
142
+ )
143
+ .join("/");
144
+ console.log({ path, method });
145
+ return swagger.paths[path]?.[method];
146
+ },
147
+ );
148
+ for (const route of routeList) {
149
+ if (
150
+ false ===
151
+ Reflect.hasMetadata(
152
+ "nestia/SwaggerCustomizer",
153
+ route.controller.prototype,
154
+ route.symbol.function,
155
+ )
156
+ )
157
+ continue;
158
+ const path: string = get_path(route.path, route.parameters);
159
+ const method: string = route.method.toLowerCase();
160
+ const target: ISwaggerRoute = swagger.paths[path][method];
161
+ const closure: Function = Reflect.getMetadata(
162
+ "nestia/SwaggerCustomizer",
163
+ route.controller.prototype,
164
+ route.symbol.function,
165
+ );
166
+ closure({
167
+ route: target,
168
+ method,
169
+ path,
170
+ swagger,
171
+ get: routeGetter.get(),
172
+ });
173
+ }
174
+
127
175
  // DO GENERATE
128
176
  await fs.promises.writeFile(
129
177
  location,
@@ -3,6 +3,7 @@ import type { VERSION_NEUTRAL, VersionValue } from "@nestjs/common/interfaces";
3
3
  import type { ParamCategory } from "./ParamCategory";
4
4
 
5
5
  export interface IController {
6
+ target: Function;
6
7
  file: string;
7
8
  name: string;
8
9
  prefixes: string[];
@@ -4,6 +4,7 @@ import { Metadata } from "typia/lib/schemas/metadata/Metadata";
4
4
  import { IController } from "./IController";
5
5
 
6
6
  export interface IRoute {
7
+ controller: Function;
7
8
  name: string;
8
9
  method: string;
9
10
  path: string;
@@ -1,91 +1,91 @@
1
- import { ISwaggerComponents } from "./ISwaggerComponents";
2
- import { ISwaggerInfo } from "./ISwaggerInfo";
3
- import { ISwaggerRoute } from "./ISwaggerRoute";
4
-
5
- /**
6
- * Swagger Document.
7
- *
8
- * `ISwagger` is a data structure representing content of `swagger.json` file
9
- * generated by Nestia. Note that, this is not an universal structure, but a dedicated
10
- * structure only for Nestia.
11
- *
12
- * @author Jeongho Nam - https://github.com/samchon
13
- */
14
- export interface ISwagger {
15
- /**
16
- * The version of the OpenAPI document.
17
- *
18
- * Nestia always generate OpenAPI 3.0.x document.
19
- */
20
- openapi: `3.0.${number}`;
21
-
22
- /**
23
- * List of servers that provide the API.
24
- */
25
- servers: ISwagger.IServer[];
26
-
27
- /**
28
- * Information about the API.
29
- */
30
- info: ISwaggerInfo;
31
-
32
- /**
33
- * The available paths and operations for the API.
34
- *
35
- * The 1st key is the path, and the 2nd key is the HTTP method.
36
- */
37
- paths: Record<string, Record<string, ISwaggerRoute>>;
38
-
39
- /**
40
- * An object to hold reusable data structures.
41
- *
42
- * It stores both DTO schemas and security schemes.
43
- *
44
- * For reference, `nestia` defines every object and alias types as reusable DTO
45
- * schemas. The alias type means that defined by `type` keyword in TypeScript.
46
- */
47
- components: ISwaggerComponents;
48
-
49
- // /**
50
- // * A declaration of which security mechanisms can be used across the API.
51
- // *
52
- // * When this property be configured, it would be overwritten in every API routes.
53
- // *
54
- // * For reference, key means the name of security scheme and value means the `scopes`.
55
- // * The `scopes` can be used only when target security scheme is `oauth2` type,
56
- // * especially for {@link ISwaggerSecurityScheme.IOAuth2.IFlow.scopes} property.
57
- // */
58
- // security?: Record<string, string[]>[];
59
- }
60
- export namespace ISwagger {
61
- /**
62
- * Remote server definition.
63
- */
64
- export interface IServer {
65
- /**
66
- * A URL to the target host.
67
- *
68
- * @format uri
69
- */
70
- url: string;
71
-
72
- /**
73
- * An optional string describing the target server.
74
- */
75
- description?: string;
76
- }
77
-
78
- export interface IExternalDocs {
79
- /**
80
- * The URL for target documentation.
81
- *
82
- * @format uri
83
- */
84
- url: string;
85
-
86
- /**
87
- * A short description of the target documentation.
88
- */
89
- description?: string;
90
- }
91
- }
1
+ import { ISwaggerComponents } from "./ISwaggerComponents";
2
+ import { ISwaggerInfo } from "./ISwaggerInfo";
3
+ import { ISwaggerRoute } from "./ISwaggerRoute";
4
+
5
+ /**
6
+ * Swagger Document.
7
+ *
8
+ * `ISwagger` is a data structure representing content of `swagger.json` file
9
+ * generated by Nestia. Note that, this is not an universal structure, but a dedicated
10
+ * structure only for Nestia.
11
+ *
12
+ * @author Jeongho Nam - https://github.com/samchon
13
+ */
14
+ export interface ISwagger {
15
+ /**
16
+ * The version of the OpenAPI document.
17
+ *
18
+ * Nestia always generate OpenAPI 3.0.x document.
19
+ */
20
+ openapi: `3.0.${number}`;
21
+
22
+ /**
23
+ * List of servers that provide the API.
24
+ */
25
+ servers: ISwagger.IServer[];
26
+
27
+ /**
28
+ * Information about the API.
29
+ */
30
+ info: ISwaggerInfo;
31
+
32
+ /**
33
+ * The available paths and operations for the API.
34
+ *
35
+ * The 1st key is the path, and the 2nd key is the HTTP method.
36
+ */
37
+ paths: Record<string, Record<string, ISwaggerRoute>>;
38
+
39
+ /**
40
+ * An object to hold reusable data structures.
41
+ *
42
+ * It stores both DTO schemas and security schemes.
43
+ *
44
+ * For reference, `nestia` defines every object and alias types as reusable DTO
45
+ * schemas. The alias type means that defined by `type` keyword in TypeScript.
46
+ */
47
+ components: ISwaggerComponents;
48
+
49
+ // /**
50
+ // * A declaration of which security mechanisms can be used across the API.
51
+ // *
52
+ // * When this property be configured, it would be overwritten in every API routes.
53
+ // *
54
+ // * For reference, key means the name of security scheme and value means the `scopes`.
55
+ // * The `scopes` can be used only when target security scheme is `oauth2` type,
56
+ // * especially for {@link ISwaggerSecurityScheme.IOAuth2.IFlow.scopes} property.
57
+ // */
58
+ // security?: Record<string, string[]>[];
59
+ }
60
+ export namespace ISwagger {
61
+ /**
62
+ * Remote server definition.
63
+ */
64
+ export interface IServer {
65
+ /**
66
+ * A URL to the target host.
67
+ *
68
+ * @format uri
69
+ */
70
+ url: string;
71
+
72
+ /**
73
+ * An optional string describing the target server.
74
+ */
75
+ description?: string;
76
+ }
77
+
78
+ export interface IExternalDocs {
79
+ /**
80
+ * The URL for target documentation.
81
+ *
82
+ * @format uri
83
+ */
84
+ url: string;
85
+
86
+ /**
87
+ * A short description of the target documentation.
88
+ */
89
+ description?: string;
90
+ }
91
+ }