UNPKG

shelving

Version:

Toolkit for using data in JavaScript.

11 lines (10 loc) 818 B
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>;