@hashgraphonline/standards-sdk
Version:
The Hashgraph Online Standards SDK provides a complete implementation of the Hashgraph Consensus Standards (HCS), giving developers all the tools needed to build applications on Hedera.
54 lines • 2.04 kB
TypeScript
import { Logger } from './logger';
export type ProgressStage = 'preparing' | 'submitting' | 'confirming' | 'verifying' | 'completed' | 'failed';
export interface ProgressData {
stage: ProgressStage;
message: string;
progressPercent: number;
details?: Record<string, any>;
}
export type ProgressCallback = (data: ProgressData) => void;
export interface ProgressReporterOptions {
module?: string;
callback?: ProgressCallback;
logger?: Logger;
logProgress?: boolean;
minPercent?: number;
maxPercent?: number;
}
/**
* ProgressReporter is a singleton class that reports progress of a task.
* Can be used in a generalized fashion.
*/
export declare class ProgressReporter {
private static instance;
private module;
private callback?;
private logger;
private logProgress;
private minPercent;
private maxPercent;
private lastReportedPercent;
private lastReportedTime;
private throttleMs;
constructor(options?: ProgressReporterOptions);
static getInstance(options?: ProgressReporterOptions): ProgressReporter;
setCallback(callback: ProgressCallback): void;
setModule(module: string): void;
setLogger(logger: Logger): void;
setMinPercent(minPercent: number): void;
setMaxPercent(maxPercent: number): void;
createSubProgress(options: {
minPercent: number;
maxPercent: number;
logPrefix?: string;
}): ProgressReporter;
report(data: ProgressData): void;
private scalePercent;
preparing(message: string, percent: number, details?: Record<string, any>): void;
submitting(message: string, percent: number, details?: Record<string, any>): void;
confirming(message: string, percent: number, details?: Record<string, any>): void;
verifying(message: string, percent: number, details?: Record<string, any>): void;
completed(message: string, details?: Record<string, any>): void;
failed(message: string, details?: Record<string, any>): void;
}
//# sourceMappingURL=progress-reporter.d.ts.map