MCPcopy Create free account
hub / github.com/effect-app/libs / zipArrays

Function zipArrays

repos/effect/packages/effect/src/Stream.ts:3530–3545  ·  view source on GitHub ↗
(
  f: (left: AL, right: AR) => A
)

Source from the content-addressed store, hash-verified

3528 <AR, ER, RR>(right: Stream<AR, ER, RR>): <AL, EL, RL>(left: Stream<AL, EL, RL>) => Stream<AR, ER | EL, RR | RL>
3529 <AL, EL, RL, AR, ER, RR>(left: Stream<AL, EL, RL>, right: Stream<AR, ER, RR>): Stream<AR, EL | ER, RL | RR>
3530} = dual(
3531 2,
3532 <AL, EL, RL, AR, ER, RR>(
3533 left: Stream<AL, EL, RL>,
3534 right: Stream<AR, ER, RR>
3535 ): Stream<AR, EL | ER, RL | RR> =>
3536 zipWithArray(left, right, (leftArr, rightArr) => {
3537 const minLength = Math.min(leftArr.length, rightArr.length)
3538 const output = rightArr.slice(0, minLength) as Arr.NonEmptyArray<AR>
3539 const leftoverLeft = leftArr.slice(minLength)
3540 const leftoverRight = rightArr.slice(minLength)
3541
3542 return [output, leftoverLeft, leftoverRight] as const
3543 })
3544)
3545
3546/**
3547 * Zips this stream with another point-wise and emits tuples of elements from
3548 * both streams, flattening the left tuple.

Callers 1

Stream.tsFile · 0.85

Calls 2

pushMethod · 0.80
fFunction · 0.50

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…