(tableData: Table)
| 12 | } |
| 13 | |
| 14 | export function table(tableData: Table): string { |
| 15 | if (tableData.rows.length === 0) { |
| 16 | throw new Error("Data can't be empty"); |
| 17 | } |
| 18 | |
| 19 | // @TODO add formatting |
| 20 | const tableHeaderCols = columnsToStringArray(tableData) |
| 21 | .map(s => wrap('th', s)) |
| 22 | .join(''); |
| 23 | const tableHeaderRow = wrapRow(tableHeaderCols); |
| 24 | const tableBody = rowToStringArray(tableData) |
| 25 | .map(arr => { |
| 26 | const columns = arr.map(s => wrap('td', s)).join(''); |
| 27 | return wrapRow(columns); |
| 28 | }) |
| 29 | .join(''); |
| 30 | |
| 31 | return wrap('table', `${NEW_LINE}${tableHeaderRow}${tableBody}`); |
| 32 | } |
no test coverage detected