UNPKG

@contentstack/cli-utilities

Version:

Utilities for contentstack projects

39 lines (38 loc) 1.18 kB
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; }