alpha-dic
Version:
Asynchronous dependency injection container
30 lines (29 loc) • 1.3 kB
JavaScript
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;
;