interface BindingToSyntaxLazy<M, T> {
    to(
        constructor: (module: M) => DI_Interfaces.Newable<T>,
    ): BindingInWhenOnSyntax<T>;
    toAutoFactory<T2>(
        serviceIdentifier: ServiceIdentifier<T2>,
    ): BindingWhenOnSyntax<T>;
    toAutoNamedFactory<T2>(
        serviceIdentifier: ServiceIdentifier<T2>,
    ): BindingWhenOnSyntax<T>;
    toConstantValue(value: (module: M) => T): BindingWhenOnSyntax<T>;
    toConstructor<T2>(
        constructor: (module: M) => DI_Interfaces.Newable<T2>,
    ): BindingWhenOnSyntax<T>;
    toDynamicValue(
        func: (module: M) => DynamicValue<T>,
    ): BindingInWhenOnSyntax<T>;
    toDynamicValue<
        D extends AnnotationWithCheck<unknown, Options>[],
        Options extends
            Readonly<
                {
                    lazy?: boolean;
                    multi?: boolean;
                    name?: string;
                    optional?: boolean;
                    tags?: Record<string | symbol, unknown>;
                },
            >,
    >(
        deps: Readonly<D>,
        func: (module: M) => DynamicCreatorWithParams<T, D, Options>,
    ): BindingInWhenOnSyntax<T>;
    toFactory<
        T2,
        T3 extends unknown[] = unknown[],
        T4 extends unknown[] = unknown[],
    >(
        factory: (module: M) => FactoryCreator<T2, T3, T4>,
    ): BindingWhenOnSyntax<T>;
    toFactory<
        D extends AnnotationWithCheck<unknown, Options>[],
        Options extends
            Readonly<
                {
                    lazy?: boolean;
                    multi?: boolean;
                    name?: string;
                    optional?: boolean;
                    tags?: Record<string | symbol, unknown>;
                },
            >,
    >(
        deps: Readonly<D>,
        factory: (module: M) => DynamicCreatorWithParams<T, D, Options>,
    ): BindingWhenOnSyntax<T>;
    toFunction(func: (module: M) => T): BindingWhenOnSyntax<T>;
    toProvider<T2>(
        provider: (module: M) => ProviderCreator<T2>,
    ): BindingWhenOnSyntax<T>;
    toProvider<
        D extends AnnotationWithCheck<unknown, Options>[],
        Options extends
            Readonly<
                {
                    lazy?: boolean;
                    multi?: boolean;
                    name?: string;
                    optional?: boolean;
                    tags?: Record<string | symbol, unknown>;
                },
            >,
    >(
        deps: Readonly<D>,
        provider: (module: M) => DynamicCreatorWithParams<T, D, Options>,
    ): BindingWhenOnSyntax<T>;
    toService(service: ServiceIdentifier<T>): void;
}

Type Parameters

  • M
  • T

Methods

  • Parameters

    Returns BindingInWhenOnSyntax<T>

  • Type Parameters

    • D extends AnnotationWithCheck<unknown, Options>[]
    • Options extends Readonly<
          {
              lazy?: boolean;
              multi?: boolean;
              name?: string;
              optional?: boolean;
              tags?: Record<string | symbol, unknown>;
          },
      >

    Parameters

    Returns BindingInWhenOnSyntax<T>

  • Type Parameters

    • T2
    • T3 extends unknown[] = unknown[]
    • T4 extends unknown[] = unknown[]

    Parameters

    Returns BindingWhenOnSyntax<T>

  • Type Parameters

    • D extends AnnotationWithCheck<unknown, Options>[]
    • Options extends Readonly<
          {
              lazy?: boolean;
              multi?: boolean;
              name?: string;
              optional?: boolean;
              tags?: Record<string | symbol, unknown>;
          },
      >

    Parameters

    Returns BindingWhenOnSyntax<T>

  • Type Parameters

    • T2

    Parameters

    Returns BindingWhenOnSyntax<T>

  • Type Parameters

    • D extends AnnotationWithCheck<unknown, Options>[]
    • Options extends Readonly<
          {
              lazy?: boolean;
              multi?: boolean;
              name?: string;
              optional?: boolean;
              tags?: Record<string | symbol, unknown>;
          },
      >

    Parameters

    Returns BindingWhenOnSyntax<T>

MMNEPVFCICPMFPCPTTAAATR