[go: up one dir, main page]

Injector assumes it should be used to resolve all dependencies

When dependency is added using different namespace/injector, then it cannot be resolved. Example:

const namespace = Container.for('Engines');

@Injectable(namespace) class Engine {}
@Injectable() class Car {
  constructor(@Inject(Engine, namespace) public engine: Engine) {}
}

const car = Container.provide(Car);

Error will be thrown:

Error: Cannot provide [object InjectionToken<Engine>]
    at Injector.provide (src\injector.ts:120:11)
    at Reflect.construct.parameters.map (src\injector.ts:126:83)
    at Array.map (<anonymous>)
    at Injector.construct (src\injector.ts:126:59)
    at Injector.provide (src\injector.ts:111:61)
    at Function.provide (src\container.ts:32:42)
    at Context.it (src\decorators\inject.spec.ts:65:29)