1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- declare namespace CliTable3 {
- type CharName =
- "top" |
- "top-mid" |
- "top-left" |
- "top-right" |
- "bottom" |
- "bottom-mid" |
- "bottom-left" |
- "bottom-right" |
- "left" |
- "left-mid" |
- "mid" |
- "mid-mid" |
- "right" |
- "right-mid" |
- "middle";
- type HorizontalAlignment = "left" | "center" | "right";
- type VerticalAlignment = "top" | "center" | "bottom";
- interface TableOptions {
- truncate: string;
- colWidths: Array<number | null>;
- rowHeights: Array<number | null>;
- colAligns: HorizontalAlignment[];
- rowAligns: VerticalAlignment[];
- head: string[];
- wordWrap: boolean;
- }
- interface TableInstanceOptions extends TableOptions {
- chars: Record<CharName, string>;
- style: {
- "padding-left": number;
- "padding-right": number;
- head: string[];
- border: string[];
- compact: boolean;
- };
- }
- interface TableConstructorOptions extends Partial<TableOptions> {
- chars?: Partial<Record<CharName, string>>;
- style?: Partial<TableInstanceOptions["style"]>;
- }
- type CellValue = boolean | number | string | null | undefined;
- interface CellOptions {
- content: CellValue;
- chars?: Partial<Record<CharName, string>>;
- truncate?: string;
- colSpan?: number;
- rowSpan?: number;
- hAlign?: HorizontalAlignment;
- vAlign?: VerticalAlignment;
- style?: {
- "padding-left"?: number;
- "padding-right"?: number;
- head?: string[];
- border?: string[];
- };
- }
- interface GenericTable<T> extends Array<T> {
- options: TableInstanceOptions;
- readonly width: number;
- }
- type Table = GenericTable<HorizontalTableRow|VerticalTableRow|CrossTableRow>;
- type Cell = CellValue | CellOptions;
- type HorizontalTableRow = Cell[];
- interface VerticalTableRow {
- [name: string]: Cell;
- }
- interface CrossTableRow {
- [name: string]: Cell[];
- }
- }
- interface CliTable3 {
- new (options?: CliTable3.TableConstructorOptions): CliTable3.Table;
- readonly prototype: CliTable3.Table;
- }
- declare const CliTable3: CliTable3;
- export = CliTable3;
|