I need to declare a type such that removes the undefined from its property types.
Suppose we have:
type Type1{
prop?: number;
}
type Type2{
prop: number | undefined;
}
type Type3{
prop: number;
}
I need to define a generic type called NoUndefinedField<T>
such that NoUndefinedField<Type1>
gives the same type as Type3
and the same type as NoUndefinedField<Type2>
.
I tried this
type NoUndefinedField<T> = { [P in keyof T]: Exclude<T[P], null | undefined> };
But it only works for Type2
.
question from:
https://stackoverflow.com/questions/53050011/remove-null-or-undefined-from-properties-of-a-type 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…