iterparse
Version:
Delightful data parsing
104 lines • 2.71 kB
TypeScript
export declare function getFileType(contentType: string): ".json" | ".csv" | ".xml" | undefined;
export declare class DownloadProgress {
private url;
private startTime;
private totalSize?;
downloaded: number;
constructor(url: string, startTime: number, totalSize?: number | undefined);
add(chunk: number): void;
toString(): string;
toJSON(): {
eta: number;
progress: number;
url: string;
bytesPerSec: number;
speed: string;
etaMs: string;
startTime: number;
totalSize: number;
downloaded: number;
} | {
url: string;
bytesPerSec: number;
speed: string;
startTime: number;
totalSize: number | undefined;
downloaded: number;
eta?: undefined;
progress?: undefined;
etaMs?: undefined;
};
}
export declare function formatBytes(bytes: number, decimals?: number): string;
export interface ProgressReportOptions {
/**
* Hook for tracking download progress
*/
progress?: (data: Progress) => void;
/**
* How often notify about progress?
* @defaultValue `1000ms`
*/
progressFrequency?: number;
}
export declare class Progress {
private filePath;
private totalSize;
private startTime;
parsedBytes: number;
items: number;
constructor(filePath: string, totalSize: number, startTime: number);
add(chunk: number): void;
set(data: {
currentSize?: number;
items?: number;
}): void;
addItem(count?: number): void;
toString(): string;
toJSON(): {
eta: number;
filePath: string;
items: number;
progress: number;
etaMs: string;
bytesPerSec: number;
speed: string;
startTime: number;
totalSize: number;
parsedBytes: number;
};
}
export interface WriteProgressReportOptions {
/**
* Hook for tracking download progress
*/
progress?: (data: WriteProgress) => void;
/**
* How often notify about progress?
* @defaultValue `3000ms`
*/
progressFrequency?: number;
}
export declare class WriteProgress {
private filePath;
private startTime;
writedBytes: number;
items: number;
constructor(filePath: string, startTime: number);
add(chunk: number): void;
set(data: {
currentSize?: number;
items?: number;
}): void;
addItem(count?: number): void;
toString(): string;
toJSON(): {
filePath: string;
items: number;
bytesPerSec: number;
speed: string;
startTime: number;
writedBytes: number;
};
}
//# sourceMappingURL=helpers.d.ts.map