All files / set/src toggle.ts

100% Statements 4/4
100% Branches 2/2
100% Functions 3/3
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                            14x 3x 14x 17x    
/**
 *
 * @mutation
 *
 * @example
 * Toggle a value
 * ```ts
 * const set = new Set([1,2,3]);
 * toggle(set)(2);
 * console.log(set); // Set([1,3]);
 * ```
 *
 * @returns
 */
export const toggle =
  <T>(set: Set<T>) =>
  (value: T): void => {
    set.has(value) ? set.delete(value) : set.add(value);
  };