// src/utils/objectUtils.ts

/**
 * Creates a new object by omitting specified keys from a source object.
 * This is a generic utility function similar to what's found in libraries like Lodash.
 * @param obj The source object.
 * @param keys An array of keys to omit from the new object.
 * @returns A new object without the specified keys.
 */
export function omit<T extends object, K extends keyof T>(obj: T, keys: K[]): Omit<T, K> {
  const newObj = { ...obj };
  for (const key of keys) {
    delete newObj[key];
  }
  return newObj;
}