lilit
Version:
[![Build status][tr-svg]][travis]
90 lines (89 loc) • 9.29 kB
TypeScript
export declare function map<A, B>(f: (x: A) => B): (xs: Iterable<A>) => IterableIterator<B>;
export declare function tap<X>(f: (x: X) => any): (xs: Iterable<X>) => IterableIterator<X>;
export declare const inspect: typeof tap;
export declare function forEach<X>(f: (x: X) => any): (xs: Iterable<X>) => void;
export declare const subscribe: typeof forEach;
export declare function reduce<X, R>(f: (acc: R, x: X) => R, init: R): (xs: Iterable<X>) => R;
export declare function scan<X, R>(f: (acc: R, x: X) => R, init: R): (xs: Iterable<X>) => IterableIterator<R>;
export declare const reducutions: typeof scan;
export declare function some<X>(p: (x: X) => boolean): (xs: Iterable<X>) => boolean;
export declare function every<X>(p: (x: X) => boolean): (xs: Iterable<X>) => boolean;
export declare function filter<X>(p: (x: X) => boolean): (xs: Iterable<X>) => IterableIterator<X>;
export declare function partition<X>(p: (x: X) => boolean): (xs: Iterable<X>) => [IterableIterator<X>, IterableIterator<X>];
export declare function skip<X>(n: number): (xs: Iterable<X>) => IterableIterator<X>;
export declare function take<X>(n: number): (xs: Iterable<X>) => IterableIterator<X>;
export declare function partitionAt<X>(n: number): (xs: Iterable<X>) => [IterableIterator<X>, IterableIterator<X>];
export declare const splitAt: typeof partitionAt;
export declare function skipWhile<X>(f: (x: X) => boolean): (xs: Iterable<X>) => IterableIterator<X>;
export declare function takeWhile<X>(f: (x: X) => boolean): (xs: Iterable<X>) => IterableIterator<X>;
export declare function partitionWhile<X>(f: (x: X) => boolean): (xs: Iterable<X>) => [IterableIterator<X>, IterableIterator<X>];
export declare function find<X>(p: (x: X) => boolean): (xs: Iterable<X>) => X;
export declare function findIndex<X>(p: (x: X) => boolean): (xs: Iterable<X>) => number;
export declare function pluck<X>(key: string | number): (xs: Iterable<Object>) => IterableIterator<X>;
export declare function select<X>(keys: Array<string | number>): (xs: Iterable<Object>) => IterableIterator<X>;
export declare function unzip2<X, Y>(): (xs: Iterable<[X, Y]>) => [IterableIterator<X>, IterableIterator<Y>];
export declare function unzip3<X, Y, Z>(): (xs: Iterable<[X, Y, Z]>) => [IterableIterator<X>, IterableIterator<Y>, IterableIterator<Z>];
export declare function unzip(n?: number): (xs: Iterable<{}[]>) => IterableIterator<{}>[];
export declare function groupBy<X, K>(f: (x: X) => K): (xs: Iterable<X>) => Map<K, X[]>;
export declare function groupByKey<X>(key: string | number): (xs: Iterable<X>) => Map<string | number, X[]>;
export declare function mapKeys<KA, KB, V>(f: (k: KA) => KB): (xs: Iterable<[KA, V]>) => IterableIterator<[KB, V]>;
export declare function mapValues<VA, VB, K>(f: (v: VA) => VB): (xs: Iterable<[K, VA]>) => IterableIterator<[K, VB]>;
export declare function pairwise<X>(): (xs: Iterable<X>) => IterableIterator<[X, X]>;
export declare function length(): (xs: Iterable<{}>) => number;
export declare function min(): (xs: Iterable<number>) => number;
export declare function max(): (xs: Iterable<number>) => number;
export declare function minMax(): (xs: Iterable<number>) => [number, number];
export declare function minBy<X>(cf: (a: X, b: X) => number): (xs: Iterable<X>) => X;
export declare function maxBy<X>(cf: (a: X, b: X) => number): (xs: Iterable<X>) => X;
export declare function minMaxBy<X>(cf: (a: X, b: X) => number): (xs: Iterable<X>) => [X, X];
export declare function minByScan<X>(cf: (a: X, b: X) => number): (xs: Iterable<X>) => IterableIterator<X>;
export declare function maxByScan<X>(cf: (a: X, b: X) => number): (xs: Iterable<X>) => IterableIterator<X>;
export declare function sum(zero?: number): (xs: Iterable<number>) => number;
export declare function replaceWhen<X, Y>(pf: (x: X) => boolean, ys: Iterable<Y>): (xs: Iterable<X>) => IterableIterator<X | Y>;
export declare function grouped<X>(n: number, step?: number): (xs: Iterable<X>) => IterableIterator<X[]>;
export declare function startWith<X>(...as: X[]): (xs: Iterable<X>) => IterableIterator<X>;
export declare function endWith<X>(...zs: X[]): (xs: Iterable<X>) => IterableIterator<X>;
export declare function sort<X>(cf: (a: X, b: X) => number): (xs: Iterable<X>) => IterableIterator<X>;
export declare function sortScan<X>(cf: (a: X, b: X) => number): (xs: Iterable<X>) => IterableIterator<X[]>;
export declare function flatMap<A, B>(f: (x: A) => B): (xss: Iterable<Iterable<A>>) => IterableIterator<B>;
export declare function distinctUntilChanged<X>(comp?: (a: X, b: X) => boolean): (xs: Iterable<X>) => IterableIterator<X>;
export declare function unique<X>(comp?: (a: X, b: X) => boolean): (xs: Iterable<X>) => IterableIterator<X>;
export declare function uniqueSorted<X>(comp?: (a: X, b: X) => boolean): (xs: Iterable<X>) => IterableIterator<X>;
export declare function range(start?: number, end?: number, step?: number): IterableIterator<number>;
export declare function enumerate<X>(xs: Iterable<X>): IterableIterator<[number, X]>;
export declare function concat<X>(...xss: Iterable<X>[]): IterableIterator<X>;
export declare const chain: typeof concat;
export declare function zip2<X, Y>(xs: Iterable<X>, ys: Iterable<Y>): IterableIterator<[X, Y]>;
export declare function zip3<X, Y, Z>(xs: Iterable<X>, ys: Iterable<Y>, zs: Iterable<Z>): IterableIterator<[X, Y, Z]>;
export declare function zip(...xss: Iterable<{}>[]): IterableIterator<{}[]>;
export declare function zipOuter(...xss: Iterable<{}>[]): IterableIterator<{}[]>;
export declare function product2<A, B>(as: Iterable<A>, bs: Iterable<B>): IterableIterator<[A, B]>;
export declare function product3<A, B, C>(as: Iterable<A>, bs: Iterable<B>, cs: Iterable<C>): IterableIterator<[A, B, C]>;
export declare function product(xs: Iterable<{}>, ...xss: Iterable<{}>[]): IterableIterator<{}[]>;
export declare function combinations2<X>(xs: Iterable<X>): IterableIterator<[X, X]>;
export declare function combinations3<X>(xs: Iterable<X>): IterableIterator<[X, X, X]>;
export declare function combinations(xs: Iterable<{}>, r?: number): IterableIterator<{}[]>;
export declare function combinationsWithReplacement2<X>(xs: Iterable<X>): IterableIterator<[X, X]>;
export declare function combinationsWithReplacement3<X>(xs: Iterable<X>): IterableIterator<[X, X, X]>;
export declare function combinationsWithReplacement(xs: Iterable<{}>, r?: number): IterableIterator<{}[]>;
export declare function permutations2<X>(xs: Iterable<X>): IterableIterator<[X, X]>;
export declare function permutations3<X>(xs: Iterable<X>): IterableIterator<[X, X, X]>;
export declare function permutations(xs: Iterable<{}>, r?: number): IterableIterator<{}[]>;
export declare function constantly<X>(value: X): IterableIterator<X>;
export declare function cycle<X>(xs: Iterable<X>): IterableIterator<X>;
export declare function repeat<X>(xs: Iterable<X>, n: number): IterableIterator<X>;
export declare function interleave2<X, Y>(xs: Iterable<X>, ys: Iterable<Y>): IterableIterator<X | Y>;
export declare function interleave3<X, Y, Z>(xs: Iterable<X>, ys: Iterable<Y>, zs: Iterable<Z>): IterableIterator<X | Y | Z>;
export declare function interleave(...xss: Iterable<{}>[]): IterableIterator<{}>;
export declare function pipe<T1>(x: T1): T1;
export declare function pipe<T1, T2>(x: T1, f1: (x: T1) => T2): T2;
export declare function pipe<T1, T2, T3>(x: T1, f1: (x: T1) => T2, f2: (x: T2) => T3): T3;
export declare function pipe<T1, T2, T3, T4>(x: T1, f1: (x: T1) => T2, f2: (x: T2) => T3, f3: (x: T3) => T4): T4;
export declare function pipe<T1, T2, T3, T4, T5>(x: T1, f1: (x: T1) => T2, f2: (x: T2) => T3, f3: (x: T3) => T4, f4: (x: T4) => T5): T5;
export declare function pipe<T1, T2, T3, T4, T5, T6>(x: T1, f1: (x: T1) => T2, f2: (x: T2) => T3, f3: (x: T3) => T4, f4: (x: T4) => T5, f5: (x: T5) => T6): T6;
export declare function pipe<T1, T2, T3, T4, T5, T6, T7>(x: T1, f1: (x: T1) => T2, f2: (x: T2) => T3, f3: (x: T3) => T4, f4: (x: T4) => T5, f5: (x: T5) => T6, f6: (x: T6) => T7): T7;
export declare function pipe<T1, T2, T3, T4, T5, T6, T7, T8>(x: T1, f1: (x: T1) => T2, f2: (x: T2) => T3, f3: (x: T3) => T4, f4: (x: T4) => T5, f5: (x: T5) => T6, f6: (x: T6) => T7, f7: (x: T7) => T8): T8;
export declare function pipe<T1, T2, T3, T4, T5, T6, T7, T8, T9>(x: T1, f1: (x: T1) => T2, f2: (x: T2) => T3, f3: (x: T3) => T4, f4: (x: T4) => T5, f5: (x: T5) => T6, f6: (x: T6) => T7, f7: (x: T7) => T8, f8: (x: T8) => T9): T9;
export declare function pipe<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(x: T1, f1: (x: T1) => T2, f2: (x: T2) => T3, f3: (x: T3) => T4, f4: (x: T4) => T5, f5: (x: T5) => T6, f6: (x: T6) => T7, f7: (x: T7) => T8, f8: (x: T8) => T9, f9: (x: T9) => T10): T10;
export declare function pipe<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(x: T1, f1: (x: T1) => T2, f2: (x: T2) => T3, f3: (x: T3) => T4, f4: (x: T4) => T5, f5: (x: T5) => T6, f6: (x: T6) => T7, f7: (x: T7) => T8, f8: (x: T8) => T9, f9: (x: T9) => T10, f10: (x: T10) => T11): T11;
export declare function pipe<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(x: T1, f1: (x: T1) => T2, f2: (x: T2) => T3, f3: (x: T3) => T4, f4: (x: T4) => T5, f5: (x: T5) => T6, f6: (x: T6) => T7, f7: (x: T7) => T8, f8: (x: T8) => T9, f9: (x: T9) => T10, f10: (x: T10) => T11, f11: (x: T11) => T12): T12;