Create a new object without the specified keys. Rest of object without blacklist.
export function omit<T extends object, K extends keyof T>(
obj: T,
keys: K[]
): Omit<T, K> {
const set = new Set(keys);
return Object.fromEntries(
Object.entries(obj).filter(([k]) => !set.has(k as K))
) as Omit<T, K>;
}
// omit({ a: 1, b: 2, c: 3 }, ['b']) => { a: 1, c: 3 }
Pass an object and keys to exclude. Returns a new object without those keys.
Strip internal or sensitive fields before serialization.
omit(config, ['secret', 'internal']);