move helpers to new workspace folder
This commit is contained in:
13
packages/helpers/omit.ts
Normal file
13
packages/helpers/omit.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
export function omit<Subject extends object, Key extends PropertyKey>(
|
||||
subject: Subject,
|
||||
keys: 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)) {
|
||||
result[key] = subject[key]
|
||||
}
|
||||
}
|
||||
return result
|
||||
}
|
||||
Reference in New Issue
Block a user