mirror of
https://github.com/Unleash/unleash.git
synced 2025-02-04 00:18:01 +01:00
53354224fc
Upgrades biome to 1.6.1, and updates husky pre-commit hook. Most changes here are making type imports explicit.
24 lines
535 B
TypeScript
24 lines
535 B
TypeScript
export type OmitKeys = <T extends object, K extends [...(keyof T)[]]>(
|
|
obj: T,
|
|
...keys: K
|
|
) => {
|
|
[K2 in Exclude<keyof T, K[number]>]: T[K2];
|
|
};
|
|
|
|
// https://stackoverflow.com/questions/53966509/typescript-type-safe-omit-function
|
|
export const omitKeys: OmitKeys = (obj, ...keys) => {
|
|
const ret = {} as {
|
|
[K in keyof typeof obj]: (typeof obj)[K];
|
|
};
|
|
|
|
let key: keyof typeof obj;
|
|
|
|
for (key in obj) {
|
|
if (!keys.includes(key)) {
|
|
ret[key] = obj[key];
|
|
}
|
|
}
|
|
|
|
return ret;
|
|
};
|