UNPKG

fluent-iterable

Version:

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

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