@codibre/fluent-iterable
Version:
Provides LINQ-like fluent api operations for iterables and async iterables (ES2018+).
131 lines (130 loc) • 15.7 kB
TypeScript
import { toAsync, forEach, whenEmpty, catchSync } from '../sync';
import { combineEmitter } from '../emitter';
import { catchAsync } from '../async-base';
export declare const iterableFuncs: {
withIndex: (this: any) => any;
takeWhile: <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>;
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>;
filter: <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;
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>;
flatJoin: <T, R>(this: Iterable<T>, ...path: string[]) => Iterable<R>;
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;
execute: <T>(this: import("augmentative-iterable").AnyIterable<T>, action: import("../types-internal").FunctionAnyMapper<T>) => import("augmentative-iterable").AnyIterable<any>;
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;
whenEmpty: typeof whenEmpty;
catch: typeof catchSync;
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 iterableAsyncFuncs: {
concatAsync: <T>(this: import("augmentative-iterable").AnyIterable<T>, ...iterables: Array<import("augmentative-iterable").AnyIterable<T>>) => any;
takeWhileAsync: <T>(this: import("augmentative-iterable").AnyIterable<T>, baseAction: import("../types-internal").AnyMapper<any>) => import("augmentative-iterable").AnyIterable<unknown>;
skipWhileAsync: <T>(this: import("augmentative-iterable").AnyIterable<T>, baseCondition: import("../types-internal").AnyMapper<T>) => import("augmentative-iterable").AnyIterable<any>;
mapAsync: <T>(this: import("augmentative-iterable").AnyIterable<T>, action: import("../types-internal").AnyMapper<T>) => import("augmentative-iterable").AnyIterable<T>;
filterAsync: <T>(this: import("augmentative-iterable").AnyIterable<T>, basePredicate?: import("../types-internal").AnyMapper<any>) => import("augmentative-iterable").AnyIterable<unknown>;
flatJoinAsync: <T, R>(this: Iterable<T>, ...path: string[]) => Iterable<R>;
flattenAsync: <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;
flatMapAsync: <T, R>(this: Iterable<T>, baseMapper?: import("../types-internal").AnyMapper<T>) => Iterable<R>;
distinctAsync: <T>(this: import("augmentative-iterable").AnyIterable<T>, baseMapper?: import("../types-internal").AnyMapper<T> | number, maxOcurrencesOrChoose?: number | import("../types").Choose<T>, maxOcurrences?: number) => any;
distinctByAsync: <T>(this: import("augmentative-iterable").AnyIterable<T>, ...baseMappers: Array<import("../types-internal").AnyMapper<T>>) => any;
executeAsync: <T>(this: import("augmentative-iterable").AnyIterable<T>, action: import("../types-internal").FunctionAnyMapper<T>) => import("augmentative-iterable").AnyIterable<any>;
toAsync: typeof toAsync;
combineAsync: <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]>;
combineJoinAsync: <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;
catchAsync: typeof catchAsync;
unwindAsync: (this: import("augmentative-iterable").AnyIterable<any>, ...keys: string[]) => any;
finallyAsync: ((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>);
};
export declare const special: {
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 specialAsync: {
groupAsync: <T>(this: import("augmentative-iterable").AnyIterable<T>, baseMapper: import("../types-internal").AnyMapper<T>, baseTransformValue?: import("../types-internal").AnyMapper<T>) => any;
};
export declare const resolvingFuncs: {
count: <T>(this: import("augmentative-iterable").AnyIterable<T>, predicate?: import("../types-internal").AnyMapper<T>) => any;
countAsync: <T>(this: import("augmentative-iterable").AnyIterable<T>, predicate?: import("../types-internal").AnyMapper<T>) => any;
emit: <T>(this: import("augmentative-iterable").AnyIterable<T>) => import("..").FluentEmitter<T>;
first: <T>(this: Iterable<T>, givenPredicate?: import("../types-internal").AnyMapper<T>) => any;
firstAsync: <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;
lastAsync: <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;
reduceAndMapAsync: <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;
reduceAsync: <T, R>(this: import("augmentative-iterable").AnyIterable<T>, reducer: import("..").AsyncReducer<T, R>, initial: R) => any;
all: <T>(this: Iterable<T>, givenPredicate?: import("../types-internal").AnyMapper<T>) => any;
allAsync: <T>(this: import("augmentative-iterable").AnyIterable<T>, givenPredicate?: import("../types-internal").AnyMapper<T>) => Promise<any>;
every: <T>(this: Iterable<T>, givenPredicate?: import("../types-internal").AnyMapper<T>) => any;
everyAsync: <T>(this: import("augmentative-iterable").AnyIterable<T>, givenPredicate?: import("../types-internal").AnyMapper<T>) => Promise<any>;
any: <T>(this: Iterable<T>, givenPredicate?: import("../types-internal").AnyMapper<T>) => any;
anyAsync: <T>(this: import("augmentative-iterable").AnyIterable<T>, givenPredicate?: import("../types-internal").AnyMapper<T>) => Promise<any>;
some: <T>(this: Iterable<T>, givenPredicate?: import("../types-internal").AnyMapper<T>) => any;
someAsync: <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;
toArray: typeof import("augmentative-iterable").augmentativeToArray;
toJSON: typeof import("augmentative-iterable").augmentativeToArray;
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;
toObjectAsync: <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;
toObjectChainAsync: (this: import("augmentative-iterable").AnyIterable<any>, ...keys: string[]) => any;
toObjectChainReduceAsync: <T, R>(this: import("augmentative-iterable").AnyIterable<any>, initial: () => R, reducer: import("..").AsyncReducer<T, R>, ...keys: string[]) => any;
forEach: typeof forEach;
forEachAsync: <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;
joinAsync: (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;
sumAsync: <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;
avgAsync: <T>(this: Iterable<T>, baseMapper?: import("../types-internal").AnyMapper<T>) => any;
top: <T>(this: any, baseMapper: import("../types-internal").AnyMapper<T>, comparer: Function) => any;
topAsync: <T>(this: any, baseMapper: import("../types-internal").AnyMapper<T>, comparer: Function) => any;
min: <T>(this: any, baseMapper?: import("../types-internal").AnyMapper<T>) => any;
minAsync: <T>(this: any, baseMapper?: import("../types-internal").AnyMapper<T>) => any;
max: <T>(this: any, baseMapper?: import("../types-internal").AnyMapper<T>) => any;
maxAsync: <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;
isDistinctAsync: <T>(this: import("augmentative-iterable").AnyIterable<T>, baseMapper?: import("../types-internal").AnyMapper<T> | number, maxOcurrencesOrChoose?: number | import("../types").Choose<T>, maxOcurrences?: number) => any;
next: 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;
toMapAsync: <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;
toSetAsync: <T>(this: import("augmentative-iterable").AnyIterable<T>, mapper?: import("../types-internal").AnyMapper<T>) => 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;
toMapChainAsync: (this: import("augmentative-iterable").AnyIterable<any>, ...keys: string[]) => any;
toMapChainReduceAsync: <T, R>(this: import("augmentative-iterable").AnyIterable<any>, initial: () => R, reducer: import("..").AsyncReducer<T, R>, ...keys: string[]) => any;
branch: any;
};