UNPKG

3.43 kBJavaScriptView Raw
1"use strict";
2var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3 return new (P || (P = Promise))(function (resolve, reject) {
4 function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5 function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6 function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
7 step((generator = generator.apply(thisArg, _arguments || [])).next());
8 });
9};
10Object.defineProperty(exports, "__esModule", { value: true });
11const fastGlob = require("fast-glob");
12const fs_1 = require("fs");
13const util_1 = require("util");
14const readFileAsync = util_1.promisify(fs_1.readFile);
15class AHelper {
16 static loadFilesByGlobPattern(pattern) {
17 return __awaiter(this, void 0, void 0, function* () {
18 try {
19 const filePaths = fastGlob.sync(pattern, { deep: false, onlyFiles: true });
20 const readFilesPromises = [];
21 filePaths.map((filePath) => {
22 readFilesPromises.push(readFileAsync(filePath, "utf8"));
23 });
24 return yield Promise.all(readFilesPromises);
25 }
26 catch (err) {
27 throw err;
28 }
29 });
30 }
31 static requireFilesByGlobPattern(pattern) {
32 return __awaiter(this, void 0, void 0, function* () {
33 try {
34 const filePaths = yield fastGlob.sync(pattern, { deep: false, onlyFiles: true });
35 const requiredFiles = [];
36 filePaths.map((filePath) => {
37 let requiredFileContent = null;
38 try {
39 const requiredFile = require(filePath);
40 requiredFileContent = requiredFile.default != null ? requiredFile.default : requiredFile;
41 }
42 catch (err) {
43 throw err;
44 }
45 requiredFiles.push(requiredFileContent);
46 });
47 return requiredFiles;
48 }
49 catch (err) {
50 throw err;
51 }
52 });
53 }
54 static requireFilesByGlobPatternAsObject(pattern) {
55 return __awaiter(this, void 0, void 0, function* () {
56 try {
57 const filePaths = yield fastGlob.sync(pattern, { deep: false, onlyFiles: true });
58 const requiredFiles = {};
59 filePaths.map((filePath) => {
60 let requiredFileContent = null;
61 try {
62 const requiredFile = require(filePath);
63 const filename = filePath
64 .split("/")
65 .pop()
66 .split(".ts")[0];
67 requiredFileContent = requiredFile.default != null ? requiredFile.default : requiredFile;
68 requiredFiles[filename] = requiredFileContent;
69 }
70 catch (err) {
71 throw err;
72 }
73 });
74 return requiredFiles;
75 }
76 catch (err) {
77 throw err;
78 }
79 });
80 }
81}
82exports.AHelper = AHelper;