soulfire.Stream

class soulfire.Stream[source]

Bases: Generic[A, E, R]

A lazy stream. Each subscription acquires its own scoped cursor.

open: effect_py.Effect[Cursor[A, E, R], E, R | effect_py.Scope]
map[B](transform: collections.abc.Callable[[A], B]) → Stream[B, E, R][source]
filter(predicate: collections.abc.Callable[[A], bool]) → Stream[A, E, R][source]
map_effect[B, E2, R2](transform: collections.abc.Callable[[A], effect_py.Effect[B, E2, R2]]) → Stream[B, E | E2, R | R2][source]
tap[E2, R2](action: collections.abc.Callable[[A], effect_py.Effect[object, E2, R2]]) → Stream[A, E | E2, R | R2][source]
take(count: int) → Stream[A, E, R][source]
run_fold[B](initial: B, combine: collections.abc.Callable[[B, A], B]) → effect_py.Effect[B, E, R][source]
static merge[A2, E2, R2](*streams: Stream[A2, E2, R2], buffer_size: int = 64) → Stream[A2, E2, R2][source]
run_collect() → effect_py.Effect[tuple[A, ...], E, R][source]
run_for_each[E2, R2](action: collections.abc.Callable[[A], effect_py.Effect[object, E2, R2]]) → effect_py.Effect[None, E | E2, R | R2][source]
run_drain() → effect_py.Effect[None, E, R][source]
run_head() → effect_py.Effect[A | None, E, R][source]
static unwrap[A2, E2, R2](effect: effect_py.Effect[Stream[A2, E2, R2], E2, R2]) → Stream[A2, E2, R2][source]