Hyperlinkv0.8.0-beta.28

Stream

Stream.prependconsteffect/Stream.ts:3092
<B>(values: Iterable<B>): <A, E, R>(
  self: Stream<A, E, R>
) => Stream<B | A, E, R>
<A, E, R, B>(self: Stream<A, E, R>, values: Iterable<B>): Stream<
  A | B,
  E,
  R
>

Prepends the values from the provided iterable before the stream's elements.

Example (Prepending values)

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

const program = Effect.gen(function*() {
  const values = yield* Stream.make(3, 4).pipe(
    Stream.prepend([1, 2]),
    Stream.runCollect
  )

  yield* Console.log(values)
  // Output: [ 1, 2, 3, 4 ]
})

Effect.runPromise(program)
sequencing
Source effect/Stream.ts:30927 lines
export const prepend: {
  <B>(values: Iterable<B>): <A, E, R>(self: Stream<A, E, R>) => Stream<B | A, E, R>
  <A, E, R, B>(self: Stream<A, E, R>, values: Iterable<B>): Stream<A | B, E, R>
} = dual(2, <A, E, R, B>(
  self: Stream<A, E, R>,
  values: Iterable<B>
): Stream<A | B, E, R> => concat(fromIterable(values), self))