Interface ColumnModel<T>

Column configuration for markdown table generation. Generic interface that defines how to extract and format data from any data type.

// Column for formatting signal data
const signalColumn: ColumnModel<IStrategyTickResultClosed> = {
key: "pnl",
label: "PNL",
format: (signal) => `${signal.pnl.pnlPercentage.toFixed(2)}%`,
isVisible: () => true
};

// Column for formatting heatmap rows
const heatmapColumn: ColumnModel<IHeatmapRow> = {
key: "symbol",
label: "Symbol",
format: (row) => row.symbol,
isVisible: () => true
};
interface ColumnModel<T extends object = any> {
    format: (data: T, index: number) => string | Promise<string>;
    isVisible: () => boolean | Promise<boolean>;
    key: string;
    label: string;
}

Type Parameters

  • T extends object = any

    The data type that this column will format

Properties

format: (data: T, index: number) => string | Promise<string>

Formatting function to convert data to string

isVisible: () => boolean | Promise<boolean>

Function to determine if column should be visible

key: string

Unique column identifier

label: string

Display label for column header