UNPKG

@elsikora/cladi

Version:

Zero-dependency TypeScript DI toolkit with typed tokens and scoped lifecycles.

14 lines 1.03 kB
import type { IClassProvider } from '../../../../domain/interface/index'; import type { Constructor, Token } from '../../../../domain/type/index'; import type { ICreateAutowireProviderOptions } from '../../interface/index'; /** * Creates a class provider using explicit options and optional class metadata. * @param {Constructor<T>} useClass Class constructor to instantiate. * @param {ICreateAutowireProviderOptions<T>} options Explicit provider options. * @returns {IClassProvider<T>} Class provider definition. * @template T Provider instance type. */ export declare function createAutowireProvider<T, TDependencies extends ReadonlyArray<Token<unknown>> = ReadonlyArray<Token<unknown>>>(useClass: Constructor<T, number extends TDependencies["length"] ? Array<never> : { [Index in keyof TDependencies]: TDependencies[Index] extends Token<infer TValue> ? TValue : never; }>, options: ICreateAutowireProviderOptions<T, TDependencies>): IClassProvider<T, TDependencies>; //# sourceMappingURL=autowire-provider.utility.d.ts.map