@contentstack/cli-utilities
Version:
Utilities for contentstack projects
39 lines (38 loc) • 1.18 kB
TypeScript
import { Header } from 'tty-table';
import { FlagInput } from '.';
export interface TableFlags {
extended?: boolean;
columns?: string;
csv?: boolean;
filter?: string;
'no-header'?: boolean;
'no-truncate'?: boolean;
output?: 'csv' | 'json' | 'yaml';
sort?: string;
}
/** Type for table headers */
export type TableHeader = Header;
/** Type for table columns mapping */
export type TableColumn = {
[key: string]: {
minWidth?: number;
maxWidth?: number;
alias?: string;
align?: 'left' | 'center' | 'right';
};
};
export type TableData<T extends Record<string, unknown>> = T[];
/** Options for CLI Table rendering */
export type TableOptions = {
truncate?: boolean;
borderStyle?: 'solid' | 'dashed' | 'none';
paddingBottom?: number;
showHeader?: boolean;
align?: 'left' | 'center' | 'right';
enableHeaderTitle?: boolean;
};
export default class CLITable {
/** Returns CLI table flags */
static getTableFlags(columns?: string[]): FlagInput<TableFlags>;
static render(headers: TableHeader[], data: Record<string, unknown>[], flags: TableFlags, options?: TableOptions): void;
}