UNPKG

alpha-dic

Version:

Asynchronous dependency injection container

30 lines (29 loc) 1.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createStandard = void 0; const deprecated_1 = require("./middlewares/deprecated"); const Container_1 = require("./Container"); const Service_1 = require("./decorators/Service"); const activation_1 = require("./middlewares/activation"); const config_1 = require("./middlewares/config"); const ConfigProvider_1 = require("./ConfigProvider"); /** * Creates preconfigured container: * * has all middlewares registered * * @Service decorator uses new container * * configMiddleware that uses given config object */ function createStandard(options = {}) { const container = new Container_1.Container(options.parent); const opts = options || {}; const configureServiceDecorator = options.configureServiceDecorator === undefined ? true : options.configureServiceDecorator; if (configureServiceDecorator) { Service_1.Service.useContainer(container); } container .addMiddleware(activation_1.activationMiddleware) .addMiddleware(config_1.configMiddleware(ConfigProvider_1.configProviderForObject(opts.config || {}))) .addMiddleware(deprecated_1.deprecatedMiddleware(opts.deprecationMessageFunc)); return container; } exports.createStandard = createStandard;