@quenty/cli-output-helpers
Version:
Helpers to generate Nevermore package and game templates
44 lines • 1.94 kB
TypeScript
import { type PackageResult, type PackageStatus, type ProgressSummary, BaseReporter } from '../reporter.js';
import { type IStateTracker } from '../state/state-tracker.js';
import { type GithubCommentTableConfig } from './formatting.js';
export type { GithubCommentColumn, GithubCommentTableConfig, GithubTableRow, } from './formatting.js';
export { summarizeError } from './formatting.js';
/**
* Maintains a live PR comment that updates as jobs progress.
* The table grid is stable — same rows throughout, only status changes.
* Updates are throttled to avoid GitHub API rate limits.
*
* Also used for post-hoc posting from a LoadedStateTracker (call stopAsync directly).
*/
export declare class GithubCommentTableReporter extends BaseReporter {
private _state;
private _config;
private _concurrency;
private _updateTimer;
private _updatePending;
private _disposed;
private _error;
private _noTestsMessage;
private static readonly THROTTLE_MS;
constructor(state: IStateTracker | undefined, config: GithubCommentTableConfig, concurrency?: number);
/**
* Set an error message to post instead of results.
* When set, stopAsync() posts a failure comment rather than a results table.
*/
setError(error: string): void;
/**
* Set an informational message when no tests were discovered.
* When set, stopAsync() posts a neutral comment rather than a results table.
*/
setNoTestsRun(message: string): void;
startAsync(): Promise<void>;
onPackageStart(_name: string): void;
onPackagePhaseChange(_name: string, _phase: PackageStatus): void;
onPackageProgressUpdate(_name: string, _progress: ProgressSummary): void;
onPackageResult(_result: PackageResult): void;
stopAsync(): Promise<void>;
private _scheduleUpdate;
private _postUpdateAsync;
private _postCommentAsync;
}
//# sourceMappingURL=comment-table-reporter.d.ts.map