UNPKG

dinoloop-es8

Version:

A lightweight REST API Library for building scalable Node.js server-side applications powered by Typescript

22 lines 1.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const utility_1 = require("../utility"); class DIContainer { constructor(injector, cb) { this.injector = injector; this.cb = cb; } // resolve the component from the di container // If no resolve callback is registered, that means no DI framework is configured. // for such cases just instantiate the component with 'new operator'. // this flexibility is added to make it work without DI framework resolve(type) { return (!utility_1.DataUtility.isUndefinedOrNull(this.cb)) ? this.cb(this.injector, type) : new type(); } static create(injector, cb) { return new DIContainer(injector, cb); } } exports.DIContainer = DIContainer; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kdWxlcy9jb3JlL2RpY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsd0NBQXlDO0FBR3pDO0lBQ0ksWUFBb0IsUUFBYSxFQUFVLEVBQU87UUFBOUIsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQUFVLE9BQUUsR0FBRixFQUFFLENBQUs7SUFBSSxDQUFDO0lBRXZELDhDQUE4QztJQUM5QyxrRkFBa0Y7SUFDbEYscUVBQXFFO0lBQ3JFLGlFQUFpRTtJQUNqRSxPQUFPLENBQUksSUFBUztRQUNoQixPQUFPLENBQUMsQ0FBQyxxQkFBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQWEsRUFBRSxFQUFPO1FBQ2hDLE9BQU8sSUFBSSxXQUFXLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Q0FDSjtBQWZELGtDQWVDIn0=