UNPKG

@jschmold/kor

Version:

`npm i mocha ts-node typedoc typescript --global`

35 lines (34 loc) 1.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var controller_1 = require("./controller"); var model_1 = require("./model"); function ApplicationModule(opts) { return function (constructor) { constructor.prototype._moduleOptions = opts; }; } exports.ApplicationModule = ApplicationModule; function getOpts(arg) { var proto = arg.prototype || arg.constructor.prototype; var modOpts = proto._moduleOptions; if (modOpts == null || (modOpts.controllers == null && modOpts.models == null)) { console.warn('An empty module is being loaded'); } return modOpts || { models: [], controllers: [] }; } function getControllers(arg) { return arg.controllers || []; } function getModels(opts) { return opts.models || []; } function LoadModule(arg) { var opts = getOpts(arg); var models = getModels(opts); console.debug(models.length + " models in " + arg.name); models.forEach(model_1.bindModel); var controllers = getControllers(opts); console.debug(controllers.length + " controllers in " + arg.name); controllers.forEach(controller_1.bindRouteable); } exports.LoadModule = LoadModule;