UNPKG

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