@nestia/e2e 0.3.6 → 0.4.0

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
@@ -3,7 +3,7 @@
3
3
 
4
4
  [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/samchon/nestia/blob/master/LICENSE)
5
5
  [![npm version](https://img.shields.io/npm/v/@nestia/core.svg)](https://www.npmjs.com/package/@nestia/core)
6
- [![Downloads](https://img.shields.io/npm/dm/nestia.svg)](https://www.npmjs.com/package/nestia)
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
9
 
@@ -11,10 +11,11 @@ Nestia is a set of helper libraries for NestJS, supporting below features:
11
11
 
12
12
  - `@nestia/core`: super-fast decorators
13
13
  - `@nestia/sdk`:
14
- - SDK generator for clients
15
14
  - Swagger generator evolved than ever
16
- - Automatic E2E test functions generator
15
+ - SDK library generator for clients
17
16
  - Mockup Simulator for client applications
17
+ - Automatic E2E test functions generator
18
+ - `@nestia/migrate`: migration from Swagger to NestJS
18
19
  - `nestia`: just CLI (command line interface) tool
19
20
 
20
21
  > **Note**
@@ -24,12 +25,13 @@ Nestia is a set of helper libraries for NestJS, supporting below features:
24
25
  > - Runtime validator is **20,000x faster** than `class-validator`
25
26
  > - JSON serialization is **200x faster** than `class-transformer`
26
27
  > - Software Development Kit
27
- > - SDK is similar with [tRPC](https://trpc.io), but much advanced
28
- > - Mockup simulator like [msw](https://mswjs.io/), but fully automated
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
+ > - similar with [msw](https://mswjs.io/), but fully automated
29
31
 
30
32
  ![nestia-sdk-demo](https://user-images.githubusercontent.com/13158709/215004990-368c589d-7101-404e-b81b-fbc936382f05.gif)
31
33
 
32
- > Left is server code, and right is client code utilizing SDK
34
+ > Left is NestJS server code, and right is client (frontend) code utilizing SDK
33
35
 
34
36
 
35
37
 
@@ -58,8 +60,15 @@ Check out the document in the [website](https://nestia.io/docs/):
58
60
  - [TypedBody](https://nestia.io/docs/core/TypedBody/)
59
61
  - [TypedParam](https://nestia.io/docs/core/TypedParam/)
60
62
  - [TypedQuery](https://nestia.io/docs/core/TypedRoute/)
63
+ - [TypedHeaders](https://nestia.io/docs/core/TypedHeaders/)
64
+ - [TypedException](https://nestia.io/docs/core/TypedException/)
61
65
  - Generators
62
66
  - [Swagger Documents](https://nestia.io/docs/sdk/swagger/)
63
67
  - [SDK Library](https://nestia.io/docs/sdk/sdk/)
64
68
  - [E2E Functions](https://nestia.io/docs/sdk/e2e/)
65
69
  - [Mockup Simulator](https://nestia.io/docs/sdk/simulator/)
70
+ - [Swagger to NestJS](https://nestia.io/docs/migrate/)
71
+
72
+ ### 🔗 Appendix
73
+ - [⇲ Benchmark Result](https://github.com/samchon/nestia/tree/master/benchmark/results/11th%20Gen%20Intel(R)%20Core(TM)%20i5-1135G7%20%40%202.40GHz)
74
+ - [⇲ `dev.to` Articles](https://dev.to/samchon/series/22751)
@@ -303,7 +303,7 @@ var DynamicExecutor;
303
303
  _f = result;
304
304
  return [4 /*yield*/, StopWatch_1.StopWatch.measure(func)];
305
305
  case 4:
306
- _f.time = _g.sent();
306
+ _f.time = (_g.sent())[1];
307
307
  console.log(" - ".concat(label, ": ").concat(chalk_1.default.yellowBright(result.time.toLocaleString()), " ms"));
308
308
  _g.label = 5;
309
309
  case 5: return [3 /*break*/, 7];
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicExecutor.js","sourceRoot":"","sources":["../src/DynamicExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DynamicExecutor.js","sourceRoot":"","sources":["../src/DynamicExecutor.ts"],"names":[],"mappings":"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"}
@@ -7,18 +7,18 @@ export declare namespace StopWatch {
7
7
  /**
8
8
  * Type of task.
9
9
  */
10
- type Task = () => Promise<void>;
10
+ type Task<T> = () => Promise<T>;
11
11
  /**
12
12
  *
13
13
  * @param task
14
14
  * @returns
15
15
  */
16
- const measure: (task: Task) => Promise<number>;
16
+ const measure: <T>(task: Task<T>) => Promise<[T, number]>;
17
17
  /**
18
18
  *
19
19
  * @param title
20
20
  * @param task
21
21
  * @returns
22
22
  */
23
- const trace: (title: string) => (task: Task) => Promise<number>;
23
+ const trace: (title: string) => <T>(task: Task<T>) => Promise<[T, number]>;
24
24
  }
package/lib/StopWatch.js CHANGED
@@ -51,15 +51,15 @@ var StopWatch;
51
51
  * @returns
52
52
  */
53
53
  StopWatch.measure = function (task) { return __awaiter(_this, void 0, void 0, function () {
54
- var time;
54
+ var time, output;
55
55
  return __generator(this, function (_a) {
56
56
  switch (_a.label) {
57
57
  case 0:
58
58
  time = Date.now();
59
59
  return [4 /*yield*/, task()];
60
60
  case 1:
61
- _a.sent();
62
- return [2 /*return*/, Date.now() - time];
61
+ output = _a.sent();
62
+ return [2 /*return*/, [output, Date.now() - time]];
63
63
  }
64
64
  });
65
65
  }); };
@@ -71,16 +71,16 @@ var StopWatch;
71
71
  */
72
72
  StopWatch.trace = function (title) {
73
73
  return function (task) { return __awaiter(_this, void 0, void 0, function () {
74
- var time;
74
+ var res;
75
75
  return __generator(this, function (_a) {
76
76
  switch (_a.label) {
77
77
  case 0:
78
78
  process.stdout.write(" - ".concat(title, ": "));
79
79
  return [4 /*yield*/, StopWatch.measure(task)];
80
80
  case 1:
81
- time = _a.sent();
82
- console.log("".concat(time.toLocaleString(), " ms"));
83
- return [2 /*return*/, time];
81
+ res = _a.sent();
82
+ console.log("".concat(res[1].toLocaleString(), " ms"));
83
+ return [2 /*return*/, res];
84
84
  }
85
85
  });
86
86
  }); };
@@ -1 +1 @@
1
- {"version":3,"file":"StopWatch.js","sourceRoot":"","sources":["../src/StopWatch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,IAAiB,SAAS,CAgCzB;AAhCD,WAAiB,SAAS;;IAMtB;;;;OAIG;IACU,iBAAO,GAAG,UAAO,IAAU;;;;;oBAC9B,IAAI,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;oBAChC,qBAAM,IAAI,EAAE,EAAA;;oBAAZ,SAAY,CAAC;oBACb,sBAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAAC;;;SAC5B,CAAC;IAEF;;;;;OAKG;IACU,eAAK,GACd,UAAC,KAAa;QACd,OAAA,UAAO,IAAU;;;;;wBACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAO,KAAK,OAAI,CAAC,CAAC;wBAClB,qBAAM,UAAA,OAAO,CAAC,IAAI,CAAC,EAAA;;wBAAlC,IAAI,GAAW,SAAmB;wBAExC,OAAO,CAAC,GAAG,CAAC,UAAG,IAAI,CAAC,cAAc,EAAE,QAAK,CAAC,CAAC;wBAC3C,sBAAO,IAAI,EAAC;;;aACf;IAND,CAMC,CAAC;AACV,CAAC,EAhCgB,SAAS,yBAAT,SAAS,QAgCzB"}
1
+ {"version":3,"file":"StopWatch.js","sourceRoot":"","sources":["../src/StopWatch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,IAAiB,SAAS,CAgCzB;AAhCD,WAAiB,SAAS;;IAMtB;;;;OAIG;IACU,iBAAO,GAAG,UAAU,IAAa;;;;;oBACpC,IAAI,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;oBACd,qBAAM,IAAI,EAAE,EAAA;;oBAAxB,MAAM,GAAM,SAAY;oBAC9B,sBAAO,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAAC;;;SACtC,CAAC;IAEF;;;;;OAKG;IACU,eAAK,GACd,UAAC,KAAa;QACd,OAAA,UAAU,IAAa;;;;;wBACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAO,KAAK,OAAI,CAAC,CAAC;wBACd,qBAAM,UAAA,OAAO,CAAC,IAAI,CAAC,EAAA;;wBAAtC,GAAG,GAAgB,SAAmB;wBAE5C,OAAO,CAAC,GAAG,CAAC,UAAG,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,QAAK,CAAC,CAAC;wBAC7C,sBAAO,GAAG,EAAC;;;aACd;IAND,CAMC,CAAC;AACV,CAAC,EAhCgB,SAAS,yBAAT,SAAS,QAgCzB"}
@@ -36,7 +36,7 @@ export declare namespace TestValidator {
36
36
  * @param title Title of exception because of no error exists
37
37
  */
38
38
  const error: (title: string) => <T>(task: () => T) => T extends Promise<any> ? Promise<void> : void;
39
- const httpError: (title: string) => (status: number) => <T>(task: () => T) => T extends Promise<any> ? Promise<void> : void;
39
+ const httpError: (title: string) => (...statuses: number[]) => <T>(task: () => T) => T extends Promise<any> ? Promise<void> : void;
40
40
  function proceed(task: () => Promise<any>): Promise<Error | null>;
41
41
  function proceed(task: () => any): Error | null;
42
42
  /**
@@ -149,17 +149,21 @@ var TestValidator;
149
149
  };
150
150
  };
151
151
  TestValidator.httpError = function (title) {
152
- return function (status) {
152
+ return function () {
153
+ var statuses = [];
154
+ for (var _i = 0; _i < arguments.length; _i++) {
155
+ statuses[_i] = arguments[_i];
156
+ }
153
157
  return function (task) {
154
158
  var message = function (actual) {
155
159
  return typeof actual === "number"
156
- ? "Bug on ".concat(title, ": status code must be ").concat(status, ", but ").concat(actual, ".")
157
- : "Bug on ".concat(title, ": status code must be ").concat(status, ", but succeeded.");
160
+ ? "Bug on ".concat(title, ": status code must be ").concat(statuses.join(" or "), ", but ").concat(actual, ".")
161
+ : "Bug on ".concat(title, ": status code must be ").concat(statuses.join(" or "), ", but succeeded.");
158
162
  };
159
163
  var predicate = function (exp) {
160
164
  return typeof exp === "object" &&
161
165
  exp.constructor.name === "HttpError" &&
162
- exp.status === status
166
+ statuses.some(function (val) { return val === exp.status; })
163
167
  ? null
164
168
  : new Error(message(typeof exp === "object" &&
165
169
  exp.constructor.name === "HttpError"
@@ -1 +1 @@
1
- {"version":3,"file":"TestValidator.js","sourceRoot":"","sources":["../src/TestValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TestValidator.js","sourceRoot":"","sources":["../src/TestValidator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAwC;AAExC,qDAAoD;AACpD,0DAAyD;AAEzD;;;;;;GAMG;AACH,IAAiB,aAAa,CAuT7B;AAvTD,WAAiB,aAAa;;IAC1B;;;;;OAKG;IACU,uBAAS,GAClB,UAAC,KAAa;QACd,OAAA,UACI,SAAY;YAEZ,IAAM,OAAO,GAAG;gBACZ,OAAA,iBAAU,KAAK,2CAAwC;YAAvD,CAAuD,CAAC;YAE5D,SAAS;YACT,IAAI,OAAO,SAAS,KAAK,SAAS,EAAE;gBAChC,IAAI,SAAS,KAAK,IAAI;oBAAE,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnD,OAAO,SAAgB,CAAC;aAC3B;YAED,UAAU;YACV,IAAM,MAAM,GAA+B,SAAS,EAAE,CAAC;YACvD,IAAI,OAAO,MAAM,KAAK,SAAS,EAAE;gBAC7B,IAAI,MAAM,KAAK,IAAI;oBAAE,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAChD,OAAO,SAAgB,CAAC;aAC3B;YAED,eAAe;YACf,OAAO,IAAI,OAAO,CAAO,UAAC,OAAO,EAAE,MAAM;gBACrC,MAAM;qBACD,IAAI,CAAC,UAAC,IAAI;oBACP,IAAI,IAAI,KAAK,IAAI;wBAAE,OAAO,EAAE,CAAC;;wBACxB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC3B,CAAC,CAAC;qBACD,KAAK,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC,CAAQ,CAAC;QACd,CAAC;IA5BD,CA4BC,CAAC;IAEN;;;;;;;;;;;OAWG;IACU,oBAAM,GACf,UAAC,KAAa,EAAE,SAAiD;QAAjD,0BAAA,EAAA,0BAA4C,OAAA,KAAK,EAAL,CAAK;QACjE,OAAA,UAAI,CAAI;YACR,OAAA,UAAC,CAAI;gBACD,IAAM,IAAI,GAAa,IAAA,6BAAa,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAI,IAAI,CAAC,MAAM;oBACX,MAAM,IAAI,KAAK,CACX,iBAAU,KAAK,yCAA+B,IAAI,CAAC,IAAI,CACnD,IAAI,CACP,MAAG,CACP,CAAC;YACV,CAAC;QARD,CAQC;IATD,CASC,CAAC;IAEN;;;;;;;;OAQG;IACU,mBAAK,GACd,UAAC,KAAa;QACd,OAAA,UAAI,IAAa;YACb,IAAM,OAAO,GAAG,cAAM,OAAA,iBAAU,KAAK,gCAA6B,EAA5C,CAA4C,CAAC;YACnE,IAAI;gBACA,IAAM,QAAM,GAAM,IAAI,EAAE,CAAC;gBACzB,IAAI,UAAU,CAAC,QAAM,CAAC;oBAClB,OAAO,IAAI,OAAO,CAAO,UAAC,OAAO,EAAE,MAAM;wBACrC,OAAA,QAAM;6BACD,KAAK,CAAC,cAAM,OAAA,OAAO,EAAE,EAAT,CAAS,CAAC;6BACtB,IAAI,CAAC,cAAM,OAAA,MAAM,CAAC,OAAO,EAAE,CAAC,EAAjB,CAAiB,CAAC;oBAFlC,CAEkC,CAC9B,CAAC;;oBACR,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;aACnC;YAAC,WAAM;gBACJ,OAAO,SAAgB,CAAC;aAC3B;QACL,CAAC;IAdD,CAcC,CAAC;IAEO,uBAAS,GAClB,UAAC,KAAa;QACd,OAAA;YAAC,kBAAqB;iBAArB,UAAqB,EAArB,qBAAqB,EAArB,IAAqB;gBAArB,6BAAqB;;YACtB,OAAA,UAAI,IAAa;gBACb,IAAM,OAAO,GAAG,UAAC,MAAe;oBAC5B,OAAA,OAAO,MAAM,KAAK,QAAQ;wBACtB,CAAC,CAAC,iBAAU,KAAK,mCAAyB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAS,MAAM,MAAG;wBACjF,CAAC,CAAC,iBAAU,KAAK,mCAAyB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAkB;gBAFrF,CAEqF,CAAC;gBAC1F,IAAM,SAAS,GAAG,UAAC,GAAQ;oBACvB,OAAA,OAAO,GAAG,KAAK,QAAQ;wBACvB,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,WAAW;wBACpC,QAAQ,CAAC,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,KAAK,GAAG,CAAC,MAAM,EAAlB,CAAkB,CAAC;wBACpC,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,IAAI,KAAK,CACL,OAAO,CACH,OAAO,GAAG,KAAK,QAAQ;4BACnB,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,WAAW;4BACpC,CAAC,CAAC,GAAG,CAAC,MAAM;4BACZ,CAAC,CAAC,SAAS,CAClB,CACJ;gBAXP,CAWO,CAAC;gBACZ,IAAI;oBACA,IAAM,QAAM,GAAM,IAAI,EAAE,CAAC;oBACzB,IAAI,UAAU,CAAC,QAAM,CAAC;wBAClB,OAAO,IAAI,OAAO,CAAO,UAAC,OAAO,EAAE,MAAM;4BACrC,OAAA,QAAM;iCACD,KAAK,CAAC,UAAC,GAAG;gCACP,IAAM,GAAG,GAAiB,SAAS,CAAC,GAAG,CAAC,CAAC;gCACzC,IAAI,GAAG;oCAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;oCAChB,OAAO,EAAE,CAAC;4BACnB,CAAC,CAAC;iCACD,IAAI,CAAC,cAAM,OAAA,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,EAA5B,CAA4B,CAAC;wBAN7C,CAM6C,CACzC,CAAC;;wBACR,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;iBACnC;gBAAC,OAAO,GAAG,EAAE;oBACV,IAAM,GAAG,GAAiB,SAAS,CAAC,GAAG,CAAC,CAAC;oBACzC,IAAI,GAAG;wBAAE,MAAM,GAAG,CAAC;oBACnB,OAAO,SAAU,CAAC;iBACrB;YACL,CAAC;QApCD,CAoCC;IArCD,CAqCC,CAAC;IAIN,SAAgB,OAAO,CACnB,IAAe;QAEf,IAAI;YACA,IAAM,QAAM,GAAQ,IAAI,EAAE,CAAC;YAC3B,IAAI,UAAU,CAAC,QAAM,CAAC;gBAClB,OAAO,IAAI,OAAO,CAAe,UAAC,OAAO;oBACrC,OAAA,QAAM;yBACD,KAAK,CAAC,UAAC,GAAG,IAAK,OAAA,OAAO,CAAC,GAAY,CAAC,EAArB,CAAqB,CAAC;yBACrC,IAAI,CAAC,cAAM,OAAA,OAAO,CAAC,IAAI,CAAC,EAAb,CAAa,CAAC;gBAF9B,CAE8B,CACjC,CAAC;SACT;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,GAAY,CAAC;SACvB;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAfe,qBAAO,UAetB,CAAA;IAED;;;;;;;;;;;OAWG;IACU,mBAAK,GACd,UAAC,KAAa;QACd,OAAA,UAAgC,QAAoB;YACpD,OAAA,UACI,MAAiB,EACjB,KAAqB;gBAArB,sBAAA,EAAA,YAAqB;gBAErB,IAAM,MAAM,GAAW,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBAChE,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBACrC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBAEjC,IAAM,IAAI,GAAa,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBAC1D,IAAM,IAAI,GAAa,OAAO,CAAC,MAAM,CAAC;qBACjC,MAAM,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,EAAb,CAAa,CAAC;qBAC7B,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBAEtB,IAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAb,CAAa,CAAC,CAAC;gBAC5D,IAAI,MAAM,KAAK,IAAI;oBAAE,OAAO;qBACvB,IAAI,KAAK,KAAK,IAAI;oBACnB,OAAO,CAAC,GAAG,CAAC;wBACR,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,IAAI;qBACf,CAAC,CAAC;gBACP,MAAM,IAAI,KAAK,CACX,iBAAU,KAAK,gEAA6D,CAC/E,CAAC;YACN,CAAC;QAvBD,CAuBC;IAxBD,CAwBC,CAAC;IAEN;;;;;;;;;OASG;IACU,oBAAM,GACf,UAAC,KAAa;QACd;;WAEG;QACH,OAAA,UACI,MAA6C;YAEjD;;;eAGG;YACH,OAAA,UAAC,KAAe,EAAE,WAAuB;gBAAvB,4BAAA,EAAA,eAAuB;gBACzC;;mBAEG;gBACH,OAAA,UACI,KAA4C;;;;;;gCAEtC,OAAO,GACT,iCAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;oDACpC,CAAC;;;;;gDACF,MAAM,GAAW,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gDACjC,QAAQ,GAAa,KAAK,CAAC,MAAM,CAAC,UAAC,MAAM;oDAC3C,OAAA,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;gDAA5B,CAA4B,CAC/B,CAAC;gDACuB,qBAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAA;;gDAAtD,MAAM,GAAa,SAAmC;gDAE5D,aAAa,CAAC,KAAK,CAAC,UAAG,KAAK,eAAK,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAG,CAAC,CACxD,QAAQ,CACX,CAAC,MAAM,CAAC,CAAC;;;;;;;;gCATE,YAAA,SAAA,OAAO,CAAA;;;;gCAAZ,CAAC;8DAAD,CAAC;;;;;;;;;;;;;;;;;;;;;qBAWf;YAhBD,CAgBC;QApBD,CAoBC;IA3BD,CA2BC,CAAC;IAaN;;;;;;;;;;;OAWG;IACU,kBAAI,GACb,UAAC,KAAa;QACd;;WAEG;QACH,OAAA,UAKI,MAA4C;YAEhD;;eAEG;YACH,OAAA;gBAAC,gBAAmB;qBAAnB,UAAmB,EAAnB,qBAAmB,EAAnB,IAAmB;oBAAnB,2BAAmB;;gBACpB;;;mBAGG;gBACH,OAAA,UAAC,IAA4B,EAAE,MAA6B;oBAC5D;;uBAEG;oBACH,OAAA,UAAO,SAAoB,EAAE,KAAqB;wBAArB,sBAAA,EAAA,YAAqB;;;;;4CAC9B,qBAAM,MAAM,CACxB,MAAM,CAAC,GAAG,CACN,UAAC,KAAK,IAAK,OAAA,UAAG,SAAS,SAAG,KAAK,CAAW,EAA/B,CAA+B,CACjC,CAChB,EAAA;;wCAJG,IAAI,GAAQ,SAIf;wCACD,IAAI,MAAM;4CAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wCAEjC,QAAQ,GACV,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAV,CAAU,CAAC;wCACpD,IAAI,IAAA,kBAAS,EAAC,IAAI,EAAE,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAlB,CAAkB,CAAC,KAAK,KAAK,EAAE;4CACzD,IACI,MAAM,CAAC,MAAM,KAAK,CAAC;gDACnB,IAAI,CAAC,MAAM;gDACV,IAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS;gDACzC,KAAK;gDAEL,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAC,IAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAxB,CAAwB,CAAC,CAAC,CAAC;4CAC9D,MAAM,IAAI,KAAK,CACX,iBAAU,KAAK,gCAAsB,SAAS,cAAI,MAAM,CAAC,IAAI,CACzD,IAAI,CACP,OAAI,CACR,CAAC;yCACL;;;;;qBACJ;gBAxBD,CAwBC;YA5BD,CA4BC;QAjCD,CAiCC;IA3CD,CA2CC,CAAC;AAKV,CAAC,EAvTgB,aAAa,6BAAb,aAAa,QAuT7B;AAMD,SAAS,OAAO,CAA8B,QAAkB;IAC5D,OAAO,QAAQ,CAAC,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,EAAE,EAAT,CAAS,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAhB,CAAgB,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,UAAU,CAAC,KAAU;IAC1B,OAAO,CACH,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAAa,CAAC,IAAI,KAAK,UAAU;QACzC,OAAQ,KAAa,CAAC,KAAK,KAAK,UAAU,CAC7C,CAAC;AACN,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestia/e2e",
3
- "version": "0.3.6",
3
+ "version": "0.4.0",
4
4
  "description": "E2E test utilify functions",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -38,9 +38,9 @@
38
38
  "prettier": "^2.8.3",
39
39
  "rimraf": "^4.1.2",
40
40
  "ts-node": "^10.9.1",
41
- "ts-patch": "^3.0.0",
42
- "typescript": "^5.1.3",
43
- "typia": "^4.1.1"
41
+ "ts-patch": "^3.0.2",
42
+ "typescript": "^5.2.2",
43
+ "typia": "^5.2.6"
44
44
  },
45
45
  "dependencies": {
46
46
  "chalk": "^4.1.2",
@@ -256,7 +256,7 @@ export namespace DynamicExecutor {
256
256
  result.time = Date.now() - result.time;
257
257
  console.log(` - ${label}`);
258
258
  } else {
259
- result.time = await StopWatch.measure(func);
259
+ result.time = (await StopWatch.measure(func))[1];
260
260
  console.log(
261
261
  ` - ${label}: ${chalk.yellowBright(
262
262
  result.time.toLocaleString(),
package/src/StopWatch.ts CHANGED
@@ -7,17 +7,17 @@ export namespace StopWatch {
7
7
  /**
8
8
  * Type of task.
9
9
  */
10
- export type Task = () => Promise<void>;
10
+ export type Task<T> = () => Promise<T>;
11
11
 
12
12
  /**
13
13
  *
14
14
  * @param task
15
15
  * @returns
16
16
  */
17
- export const measure = async (task: Task): Promise<number> => {
17
+ export const measure = async <T>(task: Task<T>): Promise<[T, number]> => {
18
18
  const time: number = Date.now();
19
- await task();
20
- return Date.now() - time;
19
+ const output: T = await task();
20
+ return [output, Date.now() - time];
21
21
  };
22
22
 
23
23
  /**
@@ -28,11 +28,11 @@ export namespace StopWatch {
28
28
  */
29
29
  export const trace =
30
30
  (title: string) =>
31
- async (task: Task): Promise<number> => {
31
+ async <T>(task: Task<T>): Promise<[T, number]> => {
32
32
  process.stdout.write(` - ${title}: `);
33
- const time: number = await measure(task);
33
+ const res: [T, number] = await measure(task);
34
34
 
35
- console.log(`${time.toLocaleString()} ms`);
36
- return time;
35
+ console.log(`${res[1].toLocaleString()} ms`);
36
+ return res;
37
37
  };
38
38
  }
@@ -103,16 +103,16 @@ export namespace TestValidator {
103
103
 
104
104
  export const httpError =
105
105
  (title: string) =>
106
- (status: number) =>
106
+ (...statuses: number[]) =>
107
107
  <T>(task: () => T): T extends Promise<any> ? Promise<void> : void => {
108
108
  const message = (actual?: number) =>
109
109
  typeof actual === "number"
110
- ? `Bug on ${title}: status code must be ${status}, but ${actual}.`
111
- : `Bug on ${title}: status code must be ${status}, but succeeded.`;
110
+ ? `Bug on ${title}: status code must be ${statuses.join(" or ")}, but ${actual}.`
111
+ : `Bug on ${title}: status code must be ${statuses.join(" or ")}, but succeeded.`;
112
112
  const predicate = (exp: any): Error | null =>
113
113
  typeof exp === "object" &&
114
114
  exp.constructor.name === "HttpError" &&
115
- exp.status === status
115
+ statuses.some(val => val === exp.status)
116
116
  ? null
117
117
  : new Error(
118
118
  message(