@restmatic/server
Version:
The core Pomegranate plugins for RestMatic
42 lines • 1.5 kB
JavaScript
;
/**
* @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