UNPKG

@inversifyjs/container

Version:

InversifyJs container

29 lines 1.69 kB
import { LazyServiceIdentifier, ServiceIdentifier } from '@inversifyjs/common'; import { MetadataName, MetadataTag } from '@inversifyjs/core'; export type ResolvedValueInjectOptions<T> = LazyServiceIdentifier<T> | ResolvedValueMetadataInjectOptions<T> | ServiceIdentifier<T>; export type ResolvedValueMetadataInjectOptions<T> = [T] extends [ (infer U)[] | undefined ] ? [T] extends [U[]] ? MultipleResolvedValueMetadataInjectOptions<U> : MultipleOptionalResolvedValueMetadataInjectOptions<U> : T extends undefined ? OptionalResolvedValueMetadataInjectOptions<T> : BaseResolvedValueMetadataInjectOptions<T>; interface BaseResolvedValueMetadataInjectOptions<T> { name?: MetadataName; serviceIdentifier: ServiceIdentifier<T> | LazyServiceIdentifier<T>; tags?: ResolvedValueMetadataInjectTagOptions[]; } interface BaseMultipleResolvedValueMetadataInjectOptions { isMultiple: true; } interface BaseOptionalResolvedValueMetadataInjectOptions { optional: true; } export interface MultipleResolvedValueMetadataInjectOptions<T> extends BaseResolvedValueMetadataInjectOptions<T>, BaseMultipleResolvedValueMetadataInjectOptions { } interface MultipleOptionalResolvedValueMetadataInjectOptions<T> extends BaseResolvedValueMetadataInjectOptions<T>, BaseMultipleResolvedValueMetadataInjectOptions, BaseOptionalResolvedValueMetadataInjectOptions { } export interface OptionalResolvedValueMetadataInjectOptions<T> extends BaseResolvedValueMetadataInjectOptions<T>, BaseOptionalResolvedValueMetadataInjectOptions { } export interface ResolvedValueMetadataInjectTagOptions { key: MetadataTag; value: unknown; } export {}; //# sourceMappingURL=ResolvedValueInjectOptions.d.ts.map