variable / @typed/fx/RefIterable

takeWhile

Take values from a RefIterable while a predicate is true.

Package version
2.0.0-beta.13
Category
State updates
Since
1.18.0

Import

import { takeWhile } from "@typed/fx/RefIterable";

Signatures

export declare const takeWhile: {
    <A>(predicate: (a: A) => boolean): <E, R>(ref: RefIterable<A, E, R>) => Effect.Effect<Iterable<A>, E, R>;
    <A, E, R>(ref: RefIterable<A, E, R>, predicate: (a: A) => boolean): Effect.Effect<Iterable<A>, E, R>;
};

Why

Applies take while to the committed iterable value and publishes only the result, preserving its element order and equality rules.

Ownership and lifetime

Running take while performs one serialized iterable transition and resolves with its committed value. It acquires no resource; failures and services remain those of the source ref.

Other public imports

These import paths expose the same declaration. Each page retains its own public name and signature.

Source