UNPKG

node-console-progress-bar-tqdm

Version:

Progress bar in console for Node.js in the style of TQDM Python library

32 lines (31 loc) 1.25 kB
/// <reference types="node" /> export type TqdmInput = Iterable<unknown> | Iterator<unknown> | AsyncIterable<unknown> | AsyncIterator<unknown> | number; export type TqdmItem<TInput> = TInput extends Iterable<infer Item> ? Item : TInput extends Iterator<infer Item> ? Item : TInput extends AsyncIterable<infer Item> ? Item : TInput extends AsyncIterator<infer Item> ? Item : TInput extends number ? number : never; export type TqdmUnitTable = Record<Intl.LDMLPluralRule, string>; export type TqdmUnitOption = string | [string, string] | TqdmUnitTable; export type TqdmOptions = { description?: string; maxColWidth?: number; progressBraces?: [string, string]; progressSymbol?: string; progressColor?: string; initial?: number; total?: number; step?: number; unit?: TqdmUnitOption; unitScale?: boolean; stream?: NodeJS.WritableStream; minInterval?: number; forceTerminal?: boolean; }; export interface ITqdmProgress { update(by?: number): void; render(force?: boolean): void; close(): void; } export interface ITqdmSyncIteratorContainer<TItem> { nextSync(): IteratorResult<TItem>; } export interface ITqdmAsyncIteratorContainer<TItem> { nextAsync(): Promise<IteratorResult<TItem>>; }