diff --git a/webui/src/utils/omit.test.ts b/webui/src/utils/omit.test.ts new file mode 100644 index 00000000..7748deaf --- /dev/null +++ b/webui/src/utils/omit.test.ts @@ -0,0 +1,22 @@ +import { expect, it } from 'vitest'; +import { omit } from './omit'; + +it('test omit', () => { + const obj = { + a: 1, + b: 2, + c: 3, + d: 4, + }; + + expect(omit(obj, ['a'])).toStrictEqual({ + b: 2, + c: 3, + d: 4, + }); + + expect(omit(obj, ['b', 'c'])).toStrictEqual({ + a: 1, + d: 4, + }); +}); diff --git a/webui/src/utils/omit.ts b/webui/src/utils/omit.ts new file mode 100644 index 00000000..63d0b180 --- /dev/null +++ b/webui/src/utils/omit.ts @@ -0,0 +1,12 @@ +export function omit( + obj: T, + omitKeys: Array +) { + return Object.keys(obj).reduce((acc, key) => { + if (omitKeys.includes(key)) { + return acc; + } else { + return { ...acc, [key]: obj[key] }; + } + }, {}); +}