The type of the input record
The key path tuple
A new record with the nested property at the path removed
const data = { a: { b: { c: 1, d: 2 }, e: 3 }, f: 4 } as const;
// Direct usage
const result = Obj.deepOmit(data, ['a', 'b', 'c']);
assert.deepStrictEqual(result, { a: { b: { d: 2 }, e: 3 }, f: 4 });
// Curried usage with pipe
const omitPassword = Obj.deepOmit(['user', 'password']);
const result2 = pipe(data).map(omitPassword).value;
Deeply omits a nested property from an object along the specified key path. Supports both direct and curried usage.
The key path tuple
A readonly tuple of keys representing the nested path to omit
A new record with the nested property at the path removed
const data = { a: { b: { c: 1, d: 2 }, e: 3 }, f: 4 } as const;
// Direct usage
const result = Obj.deepOmit(data, ['a', 'b', 'c']);
assert.deepStrictEqual(result, { a: { b: { d: 2 }, e: 3 }, f: 4 });
// Curried usage with pipe
const omitPassword = Obj.deepOmit(['user', 'password']);
const result2 = pipe(data).map(omitPassword).value;
Deeply omits a nested property from an object along the specified key path. Supports both direct and curried usage.