@codibre/fluent-iterable
Version:
Provides LINQ-like fluent api operations for iterables and async iterables (ES2018+).
90 lines (89 loc) • 10.6 kB
TypeScript
import { combineEmitter, mergeEmitterCatching } from '../emitter';
import { catchAsync, merge, mergeCatching, whenEmptyAsync } from '../async-base';
export declare const asyncIterableFuncs: {
withIndex: (this: any) => any;
takeWhile: <T>(this: import("augmentative-iterable").AnyIterable<T>, baseAction: import("../types-internal").AnyMapper<any>) => import("augmentative-iterable").AnyIterable<unknown>;
takeWhileAsync: <T>(this: import("augmentative-iterable").AnyIterable<T>, baseAction: import("../types-internal").AnyMapper<any>) => import("augmentative-iterable").AnyIterable<unknown>;
take: <T>(this: import("augmentative-iterable").AnyIterable<T>, n: number) => import("augmentative-iterable").AnyIterable<any>;
skipWhile: <T>(this: import("augmentative-iterable").AnyIterable<T>, baseCondition: import("../types-internal").AnyMapper<T>) => import("augmentative-iterable").AnyIterable<any>;
skipWhileAsync: <T>(this: import("augmentative-iterable").AnyIterable<T>, baseCondition: import("../types-internal").AnyMapper<T>) => import("augmentative-iterable").AnyIterable<any>;
skip: <T>(this: import("augmentative-iterable").AnyIterable<T>, n: number) => import("augmentative-iterable").AnyIterable<any>;
map: <T>(this: import("augmentative-iterable").AnyIterable<T>, action: import("../types-internal").AnyMapper<T>) => import("augmentative-iterable").AnyIterable<T>;
mapAsync: <T>(this: import("augmentative-iterable").AnyIterable<T>, action: import("../types-internal").AnyMapper<T>) => import("augmentative-iterable").AnyIterable<T>;
filter: <T>(this: import("augmentative-iterable").AnyIterable<T>, basePredicate?: import("../types-internal").AnyMapper<any>) => import("augmentative-iterable").AnyIterable<unknown>;
filterAsync: <T>(this: import("augmentative-iterable").AnyIterable<T>, basePredicate?: import("../types-internal").AnyMapper<any>) => import("augmentative-iterable").AnyIterable<unknown>;
append: any;
prepend: any;
concat: <T>(this: import("augmentative-iterable").AnyIterable<T>, ...iterables: Array<import("augmentative-iterable").AnyIterable<T>>) => any;
repeat: <T>(this: import("augmentative-iterable").AnyIterable<T>, n: number) => any;
flatJoin: <T, R>(this: Iterable<T>, ...path: string[]) => Iterable<R>;
flatten: <T, R>(this: Iterable<T>, baseMapper?: import("../types-internal").AnyMapper<T>) => Iterable<R>;
flatMap: <T, R>(this: Iterable<T>, baseMapper?: import("../types-internal").AnyMapper<T>) => Iterable<R>;
flatMerge: <T>(this: import("augmentative-iterable").AnyIterable<T>, callback?: import("../types").ErrorCallback) => any;
sort: <T>(this: Iterable<T>, comparer?: import("..").Comparer<T>) => any;
sortBy: <T>(this: Iterable<T>, ...props: import("../types-internal").AnyMapper<T>[]) => import("augmentative-iterable").AnyIterable<any>;
distinct: <T>(this: import("augmentative-iterable").AnyIterable<T>, baseMapper?: import("../types-internal").AnyMapper<T> | number, maxOcurrencesOrChoose?: number | import("../types").Choose<T>, maxOcurrences?: number) => any;
distinctBy: <T>(this: import("augmentative-iterable").AnyIterable<T>, ...baseMappers: Array<import("../types-internal").AnyMapper<T>>) => any;
distinctAsync: <T>(this: import("augmentative-iterable").AnyIterable<T>, baseMapper?: import("../types-internal").AnyMapper<T> | number, maxOcurrencesOrChoose?: number | import("../types").Choose<T>, maxOcurrences?: number) => any;
execute: <T>(this: import("augmentative-iterable").AnyIterable<T>, action: import("../types-internal").FunctionAnyMapper<T>) => import("augmentative-iterable").AnyIterable<any>;
merge: typeof merge;
mergeCatching: typeof mergeCatching;
combine: <T, U>(this: import("augmentative-iterable").AnyIterable<T>, iterable: import("augmentative-iterable").AnyIterable<U>, baseKeyA?: import("../types-internal").AnyMapper<T>, baseKeyB?: import("../types-internal").AnyMapper<U>) => import("augmentative-iterable").AnyIterable<[T, U]>;
combineJoin: <T>(this: import("augmentative-iterable").AnyIterable<import("augmentative-iterable").AnyIterable<T>>, baseKey?: import("../types-internal").AnyMapper<unknown>) => any;
combineEmitter: typeof combineEmitter;
concatEmitter: <T>(this: import("augmentative-iterable").AnyIterable<T>, eventEmitter: any, options?: import("../types").FluentEmitOptions) => any;
mergeEmitter: <T>(this: import("augmentative-iterable").AnyIterable<T>, eventEmitter: any, options?: import("../types").FluentEmitOptions) => any;
mergeEmitterCatching: typeof mergeEmitterCatching;
whenEmpty: typeof whenEmptyAsync;
catch: typeof catchAsync;
unwind: (this: import("augmentative-iterable").AnyIterable<any>, ...keys: string[]) => any;
finally: ((this: Iterable<any>, callback: (success: boolean) => unknown) => Generator<any, void, any>) | ((this: import("augmentative-iterable").AnyIterable<any>, callback: (success: boolean) => Promise<unknown>) => AsyncGenerator<any, void, any>);
assureOrderRecipe<T>(direction: number): (this: import("augmentative-iterable").AnyIterable<T>) => import("augmentative-iterable").AnyIterable<T>;
assureOrder: (this: import("augmentative-iterable").AnyIterable<unknown>) => import("augmentative-iterable").AnyIterable<unknown>;
o: (this: import("augmentative-iterable").AnyIterable<unknown>) => import("augmentative-iterable").AnyIterable<unknown>;
assureOrderDescending: (this: import("augmentative-iterable").AnyIterable<unknown>) => import("augmentative-iterable").AnyIterable<unknown>;
od: (this: import("augmentative-iterable").AnyIterable<unknown>) => import("augmentative-iterable").AnyIterable<unknown>;
};
export declare const asyncSpecial: {
partition: <T>(this: Iterable<T>, criteria: number | import("../types").Equality<unknown>) => import("augmentative-iterable").AnyIterable<import("augmentative-iterable").AnyIterable<T>>;
group: <T>(this: import("augmentative-iterable").AnyIterable<T>, baseMapper: import("../types-internal").AnyMapper<T>, baseTransformValue?: import("../types-internal").AnyMapper<T>) => any;
};
export declare const asyncResolvingFuncs: {
count: <T>(this: import("augmentative-iterable").AnyIterable<T>, predicate?: import("../types-internal").AnyMapper<T>) => any;
first: <T>(this: import("augmentative-iterable").AnyIterable<T>, givenPredicate?: import("../types-internal").AnyMapper<T>) => Promise<any>;
last: <T>(this: import("augmentative-iterable").AnyIterable<T>, predicate?: any) => any;
reduceAndMap: <T, A, R>(this: Iterable<T>, reducer: import("../types").AnyReducer<T, A>, initial: A, baseResult: import("../types-internal").AnyMapper<A>) => R;
reduce: <T, R>(this: import("augmentative-iterable").AnyIterable<T>, reducer: import("..").AsyncReducer<T, R>, initial: R) => any;
all: <T>(this: import("augmentative-iterable").AnyIterable<T>, givenPredicate?: import("../types-internal").AnyMapper<T>) => Promise<any>;
every: <T>(this: import("augmentative-iterable").AnyIterable<T>, givenPredicate?: import("../types-internal").AnyMapper<T>) => Promise<any>;
any: <T>(this: import("augmentative-iterable").AnyIterable<T>, givenPredicate?: import("../types-internal").AnyMapper<T>) => Promise<any>;
some: <T>(this: import("augmentative-iterable").AnyIterable<T>, givenPredicate?: import("../types-internal").AnyMapper<T>) => Promise<any>;
contains: <T>(this: import("augmentative-iterable").AnyIterable<T>, item: T) => any;
emit: <T>(this: import("augmentative-iterable").AnyIterable<T>) => import("..").FluentEmitter<T>;
toArray: typeof import("augmentative-iterable").augmentativeToArrayAsync;
toObject: <T, V, R extends {
[key: string]: V;
}>(this: import("augmentative-iterable").AnyIterable<T>, baseKeySelector: import("../types-internal").AnyMapper<T>, baseValueSelector?: import("../types-internal").AnyMapper<T>, choose?: import("../types").Choose<T>) => R;
toObjectChain: (this: import("augmentative-iterable").AnyIterable<any>, ...keys: string[]) => any;
toObjectChainReduce: <T, R>(this: import("augmentative-iterable").AnyIterable<any>, initial: () => R, reducer: import("..").AsyncReducer<T, R>, ...keys: string[]) => any;
forEach: <T>(this: import("augmentative-iterable").AnyIterable<T>, action: import("../types-internal").AnyMapper<T>) => any;
join: (this: import("augmentative-iterable").AnyIterable<unknown>, separator: string, baseMapper?: import("../types-internal").FunctionAnyMapper<unknown>) => any;
sum: <T>(this: import("augmentative-iterable").AnyIterable<T>, mapper?: import("../types-internal").AnyMapper<T>) => any;
avg: <T>(this: Iterable<T>, baseMapper?: import("../types-internal").AnyMapper<T>) => any;
top: <T>(this: any, baseMapper: import("../types-internal").AnyMapper<T>, comparer: Function) => any;
min: <T>(this: any, baseMapper?: import("../types-internal").AnyMapper<T>) => any;
max: <T>(this: any, baseMapper?: import("../types-internal").AnyMapper<T>) => any;
hasExactly: <T>(this: import("augmentative-iterable").AnyIterable<T>, expectedSize: number) => any;
hasLessOrExactly: <T>(this: import("augmentative-iterable").AnyIterable<T>, expectedSize: number) => any;
hasLessThan: <T>(this: import("augmentative-iterable").AnyIterable<T>, expectedSize: number) => any;
hasMoreOrExactly: <T>(this: import("augmentative-iterable").AnyIterable<T>, expectedSize: number) => any;
hasMoreThan: <T>(this: import("augmentative-iterable").AnyIterable<T>, expectedSize: number) => any;
waitAll: <T, R>(this: import("augmentative-iterable").AnyIterable<T>, baseMapper: import("../types-internal").AnyMapper<T>) => any;
isDistinct: <T>(this: import("augmentative-iterable").AnyIterable<T>, baseMapper?: import("../types-internal").AnyMapper<T> | number, maxOcurrencesOrChoose?: number | import("../types").Choose<T>, maxOcurrences?: number) => any;
toMap: <T>(this: import("augmentative-iterable").AnyIterable<T>, getKey: import("../types-internal").AnyMapper<T>, mapper: import("../types-internal").AnyMapper<T>, getReduced?: import("../types").Choose<unknown>) => any;
toSet: <T>(this: import("augmentative-iterable").AnyIterable<T>, mapper?: import("../types-internal").AnyMapper<T>) => any;
next: any;
toMapChain: (this: import("augmentative-iterable").AnyIterable<any>, ...keys: string[]) => any;
toMapChainReduce: <T, R>(this: import("augmentative-iterable").AnyIterable<any>, initial: () => R, reducer: import("..").AsyncReducer<T, R>, ...keys: string[]) => any;
branch: any;
};