node-console-progress-bar-tqdm
Version:
Progress bar in console for Node.js in the style of TQDM Python library
54 lines (53 loc) • 2.57 kB
TypeScript
import { ITqdmAsyncIteratorContainer, ITqdmSyncIteratorContainer, ITqdmProgress, TqdmInput, TqdmItem, TqdmOptions } from './base-types';
import { TqdmAsyncResultIteratorReturn, TqdmSyncResultIteratorReturn, TqdmIteratorResultSync, TqdmIteratorResultAsync } from './supply';
export { ITqdmAsyncIteratorContainer, ITqdmSyncIteratorContainer, ITqdmProgress, TqdmInput, TqdmOptions, TqdmUnitTable, TqdmUnitOption, } from './base-types';
export { TqdmAsyncResultIterator, TqdmSyncResultIterator, } from './supply';
export declare function tqdm<TInput extends TqdmInput>(input: TInput, opts?: TqdmOptions): Tqdm<TInput>;
export declare class Tqdm<TInput extends TqdmInput> implements Iterable<TqdmItem<TInput>>, AsyncIterable<TqdmItem<TInput>>, ITqdmSyncIteratorContainer<TqdmItem<TInput>>, ITqdmAsyncIteratorContainer<TqdmItem<TInput>> {
private readonly input;
private readonly iterator;
private readonly progress;
constructor(input: TInput, options?: TqdmOptions);
[Symbol.iterator](): TqdmSyncResultIteratorReturn<TInput>;
[Symbol.asyncIterator](): TqdmAsyncResultIteratorReturn<TInput>;
nextSync(): TqdmIteratorResultSync<TInput>;
nextAsync(): TqdmIteratorResultAsync<TInput>;
}
export declare class TqdmProgress implements ITqdmProgress {
private readonly description;
private readonly unit;
private readonly maxColWidth;
private readonly progressLeftBrace;
private readonly progressRightBrace;
private readonly progressSymbol;
private readonly progressColor;
private readonly progressColorReset;
private readonly stream;
private readonly minInterval;
private readonly total;
private readonly totalDigits;
private readonly initial;
private readonly step;
private readonly unitScale;
private readonly unitDelimiter;
private readonly totalScaled;
private readonly haveCorrectTotal;
private readonly startTime;
private lastRenderTime;
private timeSpent;
private position;
private itCounter;
private readonly num;
static withProgress<TResult>(fn: (progressBar: TqdmProgress) => TResult, options?: TqdmOptions): TResult;
static withAsyncProgress<TResult>(fn: (progressBar: TqdmProgress) => Promise<TResult>, options?: TqdmOptions): Promise<TResult>;
constructor(options: TqdmOptions);
update(by?: number): void;
render(force?: boolean): void;
close(): void;
private numScale;
private numNoScale;
private doesPositionFitTotal;
private generateLeft;
private generateRight;
private generateProgressBar;
}