pragmatic-fp-ts
Version:
Opinionated functional programming library with easy use in mind
12 lines (8 loc) • 326 B
text/typescript
export function union<A>(a: A[], b: A[]): A[];
export function union<A>(a: A[]): (b: A[]) => A[];
export function union<A>(a: A[], b?: A[]) {
if (arguments.length === 1) return (b_: A[]) => union(a, b_);
const values = new Set(a || []);
(b || []).forEach((value) => values.add(value));
return Array.from(values);
}