@nestia/sdk 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/assets/config/nestia.config.ts +79 -70
  2. package/lib/INestiaConfig.d.ts +18 -14
  3. package/lib/executable/sdk.js +16 -16
  4. package/lib/generates/FunctionGenerator.js +9 -9
  5. package/lib/generates/FunctionGenerator.js.map +1 -1
  6. package/lib/generates/SwaggerGenerator.js +9 -9
  7. package/package.json +1 -1
  8. package/src/INestiaConfig.ts +124 -120
  9. package/src/NestiaSdkApplication.ts +183 -183
  10. package/src/analyses/ControllerAnalyzer.ts +203 -203
  11. package/src/analyses/GenericAnalyzer.ts +53 -53
  12. package/src/analyses/ImportAnalyzer.ts +143 -143
  13. package/src/analyses/PathAnalyzer.ts +58 -58
  14. package/src/analyses/ReflectAnalyzer.ts +279 -279
  15. package/src/analyses/SourceFinder.ts +59 -59
  16. package/src/executable/internal/CommandParser.ts +15 -15
  17. package/src/executable/internal/NestiaConfigCompilerOptions.ts +18 -18
  18. package/src/executable/internal/NestiaSdkCommand.ts +174 -174
  19. package/src/executable/internal/NestiaSdkConfig.ts +35 -35
  20. package/src/executable/internal/nestia.config.getter.ts +12 -12
  21. package/src/executable/sdk.ts +74 -74
  22. package/src/generates/FileGenerator.ts +156 -156
  23. package/src/generates/FunctionGenerator.ts +284 -287
  24. package/src/generates/SdkGenerator.ts +50 -50
  25. package/src/generates/SwaggerGenerator.ts +393 -393
  26. package/src/index.ts +3 -3
  27. package/src/module.ts +2 -2
  28. package/src/structures/IController.ts +27 -27
  29. package/src/structures/IRoute.ts +29 -29
  30. package/src/structures/ISwagger.ts +55 -55
  31. package/src/structures/ITypeTuple.ts +6 -6
  32. package/src/structures/MethodType.ts +11 -11
  33. package/src/structures/ParamCategory.ts +1 -1
  34. package/src/structures/TypeEntry.ts +22 -22
  35. package/src/utils/ArrayUtil.ts +26 -26
  36. package/src/utils/ImportDictionary.ts +56 -56
  37. package/src/utils/MapUtil.ts +14 -14
  38. package/src/utils/StripEnums.ts +10 -10
@@ -1,70 +1,79 @@
1
- import { INestiaSdkConfiguration } from "@nestia/sdk";
2
-
3
- export const NESTIA_CONFIG: INestiaSdkConfiguration = {
4
- /**
5
- * List of files or directories containing the NestJS controller classes.
6
- */
7
- input: "src/controllers",
8
-
9
- /**
10
- * Output directory that SDK would be placed in.
11
- *
12
- * If not configured, you can't build the SDK library.
13
- */
14
- output: "src/api",
15
-
16
- /**
17
- * Whether to assert parameter types or not.
18
- *
19
- * If you configure this property to be `true`, all of the function parameters would be
20
- * checked through the [typia](https://github.com/samchon/typia#runtime-type-checkers).
21
- * This option would make your SDK library slower, but would enahcne the type safety even
22
- * in the runtime level.
23
- *
24
- * @default false
25
- */
26
- // assert: true,
27
-
28
- /**
29
- * Whether to optimize JSON string conversion 2x faster or not.
30
- *
31
- * If you configure this property to be `true`, the SDK library would utilize the
32
- * [typia](https://github.com/samchon/typia#fastest-json-string-converter)
33
- * and the JSON string conversion speed really be 2x faster.
34
- *
35
- * @default false
36
- */
37
- // json: true,
38
-
39
- /**
40
- * Whether to wrap DTO by primitive type.
41
- *
42
- * If you don't configure this property as `false`, all of DTOs in the
43
- * SDK library would be automatically wrapped by {@link Primitive} type.
44
- *
45
- * For refenrece, if a DTO type be capsuled by the {@link Primitive} type,
46
- * all of methods in the DTO type would be automatically erased. Also, if
47
- * the DTO has a `toJSON()` method, the DTO type would be automatically
48
- * converted to return type of the `toJSON()` method.
49
- *
50
- * @default true
51
- */
52
- // primitive: false,
53
-
54
- /**
55
- * Building `swagger.json` is also possible.
56
- *
57
- * If not specified, you can't build the `swagger.json`.
58
- */
59
- swagger: {
60
- /**
61
- * Output path of the `swagger.json`.
62
- *
63
- * If you've configured only directory, the file name would be the `swagger.json`.
64
- * Otherwise you've configured the full path with file name and extension, the
65
- * `swagger.json` file would be renamed to it.
66
- */
67
- output: "dist/swagger.json",
68
- },
69
- };
70
- export default NESTIA_CONFIG;
1
+ import type { INestiaConfig } from "@nestia/sdk";
2
+
3
+ export const NESTIA_CONFIG: INestiaConfig = {
4
+ /**
5
+ * List of files or directories containing the NestJS controller classes.
6
+ */
7
+ input: "src/controllers",
8
+
9
+ /**
10
+ * Output directory that SDK would be placed in.
11
+ *
12
+ * If not configured, you can't build the SDK library.
13
+ */
14
+ output: "src/api",
15
+
16
+ /**
17
+ * Whether to validate parameter types or not.
18
+ *
19
+ * If you configure this property to be `true`, all of the function parameters would be
20
+ * validate through the [`typia.assert()`](https://github.com/samchon/typia). function.
21
+ *
22
+ * This option would make your SDK library a little bit slower, but would enahcne the
23
+ * type safety even in the runtime level.
24
+ *
25
+ * @default false
26
+ */
27
+ // assert: false,
28
+
29
+ /**
30
+ * Enhance `JSON.stringify()` function.
31
+ *
32
+ * If you configure this property to be `true`, SDK library would utilize
33
+ * [`typia.assertStringify()`](https://github.com/samchon/typia) function
34
+ * when constructing `application/json` typed request body.
35
+ *
36
+ * The [`typia.assertStringify()`](https://github.com/samchon/typia) function
37
+ * is about 8x faster than the native `JSON.stringify()` function and even
38
+ * type safe through validation.
39
+ *
40
+ * Otherwise, you don't configure this property or set to be `false`,
41
+ * just the native `JSON.stringify()` function would be used.
42
+ *
43
+ * @default false
44
+ */
45
+ // json: true,
46
+
47
+ /**
48
+ * Whether to wrap DTO by primitive type.
49
+ *
50
+ * If you don't configure this property as `false`, all of DTOs in the
51
+ * SDK library would be automatically wrapped by {@link typia.Primitive}
52
+ * type.
53
+ *
54
+ * For refenrece, if a DTO type be capsuled by the {@link typia.Primitive}
55
+ * type, all of methods in the DTO type would be automatically erased.
56
+ * Also, if the DTO has a `toJSON()` method, the DTO type would be
57
+ * automatically converted to return type of the `toJSON()` method.
58
+ *
59
+ * @default true
60
+ */
61
+ // primitive: false,
62
+
63
+ /**
64
+ * Building `swagger.json` is also possible.
65
+ *
66
+ * If not specified, you can't build the `swagger.json`.
67
+ */
68
+ swagger: {
69
+ /**
70
+ * Output path of the `swagger.json`.
71
+ *
72
+ * If you've configured only directory, the file name would be the `swagger.json`.
73
+ * Otherwise you've configured the full path with file name and extension, the
74
+ * `swagger.json` file would be renamed to it.
75
+ */
76
+ output: "dist/swagger.json",
77
+ },
78
+ };
79
+ export default NESTIA_CONFIG;
@@ -1,4 +1,4 @@
1
- import ts from "typescript";
1
+ import type ts from "typescript";
2
2
  import type { StripEnums } from "./utils/StripEnums";
3
3
  /**
4
4
  * Definition for the `nestia.config.ts` file.
@@ -38,22 +38,25 @@ export interface INestiaConfig {
38
38
  */
39
39
  compilerOptions?: StripEnums<ts.CompilerOptions>;
40
40
  /**
41
- * Whether to assert parameter types or not.
41
+ * Whether to validate parameter types or not.
42
42
  *
43
43
  * If you configure this property to be `true`, all of the function parameters would be
44
- * checked through the [typia](https://github.com/samchon/typia#runtime-type-checkers).
45
- * This option would make your SDK library slower, but would enahcne the type safety even
46
- * in the runtime level.
44
+ * validate through the [`typia.assert()`](https://github.com/samchon/typia). function.
45
+ *
46
+ * This option would make your SDK library a little bit slower, but would enahcne the
47
+ * type safety even in the runtime level.
47
48
  *
48
49
  * @default false
49
50
  */
50
51
  assert?: boolean;
51
52
  /**
52
- * Whether to optimize JSON string conversion 2x faster or not.
53
+ * Whether to validate parameter types or not.
54
+ *
55
+ * If you configure this property to be `true`, all of the function parameters would be
56
+ * validate through the [`typia.assert()`](https://github.com/samchon/typia). function.
53
57
  *
54
- * If you configure this property to be `true`, the SDK library would utilize the
55
- * [typia](https://github.com/samchon/typia#fastest-json-string-converter)
56
- * and the JSON string conversion speed really be 2x faster.
58
+ * This option would make your SDK library a little bit slower, but would enahcne the
59
+ * type safety even in the runtime level.
57
60
  *
58
61
  * @default false
59
62
  */
@@ -62,12 +65,13 @@ export interface INestiaConfig {
62
65
  * Whether to wrap DTO by primitive type.
63
66
  *
64
67
  * If you don't configure this property as `false`, all of DTOs in the
65
- * SDK library would be automatically wrapped by {@link Primitive} type.
68
+ * SDK library would be automatically wrapped by {@link typia.Primitive}
69
+ * type.
66
70
  *
67
- * For refenrece, if a DTO type be capsuled by the {@link Primitive} type,
68
- * all of methods in the DTO type would be automatically erased. Also, if
69
- * the DTO has a `toJSON()` method, the DTO type would be automatically
70
- * converted to return type of the `toJSON()` method.
71
+ * For refenrece, if a DTO type be capsuled by the {@link typia.Primitive}
72
+ * type, all of methods in the DTO type would be automatically erased.
73
+ * Also, if the DTO has a `toJSON()` method, the DTO type would be
74
+ * automatically converted to return type of the `toJSON()` method.
71
75
  *
72
76
  * @default true
73
77
  */
@@ -40,22 +40,22 @@ const child_process_1 = __importDefault(require("child_process"));
40
40
  const fs_1 = __importDefault(require("fs"));
41
41
  const process_1 = __importDefault(require("process"));
42
42
  const CommandParser_1 = require("./internal/CommandParser");
43
- const USAGE = `Wrong command has been detected. Use like below:
44
-
45
- npx @nestia/sdk [command] [options?]
46
-
47
- 1. npx @nestia/sdk dependencies --manager (npm|pnpm|yarn)
48
- - npx @nestia/sdk dependencies
49
- - npx @nestia/sdk dependencies --manager pnpm
50
- 2. npx @nestia/sdk init
51
- 3. npx @nestia/sdk sdk <input> --out <output>
52
- - npx @nestia/sdk sdk # when "nestia.config.ts" be configured
53
- - npx @nestia/sdk sdk src/controllers --out src/api
54
- - npx @nestia/sdk sdk src/**/*.controller.ts --out src/api
55
- 4. npx @nestia/sdk swagger <input> --out <output>
56
- - npx @nestia/sdk swagger # when "nestia.config.ts" be configured
57
- - npx @nestia/sdk swagger src/controllers --out src/api
58
- - npx @nestia/sdk swagger src/**/*.controller.ts --out src/api
43
+ const USAGE = `Wrong command has been detected. Use like below:
44
+
45
+ npx @nestia/sdk [command] [options?]
46
+
47
+ 1. npx @nestia/sdk dependencies --manager (npm|pnpm|yarn)
48
+ - npx @nestia/sdk dependencies
49
+ - npx @nestia/sdk dependencies --manager pnpm
50
+ 2. npx @nestia/sdk init
51
+ 3. npx @nestia/sdk sdk <input> --out <output>
52
+ - npx @nestia/sdk sdk # when "nestia.config.ts" be configured
53
+ - npx @nestia/sdk sdk src/controllers --out src/api
54
+ - npx @nestia/sdk sdk src/**/*.controller.ts --out src/api
55
+ 4. npx @nestia/sdk swagger <input> --out <output>
56
+ - npx @nestia/sdk swagger # when "nestia.config.ts" be configured
57
+ - npx @nestia/sdk swagger src/controllers --out src/api
58
+ - npx @nestia/sdk swagger src/**/*.controller.ts --out src/api
59
59
  `;
60
60
  function halt(desc) {
61
61
  console.error(desc);
@@ -34,7 +34,7 @@ var FunctionGenerator;
34
34
  }
35
35
  const assertions = config.assert === true && route.parameters.length !== 0
36
36
  ? route.parameters
37
- .map((param) => ` typia.assert<typeof ${param.name}>(${param.name});`)
37
+ .map((param) => ` typia.assert(${param.name});`)
38
38
  .join("\n") + "\n\n"
39
39
  : "";
40
40
  // RETURNS WITH FINALIZATION
@@ -166,7 +166,7 @@ var FunctionGenerator;
166
166
  (route.method === "POST" ||
167
167
  route.method === "PUT" ||
168
168
  route.method === "PATCH")
169
- ? ` export const stringify = (input: Input) => typia.stringify(input);\n`
169
+ ? ` export const stringify = typia.createAssertStringify<Input>();\n`
170
170
  : "") +
171
171
  "}");
172
172
  }
@@ -181,14 +181,14 @@ var FunctionGenerator;
181
181
  if (query !== undefined && queryParams.length === 0)
182
182
  return wrapper(`${query.name} as any`);
183
183
  else if (query === undefined)
184
- return wrapper(`
185
- {
186
- ${rest_query_parameters(queryParams)}
184
+ return wrapper(`
185
+ {
186
+ ${rest_query_parameters(queryParams)}
187
187
  } as any`);
188
- return wrapper(`
189
- {
190
- ...${query.name},
191
- ${rest_query_parameters(queryParams)},
188
+ return wrapper(`
189
+ {
190
+ ...${query.name},
191
+ ${rest_query_parameters(queryParams)},
192
192
  } as any`);
193
193
  }
194
194
  function rest_query_parameters(parameters) {
@@ -1 +1 @@
1
- {"version":3,"file":"FunctionGenerator.js","sourceRoot":"","sources":["../../src/generates/FunctionGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FunctionGenerator.js","sourceRoot":"","sources":["../../src/generates/FunctionGenerator.ts"],"names":[],"mappings":"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"}
@@ -229,15 +229,15 @@ const warning = new VariadicSingleton_1.VariadicSingleton((encrypted) => {
229
229
  : `[EncryptedRoute.${method[0].toUpperCase()}.${method
230
230
  .substring(1)
231
231
  .toLowerCase()}](https://github.com/samchon/@nestia/core#encryptedroute)`;
232
- return `## Warning
233
- ${summary}
234
-
235
- The ${type} body data would be encrypted as "AES-128(256) / CBC mode / PKCS#5 Padding / Base64 Encoding", through the ${component} component.
236
-
237
- Therefore, just utilize this swagger editor only for referencing. If you need to call the real API, using [SDK](https://github.com/samchon/nestia#software-development-kit) would be much better.
238
-
239
- -----------------
240
-
232
+ return `## Warning
233
+ ${summary}
234
+
235
+ The ${type} body data would be encrypted as "AES-128(256) / CBC mode / PKCS#5 Padding / Base64 Encoding", through the ${component} component.
236
+
237
+ Therefore, just utilize this swagger editor only for referencing. If you need to call the real API, using [SDK](https://github.com/samchon/nestia#software-development-kit) would be much better.
238
+
239
+ -----------------
240
+
241
241
  `;
242
242
  });
243
243
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestia/sdk",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Nestia SDK and Swagger generator",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -1,120 +1,124 @@
1
- import ts from "typescript";
2
-
3
- import type { StripEnums } from "./utils/StripEnums";
4
-
5
- /**
6
- * Definition for the `nestia.config.ts` file.
7
- *
8
- * @author Jeongho Nam - https://github.com/samchon
9
- */
10
- export interface INestiaConfig {
11
- /**
12
- * List of files or directories containing the NestJS controller classes.
13
- */
14
- input: string | string[] | INestiaConfig.IInput;
15
-
16
- /**
17
- * Output directory that SDK would be placed in.
18
- *
19
- * If not configured, you can't build the SDK library.
20
- */
21
- output?: string;
22
-
23
- /**
24
- * Compiler options for the TypeScript.
25
- *
26
- * If you've omitted this property or the assigned property cannot fully cover the
27
- * `tsconfig.json`, the properties from the `tsconfig.json` would be assigned to here.
28
- * Otherwise, this property has been configured and it's detailed values are different
29
- * with the `tsconfig.json`, this property values would be used instead.
30
- *
31
- * ```typescript
32
- * import ts from "typescript";
33
- *
34
- * const tsconfig: ts.TsConfig;
35
- * const nestiaConfig: IConfiguration;
36
- *
37
- * const compilerOptions: ts.CompilerOptions = {
38
- * ...tsconfig.compilerOptions,
39
- * ...(nestiaConfig.compilerOptions || {})
40
- * }
41
- * ```
42
- */
43
- compilerOptions?: StripEnums<ts.CompilerOptions>;
44
-
45
- /**
46
- * Whether to assert parameter types or not.
47
- *
48
- * If you configure this property to be `true`, all of the function parameters would be
49
- * checked through the [typia](https://github.com/samchon/typia#runtime-type-checkers).
50
- * This option would make your SDK library slower, but would enahcne the type safety even
51
- * in the runtime level.
52
- *
53
- * @default false
54
- */
55
- assert?: boolean;
56
-
57
- /**
58
- * Whether to optimize JSON string conversion 2x faster or not.
59
- *
60
- * If you configure this property to be `true`, the SDK library would utilize the
61
- * [typia](https://github.com/samchon/typia#fastest-json-string-converter)
62
- * and the JSON string conversion speed really be 2x faster.
63
- *
64
- * @default false
65
- */
66
- json?: boolean;
67
-
68
- /**
69
- * Whether to wrap DTO by primitive type.
70
- *
71
- * If you don't configure this property as `false`, all of DTOs in the
72
- * SDK library would be automatically wrapped by {@link Primitive} type.
73
- *
74
- * For refenrece, if a DTO type be capsuled by the {@link Primitive} type,
75
- * all of methods in the DTO type would be automatically erased. Also, if
76
- * the DTO has a `toJSON()` method, the DTO type would be automatically
77
- * converted to return type of the `toJSON()` method.
78
- *
79
- * @default true
80
- */
81
- primitive?: boolean;
82
-
83
- /**
84
- * Building `swagger.json` is also possible.
85
- *
86
- * If not specified, you can't build the `swagger.json`.
87
- */
88
- swagger?: INestiaConfig.ISwagger;
89
- }
90
- export namespace INestiaConfig {
91
- /**
92
- * List of files or directories to include or exclude to specifying the NestJS
93
- * controllers.
94
- */
95
- export interface IInput {
96
- /**
97
- * List of files or directories containing the NestJS controller classes.
98
- */
99
- include: string[];
100
-
101
- /**
102
- * List of files or directories to be excluded.
103
- */
104
- exclude?: string[];
105
- }
106
-
107
- /**
108
- * Building `swagger.json` is also possible.
109
- */
110
- export interface ISwagger {
111
- /**
112
- * Output path of the `swagger.json`.
113
- *
114
- * If you've configured only directory, the file name would be the `swagger.json`.
115
- * Otherwise you've configured the full path with file name and extension, the
116
- * `swagger.json` file would be renamed to it.
117
- */
118
- output: string;
119
- }
120
- }
1
+ import type ts from "typescript";
2
+
3
+ import type { StripEnums } from "./utils/StripEnums";
4
+
5
+ /**
6
+ * Definition for the `nestia.config.ts` file.
7
+ *
8
+ * @author Jeongho Nam - https://github.com/samchon
9
+ */
10
+ export interface INestiaConfig {
11
+ /**
12
+ * List of files or directories containing the NestJS controller classes.
13
+ */
14
+ input: string | string[] | INestiaConfig.IInput;
15
+
16
+ /**
17
+ * Output directory that SDK would be placed in.
18
+ *
19
+ * If not configured, you can't build the SDK library.
20
+ */
21
+ output?: string;
22
+
23
+ /**
24
+ * Compiler options for the TypeScript.
25
+ *
26
+ * If you've omitted this property or the assigned property cannot fully cover the
27
+ * `tsconfig.json`, the properties from the `tsconfig.json` would be assigned to here.
28
+ * Otherwise, this property has been configured and it's detailed values are different
29
+ * with the `tsconfig.json`, this property values would be used instead.
30
+ *
31
+ * ```typescript
32
+ * import ts from "typescript";
33
+ *
34
+ * const tsconfig: ts.TsConfig;
35
+ * const nestiaConfig: IConfiguration;
36
+ *
37
+ * const compilerOptions: ts.CompilerOptions = {
38
+ * ...tsconfig.compilerOptions,
39
+ * ...(nestiaConfig.compilerOptions || {})
40
+ * }
41
+ * ```
42
+ */
43
+ compilerOptions?: StripEnums<ts.CompilerOptions>;
44
+
45
+ /**
46
+ * Whether to validate parameter types or not.
47
+ *
48
+ * If you configure this property to be `true`, all of the function parameters would be
49
+ * validate through the [`typia.assert()`](https://github.com/samchon/typia). function.
50
+ *
51
+ * This option would make your SDK library a little bit slower, but would enahcne the
52
+ * type safety even in the runtime level.
53
+ *
54
+ * @default false
55
+ */
56
+ assert?: boolean;
57
+
58
+ /**
59
+ * Whether to validate parameter types or not.
60
+ *
61
+ * If you configure this property to be `true`, all of the function parameters would be
62
+ * validate through the [`typia.assert()`](https://github.com/samchon/typia). function.
63
+ *
64
+ * This option would make your SDK library a little bit slower, but would enahcne the
65
+ * type safety even in the runtime level.
66
+ *
67
+ * @default false
68
+ */
69
+ json?: boolean;
70
+
71
+ /**
72
+ * Whether to wrap DTO by primitive type.
73
+ *
74
+ * If you don't configure this property as `false`, all of DTOs in the
75
+ * SDK library would be automatically wrapped by {@link typia.Primitive}
76
+ * type.
77
+ *
78
+ * For refenrece, if a DTO type be capsuled by the {@link typia.Primitive}
79
+ * type, all of methods in the DTO type would be automatically erased.
80
+ * Also, if the DTO has a `toJSON()` method, the DTO type would be
81
+ * automatically converted to return type of the `toJSON()` method.
82
+ *
83
+ * @default true
84
+ */
85
+ primitive?: boolean;
86
+
87
+ /**
88
+ * Building `swagger.json` is also possible.
89
+ *
90
+ * If not specified, you can't build the `swagger.json`.
91
+ */
92
+ swagger?: INestiaConfig.ISwagger;
93
+ }
94
+ export namespace INestiaConfig {
95
+ /**
96
+ * List of files or directories to include or exclude to specifying the NestJS
97
+ * controllers.
98
+ */
99
+ export interface IInput {
100
+ /**
101
+ * List of files or directories containing the NestJS controller classes.
102
+ */
103
+ include: string[];
104
+
105
+ /**
106
+ * List of files or directories to be excluded.
107
+ */
108
+ exclude?: string[];
109
+ }
110
+
111
+ /**
112
+ * Building `swagger.json` is also possible.
113
+ */
114
+ export interface ISwagger {
115
+ /**
116
+ * Output path of the `swagger.json`.
117
+ *
118
+ * If you've configured only directory, the file name would be the `swagger.json`.
119
+ * Otherwise you've configured the full path with file name and extension, the
120
+ * `swagger.json` file would be renamed to it.
121
+ */
122
+ output: string;
123
+ }
124
+ }