UNPKG

@monstermann/fn

Version:

A utility library for TypeScript.

28 lines (26 loc) 604 B
import { dfdlT } from "@monstermann/dfdl"; import { cloneSet } from "@monstermann/remmi"; //#region src/set/add.ts /** * `add(target, value)` * * Adds a `value` to the `target` set and returns a new set. * * ```ts * add(new Set([1, 2]), 3); // Set([1, 2, 3]) * add(new Set([1, 2]), 2); // Set([1, 2]) * ``` * * ```ts * pipe(new Set([1, 2]), add(3)); // Set([1, 2, 3]) * pipe(new Set([1, 2]), add(2)); // Set([1, 2]) * ``` */ const add = dfdlT((target, value) => { if (target.has(value)) return target; target = cloneSet(target); target.add(value); return target; }, 2); //#endregion export { add };