@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 +15 -6
- package/lib/DynamicExecutor.js +1 -1
- package/lib/DynamicExecutor.js.map +1 -1
- package/lib/StopWatch.d.ts +3 -3
- package/lib/StopWatch.js +7 -7
- package/lib/StopWatch.js.map +1 -1
- package/lib/TestValidator.d.ts +1 -1
- package/lib/TestValidator.js +8 -4
- package/lib/TestValidator.js.map +1 -1
- package/package.json +4 -4
- package/src/DynamicExecutor.ts +1 -1
- package/src/StopWatch.ts +8 -8
- package/src/TestValidator.ts +4 -4
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
[](https://github.com/samchon/nestia/blob/master/LICENSE)
|
|
5
5
|
[](https://www.npmjs.com/package/@nestia/core)
|
|
6
|
-
[](https://www.npmjs.com/package/@nestia/core)
|
|
7
7
|
[](https://github.com/samchon/nestia/actions?query=workflow%3Abuild)
|
|
8
8
|
[](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
|
-
-
|
|
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
|
|
28
|
-
> - Mockup simulator
|
|
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
|

|
|
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)
|
package/lib/DynamicExecutor.js
CHANGED
|
@@ -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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"}
|
package/lib/StopWatch.d.ts
CHANGED
|
@@ -7,18 +7,18 @@ export declare namespace StopWatch {
|
|
|
7
7
|
/**
|
|
8
8
|
* Type of task.
|
|
9
9
|
*/
|
|
10
|
-
type Task = () => Promise<
|
|
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
|
|
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
|
-
|
|
82
|
-
console.log("".concat(
|
|
83
|
-
return [2 /*return*/,
|
|
81
|
+
res = _a.sent();
|
|
82
|
+
console.log("".concat(res[1].toLocaleString(), " ms"));
|
|
83
|
+
return [2 /*return*/, res];
|
|
84
84
|
}
|
|
85
85
|
});
|
|
86
86
|
}); };
|
package/lib/StopWatch.js.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/lib/TestValidator.d.ts
CHANGED
|
@@ -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) => (
|
|
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
|
/**
|
package/lib/TestValidator.js
CHANGED
|
@@ -149,17 +149,21 @@ var TestValidator;
|
|
|
149
149
|
};
|
|
150
150
|
};
|
|
151
151
|
TestValidator.httpError = function (title) {
|
|
152
|
-
return function (
|
|
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(
|
|
157
|
-
: "Bug on ".concat(title, ": status code must be ").concat(
|
|
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
|
-
|
|
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"
|
package/lib/TestValidator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
1
|
+
{"version":3,"file":"TestValidator.js","sourceRoot":"","sources":["../src/TestValidator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nestia/e2e",
|
|
3
|
-
"version": "0.
|
|
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.
|
|
42
|
-
"typescript": "^5.
|
|
43
|
-
"typia": "^
|
|
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",
|
package/src/DynamicExecutor.ts
CHANGED
|
@@ -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<
|
|
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
|
|
33
|
+
const res: [T, number] = await measure(task);
|
|
34
34
|
|
|
35
|
-
console.log(`${
|
|
36
|
-
return
|
|
35
|
+
console.log(`${res[1].toLocaleString()} ms`);
|
|
36
|
+
return res;
|
|
37
37
|
};
|
|
38
38
|
}
|
package/src/TestValidator.ts
CHANGED
|
@@ -103,16 +103,16 @@ export namespace TestValidator {
|
|
|
103
103
|
|
|
104
104
|
export const httpError =
|
|
105
105
|
(title: string) =>
|
|
106
|
-
(
|
|
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 ${
|
|
111
|
-
: `Bug on ${title}: status code must be ${
|
|
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
|
-
|
|
115
|
+
statuses.some(val => val === exp.status)
|
|
116
116
|
? null
|
|
117
117
|
: new Error(
|
|
118
118
|
message(
|