@nestia/e2e 0.2.3 → 0.3.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.d.ts +6 -0
- package/lib/DynamicExecutor.js +63 -61
- package/lib/DynamicExecutor.js.map +1 -1
- package/package.json +2 -2
- package/src/DynamicExecutor.ts +32 -19
package/lib/DynamicExecutor.d.ts
CHANGED
package/lib/DynamicExecutor.js
CHANGED
|
@@ -164,8 +164,9 @@ var DynamicExecutor;
|
|
|
164
164
|
return function (assert) {
|
|
165
165
|
return function (path) { return __awaiter(_this, void 0, void 0, function () {
|
|
166
166
|
var report, executor, iterator;
|
|
167
|
-
|
|
168
|
-
|
|
167
|
+
var _a;
|
|
168
|
+
return __generator(this, function (_b) {
|
|
169
|
+
switch (_b.label) {
|
|
169
170
|
case 0:
|
|
170
171
|
report = {
|
|
171
172
|
location: path,
|
|
@@ -173,10 +174,10 @@ var DynamicExecutor;
|
|
|
173
174
|
executions: [],
|
|
174
175
|
};
|
|
175
176
|
executor = execute(options)(report)(assert);
|
|
176
|
-
iterator = iterate(executor);
|
|
177
|
+
iterator = iterate((_a = options.extension) !== null && _a !== void 0 ? _a : "js")(executor);
|
|
177
178
|
return [4 /*yield*/, iterator(path)];
|
|
178
179
|
case 1:
|
|
179
|
-
|
|
180
|
+
_b.sent();
|
|
180
181
|
report.time = Date.now() - report.time;
|
|
181
182
|
return [2 /*return*/, report];
|
|
182
183
|
}
|
|
@@ -184,63 +185,65 @@ var DynamicExecutor;
|
|
|
184
185
|
}); };
|
|
185
186
|
};
|
|
186
187
|
};
|
|
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
|
-
case 6:
|
|
215
|
-
if (file.substr(-3) !== ".".concat(EXTENSION))
|
|
188
|
+
var iterate = function (extension) {
|
|
189
|
+
return function (executor) {
|
|
190
|
+
var visitor = function (path) { return __awaiter(_this, void 0, void 0, function () {
|
|
191
|
+
var directory, directory_1, directory_1_1, file, location_1, stats, modulo, e_1_1;
|
|
192
|
+
var e_1, _a;
|
|
193
|
+
return __generator(this, function (_b) {
|
|
194
|
+
var _c;
|
|
195
|
+
switch (_b.label) {
|
|
196
|
+
case 0: return [4 /*yield*/, fs_1.default.promises.readdir(path)];
|
|
197
|
+
case 1:
|
|
198
|
+
directory = _b.sent();
|
|
199
|
+
_b.label = 2;
|
|
200
|
+
case 2:
|
|
201
|
+
_b.trys.push([2, 12, 13, 14]);
|
|
202
|
+
directory_1 = __values(directory), directory_1_1 = directory_1.next();
|
|
203
|
+
_b.label = 3;
|
|
204
|
+
case 3:
|
|
205
|
+
if (!!directory_1_1.done) return [3 /*break*/, 11];
|
|
206
|
+
file = directory_1_1.value;
|
|
207
|
+
location_1 = path_1.default.resolve("".concat(path, "/").concat(file));
|
|
208
|
+
return [4 /*yield*/, fs_1.default.promises.lstat(location_1)];
|
|
209
|
+
case 4:
|
|
210
|
+
stats = _b.sent();
|
|
211
|
+
if (!(stats.isDirectory() === true)) return [3 /*break*/, 6];
|
|
212
|
+
return [4 /*yield*/, visitor(location_1)];
|
|
213
|
+
case 5:
|
|
214
|
+
_b.sent();
|
|
216
215
|
return [3 /*break*/, 10];
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
return [4 /*yield*/,
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
216
|
+
case 6:
|
|
217
|
+
if (file.substr(-3) !== ".".concat(extension))
|
|
218
|
+
return [3 /*break*/, 10];
|
|
219
|
+
_b.label = 7;
|
|
220
|
+
case 7: return [4 /*yield*/, (_c = location_1, Promise.resolve().then(function () { return __importStar(require(_c)); }))];
|
|
221
|
+
case 8:
|
|
222
|
+
modulo = _b.sent();
|
|
223
|
+
return [4 /*yield*/, executor(location_1, modulo)];
|
|
224
|
+
case 9:
|
|
225
|
+
_b.sent();
|
|
226
|
+
_b.label = 10;
|
|
227
|
+
case 10:
|
|
228
|
+
directory_1_1 = directory_1.next();
|
|
229
|
+
return [3 /*break*/, 3];
|
|
230
|
+
case 11: return [3 /*break*/, 14];
|
|
231
|
+
case 12:
|
|
232
|
+
e_1_1 = _b.sent();
|
|
233
|
+
e_1 = { error: e_1_1 };
|
|
234
|
+
return [3 /*break*/, 14];
|
|
235
|
+
case 13:
|
|
236
|
+
try {
|
|
237
|
+
if (directory_1_1 && !directory_1_1.done && (_a = directory_1.return)) _a.call(directory_1);
|
|
238
|
+
}
|
|
239
|
+
finally { if (e_1) throw e_1.error; }
|
|
240
|
+
return [7 /*endfinally*/];
|
|
241
|
+
case 14: return [2 /*return*/];
|
|
242
|
+
}
|
|
243
|
+
});
|
|
244
|
+
}); };
|
|
245
|
+
return visitor;
|
|
246
|
+
};
|
|
244
247
|
};
|
|
245
248
|
var execute = function (options) {
|
|
246
249
|
return function (report) {
|
|
@@ -347,6 +350,5 @@ var DynamicExecutor;
|
|
|
347
350
|
};
|
|
348
351
|
};
|
|
349
352
|
};
|
|
350
|
-
var EXTENSION = __filename.substring(__filename.length - 2);
|
|
351
353
|
})(DynamicExecutor = exports.DynamicExecutor || (exports.DynamicExecutor = {}));
|
|
352
354
|
//# 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;AAE5B,yCAAwC;AAExC;;;;;;;;;;;;GAYG;AACH,IAAiB,eAAe,
|
|
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.0",
|
|
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",
|
package/src/DynamicExecutor.ts
CHANGED
|
@@ -79,6 +79,13 @@ export namespace DynamicExecutor {
|
|
|
79
79
|
* @default true
|
|
80
80
|
*/
|
|
81
81
|
showElapsedTime?: boolean;
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Extension of dynamic functions.
|
|
85
|
+
*
|
|
86
|
+
* @default js
|
|
87
|
+
*/
|
|
88
|
+
extension?: string;
|
|
82
89
|
}
|
|
83
90
|
|
|
84
91
|
/**
|
|
@@ -179,33 +186,40 @@ export namespace DynamicExecutor {
|
|
|
179
186
|
};
|
|
180
187
|
|
|
181
188
|
const executor = execute(options)(report)(assert);
|
|
182
|
-
const iterator = iterate(executor);
|
|
189
|
+
const iterator = iterate(options.extension ?? "js")(executor);
|
|
183
190
|
await iterator(path);
|
|
184
191
|
|
|
185
192
|
report.time = Date.now() - report.time;
|
|
186
193
|
return report;
|
|
187
194
|
};
|
|
188
195
|
|
|
189
|
-
const iterate =
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
196
|
+
const iterate =
|
|
197
|
+
(extension: string) =>
|
|
198
|
+
<Arguments extends any[]>(
|
|
199
|
+
executor: (
|
|
200
|
+
path: string,
|
|
201
|
+
modulo: Module<Arguments>,
|
|
202
|
+
) => Promise<void>,
|
|
203
|
+
) => {
|
|
204
|
+
const visitor = async (path: string): Promise<void> => {
|
|
205
|
+
const directory: string[] = await fs.promises.readdir(path);
|
|
206
|
+
for (const file of directory) {
|
|
207
|
+
const location: string = NodePath.resolve(
|
|
208
|
+
`${path}/${file}`,
|
|
209
|
+
);
|
|
210
|
+
const stats: fs.Stats = await fs.promises.lstat(location);
|
|
197
211
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
212
|
+
if (stats.isDirectory() === true) {
|
|
213
|
+
await visitor(location);
|
|
214
|
+
continue;
|
|
215
|
+
} else if (file.substr(-3) !== `.${extension}`) continue;
|
|
202
216
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
217
|
+
const modulo: Module<Arguments> = await import(location);
|
|
218
|
+
await executor(location, modulo);
|
|
219
|
+
}
|
|
220
|
+
};
|
|
221
|
+
return visitor;
|
|
206
222
|
};
|
|
207
|
-
return visitor;
|
|
208
|
-
};
|
|
209
223
|
|
|
210
224
|
const execute =
|
|
211
225
|
<Arguments extends any[]>(options: IOptions<Arguments>) =>
|
|
@@ -263,5 +277,4 @@ export namespace DynamicExecutor {
|
|
|
263
277
|
interface Module<Arguments extends any[]> {
|
|
264
278
|
[key: string]: Closure<Arguments>;
|
|
265
279
|
}
|
|
266
|
-
const EXTENSION: string = __filename.substring(__filename.length - 2);
|
|
267
280
|
}
|