Hyperlinkv0.8.0-beta.28

Stream

Stream.fromIteratorSucceedconsteffect/Stream.ts:1072
<A>(iterator: IterableIterator<A>, maxChunkSize?: number): Stream<A>

Creates a stream that consumes values from an iterator.

Details

The maxChunkSize parameter controls how many values are pulled per chunk.

Example (Consuming values from an iterator)

import { Console, Effect, Stream } from "effect"

function* numbers() {
  yield 1
  yield 2
  yield 3
}

const stream = Stream.fromIteratorSucceed(numbers())

const program = Effect.gen(function* () {
  const values = yield* Stream.runCollect(stream)
  yield* Console.log(values)
})

Effect.runPromise(program)
// Output: [ 1, 2, 3 ]
constructors
Source effect/Stream.ts:10722 lines
export const fromIteratorSucceed = <A>(iterator: IterableIterator<A>, maxChunkSize?: number): Stream<A> =>
  fromChannel(Channel.fromIteratorArray(() => iterator, maxChunkSize))