credl-parser-evaluator
Version:
TypeScript-based CREDL Parser and Evaluator that processes CREDL files and outputs complete Intermediate Representations
100 lines • 3.17 kB
TypeScript
import { Ora } from 'ora';
export declare class OutputFormatter {
private quiet;
private noColor;
constructor(options?: {
quiet?: boolean;
noColor?: boolean;
});
log(message: string): void;
info(message: string): void;
success(message: string): void;
warning(message: string): void;
error(message: string): void;
debug(message: string, verbose?: boolean): void;
progress(message: string): void;
step(current: number, total: number, message: string): void;
spinner(message: string): Ora;
private color;
header(title: string): void;
section(title: string): void;
bulletList(items: string[], indent?: number): void;
numberedList(items: string[], indent?: number): void;
fileStatus(filePath: string, status: 'success' | 'error' | 'warning' | 'info'): void;
codeBlock(code: string, language?: string): void;
metric(label: string, value: string | number, unit?: string): void;
keyValue(key: string, value: string, indent?: number): void;
}
export interface TableColumn {
header: string;
key: string;
width?: number;
align?: 'left' | 'right' | 'center';
formatter?: (value: any) => string;
}
export interface TableOptions {
showHeaders?: boolean;
headerStyle?: 'bold' | 'underline' | 'none';
borderStyle?: 'simple' | 'rounded' | 'none';
maxWidth?: number;
}
export declare class TableFormatter {
private noColor;
constructor(options?: {
noColor?: boolean;
});
formatTable(data: Record<string, any>[], columns: TableColumn[], options?: TableOptions): string;
formatDataTable(data: Record<string, any>, options?: {
indent?: number;
}): string;
formatValidationTable(results: Array<{
file: string;
status: 'valid' | 'invalid' | 'error';
errors?: number;
warnings?: number;
time?: number;
}>): string;
private calculateColumnWidths;
private padCell;
private formatRow;
private styleText;
}
export declare class JSONFormatter {
static prettyPrint(data: any, options?: {
indent?: number;
sortKeys?: boolean;
colorize?: boolean;
maxLength?: number;
}): string;
static compact(data: any): string;
static safeStringify(data: any, options?: {
indent?: number;
replacer?: (key: string, value: any) => any;
}): string;
private static sortedReplacer;
private static colorizeJSON;
}
export declare class ProgressBar {
private total;
private width;
private label;
private startTime;
constructor(total: number, options?: {
width?: number;
label?: string;
});
update(current: number, message?: string): void;
complete(message?: string): void;
}
export declare function createOutputFormatter(options?: {
quiet?: boolean;
noColor?: boolean;
}): OutputFormatter;
export declare function createTableFormatter(options?: {
noColor?: boolean;
}): TableFormatter;
export declare function createProgressBar(total: number, options?: {
width?: number;
label?: string;
}): ProgressBar;
//# sourceMappingURL=output.d.ts.map