UNPKG

@eggjs/tegg-loader

Version:

tegg default loader implement

39 lines 3.02 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ModuleLoader = void 0; const globby_1 = __importDefault(require("globby")); const node_path_1 = __importDefault(require("node:path")); const LoaderUtil_1 = require("../LoaderUtil"); const LoaderFactory_1 = require("../LoaderFactory"); class ModuleLoader { constructor(moduleDir) { this.moduleDir = moduleDir; } load() { // optimise for EggModuleLoader if (this.protoClazzList) { return this.protoClazzList; } const protoClassList = []; const filePattern = LoaderUtil_1.LoaderUtil.filePattern(); const files = globby_1.default.sync(filePattern, { cwd: this.moduleDir }); for (const file of files) { const realPath = node_path_1.default.join(this.moduleDir, file); const fileClazzList = LoaderUtil_1.LoaderUtil.loadFile(realPath); for (const clazz of fileClazzList) { protoClassList.push(clazz); } } this.protoClazzList = Array.from(new Set(protoClassList)); return this.protoClazzList; } static createModuleLoader(path) { return new ModuleLoader(path); } } exports.ModuleLoader = ModuleLoader; LoaderFactory_1.LoaderFactory.registerLoader('MODULE', ModuleLoader.createModuleLoader); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlTG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ltcGwvTW9kdWxlTG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUE0QjtBQUM1QiwwREFBNkI7QUFDN0IsOENBQTJDO0FBRTNDLG9EQUFpRDtBQUVqRCxNQUFhLFlBQVk7SUFJdkIsWUFBWSxTQUFpQjtRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSTtRQUNGLCtCQUErQjtRQUMvQixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDN0IsQ0FBQztRQUNELE1BQU0sY0FBYyxHQUF3QixFQUFFLENBQUM7UUFDL0MsTUFBTSxXQUFXLEdBQUcsdUJBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUU3QyxNQUFNLEtBQUssR0FBRyxnQkFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDaEUsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN6QixNQUFNLFFBQVEsR0FBRyxtQkFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2pELE1BQU0sYUFBYSxHQUFHLHVCQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BELEtBQUssTUFBTSxLQUFLLElBQUksYUFBYSxFQUFFLENBQUM7Z0JBQ2xDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUMxRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFZO1FBQ3BDLE9BQU8sSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztDQUNGO0FBL0JELG9DQStCQztBQUVELDZCQUFhLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQyJ9