@nestia/core 1.0.2 → 1.0.3

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
@@ -7,17 +7,19 @@
7
7
 
8
8
  Super-fast validation decorators for NestJS.
9
9
 
10
- `@nestia/core` is a transformer library of NestJS, supporting super-fast validation decorators, by wrapping [typia](https://github.com/samchon/typia). Comparing validation speed with `class-validator`, `typia` is maximum **15,000x times faster** and it is even much safer.
10
+ - 15,000x faster request body validation
11
+ - 10x faster JSON response, even type safe
12
+ - Do not need DTO class definition, just fine with interface
11
13
 
12
- Furthermore, `@nestia/core` can use pure interface typed DTO with **only one line**.
14
+ `@nestia/core` is a transformer library of NestJS, supporting super-fast validation decorators, by wrapping [typia](https://github.com/samchon/typia). Comparing validation speed with `class-validator`, [typia](https://github.com/samchon/typia) is maximum **15,000x times faster** and it is even much safer.
13
15
 
14
- Therefore, it does not require any extra dedication like defining JSON schema (`@nestjs/swagger`), or using class definition with decorator function calls (`class-validator`). Just enjoy the superfast decorators with pure TypeScript type.
16
+ Furthermore, `@nestia/core` can use pure interface typed DTO with **only one line**. With `@nestia/core`, you don't need any extra dedication like defining JSON schema (`@nestjs/swagger`), or using class definition with decorator function calls (`class-validator`). Just enjoy the superfast decorators with pure TypeScript type.
15
17
 
16
18
  ```typescript
17
19
  import { Controller } from "@nestjs/common";
18
20
  import { TypedBody, TypedRoute } from "@nestia/core";
19
21
 
20
- import { IBbsArticle } from "@bbs-api/structures/IBbsArticle";
22
+ import type { IBbsArticle } from "@bbs-api/structures/IBbsArticle";
21
23
 
22
24
  @Controller("bbs/articles")
23
25
  export class BbsArticlesController {
@@ -29,8 +31,10 @@ export class BbsArticlesController {
29
31
  */
30
32
  @TypedRoute.Post() // 10x faster and safer JSON.stringify()
31
33
  public async store(
32
- @TypedBody() input: IBbsArticle.IStore // supoer-fast validator
33
- ): Promise<IBbsArticle>;
34
+ @TypedBody() input: IBbsArticle.IStore // super-fast validator
35
+ ): Promise<IBbsArticle>;
36
+ // do not need DTO class definition,
37
+ // just fine with interface
34
38
  }
35
39
  ```
36
40
 
@@ -1,3 +1,4 @@
1
+ import { ModuleMetadata } from "@nestjs/common/interfaces";
1
2
  export declare namespace DynamicModule {
2
- function mount(path: string): Promise<object>;
3
+ function mount(path: string, options?: Omit<ModuleMetadata, "controllers">): Promise<object>;
3
4
  }
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
14
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
15
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -47,7 +58,8 @@ var common_1 = require("@nestjs/common");
47
58
  var load_controller_1 = require("./internal/load_controller");
48
59
  var DynamicModule;
49
60
  (function (DynamicModule) {
50
- function mount(path) {
61
+ function mount(path, options) {
62
+ if (options === void 0) { options = {}; }
51
63
  return __awaiter(this, void 0, void 0, function () {
52
64
  var controllers, NestiaModule;
53
65
  return __generator(this, function (_a) {
@@ -59,7 +71,7 @@ var DynamicModule;
59
71
  function NestiaModule() {
60
72
  }
61
73
  NestiaModule = __decorate([
62
- (0, common_1.Module)({ controllers: controllers })
74
+ (0, common_1.Module)(__assign(__assign({}, options), { controllers: controllers }))
63
75
  ], NestiaModule);
64
76
  return NestiaModule;
65
77
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicModule.js","sourceRoot":"","sources":["../../src/decorators/DynamicModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAwC;AAGxC,8DAA8D;AAE9D,IAAiB,aAAa,CAU7B;AAVD,WAAiB,aAAa;IAC1B,SAAsB,KAAK,CAAC,IAAY;;;;;4BAEG,qBAAM,IAAA,kCAAgB,EAAC,IAAI,CAAC,EAAA;;wBAA7D,WAAW,GAAsB,SAA4B;;4BAInE;4BAAoB,CAAC;4BAAf,YAAY;gCADjB,IAAA,eAAM,EAAC,EAAE,WAAW,aAAA,EAAE,CAAC;+BAClB,YAAY,CAAG;4BAAD,mBAAC;yBAAA,AAArB;wBACA,sBAAO,YAAY,EAAC;;;;KACvB;IARqB,mBAAK,QAQ1B,CAAA;AACL,CAAC,EAVgB,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAU7B"}
1
+ {"version":3,"file":"DynamicModule.js","sourceRoot":"","sources":["../../src/decorators/DynamicModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAwC;AAIxC,8DAA8D;AAE9D,IAAiB,aAAa,CAa7B;AAbD,WAAiB,aAAa;IAC1B,SAAsB,KAAK,CACvB,IAAY,EACZ,OAAiD;QAAjD,wBAAA,EAAA,YAAiD;;;;;4BAGV,qBAAM,IAAA,kCAAgB,EAAC,IAAI,CAAC,EAAA;;wBAA7D,WAAW,GAAsB,SAA4B;;4BAInE;4BAAoB,CAAC;4BAAf,YAAY;gCADjB,IAAA,eAAM,wBAAM,OAAO,KAAE,WAAW,aAAA,IAAG;+BAC9B,YAAY,CAAG;4BAAD,mBAAC;yBAAA,AAArB;wBACA,sBAAO,YAAY,EAAC;;;;KACvB;IAXqB,mBAAK,QAW1B,CAAA;AACL,CAAC,EAbgB,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAa7B"}
@@ -42,7 +42,8 @@ export declare namespace EncryptedModule {
42
42
  *
43
43
  * @param path Directory path of the controller classes
44
44
  * @param password Encryption password or its getter function
45
+ * @param options Additional options except controller
45
46
  * @returns Class decorated module instance
46
47
  */
47
- function dynamic(path: string, password: IEncryptionPassword | IEncryptionPassword.Closure): Promise<object>;
48
+ function dynamic(path: string, password: IEncryptionPassword | IEncryptionPassword.Closure, options?: Omit<ModuleMetadata, "controllers">): Promise<object>;
48
49
  }
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
14
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
15
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -121,9 +132,11 @@ exports.EncryptedModule = EncryptedModule;
121
132
  *
122
133
  * @param path Directory path of the controller classes
123
134
  * @param password Encryption password or its getter function
135
+ * @param options Additional options except controller
124
136
  * @returns Class decorated module instance
125
137
  */
126
- function dynamic(path, password) {
138
+ function dynamic(path, password, options) {
139
+ if (options === void 0) { options = {}; }
127
140
  return __awaiter(this, void 0, void 0, function () {
128
141
  var controllers, NestiaModule;
129
142
  return __generator(this, function (_a) {
@@ -135,7 +148,7 @@ exports.EncryptedModule = EncryptedModule;
135
148
  function NestiaModule() {
136
149
  }
137
150
  NestiaModule = __decorate([
138
- EncryptedModule({ controllers: controllers }, password)
151
+ EncryptedModule(__assign(__assign({}, options), { controllers: controllers }), password)
139
152
  ], NestiaModule);
140
153
  return NestiaModule;
141
154
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"EncryptedModule.js","sourceRoot":"","sources":["../../src/decorators/EncryptedModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yCAAwD;AAGxD,kEAAuE;AACvE,8DAA8D;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,SAAgB,eAAe,CAC3B,QAAwB,EACxB,QAA2D;IAE3D,OAAO,UAAU,MAAW;;QACxB,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO;;YAE/C,KAAgB,IAAA,KAAA,SAAA,QAAQ,CAAC,WAAW,CAAA,gBAAA;gBAA/B,IAAM,CAAC,WAAA;gBACR,IAAI,OAAO,CAAC,WAAW,CAAC,2CAAuB,EAAE,CAAC,CAAC,KAAK,KAAK;oBACzD,OAAO,CAAC,cAAc,CAAC,2CAAuB,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aAAA;;;;;;;;;IACzE,CAAC,CAAC;AACN,CAAC;AAZD,0CAYC;AAED,WAAiB,eAAe;IAC5B;;;;;;;;;;;OAWG;IACH,SAAsB,OAAO,CACzB,IAAY,EACZ,QAA2D;;;;;4BAGpB,qBAAM,IAAA,kCAAgB,EAAC,IAAI,CAAC,EAAA;;wBAA7D,WAAW,GAAsB,SAA4B;;4BAInE;4BAAoB,CAAC;4BAAf,YAAY;gCADjB,eAAe,CAAC,EAAE,WAAW,aAAA,EAAE,EAAE,QAAQ,CAAC;+BACrC,YAAY,CAAG;4BAAD,mBAAC;yBAAA,AAArB;wBACA,sBAAO,YAAY,EAAC;;;;KACvB;IAXqB,uBAAO,UAW5B,CAAA;AACL,CAAC,EAzBgB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAyB/B"}
1
+ {"version":3,"file":"EncryptedModule.js","sourceRoot":"","sources":["../../src/decorators/EncryptedModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yCAAwD;AAGxD,kEAAuE;AACvE,8DAA8D;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,SAAgB,eAAe,CAC3B,QAAwB,EACxB,QAA2D;IAE3D,OAAO,UAAU,MAAW;;QACxB,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO;;YAE/C,KAAgB,IAAA,KAAA,SAAA,QAAQ,CAAC,WAAW,CAAA,gBAAA;gBAA/B,IAAM,CAAC,WAAA;gBACR,IAAI,OAAO,CAAC,WAAW,CAAC,2CAAuB,EAAE,CAAC,CAAC,KAAK,KAAK;oBACzD,OAAO,CAAC,cAAc,CAAC,2CAAuB,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;aAAA;;;;;;;;;IACzE,CAAC,CAAC;AACN,CAAC;AAZD,0CAYC;AAED,WAAiB,eAAe;IAC5B;;;;;;;;;;;;OAYG;IACH,SAAsB,OAAO,CACzB,IAAY,EACZ,QAA2D,EAC3D,OAAiD;QAAjD,wBAAA,EAAA,YAAiD;;;;;4BAGV,qBAAM,IAAA,kCAAgB,EAAC,IAAI,CAAC,EAAA;;wBAA7D,WAAW,GAAsB,SAA4B;;4BAInE;4BAAoB,CAAC;4BAAf,YAAY;gCADjB,eAAe,uBAAM,OAAO,KAAE,WAAW,aAAA,KAAI,QAAQ,CAAC;+BACjD,YAAY,CAAG;4BAAD,mBAAC;yBAAA,AAArB;wBACA,sBAAO,YAAY,EAAC;;;;KACvB;IAZqB,uBAAO,UAY5B,CAAA;AACL,CAAC,EA3BgB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QA2B/B"}
@@ -205,9 +205,9 @@ var CoreSetupWizard;
205
205
  // DO CONFIGURE
206
206
  options.strict = true;
207
207
  if (core === undefined)
208
- plugins.push(Comment.parse("{\n \"transform\": \"@nestia/core/lib/transform\",\n /**\n * Validate request body.\n * \n * - \"assert\": Use typia.assert() function\n * - \"is\": Use typia.is() function\n * - \"validate\": Use typia.validate() function\n */\n \"validate\": \"assert\",\n\n /**\n * Validate JSON typed response body.\n * \n * - null: Just use JSON.stringify() function, without boosting\n * - \"stringify\": Use typia.stringify() function, but dangerous\n * - \"assert\": Use typia.assertStringify() function\n * - \"is\": Use typia.isStringify() function\n * - \"validate\": Use typia.validateStringify() function\n */\n \"stringify\": \"is\",\n }"));
208
+ plugins.push(Comment.parse("{\n \"transform\": \"@nestia/core/lib/transform\",\n /**\n * Validate request body.\n * \n * - \"assert\": Use typia.assert() function\n * - \"is\": Use typia.is() function\n * - \"validate\": Use typia.validate() function\n */\n \"validate\": \"assert\",\n\n /**\n * Validate JSON typed response body.\n * \n * - null: Just use JSON.stringify() function, without boosting\n * - \"stringify\": Use typia.stringify() function, but dangerous\n * - \"assert\": Use typia.assertStringify() function\n * - \"is\": Use typia.isStringify() function\n * - \"validate\": Use typia.validateStringify() function\n */\n \"stringify\": \"is\"\n }"));
209
209
  if (typia === undefined)
210
- plugins.push(Comment.parse("{\n \"transform\": \"typia/lib/transform\",\n \"numeric\": true, // check isNaN() and isFinite()\n \"functional\": false, // validate function type\n }"));
210
+ plugins.push(Comment.parse("{\n \"transform\": \"typia/lib/transform\"\n }"));
211
211
  return [4 /*yield*/, fs_1.default.promises.writeFile("tsconfig.json", Comment.stringify(config, null, 2))];
212
212
  case 4:
213
213
  _c.sent();
@@ -1 +1 @@
1
- {"version":3,"file":"CoreSetupWizard.js","sourceRoot":"","sources":["../../../src/executable/internal/CoreSetupWizard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CoreSetupWizard.js","sourceRoot":"","sources":["../../../src/executable/internal/CoreSetupWizard.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestia/core",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "Super-fast validation decorators of NestJS",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -58,7 +58,7 @@
58
58
  "raw-body": "*",
59
59
  "reflect-metadata": "*",
60
60
  "rxjs": "*",
61
- "typia": "^3.4.11"
61
+ "typia": "^3.4.15"
62
62
  },
63
63
  "peerDependencies": {
64
64
  "ttypescript": ">= 1.5.15",
@@ -1,15 +1,19 @@
1
1
  import { Module } from "@nestjs/common";
2
+ import { ModuleMetadata } from "@nestjs/common/interfaces";
2
3
 
3
4
  import { Creator } from "../typings/Creator";
4
5
  import { load_controllers } from "./internal/load_controller";
5
6
 
6
7
  export namespace DynamicModule {
7
- export async function mount(path: string): Promise<object> {
8
+ export async function mount(
9
+ path: string,
10
+ options: Omit<ModuleMetadata, "controllers"> = {},
11
+ ): Promise<object> {
8
12
  // LOAD CONTROLLERS
9
13
  const controllers: Creator<object>[] = await load_controllers(path);
10
14
 
11
15
  // RETURN WITH DECORATING
12
- @Module({ controllers })
16
+ @Module({ ...options, controllers })
13
17
  class NestiaModule {}
14
18
  return NestiaModule;
15
19
  }
@@ -60,17 +60,19 @@ export namespace EncryptedModule {
60
60
  *
61
61
  * @param path Directory path of the controller classes
62
62
  * @param password Encryption password or its getter function
63
+ * @param options Additional options except controller
63
64
  * @returns Class decorated module instance
64
65
  */
65
66
  export async function dynamic(
66
67
  path: string,
67
68
  password: IEncryptionPassword | IEncryptionPassword.Closure,
69
+ options: Omit<ModuleMetadata, "controllers"> = {},
68
70
  ): Promise<object> {
69
71
  // LOAD CONTROLLERS
70
72
  const controllers: Creator<object>[] = await load_controllers(path);
71
73
 
72
74
  // RETURNS WITH DECORATING
73
- @EncryptedModule({ controllers }, password)
75
+ @EncryptedModule({ ...options, controllers }, password)
74
76
  class NestiaModule {}
75
77
  return NestiaModule;
76
78
  }
@@ -145,15 +145,13 @@ export namespace CoreSetupWizard {
145
145
  * - "is": Use typia.isStringify() function
146
146
  * - "validate": Use typia.validateStringify() function
147
147
  */
148
- "stringify": "is",
148
+ "stringify": "is"
149
149
  }`) as Comment.CommentObject,
150
150
  );
151
151
  if (typia === undefined)
152
152
  plugins.push(
153
153
  Comment.parse(`{
154
- "transform": "typia/lib/transform",
155
- "numeric": true, // check isNaN() and isFinite()
156
- "functional": false, // validate function type
154
+ "transform": "typia/lib/transform"
157
155
  }`) as Comment.CommentObject,
158
156
  );
159
157
  await fs.promises.writeFile(