@21jumpclick/service-messenger
Version:
Amqp lib to send and receive messages from different applications
34 lines • 1.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FileImporter = void 0;
const tslib_1 = require("tslib");
const path_1 = require("path");
const fs = tslib_1.__importStar(require("node:fs"));
class FileImporter {
static async import(path) {
const current = (0, path_1.resolve)(path);
const files = await FileImporter.treeResolver(current);
if (!files) {
throw 'No files found';
}
await Promise.all(files.map((e) => Promise.resolve(`${e}`).then(s => tslib_1.__importStar(require(s)))));
}
static async treeResolver(path) {
const files = fs.readdirSync(path);
const result = [];
for (const file of files.filter((e) => !e.includes('node_modules'))) {
const filePath = (0, path_1.resolve)(path, file);
const isDirectory = fs.statSync(filePath).isDirectory();
if (isDirectory) {
const child = await FileImporter.treeResolver(filePath);
result.push(...(child || []));
}
else if (file.endsWith('.js') || file.endsWith('.ts') || file.endsWith('.cjs') || file.endsWith('.mjs')) {
result.push(filePath);
}
}
return result;
}
}
exports.FileImporter = FileImporter;
//# sourceMappingURL=file-importer.js.map