UNPKG

ioc-lite

Version:

IoC Container library which helps to keep inversion of control principle by using DI pattern for javascript/typescript projects

27 lines 929 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); class ClassResource { constructor(resource, resolveDependency) { this._cache = null; this._resource = resource; this._resolveDependency = resolveDependency; this._dependencies = resource.$inject || []; this._singleton = typeof (resource.$singleton) === 'boolean' ? resource.$singleton : false; } _resolveDependencies() { return this._dependencies.map(this._resolveDependency); } resolve() { if (this._cache && this._singleton) { return this._cache; } const dependencies = this._resolveDependencies(); const resource = new this._resource(...dependencies); if (this._singleton) { this._cache = resource; } return resource; } } exports.default = ClassResource; //# sourceMappingURL=class.resource.js.map