astro-ghostcms/.pnpm-store/v3/files/21/88060c0d733836c19ba53a93f0f...

68 lines
1.7 KiB
Plaintext
Raw Normal View History

2024-02-14 14:10:47 +00:00
import {Table, Formatter, Header, Options} from "./factory";
export = TtyTable;
declare function TtyTable(headers: (string | Header | Formatter)[], body: string[][] | object[], footers: (string | Header | Formatter)[], config?: Options): Table;
declare function TtyTable(header: (string | Header | Formatter)[], body: any[], config?: Options): Table;
declare function TtyTable(body: any[], config?: Options): Table;
declare namespace TtyTable {
interface Formatter {
(cellValue: any, columnIndex: number, rowIndex: number, rowData: any, inputData: any): string;
}
export interface Header {
alias?: string;
align?: string;
color?: string;
footerAlign?: string;
footerColor?: string;
formatter?: Formatter;
headerAlign?: string;
headerColor?: string;
marginLeft?: number;
marginTop?: number;
paddingBottom?: number;
paddingLeft?: number;
paddingRight?: number;
paddingTop?: number;
value: string;
width?: string | number;
}
export interface Options {
borderStyle?: string;
borderColor?: string;
color?: string;
compact?: boolean;
defaultErrorValue?: string;
defaultValue?: string;
errorOnNull?: boolean;
truncate?: string | boolean;
width?: string;
footerColor?: string;
}
export interface Config extends Options {
borderCharacters: object;
showHeader: boolean;
tableId: string;
table: TableState;
}
export interface Table extends Array<string | object> {
render(): string;
}
class TableState {
body: string;
columnInnerWidths: number[];
columnWidths: number[];
columns: number[];
footer: string;
header: string;
height: number;
}
}