UNPKG

pragmatic-fp-ts

Version:

Opinionated functional programming library with easy use in mind

17 lines (12 loc) 420 B
export function zip<A, B>(as: A[], bs: B[]): [A, B][]; export function zip<A, B>(as: A[]): (bs: B[]) => [A, B][]; export function zip<A, B>(as: A[], bs?: B[]) { if (arguments.length === 1) return (bs_: B[]) => zip(as, bs_); const result: [A, B][] = []; const aa = as || []; const bb = bs || []; for (let i = 0; i < aa.length && i < bb.length; ++i) { result.push([aa[i], bb[i]]); } return result; }