DI Bag API / index / CheckDependencyCompatibility
Type Alias: CheckDependencyCompatibility<R extends Registrations>
ts
type CheckDependencyCompatibility<R extends Registrations> = [
InvalidNeeds<R> | NonFiniteKeys<R> | Extract<keyof R, number>
] extends [never] ? [InvalidGraphs<R>] extends [never] ? [WrongShapes<R>] extends [never] ? unknown : Unsatisfied<WrongShapeMessage, {
tokens: WrongShapes<R>;
relationships: WrongRelationships<R, WrongShapes<R>>;
}> : Unsatisfied<'token dependency has an incompatible or opaque contract', {
tokens: InvalidGraphs<R>;
}> : [NonFiniteKeys<R> | Extract<keyof R, number>] extends [never] ? Unsatisfied<'factory dependencies must be finite string-keyed objects', {
tokens: InvalidNeeds<R>;
}> : Unsatisfied<'service keys must be finite string or unique-symbol keys', {
keys: NonFiniteKeys<R> | Extract<keyof R, number>;
}>;Defined in: types.ts:149
Compile-time admission for finite dependency objects and compatible known services.
Type Parameters
| Type Parameter | Description |
|---|---|
R | - |
See
https://dany-fedorov.github.io/di-bag/agent/errors.html#unsatisfied-consumer