# skipWhile

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

## Signatures

```ts
export declare const skipWhile: {
    <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

`skipWhile` discards only the longest matching prefix. The first false value opens the gate and is
emitted; later values are forwarded without re-running the predicate.

## Ownership and lifetime

One boolean gate is owned by each run and then discarded. No resource is acquired and source
errors, services, and interruption are preserved.

## Examples

```ts
import { Fx } from "@typed/fx"
const values = Fx.fromIterable([1, 2, 1]).pipe(Fx.skipWhile((n) => n < 2))
```
