table 6.0.9 → 6.3.1

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 (107) hide show
  1. package/README.md +53 -1
  2. package/dist/src/alignString.d.ts +6 -0
  3. package/dist/src/alignString.js +64 -0
  4. package/dist/src/alignTableData.d.ts +3 -0
  5. package/dist/src/alignTableData.js +21 -0
  6. package/dist/src/calculateCellHeight.d.ts +2 -0
  7. package/dist/src/calculateCellHeight.js +17 -0
  8. package/dist/src/calculateCellWidthIndex.d.ts +6 -0
  9. package/dist/src/calculateCellWidthIndex.js +17 -0
  10. package/dist/src/calculateMaximumColumnWidthIndex.d.ts +6 -0
  11. package/dist/src/calculateMaximumColumnWidthIndex.js +25 -0
  12. package/dist/src/calculateRowHeightIndex.d.ts +6 -0
  13. package/dist/src/calculateRowHeightIndex.js +30 -0
  14. package/dist/src/createStream.d.ts +3 -0
  15. package/dist/src/createStream.js +74 -0
  16. package/dist/src/drawBorder.d.ts +25 -0
  17. package/dist/src/drawBorder.js +55 -0
  18. package/dist/src/drawHorizontalContent.d.ts +11 -0
  19. package/dist/src/drawHorizontalContent.js +19 -0
  20. package/dist/src/drawRow.d.ts +7 -0
  21. package/dist/src/drawRow.js +17 -0
  22. package/dist/src/drawTable.d.ts +3 -0
  23. package/dist/src/drawTable.js +38 -0
  24. package/dist/src/getBorderCharacters.d.ts +3 -0
  25. package/dist/src/getBorderCharacters.js +83 -0
  26. package/dist/{index.js.flow → src/index.d.ts} +2 -6
  27. package/dist/src/index.js +24 -0
  28. package/dist/src/makeConfig.d.ts +8 -0
  29. package/dist/src/makeConfig.js +59 -0
  30. package/dist/src/makeStreamConfig.d.ts +8 -0
  31. package/dist/src/makeStreamConfig.js +60 -0
  32. package/dist/src/mapDataUsingRowHeightIndex.d.ts +3 -0
  33. package/dist/src/mapDataUsingRowHeightIndex.js +27 -0
  34. package/dist/src/padTableData.d.ts +3 -0
  35. package/dist/src/padTableData.js +11 -0
  36. package/dist/src/stringifyTableData.d.ts +3 -0
  37. package/dist/src/stringifyTableData.js +8 -0
  38. package/dist/src/table.d.ts +3 -0
  39. package/dist/src/table.js +28 -0
  40. package/dist/src/truncateTableData.d.ts +6 -0
  41. package/dist/src/truncateTableData.js +20 -0
  42. package/dist/src/types/api.d.ts +100 -0
  43. package/dist/src/types/api.js +3 -0
  44. package/dist/src/types/internal.d.ts +1 -0
  45. package/dist/src/types/internal.js +3 -0
  46. package/dist/src/validateConfig.d.ts +3 -0
  47. package/dist/src/validateConfig.js +27 -0
  48. package/dist/src/validateTableData.d.ts +2 -0
  49. package/dist/src/validateTableData.js +29 -0
  50. package/dist/{validators.js → src/validators.js} +54 -14
  51. package/dist/src/wrapCell.d.ts +9 -0
  52. package/dist/src/wrapCell.js +33 -0
  53. package/dist/src/wrapString.d.ts +10 -0
  54. package/dist/src/wrapString.js +25 -0
  55. package/dist/src/wrapWord.d.ts +2 -0
  56. package/dist/src/wrapWord.js +29 -0
  57. package/package.json +32 -25
  58. package/dist/alignString.js +0 -107
  59. package/dist/alignString.js.flow +0 -97
  60. package/dist/alignTableData.js +0 -34
  61. package/dist/alignTableData.js.flow +0 -21
  62. package/dist/calculateCellHeight.js +0 -37
  63. package/dist/calculateCellHeight.js.flow +0 -24
  64. package/dist/calculateCellWidthIndex.js +0 -27
  65. package/dist/calculateCellWidthIndex.js.flow +0 -17
  66. package/dist/calculateMaximumColumnWidthIndex.js +0 -36
  67. package/dist/calculateMaximumColumnWidthIndex.js.flow +0 -27
  68. package/dist/calculateRowHeightIndex.js +0 -45
  69. package/dist/calculateRowHeightIndex.js.flow +0 -36
  70. package/dist/createStream.js +0 -124
  71. package/dist/createStream.js.flow +0 -125
  72. package/dist/drawBorder.js +0 -109
  73. package/dist/drawBorder.js.flow +0 -101
  74. package/dist/drawRow.js +0 -25
  75. package/dist/drawRow.js.flow +0 -15
  76. package/dist/drawTable.js +0 -58
  77. package/dist/drawTable.js.flow +0 -53
  78. package/dist/getBorderCharacters.js +0 -118
  79. package/dist/getBorderCharacters.js.flow +0 -120
  80. package/dist/index.js +0 -31
  81. package/dist/makeConfig.js +0 -91
  82. package/dist/makeConfig.js.flow +0 -76
  83. package/dist/makeStreamConfig.js +0 -97
  84. package/dist/makeStreamConfig.js.flow +0 -83
  85. package/dist/mapDataUsingRowHeightIndex.js +0 -41
  86. package/dist/mapDataUsingRowHeightIndex.js.flow +0 -34
  87. package/dist/padTableData.js +0 -23
  88. package/dist/padTableData.js.flow +0 -14
  89. package/dist/schemas/config.json +0 -23
  90. package/dist/schemas/shared.json +0 -98
  91. package/dist/schemas/streamConfig.json +0 -20
  92. package/dist/stringifyTableData.js +0 -21
  93. package/dist/stringifyTableData.js.flow +0 -11
  94. package/dist/table.js +0 -109
  95. package/dist/table.js.flow +0 -96
  96. package/dist/truncateTableData.js +0 -29
  97. package/dist/truncateTableData.js.flow +0 -17
  98. package/dist/validateConfig.js +0 -40
  99. package/dist/validateConfig.js.flow +0 -27
  100. package/dist/validateTableData.js +0 -54
  101. package/dist/validateTableData.js.flow +0 -44
  102. package/dist/wrapCell.js +0 -47
  103. package/dist/wrapCell.js.flow +0 -35
  104. package/dist/wrapString.js +0 -39
  105. package/dist/wrapString.js.flow +0 -29
  106. package/dist/wrapWord.js +0 -46
  107. package/dist/wrapWord.js.flow +0 -39
@@ -1,35 +0,0 @@
1
- import wrapString from './wrapString';
2
- import wrapWord from './wrapWord';
3
-
4
- /**
5
- * Wrap a single cell value into a list of lines
6
- *
7
- * Always wraps on newlines, for the remainder uses either word or string wrapping
8
- * depending on user configuration.
9
- *
10
- * @param {string} cellValue
11
- * @param {number} columnWidth
12
- * @param {boolean} useWrapWord
13
- * @returns {Array}
14
- */
15
- export default (cellValue, columnWidth, useWrapWord) => {
16
- // First split on literal newlines
17
- const cellLines = cellValue.split('\n');
18
-
19
- // Then iterate over the list and word-wrap every remaining line if necessary.
20
- for (let lineNr = 0; lineNr < cellLines.length;) {
21
- let lineChunks;
22
-
23
- if (useWrapWord) {
24
- lineChunks = wrapWord(cellLines[lineNr], columnWidth);
25
- } else {
26
- lineChunks = wrapString(cellLines[lineNr], columnWidth);
27
- }
28
-
29
- // Replace our original array element with whatever the wrapping returned
30
- cellLines.splice(lineNr, 1, ...lineChunks);
31
- lineNr += lineChunks.length;
32
- }
33
-
34
- return cellLines;
35
- };
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _sliceAnsi = _interopRequireDefault(require("slice-ansi"));
9
-
10
- var _stringWidth = _interopRequireDefault(require("string-width"));
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- /**
15
- * Creates an array of strings split into groups the length of size.
16
- * This function works with strings that contain ASCII characters.
17
- *
18
- * wrapText is different from would-be "chunk" implementation
19
- * in that whitespace characters that occur on a chunk size limit are trimmed.
20
- *
21
- * @param {string} subject
22
- * @param {number} size
23
- * @returns {Array}
24
- */
25
- const wrapString = (subject, size) => {
26
- let subjectSlice;
27
- subjectSlice = subject;
28
- const chunks = [];
29
-
30
- do {
31
- chunks.push((0, _sliceAnsi.default)(subjectSlice, 0, size));
32
- subjectSlice = (0, _sliceAnsi.default)(subjectSlice, size).trim();
33
- } while ((0, _stringWidth.default)(subjectSlice));
34
-
35
- return chunks;
36
- };
37
-
38
- var _default = wrapString;
39
- exports.default = _default;
@@ -1,29 +0,0 @@
1
- import slice from 'slice-ansi';
2
- import stringWidth from 'string-width';
3
-
4
- /**
5
- * Creates an array of strings split into groups the length of size.
6
- * This function works with strings that contain ASCII characters.
7
- *
8
- * wrapText is different from would-be "chunk" implementation
9
- * in that whitespace characters that occur on a chunk size limit are trimmed.
10
- *
11
- * @param {string} subject
12
- * @param {number} size
13
- * @returns {Array}
14
- */
15
- export default (subject, size) => {
16
- let subjectSlice;
17
-
18
- subjectSlice = subject;
19
-
20
- const chunks = [];
21
-
22
- do {
23
- chunks.push(slice(subjectSlice, 0, size));
24
-
25
- subjectSlice = slice(subjectSlice, size).trim();
26
- } while (stringWidth(subjectSlice));
27
-
28
- return chunks;
29
- };
package/dist/wrapWord.js DELETED
@@ -1,46 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _sliceAnsi = _interopRequireDefault(require("slice-ansi"));
9
-
10
- var _stringWidth = _interopRequireDefault(require("string-width"));
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- /**
15
- * @param {string} input
16
- * @param {number} size
17
- * @returns {Array}
18
- */
19
- const wrapWord = (input, size) => {
20
- let subject;
21
- subject = input;
22
- const chunks = []; // https://regex101.com/r/gY5kZ1/1
23
-
24
- const re = new RegExp('(^.{1,' + size + '}(\\s+|$))|(^.{1,' + (size - 1) + '}(\\\\|/|_|\\.|,|;|-))');
25
-
26
- do {
27
- let chunk;
28
- chunk = subject.match(re);
29
-
30
- if (chunk) {
31
- chunk = chunk[0];
32
- subject = (0, _sliceAnsi.default)(subject, (0, _stringWidth.default)(chunk));
33
- chunk = chunk.trim();
34
- } else {
35
- chunk = (0, _sliceAnsi.default)(subject, 0, size);
36
- subject = (0, _sliceAnsi.default)(subject, size);
37
- }
38
-
39
- chunks.push(chunk);
40
- } while ((0, _stringWidth.default)(subject));
41
-
42
- return chunks;
43
- };
44
-
45
- var _default = wrapWord;
46
- exports.default = _default;
@@ -1,39 +0,0 @@
1
- import slice from 'slice-ansi';
2
- import stringWidth from 'string-width';
3
-
4
- /**
5
- * @param {string} input
6
- * @param {number} size
7
- * @returns {Array}
8
- */
9
- export default (input, size) => {
10
- let subject;
11
-
12
- subject = input;
13
-
14
- const chunks = [];
15
-
16
- // https://regex101.com/r/gY5kZ1/1
17
- const re = new RegExp('(^.{1,' + size + '}(\\s+|$))|(^.{1,' + (size - 1) + '}(\\\\|/|_|\\.|,|;|-))');
18
-
19
- do {
20
- let chunk;
21
-
22
- chunk = subject.match(re);
23
-
24
- if (chunk) {
25
- chunk = chunk[0];
26
-
27
- subject = slice(subject, stringWidth(chunk));
28
-
29
- chunk = chunk.trim();
30
- } else {
31
- chunk = slice(subject, 0, size);
32
- subject = slice(subject, size);
33
- }
34
-
35
- chunks.push(chunk);
36
- } while (stringWidth(subject));
37
-
38
- return chunks;
39
- };