UNPKG

mframejs

Version:
41 lines 1.12 kB
const dep = new Map(); const singelton = new Map(); const transient = new Map(); export class ContainerClasses { static get(_class) { const instance = this.getInstance(_class); return instance; } static getInstance(_class) { if (transient.has(_class)) { return this.create(_class); } else { if (!singelton.get(_class)) { singelton.set(_class, this.create(_class)); } return singelton.get(_class); } } static create(_class) { let deps = dep.get(_class) || []; deps = deps.map((classX) => { try { return this.get(classX); } catch (e) { return classX; } }); return new _class(...deps); } static setDep(_class, deps) { dep.set(_class, deps); } static regTransient(_class) { if (!transient.has(_class)) { transient.set(_class, null); } } } //# sourceMappingURL=containerClasses.js.map