Hyperlinkv0.8.0-beta.28

Chunk

Chunk.unzipconsteffect/Chunk.ts:2317
<A, B>(self: Chunk<readonly [A, B]>): [Chunk<A>, Chunk<B>]

Takes a Chunk of pairs and returns two corresponding Chunks.

Details

This function is the reverse of zip.

Example (Unzipping pairs)

import { Chunk } from "effect"

const pairs = Chunk.make(
  [1, "a"] as const,
  [2, "b"] as const,
  [3, "c"] as const
)
const [numbers, letters] = Chunk.unzip(pairs)
console.log(Chunk.toArray(numbers)) // [1, 2, 3]
console.log(Chunk.toArray(letters)) // ["a", "b", "c"]

// Empty chunk
const empty = Chunk.empty<[number, string]>()
const [emptyNums, emptyStrs] = Chunk.unzip(empty)
console.log(Chunk.toArray(emptyNums)) // []
console.log(Chunk.toArray(emptyStrs)) // []
elements
Source effect/Chunk.ts:23174 lines
export const unzip = <A, B>(self: Chunk<readonly [A, B]>): [Chunk<A>, Chunk<B>] => {
  const [left, right] = RA.unzip(self)
  return [fromArrayUnsafe(left), fromArrayUnsafe(right)]
}