Injector
Concrete injectors implement this interface. Injectors are configured with providers that associate dependencies of various types with injection tokens.
get
4 overloadsRetrieves an instance from the injector based on the provided token.
undefinedTThe instance from the injector if defined, otherwise the notFoundValue.
Retrieves an instance from the injector based on the provided token.
null | undefinedT | nullThe instance from the injector if defined, otherwise the notFoundValue.
Retrieves an instance from the injector based on the provided token.
T | undefinedTThe instance from the injector if defined, otherwise the notFoundValue.
create
2 overloadsCreates a new injector instance that provides one or more dependencies,
according to a given type or types of StaticProvider.
{ providers: (any[] | TypeProvider | ValueProvider | ClassProvider | ConstructorProvider | ExistingProvider | FactoryProvider | StaticClassProvider)[]; parent?: Injector | undefined; name?: string | undefined; }An object with the following properties:
providers: An array of providers of the StaticProvider type.parent: (optional) A parent injector.name: (optional) A developer-defined identifying name for the new injector.
Usage Notes
The following example creates a service injector instance.
class Square {
name = 'square';
}
const injector = Injector.create({providers: [{provide: Square, deps: []}]});
const shape: Square = injector.get(Square);
expect(shape.name).toEqual('square');
expect(shape instanceof Square).toBe(true);