Skip to content

DI Bag API / index / Selection

Type Alias: Selection<R extends Registrations, C, K extends readonly unknown[], Operation extends string = "createIndependentContainer"> ​

ts
type Selection<R extends Registrations, C, K extends readonly unknown[], Operation extends string = 'createIndependentContainer'> = true extends IsUnion<K> ? InvalidSelection<Operation> : number extends K['length'] ? InvalidSelection<Operation> : K extends Required<K> ? [InvalidSelectionElements<K>] extends [never] ? [MissingSelectionKeys<R, K[number]> | InvalidSelectionMembers<R, C, K[number]>] extends [never] ? unknown : Unsatisfied<`${Operation} accepts existing names or typed tokens only: unknown ${NameText<MissingSelectionKeys<R, K[number]> | InvalidSelectionMembers<R, C, K[number]>>}${SeeErrors<'unknown-key'>}`, {
    extra: MissingSelectionKeys<R, K[number]> | InvalidSelectionMembers<R, C, K[number]>;
}> : InvalidSelection<Operation> : InvalidSelection<Operation>;

Defined in: types.ts:325

Validate a finite tuple of existing singleton names or genuine typed tokens.

Type Parameters ​

Type ParameterDescription
R-
C-
K-
Operation-

See ​

https://dany-fedorov.github.io/di-bag/guides/tutorial.html#create-an-independent-container

Ordinary services. Checked composition. Explicit ownership.