The original type from which to derive the new type.
A subset of keys from T
that should remain required in the resulting type.
type User = {
id: number;
name: string;
email: string;
};
type UserUpdate = PartialExcept<User, 'email'>; // Result: { id?: number; name?: string; email: string; }
PartialExcept<T, K extends keyof T>
is a utility type that makes all properties ofT
optional except for the properties specified inK
, which are required. This is useful for scenarios where you want to enforce that certain fields must be present while allowing others to be omitted.