All files / set/src intersection.ts

100% Statements 5/5
100% Branches 0/0
100% Functions 3/3
100% Lines 3/3

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 191x                             8x 8x    
import { filter } from "./filter";
 
/**
 *
 * @example
 * Intersection between two sets
 * ```
 * const setA = new Set([1,2]);
 * const setB = new Set([2,3]);
 * const diff = intersection(setA, setB);
 * console.log(diff); // Set([2])
 * ```
 *
 * @returns
 */
export const intersection = <T>(setA: Set<T>): ((setB: Set<T>) => Set<T>) => {
  return filter((element) => setA.has(element));
};