UNPKG

1.62 kBTypeScriptView Raw
1import { flags as F } from '@oclif/command';
2export declare function table<T extends object>(data: T[], columns: table.Columns<T>, options?: table.Options): void;
3export declare namespace table {
4 const Flags: {
5 columns: F.IOptionFlag<string | undefined>;
6 sort: F.IOptionFlag<string | undefined>;
7 filter: F.IOptionFlag<string | undefined>;
8 csv: import("@oclif/parser/lib/flags").IBooleanFlag<boolean>;
9 extended: import("@oclif/parser/lib/flags").IBooleanFlag<boolean>;
10 'no-truncate': import("@oclif/parser/lib/flags").IBooleanFlag<boolean>;
11 'no-header': import("@oclif/parser/lib/flags").IBooleanFlag<boolean>;
12 };
13 type IFlags = typeof Flags;
14 type ExcludeFlags<T, Z> = Pick<T, Exclude<keyof T, Z>>;
15 type IncludeFlags<T, K extends keyof T> = Pick<T, K>;
16 function flags(): IFlags;
17 function flags<Z extends keyof IFlags = keyof IFlags>(opts: {
18 except: Z | Z[];
19 }): ExcludeFlags<IFlags, Z>;
20 function flags<K extends keyof IFlags = keyof IFlags>(opts: {
21 only: K | K[];
22 }): IncludeFlags<IFlags, K>;
23 type Columns<T extends object> = {
24 [key: string]: Partial<Column<T>>;
25 };
26 interface Column<T extends object> {
27 header: string;
28 extended: boolean;
29 minWidth: number;
30 get(row: T): any;
31 }
32 interface Options {
33 [key: string]: any;
34 sort?: string;
35 filter?: string;
36 columns?: string;
37 extended?: boolean;
38 'no-truncate'?: boolean;
39 csv?: boolean;
40 'no-header'?: boolean;
41 printLine?(s: any): any;
42 }
43}