Setu-TS
    Preparing search index...

    Interface IContainer

    Dependency injection container.

    const container = ctx.services.get<IContainer>(CAPABILITIES.DI_CONTAINER);
    container.register('UserService', {
    useClass: UserService,
    inject: [CAPABILITIES.DATABASE, CAPABILITIES.LOGGER],
    });
    const users = container.resolve<UserService>('UserService');

    0.1.0

    interface IContainer {
        createScope(): IContainer;
        dispose(): void | Promise<void>;
        forRequest(ctx: IRequestContext): IContainer;
        has(token: ContainerToken): boolean;
        register<T>(
            token: ContainerToken<T>,
            provider: Provider<T>,
            options?: ProviderOptions<T>,
        ): void;
        resolve<T>(token: InjectionToken<T> | Constructor<T>): T;
        resolve<T>(token: string): T;
        resolve<T>(token: ContainerToken<T>): T;
    }

    Implemented by

    Index
    • Disposes owned instances in reverse creation order, once.

      Returns void | Promise<void>

      A promise only if a disposal is asynchronous

      After all disposals run, if any failed

      0.11.0

    • Resolves an instance, constructing it (and its dependencies) as needed.

      Type Parameters

      • T

        The expected service type

      Parameters

      Returns T

      The resolved instance

      For invalid wiring, disposed scopes, or root resolution reaching scoped services or creating disposable transients outside singleton dependency graphs

      0.11.0

    • Resolves a string token with an explicitly chosen service type.

      Type Parameters

      • T

      Parameters

      • token: string

        Registered name

      Returns T

      The constructed or cached value

      For invalid wiring, disposed scopes, or root resolution reaching scoped services or creating disposable transients outside singleton dependency graphs

      0.11.0

    • Resolves a token held as the token union.

      Type Parameters

      • T

      Parameters

      Returns T

      The constructed or cached value

      For invalid wiring, disposed scopes, or root resolution reaching scoped services or creating disposable transients outside singleton dependency graphs

      0.11.0