iterparse
Version:
Delightful data parsing
43 lines • 1.83 kB
TypeScript
import { AsyncIterable } from "ix";
import { GroupedItems } from "./fileGroupBy";
import { AnyIterable } from "./types";
export interface TrailingGroupByArgs<T> {
groupBy: ((data: T) => string | number) | ((data: T) => Promise<string | number>);
maxGroupSize: number;
totalItemsInMemory: number;
}
export declare function trailingGroupBy<T>(args: TrailingGroupByArgs<T>): (data: AnyIterable<T>) => AsyncIterable<GroupedItems<T>>;
export declare function trailingGroupBy<T>(data: AnyIterable<T>, args: TrailingGroupByArgs<T>): AsyncIterable<GroupedItems<T>>;
export interface TrailingMapArgs<T, R> {
mapFunc: (data: T) => Promise<R>;
maxConcurrency: number;
}
export declare function trailingMap<T, R>(args: TrailingMapArgs<T, R>): (data: AnyIterable<T>) => AsyncIterable<R>;
export declare function trailingMap<T, R>(data: AnyIterable<T>, args: TrailingMapArgs<T, R>): AsyncIterable<R>;
export declare function onDone<T>(callback: () => void): (data: AnyIterable<T>) => AsyncIterable<T>;
export declare function onDone<T>(data: AnyIterable<T>, callback: () => void): AsyncIterable<T>;
declare class ProgressTrack {
items: number;
isRunning: boolean;
startTime: number;
rollingDurations: number[];
addItem(): void;
get average(): number;
}
declare class Progress {
private progress;
constructor(progress: ProgressTrack);
toString(): string;
toJSON(): {
speed: number;
items: number;
};
}
interface OnProgressArgs {
progress: (data: Progress) => void;
progressFrequency?: number;
}
export declare function onProgress<T>(args: OnProgressArgs): (data: AnyIterable<T>) => AsyncIterable<T>;
export declare function onProgress<T>(data: AnyIterable<T>, args: OnProgressArgs): AsyncIterable<T>;
export {};
//# sourceMappingURL=iteratorHelpers.d.ts.map