UNPKG

@restmatic/server

Version:

The core Pomegranate plugins for RestMatic

42 lines 1.89 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); /** * @file PreRouter * @author Jim Bulkowski <jim.b@paperelectron.com> * @project server * @license MIT {@link http://opensource.org/licenses/MIT} */ const fp_1 = require("lodash/fp"); const plugin_tools_1 = require("@pomegranate/plugin-tools"); exports.ExpressConfiguration = plugin_tools_1.CreatePlugin('action') .directories([{ path: '.', prop: 'root' }]) .configuration({ name: 'ExpressConfiguration', optional: ['@restmatic/Core'] }) .hooks({ load: (Injector, PluginLogger, PluginVariables, PluginFiles, Middleware, ExpressConfig) => __awaiter(this, void 0, void 0, function* () { PluginLogger.log('Configuring Express Application', 1); let files = yield PluginFiles('root').fileList({ ext: '.js' }); let ready = fp_1.map((file) => { let required = require(file.path); PluginLogger.log(file.getBaseName()); return required.ExpressSetting; }, files); let toInject = fp_1.filter((fn) => { return fp_1.isFunction(fn); }, ready); fp_1.each((settingFn) => { Injector.inject(settingFn); }, toInject); }) }); //# sourceMappingURL=ExpressConfiguration.js.map