UNPKG

core-mvc

Version:

Simple but powerful MVC framework for NodeJS.

41 lines (40 loc) 1.71 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.retrieveTasks = exports.initializeControllers = void 0; const controllerRegistry_1 = __importDefault(require("./controllerRegistry")); const gqlHandler_1 = __importDefault(require("./gqlHandler")); const taskRegistry_1 = __importDefault(require("./taskRegistry")); const taskSymbols_1 = require("./taskSymbols"); const initializeControllers = (container) => { for (const controller of controllerRegistry_1.default) { // eslint-disable-next-line @typescript-eslint/no-explicit-any const instance = container.get(controller.constructor); for (const name of Reflect.ownKeys(controller)) { (0, gqlHandler_1.default)(controller, instance, name); } } }; exports.initializeControllers = initializeControllers; const retrieveTasks = (container) => { const result = []; for (const controller of taskRegistry_1.default) { // eslint-disable-next-line @typescript-eslint/no-explicit-any const instance = container.get(controller.constructor); for (const name of Reflect.ownKeys(controller)) { const taskName = Reflect.getMetadata(taskSymbols_1.taskPropertySymbol, controller, name); if (taskName) { result.push({ name, run: (...args) => instance[name](...args), controller, instance, }); } } } return result; }; exports.retrieveTasks = retrieveTasks;