interface / @typed/fx

Fx.Bounds

Defines the bounds for slicing an Fx stream.

Package version
2.0.0-beta.13
Category
Operator options
Since
1.0.0
Member of
Fx

Import

import { Fx } from "@typed/fx";

Access Fx.Bounds through the imported Fx export. Its declaration below describes the member.

This public exposure is a re-export. Its import path is supported; declaration documentation is shared with the other public exposures below.

Signatures

export interface Bounds {
    readonly skip: number;
    readonly take: number;
}

Why

Bounds keeps the two independent slice decisions explicit: skip counts discarded prefix values and take bounds the following output.

Ownership and lifetime

This immutable model acquires no resources. A consumer decides how to normalize unusual numeric values when applying it.

Property: skip

Number of source values discarded before the slice can emit.

Property: skip: Why

Keeping the prefix count separate from take permits windows that begin anywhere in a source.

Property: skip: Ownership and lifetime

This number stores no state and acquires no resources; slice copies it into a per-run counter.

Property: take

Maximum number of values emitted after the skipped prefix.

Property: take: Why

The output bound makes early completion explicit without buffering the selected values.

Property: take: Ownership and lifetime

This number stores no state and acquires no resources; slice owns the corresponding counter only for the duration of one run.

Examples

import type { Fx } from "@typed/fx"

const page: Fx.Bounds = { skip: 20, take: 10 }
import type { Fx } from "@typed/fx"
const bounds: Fx.Bounds = { skip: 2, take: 1 }
import type { Fx } from "@typed/fx"
const bounds: Fx.Bounds = { skip: 0, take: 10 }

Other public imports

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

Source