Type Alias NotNever<T, N>
NotNever<T, N>: N extends [infer Head, ...(infer Tail)] ? Head extends string & keyof T ? [T[Head]] extends [never] ? { __error__: `${Head} is never`; } : Tail extends string[] ? NotNever<T, Tail extends (string & keyof T)[] ? Tail : []> : true : true : true Type Parameters
- T extends object
- N extends (string & keyof T)[]
Returns
true
if no property ofT
indicated inN
has anever
type.