Begin abstracting global container into injector

This commit is contained in:
2021-06-17 19:34:32 -05:00
parent f00233d49a
commit 9796a7277e
6 changed files with 67 additions and 9 deletions

View File

@@ -1,4 +1,4 @@
import {Container} from '../di'
import {Container, ContainerBlueprint} from '../di'
import {
ErrorWithContext,
globalRegistry,
@@ -52,6 +52,11 @@ export class Application extends Container {
const existing = <Container | undefined> globalRegistry.getGlobal('extollo/injector')
if ( !existing ) {
const container = new Application()
ContainerBlueprint.getContainerBlueprint()
.resolve()
.map(factory => container.registerFactory(factory))
globalRegistry.setGlobal('extollo/injector', container)
return container
}
@@ -74,6 +79,11 @@ export class Application extends Container {
return app
} else {
const app = new Application()
ContainerBlueprint.getContainerBlueprint()
.resolve()
.map(factory => app.registerFactory(factory))
globalRegistry.setGlobal('extollo/injector', app)
return app
}