UNPKG

@monstermann/fn

Version:

A utility library for TypeScript.

28 lines (26 loc) 651 B
import { dfdlT } from "@monstermann/dfdl"; import { markAsMutable } from "@monstermann/remmi"; //#region src/object/omit.ts /** * `omit(target, keys)` * * Creates a new object excluding the properties specified in the `keys` iterable. * * ```ts * omit({ a: 1, b: 2, c: 3 }, ["a", "c"]); // { b: 2 } * ``` * * ```ts * pipe({ a: 1, b: 2, c: 3 }, omit(["a", "c"])); // { b: 2 } * ``` */ const omit = dfdlT((target, keys) => { for (const key of keys) if (key in target) { const result = {}; for (const k in target) if (!keys.includes(k)) result[k] = target[k]; return markAsMutable(result); } return target; }, 2); //#endregion export { omit };