UNPKG

mframejs

Version:
47 lines 1.49 kB
Object.defineProperty(exports, "__esModule", { value: true }); var dep = new Map(); var singelton = new Map(); var transient = new Map(); var ContainerClasses = (function () { function ContainerClasses() { } ContainerClasses.get = function (_class) { var instance = this.getInstance(_class); return instance; }; ContainerClasses.getInstance = function (_class) { if (transient.has(_class)) { return this.create(_class); } else { if (!singelton.get(_class)) { singelton.set(_class, this.create(_class)); } return singelton.get(_class); } }; ContainerClasses.create = function (_class) { var _this = this; var deps = dep.get(_class) || []; deps = deps.map(function (classX) { try { return _this.get(classX); } catch (e) { return classX; } }); return new (_class.bind.apply(_class, [void 0].concat(deps)))(); }; ContainerClasses.setDep = function (_class, deps) { dep.set(_class, deps); }; ContainerClasses.regTransient = function (_class) { if (!transient.has(_class)) { transient.set(_class, null); } }; return ContainerClasses; }()); exports.ContainerClasses = ContainerClasses; //# sourceMappingURL=containerClasses.js.map