All files / set/src union.ts

100% Statements 5/5
100% Branches 0/0
100% Functions 2/2
100% Lines 4/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 231x 1x                               7x     7x    
import { addAll } from "./addAll";
import { copy } from "./copy";
import { SetCompatible } from "./_types";
 
/**
 *
 * @example
 * Union of two sets
 * ```
 * const setA = new Set([1,2]);
 * const setB = new Set([2,3]);
 * const sum = union(setA)(setB);
 * console.log(sum); // Set([1,2,3])
 * ```
 *
 * @returns
 */
export const union = <T>(
  setA: Set<T>
): ((setB: SetCompatible<T>) => Set<T>) => {
  return addAll(copy(setA));
};