ugly hack on omit
This commit is contained in:
@@ -1,10 +1,9 @@
|
||||
import type { Except } from "type-fest"
|
||||
|
||||
// eslint-disable-next-line import/no-unused-modules
|
||||
export function omit<Subject extends object, Key extends keyof Subject>(
|
||||
export function omit<Subject extends object, Key extends PropertyKey>(
|
||||
subject: Subject,
|
||||
keys: Key[],
|
||||
): Except<Subject, Key> {
|
||||
// hack: using a conditional type preserves union types
|
||||
): Subject extends any ? Omit<Subject, Key> : never {
|
||||
const result: any = {}
|
||||
for (const key in subject) {
|
||||
if (!keys.includes(key as unknown as Key)) {
|
||||
|
||||
Reference in New Issue
Block a user