We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Now we have Mapped Types and keyof, we could add a subtraction operator that only works on literal types:
type Omit<T, K extends keyof T> = { [P in keyof T - K]: T[P]; }; type Overwrite<T, K> = K & { [P in keyof T - keyof K]: T[P]; }; type Item1 = { a: string, b: number, c: boolean }; type Item2 = { a: number }; type T1 = Omit<Item1, "a"> // { b: number, c: boolean }; type T2 = Overwrite<Item1, Item2> // { a: number, b: number, c: boolean };
Now we have Mapped Types and keyof, we could add a subtraction operator that only works on literal types: