import * as tracing_1 from "../../../../Tracing"
import * as tracing_2 from "../../../../Tracing"
const fileName_1 = "(@effect-ts/system): _src/Collections/Immutable/Chunk/api/zipAll.ts"
import * as O from "../../../../Option"
import * as Tp from "../../Tuple"
import { zipAllWith_ } from "./zipAllWith"
/**
 * Zips this chunk with the specified chunk to produce a new chunk with
 * pairs of elements from each chunk, filling in missing values from the
 * shorter chunk with `None`. The returned chunk will have the length of the
 * longer chunk.
 */

export function zipAll_(self, that) {
  return zipAllWith_(
    self,
    that,
    (a, b) => Tp.tuple(O.some(a), O.some(b)),
    (a) => Tp.tuple(O.some(a), O.none),
    (b) => Tp.tuple(O.none, O.some(b))
  )
}
/**
 * Zips this chunk with the specified chunk to produce a new chunk with
 * pairs of elements from each chunk, filling in missing values from the
 * shorter chunk with `None`. The returned chunk will have the length of the
 * longer chunk.
 *
 * @dataFirst zipAll_
 */

export function zipAll(that) {
  return (self) => zipAll_(self, that)
}
//# sourceMappingURL=zipAll.js.map
