UNPKG

fluent-iterable

Version:

Provides LINQ-like fluent api operations for iterables and async iterables (ES2018+).

61 lines (60 loc) 6.31 kB
import { Predicate, AsyncPredicate, Mapper, AsyncMapper, Reducer, AsyncReducer, Comparer, Action, AsyncAction, Group, Indexed } from './types'; declare function toArray<T>(iterable: Iterable<T>): T[]; declare function withIndex<T>(iterable: Iterable<T>): Iterable<Indexed<T>>; declare function takeWhile<T>(iterable: Iterable<T>, condition: Predicate<T>): Iterable<T>; declare function takeWhileAsync<T>(iterable: Iterable<T>, condition: AsyncPredicate<T>): AsyncIterable<T>; declare function take<T>(iterable: Iterable<T>, n: number): Iterable<T>; declare function skipWhile<T>(iterable: Iterable<T>, condition: Predicate<T>): Iterable<T>; declare function skipWhileAsync<T>(iterable: Iterable<T>, condition: AsyncPredicate<T>): AsyncIterable<T>; declare function skip<T>(iterable: Iterable<T>, n: number): Iterable<T>; declare function map<T, R>(iterable: Iterable<T>, mapper: Mapper<T, R>): Iterable<R>; declare function mapAsync<T, R>(iterable: Iterable<T>, mapper: AsyncMapper<T, R>): AsyncIterable<R>; declare function filter<T>(iterable: Iterable<T>, predicate: Predicate<T>): Iterable<T>; declare function filterAsync<T>(iterable: Iterable<T>, predicate: AsyncPredicate<T>): AsyncIterable<T>; declare function partition<T>(iterable: Iterable<T>, size: number): Iterable<Iterable<T>>; declare function append<T>(iterable: Iterable<T>, item: T): Iterable<T>; declare function prepend<T>(iterable: Iterable<T>, item: T): Iterable<T>; declare function concat<T>(...iterables: Array<Iterable<T>>): Iterable<T>; declare function repeat<T>(iterable: Iterable<T>, n: number): Iterable<T>; declare function flatten<T, R>(iterable: Iterable<T>, mapper?: Mapper<T, Iterable<R>>): Iterable<R>; declare function flattenAsync<T, R>(iterable: Iterable<T>, mapper: AsyncMapper<T, Iterable<R>>): AsyncIterable<R>; declare function sort<T>(iterable: Iterable<T>, comparer?: Comparer<T>): Iterable<T>; declare function distinct<T, R>(iterable: Iterable<T>, mapper?: Mapper<T, R>): Iterable<T>; declare function distinctAsync<T, R>(iterable: Iterable<T>, mapper: AsyncMapper<T, R>): AsyncIterable<T>; declare function group<T, R>(iterable: Iterable<T>, mapper: Mapper<T, R>): Iterable<Group<T, R>>; declare function groupAsync<T, R>(iterable: Iterable<T>, mapper: AsyncMapper<T, R>): AsyncIterable<Group<T, R>>; declare function count<T>(iterable: Iterable<T>, predicate?: Predicate<T>): number; declare function countAsync<T>(iterable: Iterable<T>, predicate: AsyncPredicate<T>): Promise<number>; declare function first<T>(iterable: Iterable<T>, predicate?: Predicate<T>): T | undefined; declare function firstAsync<T>(iterable: Iterable<T>, predicate: AsyncPredicate<T>): Promise<T | undefined>; declare function last<T>(iterable: Iterable<T>, predicate?: Predicate<T>): T | undefined; declare function lastAsync<T>(iterable: Iterable<T>, predicate: AsyncPredicate<T>): Promise<T | undefined>; declare function reduceAndMap<T, A, R>(iterable: Iterable<T>, reducer: Reducer<T, A>, initial: A, result: Mapper<A, R>): R; declare function reduceAndMapAsync<T, A, R>(iterable: Iterable<T>, reducer: AsyncReducer<T, A>, initial: A, result: AsyncMapper<A, R>): Promise<R>; declare function reduce<T, R>(iterable: Iterable<T>, reducer: Reducer<T, R>, initial: R): R; declare function reduceAsync<T, R>(iterable: Iterable<T>, reducer: AsyncReducer<T, R>, initial: R): Promise<R>; declare function all<T>(iterable: Iterable<T>, predicate: Predicate<T>): boolean; declare function allAsync<T>(iterable: Iterable<T>, predicate: AsyncPredicate<T>): Promise<boolean>; declare function any<T>(iterable: Iterable<T>, predicate?: Predicate<T>): boolean; declare function anyAsync<T>(iterable: Iterable<T>, predicate: AsyncPredicate<T>): Promise<boolean>; declare function contains<T>(iterable: Iterable<T>, item: T): boolean; declare function toObject<T, R>(iterable: Iterable<T>, keySelector: Mapper<T, string>, valueSelector?: Mapper<T, unknown>): R; declare function toObjectAsync<T, R>(iterable: Iterable<T>, keySelector: AsyncMapper<T, string>, valueSelector: AsyncMapper<T, unknown>): Promise<R>; declare function toAsync<T>(iterable: Iterable<T>): AsyncIterable<T>; declare function forEach<T>(iterable: Iterable<T>, action: Action<T>): void; declare function forEachAsync<T>(iterable: Iterable<T>, action: AsyncAction<T>): Promise<void>; declare function execute<T>(iterable: Iterable<T>, action: Action<T>): Iterable<T>; declare function executeAsync<T>(iterable: Iterable<T>, action: AsyncAction<T>): AsyncIterable<T>; declare function join<T>(iterable: Iterable<T>, separator: string, mapper?: Mapper<T, string>): string; declare function joinAsync<T>(iterable: Iterable<T>, separator: string, mapper: AsyncMapper<T, string>): Promise<string>; declare function sum<T>(iterable: Iterable<T>, mapper?: Mapper<T, number>): number; declare function sumAsync<T>(iterable: Iterable<T>, mapper: AsyncMapper<T, number>): Promise<number>; declare function avg<T>(iterable: Iterable<T>, mapper?: Mapper<T, number>): number; declare function avgAsync<T>(iterable: Iterable<T>, mapper: AsyncMapper<T, number>): Promise<number>; declare function top<T, R>(iterable: Iterable<T>, mapper: Mapper<T, R>, comparer: Comparer<R>): T | undefined; declare function topAsync<T, R>(iterable: Iterable<T>, mapper: AsyncMapper<T, R>, comparer: Comparer<R>): Promise<T | undefined>; declare function min<T>(iterable: Iterable<T>, mapper?: Mapper<T, number>): T | undefined; declare function minAsync<T>(iterable: Iterable<T>, mapper: AsyncMapper<T, number>): Promise<T | undefined>; declare function max<T>(iterable: Iterable<T>, mapper?: Mapper<T, number>): T | undefined; declare function maxAsync<T>(iterable: Iterable<T>, mapper: AsyncMapper<T, number>): Promise<T | undefined>; export { withIndex, takeWhile, takeWhileAsync, take, skipWhile, skipWhileAsync, skip, map, mapAsync, filter, filterAsync, partition, append, prepend, concat, repeat, flatten, flattenAsync, sort, distinct, distinctAsync, group, groupAsync, count, countAsync, first, firstAsync, last, lastAsync, reduceAndMap, reduceAndMapAsync, reduce, reduceAsync, all, allAsync, any, anyAsync, contains, toArray, toObject, toObjectAsync, toAsync, forEach, forEachAsync, execute, executeAsync, join, joinAsync, sum, sumAsync, avg, avgAsync, top, topAsync, min, minAsync, max, maxAsync, };