@nestia/e2e 0.3.7 → 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/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/package.json +2 -2
- package/src/DynamicExecutor.ts +1 -1
- package/src/StopWatch.ts +8 -8
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/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": {
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"ts-node": "^10.9.1",
|
|
41
41
|
"ts-patch": "^3.0.2",
|
|
42
42
|
"typescript": "^5.2.2",
|
|
43
|
-
"typia": "^5.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
|
}
|