# Fx.dropUntil

Drops elements from an Fx until a predicate returns true.
Emits from the first element for which the predicate returns true (including that element) and all following elements.

## Signatures

```ts
export declare const dropUntil: {
    <A>(predicate: (a: A) => boolean): <E, R>(fx: Fx<A, E, R>) => Fx<A, E, R>;
    <A, E, R>(fx: Fx<A, E, R>, predicate: (a: A) => boolean): Fx<A, E, R>;
};
```

## Why

`dropUntil` opens a one-way gate at the first matching value. The match and every later value emit
once in source order; after opening, the predicate is no longer consulted.

## Ownership and lifetime

The gate is local to one run and discarded on completion or interruption. No resources are
acquired and the source's errors and services pass through unchanged.

## Examples

```ts
import { Fx } from "@typed/fx"

const ready = Fx.fromIterable([1, 2, 3]).pipe(Fx.dropUntil((n) => n >= 2))
```
