mirror of
https://github.com/Unleash/unleash.git
synced 2024-11-01 19:07:38 +01:00
13ef025fab
* refactor: remove most schema refs * refactor: generalize request/response schemas * refactor: simplify schema date formats * refactor: add soft response schema validation * refactor: fix emptySchema definition * refactor: update json-schema-to-ts and use refs
23 lines
533 B
TypeScript
23 lines
533 B
TypeScript
interface 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;
|
|
};
|