| Current Path : /usr/local/lib/node_modules/@google/gemini-cli/node_modules/es-toolkit/dist/compat/object/ |
| Current File : //usr/local/lib/node_modules/@google/gemini-cli/node_modules/es-toolkit/dist/compat/object/omit.mjs |
import { unset } from './unset.mjs';
import { cloneDeep } from '../../object/cloneDeep.mjs';
function omit(obj, ...keysArr) {
if (obj == null) {
return {};
}
const result = cloneDeep(obj);
for (let i = 0; i < keysArr.length; i++) {
let keys = keysArr[i];
switch (typeof keys) {
case 'object': {
if (!Array.isArray(keys)) {
keys = Array.from(keys);
}
for (let j = 0; j < keys.length; j++) {
const key = keys[j];
unset(result, key);
}
break;
}
case 'string':
case 'symbol':
case 'number': {
unset(result, keys);
break;
}
}
}
return result;
}
export { omit };