UNPKG

iterparse

Version:
63 lines 1.93 kB
import { AnyIterable } from "./types"; import { AsyncIterable } from "ix"; export interface GroupedItems<T> { readonly key: string; readonly items: ReadonlyArray<T>; } declare class GroupingProgressDisplay { private progress; constructor(progress: GroupingProgress); toString(): string; toJSON(): { state: GroupingState; groupingBytesPerSecond: number; readingBytesPerSecond: number; memory: number; groupingStartTime: number; groupingStopTime: number; readingStartTime: number; readingStopTime: number; groupedItems: number; groupedBytes: number; groupedGroups: number; readedItems: number; readedBytes: number; readedGroups: number; }; } declare type GroupingState = "READING" | "GROUPING" | "IDLE"; declare class GroupingProgress { groupedBytes: number; groupedItems: number; groupedGroups: number; readedBytes: number; readedGroups: number; readedItems: number; state: GroupingState; parsingStartTime: number; parsingStopTime: number; readingStartTime: number; readingStopTime: number; start(action: GroupingState): void; stop(action: GroupingState): void; constructor(); addChunk(chunk: number): void; addGroup(group: number): void; addItem(count?: number): void; readChunk(chunk: number): void; readGroup(group: number): void; readItem(count?: number): void; set(data: { currentSize?: number; items?: number; }): void; } export interface FileGroupByOptions<T> { source: AnyIterable<T>; groupingFn: (data: T) => number | string; progress?: (progress: GroupingProgressDisplay) => void; progressFrequency?: number; } export declare function fileGroupBy<T>(args: FileGroupByOptions<T>): AsyncIterable<GroupedItems<T>>; export {}; //# sourceMappingURL=fileGroupBy.d.ts.map