table 6.5.1 → 6.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +407 -434
  2. package/dist/alignString.d.ts +2 -3
  3. package/dist/alignString.js +23 -11
  4. package/dist/alignTableData.d.ts +1 -2
  5. package/dist/alignTableData.js +7 -14
  6. package/dist/calculateCellHeight.d.ts +4 -2
  7. package/dist/calculateCellHeight.js +8 -9
  8. package/dist/calculateCellWidths.d.ts +5 -0
  9. package/dist/{calculateCellWidthIndex.js → calculateCellWidths.js} +6 -6
  10. package/dist/{calculateMaximumColumnWidthIndex.d.ts → calculateColumnWidths.d.ts} +0 -0
  11. package/dist/calculateColumnWidths.js +16 -0
  12. package/dist/calculateRowHeights.d.ts +5 -0
  13. package/dist/calculateRowHeights.js +18 -0
  14. package/dist/createStream.d.ts +1 -2
  15. package/dist/createStream.js +29 -30
  16. package/dist/drawBorder.d.ts +6 -5
  17. package/dist/drawBorder.js +60 -14
  18. package/dist/drawContent.d.ts +9 -0
  19. package/dist/drawContent.js +26 -0
  20. package/dist/drawHeader.d.ts +2 -0
  21. package/dist/drawHeader.js +29 -0
  22. package/dist/drawRow.d.ts +1 -2
  23. package/dist/drawRow.js +16 -12
  24. package/dist/drawTable.d.ts +1 -2
  25. package/dist/drawTable.js +26 -36
  26. package/dist/generated/validators.d.ts +2 -2
  27. package/dist/generated/validators.js +657 -307
  28. package/dist/getBorderCharacters.d.ts +1 -2
  29. package/dist/getBorderCharacters.js +7 -1
  30. package/dist/index.d.ts +3 -3
  31. package/dist/index.js +6 -9
  32. package/dist/makeStreamConfig.d.ts +1 -2
  33. package/dist/makeStreamConfig.js +14 -26
  34. package/dist/{makeConfig.d.ts → makeTableConfig.d.ts} +1 -2
  35. package/dist/{makeConfig.js → makeTableConfig.js} +29 -21
  36. package/dist/mapDataUsingRowHeights.d.ts +2 -0
  37. package/dist/mapDataUsingRowHeights.js +44 -0
  38. package/dist/padTableData.d.ts +2 -2
  39. package/dist/padTableData.js +10 -4
  40. package/dist/stringifyTableData.d.ts +1 -2
  41. package/dist/stringifyTableData.js +7 -2
  42. package/dist/table.d.ts +1 -2
  43. package/dist/table.js +23 -24
  44. package/dist/truncateTableData.d.ts +2 -2
  45. package/dist/truncateTableData.js +10 -6
  46. package/dist/types/api.d.ts +18 -4
  47. package/dist/utils.d.ts +1 -0
  48. package/dist/utils.js +92 -0
  49. package/dist/validateConfig.d.ts +1 -2
  50. package/dist/validateConfig.js +3 -1
  51. package/dist/validateTableData.d.ts +1 -2
  52. package/dist/validateTableData.js +5 -2
  53. package/dist/wrapCell.d.ts +1 -2
  54. package/dist/wrapCell.js +9 -24
  55. package/dist/wrapString.d.ts +1 -2
  56. package/dist/wrapString.js +3 -1
  57. package/dist/wrapWord.d.ts +1 -2
  58. package/dist/wrapWord.js +3 -1
  59. package/package.json +6 -7
  60. package/dist/calculateCellWidthIndex.d.ts +0 -6
  61. package/dist/calculateMaximumColumnWidthIndex.js +0 -24
  62. package/dist/calculateRowHeightIndex.d.ts +0 -6
  63. package/dist/calculateRowHeightIndex.js +0 -21
  64. package/dist/drawHorizontalContent.d.ts +0 -11
  65. package/dist/drawHorizontalContent.js +0 -18
  66. package/dist/mapDataUsingRowHeightIndex.d.ts +0 -3
  67. package/dist/mapDataUsingRowHeightIndex.js +0 -26
package/dist/drawTable.js CHANGED
@@ -3,46 +3,36 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.drawTable = void 0;
7
+ const string_width_1 = __importDefault(require("string-width"));
6
8
  const drawBorder_1 = require("./drawBorder");
7
- const drawRow_1 = __importDefault(require("./drawRow"));
8
- /**
9
- * Group the array into sub-arrays by sizes.
10
- *
11
- * @example
12
- * chunkBySizes(['a', 'b', 'c', 'd', 'e'], [2, 1, 2]) = [ ['a', 'b'], ['c'], ['d', 'e'] ]
13
- */
14
- const groupBySizes = (array, sizes) => {
15
- let startIndex = 0;
16
- return sizes.map((rowHeight) => {
17
- const chunk = array.slice(startIndex, startIndex + rowHeight);
18
- startIndex += rowHeight;
19
- return chunk;
20
- });
21
- };
22
- const shouldDrawBorderJoin = (rowIndex, rowCount, config) => {
23
- const { singleLine, drawHorizontalLine } = config;
24
- return !singleLine && rowIndex + 1 < rowCount && drawHorizontalLine(rowIndex + 1, rowCount);
25
- };
26
- exports.default = (rows, columnWidths, rowHeights, config) => {
27
- const { drawHorizontalLine, } = config;
28
- const groupedRows = groupBySizes(rows, rowHeights).map((group) => {
9
+ const drawContent_1 = require("./drawContent");
10
+ const drawHeader_1 = require("./drawHeader");
11
+ const drawRow_1 = require("./drawRow");
12
+ const utils_1 = require("./utils");
13
+ const drawTable = (rows, columnWidths, rowHeights, config) => {
14
+ const { drawHorizontalLine, singleLine, } = config;
15
+ const contents = utils_1.groupBySizes(rows, rowHeights).map((group) => {
29
16
  return group.map((row) => {
30
- return drawRow_1.default(row, config);
17
+ return drawRow_1.drawRow(row, config);
31
18
  }).join('');
32
19
  });
33
- const rowCount = groupedRows.length;
34
- let output = '';
35
- if (drawHorizontalLine(0, rowCount)) {
36
- output += drawBorder_1.drawBorderTop(columnWidths, config);
20
+ if (config.header) {
21
+ // assume that topLeft/right border have width = 1
22
+ const headerWidth = string_width_1.default(drawRow_1.drawRow(rows[0], config)) - 2 -
23
+ config.header.paddingLeft - config.header.paddingRight;
24
+ const header = drawHeader_1.drawHeader(headerWidth, config);
25
+ contents.unshift(header);
37
26
  }
38
- groupedRows.forEach((row, rowIndex) => {
39
- output += row;
40
- if (shouldDrawBorderJoin(rowIndex, rowCount, config)) {
41
- output += drawBorder_1.drawBorderJoin(columnWidths, config);
42
- }
27
+ return drawContent_1.drawContent(contents, {
28
+ drawSeparator: (index, size) => {
29
+ // Top/bottom border
30
+ if (index === 0 || index === size) {
31
+ return drawHorizontalLine(index, size);
32
+ }
33
+ return !singleLine && drawHorizontalLine(index, size);
34
+ },
35
+ separatorGetter: drawBorder_1.createTableBorderGetter(columnWidths, config),
43
36
  });
44
- if (drawHorizontalLine(rowCount, rowCount)) {
45
- output += drawBorder_1.drawBorderBottom(columnWidths, config);
46
- }
47
- return output;
48
37
  };
38
+ exports.drawTable = drawTable;
@@ -4,10 +4,10 @@ declare function validate43(data: any, { instancePath, parentData, parentDataPro
4
4
  parentDataProperty: any;
5
5
  rootData?: any;
6
6
  }): boolean;
7
- declare function validate70(data: any, { instancePath, parentData, parentDataProperty, rootData }?: {
7
+ declare function validate76(data: any, { instancePath, parentData, parentDataProperty, rootData }?: {
8
8
  instancePath?: string | undefined;
9
9
  parentData: any;
10
10
  parentDataProperty: any;
11
11
  rootData?: any;
12
12
  }): boolean;
13
- export { validate43 as _config_json, validate70 as _streamConfig_json };
13
+ export { validate43 as _config_json, validate76 as _streamConfig_json };