@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.
@@ -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.
@@ -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
- return __generator(this, function (_a) {
168
- switch (_a.label) {
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
- _a.sent();
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 (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))
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
- _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;
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":"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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.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://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",
@@ -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 = <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);
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
- if (stats.isDirectory() === true) {
199
- await visitor(location);
200
- continue;
201
- } else if (file.substr(-3) !== `.${EXTENSION}`) continue;
212
+ if (stats.isDirectory() === true) {
213
+ await visitor(location);
214
+ continue;
215
+ } else if (file.substr(-3) !== `.${extension}`) continue;
202
216
 
203
- const modulo: Module<Arguments> = await import(location);
204
- await executor(location, modulo);
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
  }