@nestia/e2e 0.2.3 → 0.3.1-dev.20230526
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.d.ts +6 -0
- package/lib/DynamicExecutor.js +68 -62
- package/lib/DynamicExecutor.js.map +1 -1
- package/package.json +3 -3
- package/src/DynamicExecutor.ts +34 -19
package/lib/DynamicExecutor.d.ts
CHANGED
package/lib/DynamicExecutor.js
CHANGED
|
@@ -102,6 +102,7 @@ exports.DynamicExecutor = void 0;
|
|
|
102
102
|
var chalk_1 = __importDefault(require("chalk"));
|
|
103
103
|
var fs_1 = __importDefault(require("fs"));
|
|
104
104
|
var path_1 = __importDefault(require("path"));
|
|
105
|
+
var tstl_1 = require("tstl");
|
|
105
106
|
var StopWatch_1 = require("./StopWatch");
|
|
106
107
|
/**
|
|
107
108
|
* Dynamic Executor running prefixed functions.
|
|
@@ -164,8 +165,9 @@ var DynamicExecutor;
|
|
|
164
165
|
return function (assert) {
|
|
165
166
|
return function (path) { return __awaiter(_this, void 0, void 0, function () {
|
|
166
167
|
var report, executor, iterator;
|
|
167
|
-
|
|
168
|
-
|
|
168
|
+
var _a;
|
|
169
|
+
return __generator(this, function (_b) {
|
|
170
|
+
switch (_b.label) {
|
|
169
171
|
case 0:
|
|
170
172
|
report = {
|
|
171
173
|
location: path,
|
|
@@ -173,10 +175,10 @@ var DynamicExecutor;
|
|
|
173
175
|
executions: [],
|
|
174
176
|
};
|
|
175
177
|
executor = execute(options)(report)(assert);
|
|
176
|
-
iterator = iterate(executor);
|
|
178
|
+
iterator = iterate((_a = options.extension) !== null && _a !== void 0 ? _a : "js")(executor);
|
|
177
179
|
return [4 /*yield*/, iterator(path)];
|
|
178
180
|
case 1:
|
|
179
|
-
|
|
181
|
+
_b.sent();
|
|
180
182
|
report.time = Date.now() - report.time;
|
|
181
183
|
return [2 /*return*/, report];
|
|
182
184
|
}
|
|
@@ -184,63 +186,68 @@ var DynamicExecutor;
|
|
|
184
186
|
}); };
|
|
185
187
|
};
|
|
186
188
|
};
|
|
187
|
-
var iterate = function (
|
|
188
|
-
|
|
189
|
-
var
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
return [3 /*break*/,
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
189
|
+
var iterate = function (extension) {
|
|
190
|
+
return function (executor) {
|
|
191
|
+
var visitor = function (path) { return __awaiter(_this, void 0, void 0, function () {
|
|
192
|
+
var directory, directory_1, directory_1_1, file, location_1, stats, modulo, e_1_1;
|
|
193
|
+
var e_1, _a;
|
|
194
|
+
return __generator(this, function (_b) {
|
|
195
|
+
var _c;
|
|
196
|
+
switch (_b.label) {
|
|
197
|
+
case 0: return [4 /*yield*/, fs_1.default.promises.readdir(path)];
|
|
198
|
+
case 1:
|
|
199
|
+
directory = _b.sent();
|
|
200
|
+
_b.label = 2;
|
|
201
|
+
case 2:
|
|
202
|
+
_b.trys.push([2, 13, 14, 15]);
|
|
203
|
+
directory_1 = __values(directory), directory_1_1 = directory_1.next();
|
|
204
|
+
_b.label = 3;
|
|
205
|
+
case 3:
|
|
206
|
+
if (!!directory_1_1.done) return [3 /*break*/, 12];
|
|
207
|
+
file = directory_1_1.value;
|
|
208
|
+
location_1 = path_1.default.resolve("".concat(path, "/").concat(file));
|
|
209
|
+
return [4 /*yield*/, fs_1.default.promises.lstat(location_1)];
|
|
210
|
+
case 4:
|
|
211
|
+
stats = _b.sent();
|
|
212
|
+
if (!(stats.isDirectory() === true)) return [3 /*break*/, 6];
|
|
213
|
+
return [4 /*yield*/, visitor(location_1)];
|
|
214
|
+
case 5:
|
|
215
|
+
_b.sent();
|
|
216
|
+
return [3 /*break*/, 11];
|
|
217
|
+
case 6:
|
|
218
|
+
if (file.substr(-3) !== ".".concat(extension))
|
|
219
|
+
return [3 /*break*/, 11];
|
|
220
|
+
_b.label = 7;
|
|
221
|
+
case 7: return [4 /*yield*/, (_c = location_1, Promise.resolve().then(function () { return __importStar(require(_c)); }))];
|
|
222
|
+
case 8:
|
|
223
|
+
modulo = _b.sent();
|
|
224
|
+
return [4 /*yield*/, (0, tstl_1.sleep_for)(1)];
|
|
225
|
+
case 9:
|
|
226
|
+
_b.sent();
|
|
227
|
+
return [4 /*yield*/, executor(location_1, modulo)];
|
|
228
|
+
case 10:
|
|
229
|
+
_b.sent();
|
|
230
|
+
_b.label = 11;
|
|
231
|
+
case 11:
|
|
232
|
+
directory_1_1 = directory_1.next();
|
|
233
|
+
return [3 /*break*/, 3];
|
|
234
|
+
case 12: return [3 /*break*/, 15];
|
|
235
|
+
case 13:
|
|
236
|
+
e_1_1 = _b.sent();
|
|
237
|
+
e_1 = { error: e_1_1 };
|
|
238
|
+
return [3 /*break*/, 15];
|
|
239
|
+
case 14:
|
|
240
|
+
try {
|
|
241
|
+
if (directory_1_1 && !directory_1_1.done && (_a = directory_1.return)) _a.call(directory_1);
|
|
242
|
+
}
|
|
243
|
+
finally { if (e_1) throw e_1.error; }
|
|
244
|
+
return [7 /*endfinally*/];
|
|
245
|
+
case 15: return [2 /*return*/];
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
}); };
|
|
249
|
+
return visitor;
|
|
250
|
+
};
|
|
244
251
|
};
|
|
245
252
|
var execute = function (options) {
|
|
246
253
|
return function (report) {
|
|
@@ -347,6 +354,5 @@ var DynamicExecutor;
|
|
|
347
354
|
};
|
|
348
355
|
};
|
|
349
356
|
};
|
|
350
|
-
var EXTENSION = __filename.substring(__filename.length - 2);
|
|
351
357
|
})(DynamicExecutor = exports.DynamicExecutor || (exports.DynamicExecutor = {}));
|
|
352
358
|
//# sourceMappingURL=DynamicExecutor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicExecutor.js","sourceRoot":"","sources":["../src/DynamicExecutor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,0CAAoB;AACpB,8CAA4B;
|
|
1
|
+
{"version":3,"file":"DynamicExecutor.js","sourceRoot":"","sources":["../src/DynamicExecutor.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.3.1-dev.20230526",
|
|
4
4
|
"description": "E2E test utilify functions",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"bugs": {
|
|
29
29
|
"url": "https://github.com/samchon/nestia/issues"
|
|
30
30
|
},
|
|
31
|
-
"homepage": "https://
|
|
31
|
+
"homepage": "https://nestia.io",
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@trivago/prettier-plugin-sort-imports": "^4.0.0",
|
|
34
34
|
"@types/cli": "^0.11.21",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"ts-node": "^10.9.1",
|
|
41
41
|
"ts-patch": "^2.1.0",
|
|
42
42
|
"typescript": "^4.9.5",
|
|
43
|
-
"typia": "^3.8.
|
|
43
|
+
"typia": "^3.8.9"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"chalk": "^4.1.2",
|
package/src/DynamicExecutor.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import chalk from "chalk";
|
|
2
2
|
import fs from "fs";
|
|
3
3
|
import NodePath from "path";
|
|
4
|
+
import { sleep_for } from "tstl";
|
|
4
5
|
|
|
5
6
|
import { StopWatch } from "./StopWatch";
|
|
6
7
|
|
|
@@ -79,6 +80,13 @@ export namespace DynamicExecutor {
|
|
|
79
80
|
* @default true
|
|
80
81
|
*/
|
|
81
82
|
showElapsedTime?: boolean;
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Extension of dynamic functions.
|
|
86
|
+
*
|
|
87
|
+
* @default js
|
|
88
|
+
*/
|
|
89
|
+
extension?: string;
|
|
82
90
|
}
|
|
83
91
|
|
|
84
92
|
/**
|
|
@@ -179,33 +187,41 @@ export namespace DynamicExecutor {
|
|
|
179
187
|
};
|
|
180
188
|
|
|
181
189
|
const executor = execute(options)(report)(assert);
|
|
182
|
-
const iterator = iterate(executor);
|
|
190
|
+
const iterator = iterate(options.extension ?? "js")(executor);
|
|
183
191
|
await iterator(path);
|
|
184
192
|
|
|
185
193
|
report.time = Date.now() - report.time;
|
|
186
194
|
return report;
|
|
187
195
|
};
|
|
188
196
|
|
|
189
|
-
const iterate =
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
+
const iterate =
|
|
198
|
+
(extension: string) =>
|
|
199
|
+
<Arguments extends any[]>(
|
|
200
|
+
executor: (
|
|
201
|
+
path: string,
|
|
202
|
+
modulo: Module<Arguments>,
|
|
203
|
+
) => Promise<void>,
|
|
204
|
+
) => {
|
|
205
|
+
const visitor = async (path: string): Promise<void> => {
|
|
206
|
+
const directory: string[] = await fs.promises.readdir(path);
|
|
207
|
+
for (const file of directory) {
|
|
208
|
+
const location: string = NodePath.resolve(
|
|
209
|
+
`${path}/${file}`,
|
|
210
|
+
);
|
|
211
|
+
const stats: fs.Stats = await fs.promises.lstat(location);
|
|
197
212
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
213
|
+
if (stats.isDirectory() === true) {
|
|
214
|
+
await visitor(location);
|
|
215
|
+
continue;
|
|
216
|
+
} else if (file.substr(-3) !== `.${extension}`) continue;
|
|
202
217
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
218
|
+
const modulo: Module<Arguments> = await import(location);
|
|
219
|
+
await sleep_for(1);
|
|
220
|
+
await executor(location, modulo);
|
|
221
|
+
}
|
|
222
|
+
};
|
|
223
|
+
return visitor;
|
|
206
224
|
};
|
|
207
|
-
return visitor;
|
|
208
|
-
};
|
|
209
225
|
|
|
210
226
|
const execute =
|
|
211
227
|
<Arguments extends any[]>(options: IOptions<Arguments>) =>
|
|
@@ -263,5 +279,4 @@ export namespace DynamicExecutor {
|
|
|
263
279
|
interface Module<Arguments extends any[]> {
|
|
264
280
|
[key: string]: Closure<Arguments>;
|
|
265
281
|
}
|
|
266
|
-
const EXTENSION: string = __filename.substring(__filename.length - 2);
|
|
267
282
|
}
|