UNPKG

sflow

Version:

sflow is a powerful and highly-extensible library designed for processing and manipulating streams of data effortlessly. Inspired by the functional programming paradigm, it provides a rich set of utilities for transforming streams, including chunking, fil

24 lines (23 loc) 1.03 kB
import { type Ord } from "rambda"; import type { Awaitable } from "./Awaitable"; import type { FlowSource } from "./FlowSource"; import type { sflow } from "./sflow"; type Slots<T> = Array<{ value?: T; done: boolean; } | null>; type Transformer<T> = (slots: Slots<T>, ctrl: ReadableStreamDefaultController<T>) => Awaitable<Slots<T>>; type OrdFn<T> = (value: T) => Ord; export declare function mergeStreamsBy<T>(transform: Transformer<T>, srcs: FlowSource<T>[]): sflow<T>; export declare function mergeStreamsBy<T>(transform: Transformer<T>): { (srcs: FlowSource<T>[]): sflow<T>; }; export declare function mergeStreamsByAscend<T>(ordFn: OrdFn<T>, sources: FlowSource<T>[]): sflow<T>; export declare function mergeStreamsByAscend<T>(ordFn: OrdFn<T>): { (sources: FlowSource<T>[]): sflow<T>; }; export declare function mergeStreamsByDescend<T>(ordFn: OrdFn<T>, srcs: FlowSource<T>[]): sflow<T>; export declare function mergeStreamsByDescend<T>(ordFn: OrdFn<T>): { (srcs: FlowSource<T>[]): sflow<T>; }; export {};