shelving
Version:
Toolkit for using data in JavaScript.
11 lines (10 loc) • 818 B
TypeScript
import type { ImmutableArray } from "./array.js";
import type { Arguments } from "./function.js";
/** Function that can match an item against a target. */
export type Match<A extends Arguments = unknown[]> = (...args: A) => boolean;
/** Filter an iterable set of items using a matcher. */
export declare function filterItems<T, A extends Arguments = []>(items: Iterable<T>, match: Match<[T, ...A]>, ...args: A): Iterable<T>;
/** Filter an array (immutably) using a matcher. */
export declare function filterArray<T, A extends Arguments = []>(input: ImmutableArray<T>, match: Match<[T, ...A]>, ...args: A): ImmutableArray<T>;
/** Filter a sequence of values using a matcher. */
export declare function filterSequence<T, A extends Arguments = []>(sequence: AsyncIterable<T>, match: Match, ...args: A): AsyncIterable<T>;