---
editLink: false
lastUpdated: false
---

[@salesforce/b2c-tooling-sdk](../../modules.md) / [cli](../index.md) / TableRenderer

# Class: TableRenderer\<T\>

Defined in: [packages/b2c-tooling-sdk/src/cli/table.ts:88](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/cli/table.ts#L88)

A reusable table renderer for CLI output.

Handles dynamic column width calculation based on content and provides
consistent table formatting across all CLI commands.

## Example

```typescript
// Define columns for your data type
const columns: Record<string, ColumnDef<MyData>> = {
  id: { header: 'ID', get: (d) => d.id },
  name: { header: 'Name', get: (d) => d.name },
  status: { header: 'Status', get: (d) => d.status },
};

// Create renderer and render data
const table = new TableRenderer(columns);
table.render(items, ['id', 'name', 'status']);

// Or with custom options
table.render(items, ['id', 'name'], { padding: 3 });
```

## Type Parameters

### T

`T`

The type of data items being rendered

## Constructors

### Constructor

> **new TableRenderer**\<`T`\>(`columns`): `TableRenderer`\<`T`\>

Defined in: [packages/b2c-tooling-sdk/src/cli/table.ts:94](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/cli/table.ts#L94)

Creates a new TableRenderer.

#### Parameters

##### columns

`Record`\<`string`, [`ColumnDef`](../interfaces/ColumnDef.md)\<`T`\>\>

Column definitions keyed by column identifier

#### Returns

`TableRenderer`\<`T`\>

## Methods

### getColumnKeys()

> **getColumnKeys**(): `string`[]

Defined in: [packages/b2c-tooling-sdk/src/cli/table.ts:140](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/cli/table.ts#L140)

Gets the list of available column keys.

#### Returns

`string`[]

Array of all column keys

***

### getDefaultColumnKeys()

> **getDefaultColumnKeys**(): `string`[]

Defined in: [packages/b2c-tooling-sdk/src/cli/table.ts:149](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/cli/table.ts#L149)

Gets column keys excluding extended columns.

#### Returns

`string`[]

Array of non-extended column keys

***

### render()

> **render**(`data`, `columnKeys`, `options`): `void`

Defined in: [packages/b2c-tooling-sdk/src/cli/table.ts:103](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/cli/table.ts#L103)

Renders data as a formatted table to stdout.

#### Parameters

##### data

`T`[]

Array of data items to render

##### columnKeys

`string`[]

Array of column keys to display (in order)

##### options

[`TableRenderOptions`](../interfaces/TableRenderOptions.md) = `{}`

Optional rendering options

#### Returns

`void`

***

### validateColumnKeys()

> **validateColumnKeys**(`requested`): `string`[]

Defined in: [packages/b2c-tooling-sdk/src/cli/table.ts:161](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/cli/table.ts#L161)

Validates and filters column keys.

#### Parameters

##### requested

`string`[]

Requested column keys

#### Returns

`string`[]

Valid column keys that exist in the columns definition
