From 4ed69d14544e9371cb4754a56136cdcaf78d8c1d Mon Sep 17 00:00:00 2001 From: Trung Dang Date: Sun, 5 Oct 2025 20:30:34 +0700 Subject: [PATCH] feat(object): new `objectOmit` function --- src/object.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/object.ts b/src/object.ts index c64ebf3..de8d325 100644 --- a/src/object.ts +++ b/src/object.ts @@ -190,6 +190,17 @@ export function objectPick(obj: O, keys: T[ }, {} as Pick) } +/** + * Create a new subset object by omit giving keys + * + * @category Object + */ +export function objectOmit(obj: O, keys: T[], omitUndefined = false) { + return Object.fromEntries(Object.entries(obj).filter(([key, value]) => { + return (!omitUndefined || value !== undefined) && !keys.includes(key as T) + })) as Omit +} + /** * Clear undefined fields from an object. It mutates the object *