table
- Version 6.9.0
- Published
- 335 kB
- 5 dependencies
- BSD-3-Clause license
Install
npm i table
yarn add table
pnpm add table
Overview
Formats data into a string table.
Index
Functions
Type Aliases
Functions
function createStream
createStream: (userConfig: StreamUserConfig) => WritableStream;
function getBorderCharacters
getBorderCharacters: (name: string) => BorderConfig;
function table
table: ( data: ReadonlyArray<readonly unknown[]>, userConfig?: TableUserConfig) => string;
Type Aliases
type Alignment
type Alignment = 'center' | 'justify' | 'left' | 'right';
type BaseUserConfig
type BaseUserConfig = { /** * Custom border */ readonly border?: BorderUserConfig; /** * Default values for all columns. Column specific settings overwrite the default values. */ readonly columnDefault?: ColumnUserConfig; /** * Column specific configuration. */ readonly columns?: Indexable<ColumnUserConfig>; /** * Used to tell whether to draw a vertical line. * This callback is called for each non-content line of the table. * The default behavior is to always return true. */ readonly drawVerticalLine?: DrawVerticalLine;};
type BorderConfig
type BorderConfig = Required<BorderUserConfig>;
type BorderUserConfig
type BorderUserConfig = { readonly topLeft?: string; readonly topRight?: string; readonly topBody?: string; readonly topJoin?: string; readonly bottomLeft?: string; readonly bottomRight?: string; readonly bottomBody?: string; readonly bottomJoin?: string; readonly joinLeft?: string; readonly joinRight?: string; readonly joinBody?: string; readonly joinJoin?: string; readonly joinMiddleUp?: string; readonly joinMiddleDown?: string; readonly joinMiddleLeft?: string; readonly joinMiddleRight?: string; readonly headerJoin?: string; readonly bodyRight?: string; readonly bodyLeft?: string; readonly bodyJoin?: string;};
type CellUserConfig
type CellUserConfig = { /** * Cell content horizontal alignment (default: left) */ readonly alignment?: Alignment; /** * Cell content vertical alignment (default: top) */ readonly verticalAlignment?: VerticalAlignment; /** * Number of characters are which the content will be truncated (default: Infinity) */ readonly truncate?: number; /** * Cell content padding width left (default: 1) */ readonly paddingLeft?: number; /** * Cell content padding width right (default: 1) */ readonly paddingRight?: number; /** * If true, the text is broken at the nearest space or one of the special characters: "\|/_.,;-" */ readonly wrapWord?: boolean;};
type ColumnUserConfig
type ColumnUserConfig = CellUserConfig & { /** * Column width (default: auto calculation based on the cell content) */ readonly width?: number;};
type DrawHorizontalLine
type DrawHorizontalLine = DrawLinePredicate;
type DrawLinePredicate
type DrawLinePredicate = (index: number, size: number) => boolean;
type DrawVerticalLine
type DrawVerticalLine = DrawLinePredicate;
type HeaderUserConfig
type HeaderUserConfig = Omit<ColumnUserConfig, 'verticalAlignment' | 'width'> & { readonly content: string;};
Deprecated
Use spanning cell API instead
type Indexable
type Indexable<T> = { readonly [index: number]: T;};
type SpanningCellConfig
type SpanningCellConfig = CellUserConfig & { readonly row: number; readonly col: number; readonly rowSpan?: number; readonly colSpan?: number;};
type StreamUserConfig
type StreamUserConfig = BaseUserConfig & { /** * The number of columns */ readonly columnCount: number; /** * Default values for all columns. Column specific settings overwrite the default values. */ readonly columnDefault: ColumnUserConfig & { /** * The default width for each column */ readonly width: number; };};
type TableUserConfig
type TableUserConfig = BaseUserConfig & { /** * The header configuration */ readonly header?: HeaderUserConfig; /** * Used to tell whether to draw a horizontal line. * This callback is called for each non-content line of the table. * The default behavior is to always return true. */ readonly drawHorizontalLine?: DrawHorizontalLine; /** * Horizontal lines inside the table are not drawn. */ readonly singleLine?: boolean; readonly spanningCells?: SpanningCellConfig[];};
type VerticalAlignment
type VerticalAlignment = 'bottom' | 'middle' | 'top';
type WritableStream
type WritableStream = { readonly write: (rows: string[]) => void;};
Package Files (5)
Dependencies (5)
Dev Dependencies (25)
Peer Dependencies (0)
No peer dependencies.
Badge
To add a badge like this oneto your package's README, use the codes available below.
You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/table
.
- Markdown[![jsDocs.io](https://img.shields.io/badge/jsDocs.io-reference-blue)](https://www.jsdocs.io/package/table)
- HTML<a href="https://www.jsdocs.io/package/table"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>
- Updated .
Package analyzed in 3013 ms. - Missing or incorrect documentation? Open an issue for this package.