14 lines
348 B
TypeScript
14 lines
348 B
TypeScript
export function without<T, R extends Record<string, T>, K extends keyof R>(
|
|
items: R,
|
|
key: K,
|
|
): Pick<R, Exclude<keyof R, K>> {
|
|
return Object.keys(items).reduce((obj, k) => {
|
|
/* tslint:disable-next-line */
|
|
if (key == k) {
|
|
return obj
|
|
}
|
|
(obj as any)[k] = items[k]
|
|
return obj
|
|
}, {} as Pick<R, Exclude<keyof R, K>>)
|
|
}
|