Skip to content

DI Bag API / index / Overrides

Type Alias: Overrides<F extends Registrations, O extends Registrations, K extends readonly unknown[] = readonly [], Operation extends string = "createIndependentContainer"> ​

ts
type Overrides<F extends Registrations, O extends Registrations, K extends readonly unknown[] = readonly [], Operation extends string = 'createIndependentContainer'> = unknown extends CollectionOverrideAdmission<K, O> ? [Exclude<keyof O, keyof SelectionRegistrations<F, K>>] extends [never] ? [BadOverrides<SelectionRegistrations<F, K>, O>] extends [never] ? unknown : Unsatisfied<`replacement value is not assignable to the original token: ${NameText<BadOverrides<SelectionRegistrations<F, K>, O>>}${SeeErrors<'wrong-override'>}`, {
    tokens: BadOverrides<SelectionRegistrations<F, K>, O>;
}> : Unsatisfied<`${Operation} accepts existing names or typed tokens only: unknown ${NameText<Exclude<keyof O, keyof SelectionRegistrations<F, K>>>}${SeeErrors<'unknown-key'>}`, {
    extra: Exclude<keyof O, keyof SelectionRegistrations<F, K>>;
}> : CollectionOverrideAdmission<K, O>;

Defined in: types.ts:230

Admit replacements only for existing keys whose service values remain assignable.

Type Parameters ​

Type ParameterDescription
F-
O-
K-
Operation-

See ​

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

Ordinary services. Checked composition. Explicit ownership.