[Bug/Question] Cross tables typing
Problem:
This code snippet produce such error from Typescript:
const resultTable = new Table({
head: ['', 'Assets ', 'Entries']
});
resultTable.push(
{ 'Previous values': [`100`, `200`] },
{ 'Normalized values': [`10`, `100`] }
);
Type 'string[]' is not assignable to type '(string & Cell[]) | (number & Cell[]) | (false & Cell[]) | (true & Cell[]) | (CellOptions & Cell[])'.
Type 'string[]' is not assignable to type 'CellOptions & Cell[]'.
Property 'content' is missing in type 'string[]' but required in type 'CellOptions'.ts(2322)
According to the documentation about cross table this code should be absolutely valid https://github.com/cli-table/cli-table3#cross-tables.
Could you check the typing for that case or maybe I'm wrong?
Environment
Typescript: 3.8.3 cli-table3: 0.6.0
From the syntax in your table, it seems your table is not correct. Each row pushed into the table is expected to be an array of cells. You're pushing objects into the table.
Try this instead:
resultTable.push(
['Previous values:', 100, 200],
['Normalized values:', 10, 100],
);
I wasn't aware of the "cross-table" syntax option mentioned here: https://github.com/cli-table/cli-table3#cross-tables
Reopening. I'll take another poke at this now that my incorrect assumption is corrected.