UNPKG

@restmatic/server

Version:

The core Pomegranate plugins for RestMatic

42 lines 1.5 kB
"use strict"; /** * @file ExpressCore * @author Jim Bulkowski <jim.b@paperelectron.com> * @project server * @license MIT {@link http://opensource.org/licenses/MIT} */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const plugin_tools_1 = require("@pomegranate/plugin-tools"); const express_1 = __importDefault(require("express")); const configRouter = (configOptions) => () => express_1.default.Router(configOptions); exports.ExpressCorePlugin = plugin_tools_1.CreatePlugin('composite') .configuration({ name: 'Core', }) .variables({ routerOptions: { caseSensitive: true, mergeParams: false, strict: false } }) .hooks({ load: (PluginVariables, Injector) => { let App = express_1.default(); return [ { injectableScope: 'application', injectableParam: 'Express', load: App }, { injectableScope: 'application', injectableParam: 'Router', load: configRouter(PluginVariables.routerOptions), type: 'factory' }, { injectableScope: 'namespace', injectableParam: 'Middleware', load: {}, type: 'merge' }, { injectableScope: 'application', injectableParam: 'ExpressConfig', load: {}, type: 'merge' } ]; } }); //# sourceMappingURL=ExpressCore.js.map