@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.
@@ -65,6 +65,12 @@ export declare namespace DynamicExecutor {
65
65
  * @default true
66
66
  */
67
67
  showElapsedTime?: boolean;
68
+ /**
69
+ * Extension of dynamic functions.
70
+ *
71
+ * @default js
72
+ */
73
+ extension?: string;
68
74
  }
69
75
  /**
70
76
  * Report, result of dynamic execution.
@@ -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
- return __generator(this, function (_a) {
168
- switch (_a.label) {
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
- _a.sent();
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 (executor) {
188
- var visitor = function (path) { return __awaiter(_this, void 0, void 0, function () {
189
- var directory, directory_1, directory_1_1, file, location_1, stats, modulo, e_1_1;
190
- var e_1, _a;
191
- return __generator(this, function (_b) {
192
- var _c;
193
- switch (_b.label) {
194
- case 0: return [4 /*yield*/, fs_1.default.promises.readdir(path)];
195
- case 1:
196
- directory = _b.sent();
197
- _b.label = 2;
198
- case 2:
199
- _b.trys.push([2, 12, 13, 14]);
200
- directory_1 = __values(directory), directory_1_1 = directory_1.next();
201
- _b.label = 3;
202
- case 3:
203
- if (!!directory_1_1.done) return [3 /*break*/, 11];
204
- file = directory_1_1.value;
205
- location_1 = path_1.default.resolve("".concat(path, "/").concat(file));
206
- return [4 /*yield*/, fs_1.default.promises.lstat(location_1)];
207
- case 4:
208
- stats = _b.sent();
209
- if (!(stats.isDirectory() === true)) return [3 /*break*/, 6];
210
- return [4 /*yield*/, visitor(location_1)];
211
- case 5:
212
- _b.sent();
213
- return [3 /*break*/, 10];
214
- case 6:
215
- if (file.substr(-3) !== ".".concat(EXTENSION))
216
- return [3 /*break*/, 10];
217
- _b.label = 7;
218
- case 7: return [4 /*yield*/, (_c = location_1, Promise.resolve().then(function () { return __importStar(require(_c)); }))];
219
- case 8:
220
- modulo = _b.sent();
221
- return [4 /*yield*/, executor(location_1, modulo)];
222
- case 9:
223
- _b.sent();
224
- _b.label = 10;
225
- case 10:
226
- directory_1_1 = directory_1.next();
227
- return [3 /*break*/, 3];
228
- case 11: return [3 /*break*/, 14];
229
- case 12:
230
- e_1_1 = _b.sent();
231
- e_1 = { error: e_1_1 };
232
- return [3 /*break*/, 14];
233
- case 13:
234
- try {
235
- if (directory_1_1 && !directory_1_1.done && (_a = directory_1.return)) _a.call(directory_1);
236
- }
237
- finally { if (e_1) throw e_1.error; }
238
- return [7 /*endfinally*/];
239
- case 14: return [2 /*return*/];
240
- }
241
- });
242
- }); };
243
- return visitor;
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":"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"}
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.2.3",
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://github.com/samchon/nestia#readme",
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.4"
43
+ "typia": "^3.8.9"
44
44
  },
45
45
  "dependencies": {
46
46
  "chalk": "^4.1.2",
@@ -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 = <Arguments extends any[]>(
190
- executor: (path: string, modulo: Module<Arguments>) => Promise<void>,
191
- ) => {
192
- const visitor = async (path: string): Promise<void> => {
193
- const directory: string[] = await fs.promises.readdir(path);
194
- for (const file of directory) {
195
- const location: string = NodePath.resolve(`${path}/${file}`);
196
- const stats: fs.Stats = await fs.promises.lstat(location);
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
- if (stats.isDirectory() === true) {
199
- await visitor(location);
200
- continue;
201
- } else if (file.substr(-3) !== `.${EXTENSION}`) continue;
213
+ if (stats.isDirectory() === true) {
214
+ await visitor(location);
215
+ continue;
216
+ } else if (file.substr(-3) !== `.${extension}`) continue;
202
217
 
203
- const modulo: Module<Arguments> = await import(location);
204
- await executor(location, modulo);
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
  }