Comparing version 0.0.17 to 0.0.18
@@ -27,3 +27,3 @@ import { LinkedAbortController } from 'linked-abort-controller'; | ||
protected getContainer<T extends Container = Container>(instance: any): T | null; | ||
protected createInstance(tag: Tag<any>, args: any[], currentContainer: Container, config?: Partial<ContainerConfig>): any; | ||
protected createInstance(tag: Tag<any>, args: any[], container: Container): any; | ||
destroy(instance?: any): void; | ||
@@ -30,0 +30,0 @@ } |
@@ -41,3 +41,3 @@ /* eslint-disable no-prototype-builtins */ | ||
} | ||
const instance = rootContainer.createInstance(tag, args, rootContainer, tag.injectConfig.__); | ||
const instance = rootContainer.createInstance(tag, args, rootContainer); | ||
return instance; | ||
@@ -55,3 +55,8 @@ } | ||
} | ||
break; | ||
if (this.path.length > 0) { | ||
return this.createInstance(tag, args, currentContainer); | ||
} | ||
else { | ||
return this.createInstance(tag, args, currentContainer.extend((tag.injectConfig.__ || {}))); | ||
} | ||
} | ||
@@ -62,3 +67,3 @@ default: { | ||
} | ||
const instance = this.createInstance(tag, args, currentContainer, tag.injectConfig.__); | ||
const instance = this.createInstance(tag, args, currentContainer.extend((tag.injectConfig.__ || {}))); | ||
return instance; | ||
@@ -124,4 +129,3 @@ } | ||
} | ||
createInstance(tag, args, currentContainer, config) { | ||
const container = currentContainer.extend(config); | ||
createInstance(tag, args, container) { | ||
const index = this.path.push(container) - 1; | ||
@@ -128,0 +132,0 @@ const instance = tag.createValue(...args); |
@@ -56,3 +56,3 @@ import { LinkedAbortController } from 'linked-abort-controller'; | ||
scope: 'singleton', | ||
__: { id: 'signleton' }, | ||
__: { id: 'singleton' }, | ||
}); | ||
@@ -93,4 +93,5 @@ class ContaineredEntity { | ||
const mainContainerExpect = container._children[0]; | ||
expect(mainContainerExpect._dependencies.length).toBe(1); | ||
expect(mainContainerExpect._dependencies[0]).toBeInstanceOf(Main); | ||
expect(mainContainerExpect._dependencies.length).toBe(2); | ||
expect(mainContainerExpect._dependencies[0]).toBeInstanceOf(ContaineredEntity); | ||
expect(mainContainerExpect._dependencies[1]).toBeInstanceOf(Main); | ||
}); | ||
@@ -139,3 +140,3 @@ it('complex', () => { | ||
expect(Dog.contstructorSpy).toBeCalledTimes(1); | ||
expect(ContainerMock.contstructorSpy).toBeCalledTimes(5); | ||
expect(ContainerMock.contstructorSpy).toBeCalledTimes(4); | ||
}); | ||
@@ -152,3 +153,3 @@ it('destroy', () => { | ||
} | ||
container.register(Deep1, { scope: 'container' }); | ||
container.register(Deep1, { scope: 'transient' }); | ||
class Deep2 { | ||
@@ -160,3 +161,3 @@ deep1 = container.inject(Deep1); | ||
} | ||
container.register(Deep2, { scope: 'container' }); | ||
container.register(Deep2, { scope: 'transient' }); | ||
class Deep3 { | ||
@@ -168,3 +169,3 @@ deep3 = container.inject(Deep2); | ||
} | ||
container.register(Deep3, { scope: 'container' }); | ||
container.register(Deep3, { scope: 'transient' }); | ||
class Deep4 { | ||
@@ -176,3 +177,3 @@ deep3 = container.inject(Deep3); | ||
} | ||
container.register(Deep4, { scope: 'container' }); | ||
container.register(Deep4, { scope: 'transient' }); | ||
class Deep5 { | ||
@@ -184,3 +185,3 @@ deep4 = container.inject(Deep4); | ||
} | ||
container.register(Deep5, { scope: 'container' }); | ||
container.register(Deep5, { scope: 'transient' }); | ||
const deep5 = container.inject(Deep5); | ||
@@ -187,0 +188,0 @@ const deep5Container = container._findContainer(deep5); |
{ | ||
"name": "mobidic", | ||
"version": "0.0.17", | ||
"version": "0.0.18", | ||
"keywords": [], | ||
@@ -5,0 +5,0 @@ "author": "js2me", |
Sorry, the diff of this file is not supported yet
32514
608