types-kit.strictomit.md
September 4, 2023 ยท View on GitHub
Home > types-kit > StrictOmit
StrictOmit type
Strict version of Omit.
Signature:
export type StrictOmit<T, K extends Keys<T>> = {
[P in keyof T as P extends StrictExclude<
Keys<T>,
OtherToString<K> extends infer V
? [V] extends [Keys<T>]
? V
: never
: never
>
? P
: never]: T[P]
}
References: Keys, StrictExclude, OtherToString
Example
interface Props = { a: 1, b: 2, c: 3 }
// Expect: { b: 2, c: 3 }
type PropValue = StrictOmit<Props, 'a'>