{"version":3,"sources":["../../../src/lib/omitKeysFromObject.ts"],"names":["deepClone"],"mappings":";;;;;;AAYO,SAAS,kBAAA,CACf,WACG,IACwB,EAAA;AAC3B,EAAM,MAAA,KAAA,GAAQA,wBAAU,MAAM,CAAA;AAE9B,EAAA,KAAA,MAAW,OAAO,IAAM,EAAA;AACvB,IAAQ,OAAA,CAAA,cAAA,CAAe,OAAO,GAAG,CAAA;AAAA;AAGlC,EAAO,OAAA,KAAA;AACR;AAXgB,MAAA,CAAA,kBAAA,EAAA,oBAAA,CAAA","file":"omitKeysFromObject.cjs","sourcesContent":["import { deepClone } from './deepClone';\n\n/**\n * Clones the source object using {@link deepClone} then deletes the specified keys with {@link Reflect.deleteProperty}\n *\n * @template Object - The object type.\n * @template ObjectKeys - The keys of the object type.\n *\n * @param source - The input object.\n * @param keys - The keys to omit from the object.\n * @returns A new object without the specified keys.\n */\nexport function omitKeysFromObject<Object extends object, ObjectKeys extends keyof Object>(\n\tsource: Object,\n\t...keys: readonly ObjectKeys[]\n): Omit<Object, ObjectKeys> {\n\tconst clone = deepClone(source);\n\n\tfor (const key of keys) {\n\t\tReflect.deleteProperty(clone, key);\n\t}\n\n\treturn clone;\n}\n"]}