table 6.7.6 → 6.8.0
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.
- package/README.md +78 -0
- package/dist/src/alignSpanningCell.d.ts +7 -0
- package/dist/src/alignSpanningCell.js +44 -0
- package/dist/src/alignSpanningCell.js.map +1 -0
- package/dist/src/alignTableData.js +7 -1
- package/dist/src/alignTableData.js.map +1 -1
- package/dist/src/calculateMaximumColumnWidths.d.ts +7 -0
- package/dist/src/calculateMaximumColumnWidths.js +36 -0
- package/dist/src/calculateMaximumColumnWidths.js.map +1 -0
- package/dist/src/calculateOutputColumnWidths.d.ts +2 -0
- package/dist/src/calculateOutputColumnWidths.js +10 -0
- package/dist/src/calculateOutputColumnWidths.js.map +1 -0
- package/dist/src/calculateRowHeights.js +28 -5
- package/dist/src/calculateRowHeights.js.map +1 -1
- package/dist/src/calculateSpanningCellWidth.d.ts +3 -0
- package/dist/src/calculateSpanningCellWidth.js +26 -0
- package/dist/src/calculateSpanningCellWidth.js.map +1 -0
- package/dist/src/createStream.js +2 -1
- package/dist/src/createStream.js.map +1 -1
- package/dist/src/drawBorder.d.ts +27 -19
- package/dist/src/drawBorder.js +164 -63
- package/dist/src/drawBorder.js.map +1 -1
- package/dist/src/drawContent.d.ts +10 -5
- package/dist/src/drawContent.js +31 -7
- package/dist/src/drawContent.js.map +1 -1
- package/dist/src/drawRow.d.ts +6 -2
- package/dist/src/drawRow.js +6 -2
- package/dist/src/drawRow.js.map +1 -1
- package/dist/src/drawTable.d.ts +1 -1
- package/dist/src/drawTable.js +10 -18
- package/dist/src/drawTable.js.map +1 -1
- package/dist/src/generated/validators.d.ts +2 -2
- package/dist/src/generated/validators.js +746 -223
- package/dist/src/generated/validators.js.map +1 -1
- package/dist/src/getBorderCharacters.js +16 -0
- package/dist/src/getBorderCharacters.js.map +1 -1
- package/dist/src/injectHeaderConfig.d.ts +3 -0
- package/dist/src/injectHeaderConfig.js +29 -0
- package/dist/src/injectHeaderConfig.js.map +1 -0
- package/dist/src/makeRangeConfig.d.ts +3 -0
- package/dist/src/makeRangeConfig.js +18 -0
- package/dist/src/makeRangeConfig.js.map +1 -0
- package/dist/src/makeTableConfig.d.ts +2 -2
- package/dist/src/makeTableConfig.js +26 -29
- package/dist/src/makeTableConfig.js.map +1 -1
- package/dist/src/mapDataUsingRowHeights.d.ts +2 -0
- package/dist/src/mapDataUsingRowHeights.js +17 -10
- package/dist/src/mapDataUsingRowHeights.js.map +1 -1
- package/dist/src/padTableData.js +7 -1
- package/dist/src/padTableData.js.map +1 -1
- package/dist/src/schemas/config.json +44 -0
- package/dist/src/schemas/shared.json +21 -6
- package/dist/src/spanningCellManager.d.ts +21 -0
- package/dist/src/spanningCellManager.js +86 -0
- package/dist/src/spanningCellManager.js.map +1 -0
- package/dist/src/table.js +9 -5
- package/dist/src/table.js.map +1 -1
- package/dist/src/truncateTableData.d.ts +2 -2
- package/dist/src/truncateTableData.js +2 -2
- package/dist/src/truncateTableData.js.map +1 -1
- package/dist/src/types/api.d.ts +21 -5
- package/dist/src/utils.d.ts +10 -1
- package/dist/src/utils.js +51 -1
- package/dist/src/utils.js.map +1 -1
- package/dist/src/validateSpanningCellConfig.d.ts +3 -0
- package/dist/src/validateSpanningCellConfig.js +46 -0
- package/dist/src/validateSpanningCellConfig.js.map +1 -0
- package/dist/src/wrapWord.js +2 -2
- package/dist/src/wrapWord.js.map +1 -1
- package/package.json +1 -1
- package/dist/src/calculateCellWidths.d.ts +0 -5
- package/dist/src/calculateCellWidths.js +0 -17
- package/dist/src/calculateCellWidths.js.map +0 -1
- package/dist/src/calculateColumnWidths.d.ts +0 -6
- package/dist/src/calculateColumnWidths.js +0 -17
- package/dist/src/calculateColumnWidths.js.map +0 -1
- package/dist/src/drawHeader.d.ts +0 -2
- package/dist/src/drawHeader.js +0 -30
- package/dist/src/drawHeader.js.map +0 -1
package/dist/src/padTableData.js
CHANGED
|
@@ -6,8 +6,14 @@ const padString = (input, paddingLeft, paddingRight) => {
|
|
|
6
6
|
};
|
|
7
7
|
exports.padString = padString;
|
|
8
8
|
const padTableData = (rows, config) => {
|
|
9
|
-
return rows.map((cells) => {
|
|
9
|
+
return rows.map((cells, rowIndex) => {
|
|
10
10
|
return cells.map((cell, cellIndex) => {
|
|
11
|
+
var _a;
|
|
12
|
+
const containingRange = (_a = config.spanningCellManager) === null || _a === void 0 ? void 0 : _a.getContainingRange({ col: cellIndex,
|
|
13
|
+
row: rowIndex }, { mapped: true });
|
|
14
|
+
if (containingRange) {
|
|
15
|
+
return cell;
|
|
16
|
+
}
|
|
11
17
|
const { paddingLeft, paddingRight } = config.columns[cellIndex];
|
|
12
18
|
return (0, exports.padString)(cell, paddingLeft, paddingRight);
|
|
13
19
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"padTableData.js","sourceRoot":"","sources":["../../src/padTableData.ts"],"names":[],"mappings":";;;AAKO,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,WAAmB,EAAE,YAAoB,EAAU,EAAE;IAC5F,OAAO,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACpE,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB;AAEK,MAAM,YAAY,GAAG,CAAC,IAAW,EAAE,MAAkB,EAAS,EAAE;IACrE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"padTableData.js","sourceRoot":"","sources":["../../src/padTableData.ts"],"names":[],"mappings":";;;AAKO,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,WAAmB,EAAE,YAAoB,EAAU,EAAE;IAC5F,OAAO,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACpE,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB;AAEK,MAAM,YAAY,GAAG,CAAC,IAAW,EAAE,MAAkB,EAAS,EAAE;IACrE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QAClC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;;YACnC,MAAM,eAAe,GAAG,MAAA,MAAM,CAAC,mBAAmB,0CAAE,kBAAkB,CAAC,EAAC,GAAG,EAAE,SAAS;gBACpF,GAAG,EAAE,QAAQ,EAAC,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC,CAAC;YAClC,IAAI,eAAe,EAAE;gBACnB,OAAO,IAAI,CAAC;aACb;YAED,MAAM,EAAC,WAAW,EAAE,YAAY,EAAC,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAE9D,OAAO,IAAA,iBAAS,EAAC,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAdW,QAAA,YAAY,gBAcvB"}
|
|
@@ -45,6 +45,50 @@
|
|
|
45
45
|
},
|
|
46
46
|
"singleLine": {
|
|
47
47
|
"typeof": "boolean"
|
|
48
|
+
},
|
|
49
|
+
"spanningCells": {
|
|
50
|
+
"type": "array",
|
|
51
|
+
"items": {
|
|
52
|
+
"type": "object",
|
|
53
|
+
"properties": {
|
|
54
|
+
"col": {
|
|
55
|
+
"type": "integer",
|
|
56
|
+
"minimum": 0
|
|
57
|
+
},
|
|
58
|
+
"row": {
|
|
59
|
+
"type": "integer",
|
|
60
|
+
"minimum": 0
|
|
61
|
+
},
|
|
62
|
+
"colSpan": {
|
|
63
|
+
"type": "integer",
|
|
64
|
+
"minimum": 1
|
|
65
|
+
},
|
|
66
|
+
"rowSpan": {
|
|
67
|
+
"type": "integer",
|
|
68
|
+
"minimum": 1
|
|
69
|
+
},
|
|
70
|
+
"alignment": {
|
|
71
|
+
"$ref": "shared.json#/definitions/alignment"
|
|
72
|
+
},
|
|
73
|
+
"verticalAlignment": {
|
|
74
|
+
"$ref": "shared.json#/definitions/verticalAlignment"
|
|
75
|
+
},
|
|
76
|
+
"wrapWord": {
|
|
77
|
+
"type": "boolean"
|
|
78
|
+
},
|
|
79
|
+
"truncate": {
|
|
80
|
+
"type": "integer"
|
|
81
|
+
},
|
|
82
|
+
"paddingLeft": {
|
|
83
|
+
"type": "integer"
|
|
84
|
+
},
|
|
85
|
+
"paddingRight": {
|
|
86
|
+
"type": "integer"
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
"required": ["row", "col"],
|
|
90
|
+
"additionalProperties": false
|
|
91
|
+
}
|
|
48
92
|
}
|
|
49
93
|
},
|
|
50
94
|
"additionalProperties": false
|
|
@@ -28,12 +28,7 @@
|
|
|
28
28
|
"$ref": "#/definitions/alignment"
|
|
29
29
|
},
|
|
30
30
|
"verticalAlignment": {
|
|
31
|
-
"
|
|
32
|
-
"enum": [
|
|
33
|
-
"top",
|
|
34
|
-
"middle",
|
|
35
|
-
"bottom"
|
|
36
|
-
]
|
|
31
|
+
"$ref": "#/definitions/verticalAlignment"
|
|
37
32
|
},
|
|
38
33
|
"width": {
|
|
39
34
|
"type": "integer",
|
|
@@ -104,6 +99,18 @@
|
|
|
104
99
|
},
|
|
105
100
|
"joinJoin": {
|
|
106
101
|
"$ref": "#/definitions/border"
|
|
102
|
+
},
|
|
103
|
+
"joinMiddleUp": {
|
|
104
|
+
"$ref": "#/definitions/border"
|
|
105
|
+
},
|
|
106
|
+
"joinMiddleDown": {
|
|
107
|
+
"$ref": "#/definitions/border"
|
|
108
|
+
},
|
|
109
|
+
"joinMiddleLeft": {
|
|
110
|
+
"$ref": "#/definitions/border"
|
|
111
|
+
},
|
|
112
|
+
"joinMiddleRight": {
|
|
113
|
+
"$ref": "#/definitions/border"
|
|
107
114
|
}
|
|
108
115
|
},
|
|
109
116
|
"additionalProperties": false
|
|
@@ -119,6 +126,14 @@
|
|
|
119
126
|
"center",
|
|
120
127
|
"justify"
|
|
121
128
|
]
|
|
129
|
+
},
|
|
130
|
+
"verticalAlignment": {
|
|
131
|
+
"type": "string",
|
|
132
|
+
"enum": [
|
|
133
|
+
"top",
|
|
134
|
+
"middle",
|
|
135
|
+
"bottom"
|
|
136
|
+
]
|
|
122
137
|
}
|
|
123
138
|
}
|
|
124
139
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { DrawHorizontalLine, DrawVerticalLine, SpanningCellConfig } from './types/api';
|
|
2
|
+
import type { CellCoordinates, ColumnConfig, ResolvedRangeConfig, Row } from './types/internal';
|
|
3
|
+
export declare type SpanningCellManager = {
|
|
4
|
+
getContainingRange: (cell: CellCoordinates, options?: {
|
|
5
|
+
mapped: true;
|
|
6
|
+
}) => ResolvedRangeConfig | undefined;
|
|
7
|
+
inSameRange: (cell1: CellCoordinates, cell2: CellCoordinates) => boolean;
|
|
8
|
+
rowHeights: number[];
|
|
9
|
+
setRowHeights: (rowHeights: number[]) => void;
|
|
10
|
+
};
|
|
11
|
+
export declare type SpanningCellParameters = {
|
|
12
|
+
spanningCellConfigs: SpanningCellConfig[];
|
|
13
|
+
rows: Row[];
|
|
14
|
+
columnsConfig: ColumnConfig[];
|
|
15
|
+
drawVerticalLine: DrawVerticalLine;
|
|
16
|
+
drawHorizontalLine: DrawHorizontalLine;
|
|
17
|
+
};
|
|
18
|
+
export declare type SpanningCellContext = SpanningCellParameters & {
|
|
19
|
+
rowHeights: number[];
|
|
20
|
+
};
|
|
21
|
+
export declare const createSpanningCellManager: (parameters: SpanningCellParameters) => SpanningCellManager;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createSpanningCellManager = void 0;
|
|
4
|
+
const alignSpanningCell_1 = require("./alignSpanningCell");
|
|
5
|
+
const calculateSpanningCellWidth_1 = require("./calculateSpanningCellWidth");
|
|
6
|
+
const makeRangeConfig_1 = require("./makeRangeConfig");
|
|
7
|
+
const utils_1 = require("./utils");
|
|
8
|
+
const findRangeConfig = (cell, rangeConfigs) => {
|
|
9
|
+
return rangeConfigs.find((rangeCoordinate) => {
|
|
10
|
+
return (0, utils_1.isCellInRange)(cell, rangeCoordinate);
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
const getContainingRange = (rangeConfig, context) => {
|
|
14
|
+
const width = (0, calculateSpanningCellWidth_1.calculateSpanningCellWidth)(rangeConfig, context);
|
|
15
|
+
const wrappedContent = (0, alignSpanningCell_1.wrapRangeContent)(rangeConfig, width, context);
|
|
16
|
+
const alignedContent = (0, alignSpanningCell_1.alignVerticalRangeContent)(rangeConfig, wrappedContent, context);
|
|
17
|
+
const getCellContent = (rowIndex) => {
|
|
18
|
+
const { topLeft } = rangeConfig;
|
|
19
|
+
const { drawHorizontalLine, rowHeights } = context;
|
|
20
|
+
const totalWithinHorizontalBorderHeight = rowIndex - topLeft.row;
|
|
21
|
+
const totalHiddenHorizontalBorderHeight = (0, utils_1.sequence)(topLeft.row + 1, rowIndex).filter((index) => {
|
|
22
|
+
/* istanbul ignore next */
|
|
23
|
+
return !(drawHorizontalLine === null || drawHorizontalLine === void 0 ? void 0 : drawHorizontalLine(index, rowHeights.length));
|
|
24
|
+
}).length;
|
|
25
|
+
const offset = (0, utils_1.sumArray)(rowHeights.slice(topLeft.row, rowIndex)) + totalWithinHorizontalBorderHeight - totalHiddenHorizontalBorderHeight;
|
|
26
|
+
return alignedContent.slice(offset, offset + rowHeights[rowIndex]);
|
|
27
|
+
};
|
|
28
|
+
const getBorderContent = (borderIndex) => {
|
|
29
|
+
const { topLeft } = rangeConfig;
|
|
30
|
+
const offset = (0, utils_1.sumArray)(context.rowHeights.slice(topLeft.row, borderIndex)) + (borderIndex - topLeft.row - 1);
|
|
31
|
+
return alignedContent[offset];
|
|
32
|
+
};
|
|
33
|
+
return {
|
|
34
|
+
...rangeConfig,
|
|
35
|
+
extractBorderContent: getBorderContent,
|
|
36
|
+
extractCellContent: getCellContent,
|
|
37
|
+
height: wrappedContent.length,
|
|
38
|
+
width,
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
const inSameRange = (cell1, cell2, ranges) => {
|
|
42
|
+
const range1 = findRangeConfig(cell1, ranges);
|
|
43
|
+
const range2 = findRangeConfig(cell2, ranges);
|
|
44
|
+
if (range1 && range2) {
|
|
45
|
+
return (0, utils_1.areCellEqual)(range1.topLeft, range2.topLeft);
|
|
46
|
+
}
|
|
47
|
+
return false;
|
|
48
|
+
};
|
|
49
|
+
const hashRange = (range) => {
|
|
50
|
+
const { row, col } = range.topLeft;
|
|
51
|
+
return `${row}/${col}`;
|
|
52
|
+
};
|
|
53
|
+
const createSpanningCellManager = (parameters) => {
|
|
54
|
+
const { spanningCellConfigs, columnsConfig } = parameters;
|
|
55
|
+
const ranges = spanningCellConfigs.map((config) => {
|
|
56
|
+
return (0, makeRangeConfig_1.makeRangeConfig)(config, columnsConfig);
|
|
57
|
+
});
|
|
58
|
+
const rangeCache = {};
|
|
59
|
+
let rowHeights = [];
|
|
60
|
+
return { getContainingRange: (cell, options) => {
|
|
61
|
+
var _a;
|
|
62
|
+
const originalRow = (options === null || options === void 0 ? void 0 : options.mapped) ? (0, utils_1.findOriginalRowIndex)(rowHeights, cell.row) : cell.row;
|
|
63
|
+
const range = findRangeConfig({ ...cell,
|
|
64
|
+
row: originalRow }, ranges);
|
|
65
|
+
if (!range) {
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
68
|
+
if (rowHeights.length === 0) {
|
|
69
|
+
return getContainingRange(range, { ...parameters,
|
|
70
|
+
rowHeights });
|
|
71
|
+
}
|
|
72
|
+
const hash = hashRange(range);
|
|
73
|
+
(_a = rangeCache[hash]) !== null && _a !== void 0 ? _a : (rangeCache[hash] = getContainingRange(range, { ...parameters,
|
|
74
|
+
rowHeights }));
|
|
75
|
+
return rangeCache[hash];
|
|
76
|
+
},
|
|
77
|
+
inSameRange: (cell1, cell2) => {
|
|
78
|
+
return inSameRange(cell1, cell2, ranges);
|
|
79
|
+
},
|
|
80
|
+
rowHeights,
|
|
81
|
+
setRowHeights: (_rowHeights) => {
|
|
82
|
+
rowHeights = _rowHeights;
|
|
83
|
+
} };
|
|
84
|
+
};
|
|
85
|
+
exports.createSpanningCellManager = createSpanningCellManager;
|
|
86
|
+
//# sourceMappingURL=spanningCellManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spanningCellManager.js","sourceRoot":"","sources":["../../src/spanningCellManager.ts"],"names":[],"mappings":"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"}
|
package/dist/src/table.js
CHANGED
|
@@ -2,26 +2,30 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.table = void 0;
|
|
4
4
|
const alignTableData_1 = require("./alignTableData");
|
|
5
|
-
const
|
|
5
|
+
const calculateOutputColumnWidths_1 = require("./calculateOutputColumnWidths");
|
|
6
6
|
const calculateRowHeights_1 = require("./calculateRowHeights");
|
|
7
7
|
const drawTable_1 = require("./drawTable");
|
|
8
|
+
const injectHeaderConfig_1 = require("./injectHeaderConfig");
|
|
8
9
|
const makeTableConfig_1 = require("./makeTableConfig");
|
|
9
10
|
const mapDataUsingRowHeights_1 = require("./mapDataUsingRowHeights");
|
|
10
11
|
const padTableData_1 = require("./padTableData");
|
|
11
12
|
const stringifyTableData_1 = require("./stringifyTableData");
|
|
12
13
|
const truncateTableData_1 = require("./truncateTableData");
|
|
14
|
+
const utils_1 = require("./utils");
|
|
13
15
|
const validateTableData_1 = require("./validateTableData");
|
|
14
16
|
const table = (data, userConfig = {}) => {
|
|
15
17
|
(0, validateTableData_1.validateTableData)(data);
|
|
16
18
|
let rows = (0, stringifyTableData_1.stringifyTableData)(data);
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
+
const [injectedRows, injectedSpanningCellConfig] = (0, injectHeaderConfig_1.injectHeaderConfig)(rows, userConfig);
|
|
20
|
+
const config = (0, makeTableConfig_1.makeTableConfig)(injectedRows, userConfig, injectedSpanningCellConfig);
|
|
21
|
+
rows = (0, truncateTableData_1.truncateTableData)(injectedRows, (0, utils_1.extractTruncates)(config));
|
|
19
22
|
const rowHeights = (0, calculateRowHeights_1.calculateRowHeights)(rows, config);
|
|
23
|
+
config.spanningCellManager.setRowHeights(rowHeights);
|
|
20
24
|
rows = (0, mapDataUsingRowHeights_1.mapDataUsingRowHeights)(rows, rowHeights, config);
|
|
21
25
|
rows = (0, alignTableData_1.alignTableData)(rows, config);
|
|
22
26
|
rows = (0, padTableData_1.padTableData)(rows, config);
|
|
23
|
-
const
|
|
24
|
-
return (0, drawTable_1.drawTable)(rows,
|
|
27
|
+
const outputColumnWidths = (0, calculateOutputColumnWidths_1.calculateOutputColumnWidths)(config);
|
|
28
|
+
return (0, drawTable_1.drawTable)(rows, outputColumnWidths, rowHeights, config);
|
|
25
29
|
};
|
|
26
30
|
exports.table = table;
|
|
27
31
|
//# sourceMappingURL=table.js.map
|
package/dist/src/table.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/table.ts"],"names":[],"mappings":";;;AAAA,qDAE0B;AAC1B,+
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/table.ts"],"names":[],"mappings":";;;AAAA,qDAE0B;AAC1B,+EAEuC;AACvC,+DAE+B;AAC/B,2CAEqB;AACrB,6DAE8B;AAC9B,uDAE2B;AAC3B,qEAEkC;AAClC,iDAEwB;AACxB,6DAE8B;AAC9B,2DAE6B;AAI7B,mCAEiB;AACjB,2DAE6B;AAEtB,MAAM,KAAK,GAAG,CAAC,IAAiB,EAAE,aAA8B,EAAE,EAAU,EAAE;IACnF,IAAA,qCAAiB,EAAC,IAAI,CAAC,CAAC;IAExB,IAAI,IAAI,GAAG,IAAA,uCAAkB,EAAC,IAAI,CAAC,CAAC;IAEpC,MAAM,CAAC,YAAY,EAAE,0BAA0B,CAAC,GAAG,IAAA,uCAAkB,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAExF,MAAM,MAAM,GAAG,IAAA,iCAAe,EAAC,YAAY,EAAE,UAAU,EAAE,0BAA0B,CAAC,CAAC;IAErF,IAAI,GAAG,IAAA,qCAAiB,EAAC,YAAY,EAAE,IAAA,wBAAgB,EAAC,MAAM,CAAC,CAAC,CAAC;IAEjE,MAAM,UAAU,GAAG,IAAA,yCAAmB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAErD,MAAM,CAAC,mBAAmB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAErD,IAAI,GAAG,IAAA,+CAAsB,EAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACxD,IAAI,GAAG,IAAA,+BAAc,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,IAAI,GAAG,IAAA,2BAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAElC,MAAM,kBAAkB,GAAG,IAAA,yDAA2B,EAAC,MAAM,CAAC,CAAC;IAE/D,OAAO,IAAA,qBAAS,EAAC,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AACjE,CAAC,CAAC;AAtBW,QAAA,KAAK,SAsBhB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Row } from './types/internal';
|
|
2
2
|
export declare const truncateString: (input: string, length: number) => string;
|
|
3
3
|
/**
|
|
4
4
|
* @todo Make it work with ASCII content.
|
|
5
5
|
*/
|
|
6
|
-
export declare const truncateTableData: (rows: Row[],
|
|
6
|
+
export declare const truncateTableData: (rows: Row[], truncates: number[]) => Row[];
|
|
@@ -13,10 +13,10 @@ exports.truncateString = truncateString;
|
|
|
13
13
|
/**
|
|
14
14
|
* @todo Make it work with ASCII content.
|
|
15
15
|
*/
|
|
16
|
-
const truncateTableData = (rows,
|
|
16
|
+
const truncateTableData = (rows, truncates) => {
|
|
17
17
|
return rows.map((cells) => {
|
|
18
18
|
return cells.map((cell, cellIndex) => {
|
|
19
|
-
return (0, exports.truncateString)(cell,
|
|
19
|
+
return (0, exports.truncateString)(cell, truncates[cellIndex]);
|
|
20
20
|
});
|
|
21
21
|
});
|
|
22
22
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"truncateTableData.js","sourceRoot":"","sources":["../../src/truncateTableData.ts"],"names":[],"mappings":";;;;;;AAAA,sEAAuC;AAKhC,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,MAAc,EAAU,EAAE;IACtE,OAAO,IAAA,yBAAQ,EAAC,KAAK,EAAE,EAAC,MAAM;QAC5B,QAAQ,EAAE,GAAG,EAAC,CAAC,CAAC;AACpB,CAAC,CAAC;AAHW,QAAA,cAAc,kBAGzB;AAEF;;GAEG;AACI,MAAM,iBAAiB,GAAG,CAAC,IAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"truncateTableData.js","sourceRoot":"","sources":["../../src/truncateTableData.ts"],"names":[],"mappings":";;;;;;AAAA,sEAAuC;AAKhC,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,MAAc,EAAU,EAAE;IACtE,OAAO,IAAA,yBAAQ,EAAC,KAAK,EAAE,EAAC,MAAM;QAC5B,QAAQ,EAAE,GAAG,EAAC,CAAC,CAAC;AACpB,CAAC,CAAC;AAHW,QAAA,cAAc,kBAGzB;AAEF;;GAEG;AACI,MAAM,iBAAiB,GAAG,CAAC,IAAW,EAAE,SAAmB,EAAS,EAAE;IAC3E,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACxB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;YACnC,OAAO,IAAA,sBAAc,EAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AANW,QAAA,iBAAiB,qBAM5B"}
|
package/dist/src/types/api.d.ts
CHANGED
|
@@ -14,6 +14,10 @@ export declare type BorderUserConfig = {
|
|
|
14
14
|
readonly joinRight?: string;
|
|
15
15
|
readonly joinBody?: string;
|
|
16
16
|
readonly joinJoin?: string;
|
|
17
|
+
readonly joinMiddleUp?: string;
|
|
18
|
+
readonly joinMiddleDown?: string;
|
|
19
|
+
readonly joinMiddleLeft?: string;
|
|
20
|
+
readonly joinMiddleRight?: string;
|
|
17
21
|
readonly headerJoin?: string;
|
|
18
22
|
readonly bodyRight?: string;
|
|
19
23
|
readonly bodyLeft?: string;
|
|
@@ -22,7 +26,7 @@ export declare type BorderUserConfig = {
|
|
|
22
26
|
export declare type BorderConfig = Required<BorderUserConfig>;
|
|
23
27
|
export declare type Alignment = 'center' | 'justify' | 'left' | 'right';
|
|
24
28
|
export declare type VerticalAlignment = 'bottom' | 'middle' | 'top';
|
|
25
|
-
export declare type
|
|
29
|
+
export declare type CellUserConfig = {
|
|
26
30
|
/**
|
|
27
31
|
* Cell content horizontal alignment (default: left)
|
|
28
32
|
*/
|
|
@@ -31,10 +35,6 @@ export declare type ColumnUserConfig = {
|
|
|
31
35
|
* Cell content vertical alignment (default: top)
|
|
32
36
|
*/
|
|
33
37
|
readonly verticalAlignment?: VerticalAlignment;
|
|
34
|
-
/**
|
|
35
|
-
* Column width (default: auto calculation based on the cell content)
|
|
36
|
-
*/
|
|
37
|
-
readonly width?: number;
|
|
38
38
|
/**
|
|
39
39
|
* Number of characters are which the content will be truncated (default: Infinity)
|
|
40
40
|
*/
|
|
@@ -52,6 +52,15 @@ export declare type ColumnUserConfig = {
|
|
|
52
52
|
*/
|
|
53
53
|
readonly wrapWord?: boolean;
|
|
54
54
|
};
|
|
55
|
+
export declare type ColumnUserConfig = CellUserConfig & {
|
|
56
|
+
/**
|
|
57
|
+
* Column width (default: auto calculation based on the cell content)
|
|
58
|
+
*/
|
|
59
|
+
readonly width?: number;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* @deprecated Use spanning cell API instead
|
|
63
|
+
*/
|
|
55
64
|
export declare type HeaderUserConfig = Omit<ColumnUserConfig, 'verticalAlignment' | 'width'> & {
|
|
56
65
|
readonly content: string;
|
|
57
66
|
};
|
|
@@ -90,6 +99,13 @@ export declare type TableUserConfig = BaseUserConfig & {
|
|
|
90
99
|
* Horizontal lines inside the table are not drawn.
|
|
91
100
|
*/
|
|
92
101
|
readonly singleLine?: boolean;
|
|
102
|
+
readonly spanningCells?: SpanningCellConfig[];
|
|
103
|
+
};
|
|
104
|
+
export declare type SpanningCellConfig = CellUserConfig & {
|
|
105
|
+
readonly row: number;
|
|
106
|
+
readonly col: number;
|
|
107
|
+
readonly rowSpan?: number;
|
|
108
|
+
readonly colSpan?: number;
|
|
93
109
|
};
|
|
94
110
|
export declare type StreamUserConfig = BaseUserConfig & {
|
|
95
111
|
/**
|
package/dist/src/utils.d.ts
CHANGED
|
@@ -1 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
import type { SpanningCellConfig } from './types/api';
|
|
2
|
+
import type { BaseConfig, CellCoordinates, RangeCoordinate } from './types/internal';
|
|
3
|
+
export declare const sequence: (start: number, end: number) => number[];
|
|
4
|
+
export declare const sumArray: (array: number[]) => number;
|
|
5
|
+
export declare const extractTruncates: (config: BaseConfig) => number[];
|
|
6
|
+
export declare const flatten: <T>(array: T[][]) => T[];
|
|
7
|
+
export declare const findOriginalRowIndex: (mappedRowHeights: number[], mappedRowIndex: number) => number;
|
|
8
|
+
export declare const calculateRangeCoordinate: (spanningCellConfig: SpanningCellConfig) => RangeCoordinate;
|
|
9
|
+
export declare const areCellEqual: (cell1: CellCoordinates, cell2: CellCoordinates) => boolean;
|
|
10
|
+
export declare const isCellInRange: (cell: CellCoordinates, { topLeft, bottomRight }: RangeCoordinate) => boolean;
|
package/dist/src/utils.js
CHANGED
|
@@ -3,7 +3,7 @@ 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.distributeUnevenly = exports.countSpaceSequence = exports.groupBySizes = exports.makeBorderConfig = exports.splitAnsi = exports.normalizeString = void 0;
|
|
6
|
+
exports.isCellInRange = exports.areCellEqual = exports.calculateRangeCoordinate = exports.findOriginalRowIndex = exports.flatten = exports.extractTruncates = exports.sumArray = exports.sequence = exports.distributeUnevenly = exports.countSpaceSequence = exports.groupBySizes = exports.makeBorderConfig = exports.splitAnsi = exports.normalizeString = void 0;
|
|
7
7
|
const slice_ansi_1 = __importDefault(require("slice-ansi"));
|
|
8
8
|
const string_width_1 = __importDefault(require("string-width"));
|
|
9
9
|
const strip_ansi_1 = __importDefault(require("strip-ansi"));
|
|
@@ -90,4 +90,54 @@ const distributeUnevenly = (sum, length) => {
|
|
|
90
90
|
});
|
|
91
91
|
};
|
|
92
92
|
exports.distributeUnevenly = distributeUnevenly;
|
|
93
|
+
const sequence = (start, end) => {
|
|
94
|
+
return Array.from({ length: end - start + 1 }, (_, index) => {
|
|
95
|
+
return index + start;
|
|
96
|
+
});
|
|
97
|
+
};
|
|
98
|
+
exports.sequence = sequence;
|
|
99
|
+
const sumArray = (array) => {
|
|
100
|
+
return array.reduce((accumulator, element) => {
|
|
101
|
+
return accumulator + element;
|
|
102
|
+
}, 0);
|
|
103
|
+
};
|
|
104
|
+
exports.sumArray = sumArray;
|
|
105
|
+
const extractTruncates = (config) => {
|
|
106
|
+
return config.columns.map(({ truncate }) => {
|
|
107
|
+
return truncate;
|
|
108
|
+
});
|
|
109
|
+
};
|
|
110
|
+
exports.extractTruncates = extractTruncates;
|
|
111
|
+
const flatten = (array) => {
|
|
112
|
+
return [].concat(...array);
|
|
113
|
+
};
|
|
114
|
+
exports.flatten = flatten;
|
|
115
|
+
const findOriginalRowIndex = (mappedRowHeights, mappedRowIndex) => {
|
|
116
|
+
const rowIndexMapping = (0, exports.flatten)(mappedRowHeights.map((height, index) => {
|
|
117
|
+
return Array.from({ length: height }, () => {
|
|
118
|
+
return index;
|
|
119
|
+
});
|
|
120
|
+
}));
|
|
121
|
+
return rowIndexMapping[mappedRowIndex];
|
|
122
|
+
};
|
|
123
|
+
exports.findOriginalRowIndex = findOriginalRowIndex;
|
|
124
|
+
const calculateRangeCoordinate = (spanningCellConfig) => {
|
|
125
|
+
const { row, col, colSpan = 1, rowSpan = 1 } = spanningCellConfig;
|
|
126
|
+
return { bottomRight: { col: col + colSpan - 1,
|
|
127
|
+
row: row + rowSpan - 1 },
|
|
128
|
+
topLeft: { col,
|
|
129
|
+
row } };
|
|
130
|
+
};
|
|
131
|
+
exports.calculateRangeCoordinate = calculateRangeCoordinate;
|
|
132
|
+
const areCellEqual = (cell1, cell2) => {
|
|
133
|
+
return cell1.row === cell2.row && cell1.col === cell2.col;
|
|
134
|
+
};
|
|
135
|
+
exports.areCellEqual = areCellEqual;
|
|
136
|
+
const isCellInRange = (cell, { topLeft, bottomRight }) => {
|
|
137
|
+
return (topLeft.row <= cell.row &&
|
|
138
|
+
cell.row <= bottomRight.row &&
|
|
139
|
+
topLeft.col <= cell.col &&
|
|
140
|
+
cell.col <= bottomRight.col);
|
|
141
|
+
};
|
|
142
|
+
exports.isCellInRange = isCellInRange;
|
|
93
143
|
//# sourceMappingURL=utils.js.map
|
package/dist/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA+B;AAC/B,gEAAuC;AACvC,4DAAmC;AACnC,+DAE+B;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateSpanningCellConfig = void 0;
|
|
4
|
+
const utils_1 = require("./utils");
|
|
5
|
+
const inRange = (start, end, value) => {
|
|
6
|
+
return start <= value && value <= end;
|
|
7
|
+
};
|
|
8
|
+
const validateSpanningCellConfig = (rows, configs) => {
|
|
9
|
+
const [nRow, nCol] = [rows.length, rows[0].length];
|
|
10
|
+
configs.forEach((config, configIndex) => {
|
|
11
|
+
const { colSpan, rowSpan } = config;
|
|
12
|
+
if (colSpan === undefined && rowSpan === undefined) {
|
|
13
|
+
throw new Error(`Expect at least colSpan or rowSpan is provided in config.spanningCells[${configIndex}]`);
|
|
14
|
+
}
|
|
15
|
+
if (colSpan !== undefined && colSpan < 1) {
|
|
16
|
+
throw new Error(`Expect colSpan is not equal zero, instead got: ${colSpan} in config.spanningCells[${configIndex}]`);
|
|
17
|
+
}
|
|
18
|
+
if (rowSpan !== undefined && rowSpan < 1) {
|
|
19
|
+
throw new Error(`Expect rowSpan is not equal zero, instead got: ${rowSpan} in config.spanningCells[${configIndex}]`);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
const rangeCoordinates = configs.map(utils_1.calculateRangeCoordinate);
|
|
23
|
+
rangeCoordinates.forEach(({ topLeft, bottomRight }, rangeIndex) => {
|
|
24
|
+
if (!inRange(0, nCol - 1, topLeft.col) ||
|
|
25
|
+
!inRange(0, nRow - 1, topLeft.row) ||
|
|
26
|
+
!inRange(0, nCol - 1, bottomRight.col) ||
|
|
27
|
+
!inRange(0, nRow - 1, bottomRight.row)) {
|
|
28
|
+
throw new Error(`Some cells in config.spanningCells[${rangeIndex}] are out of the table`);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
const configOccupy = Array.from({ length: nRow }, () => {
|
|
32
|
+
return Array.from({ length: nCol });
|
|
33
|
+
});
|
|
34
|
+
rangeCoordinates.forEach(({ topLeft, bottomRight }, rangeIndex) => {
|
|
35
|
+
(0, utils_1.sequence)(topLeft.row, bottomRight.row).forEach((row) => {
|
|
36
|
+
(0, utils_1.sequence)(topLeft.col, bottomRight.col).forEach((col) => {
|
|
37
|
+
if (configOccupy[row][col] !== undefined) {
|
|
38
|
+
throw new Error(`Spanning cells in config.spanningCells[${configOccupy[row][col]}] and config.spanningCells[${rangeIndex}] are overlap each other`);
|
|
39
|
+
}
|
|
40
|
+
configOccupy[row][col] = rangeIndex;
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
exports.validateSpanningCellConfig = validateSpanningCellConfig;
|
|
46
|
+
//# sourceMappingURL=validateSpanningCellConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateSpanningCellConfig.js","sourceRoot":"","sources":["../../src/validateSpanningCellConfig.ts"],"names":[],"mappings":"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"}
|
package/dist/src/wrapWord.js
CHANGED
|
@@ -10,7 +10,7 @@ const calculateStringLengths = (input, size) => {
|
|
|
10
10
|
let subject = (0, strip_ansi_1.default)(input);
|
|
11
11
|
const chunks = [];
|
|
12
12
|
// https://regex101.com/r/gY5kZ1/1
|
|
13
|
-
const re = new RegExp('(^.{1,' + String(Math.max(size, 1)) + '}(\\s+|$))|(^.{1,' + String(Math.max(
|
|
13
|
+
const re = new RegExp('(^.{1,' + String(Math.max(size, 1)) + '}(\\s+|$))|(^.{1,' + String(Math.max(size - 1, 1)) + '}(\\\\|/|_|\\.|,|;|-))');
|
|
14
14
|
do {
|
|
15
15
|
let chunk;
|
|
16
16
|
const match = re.exec(subject);
|
|
@@ -32,7 +32,7 @@ const calculateStringLengths = (input, size) => {
|
|
|
32
32
|
const wrapWord = (input, size) => {
|
|
33
33
|
const result = [];
|
|
34
34
|
let startIndex = 0;
|
|
35
|
-
calculateStringLengths(input,
|
|
35
|
+
calculateStringLengths(input, size).forEach(([length, offset]) => {
|
|
36
36
|
result.push((0, slice_ansi_1.default)(input, startIndex, startIndex + length));
|
|
37
37
|
startIndex += length + offset;
|
|
38
38
|
});
|
package/dist/src/wrapWord.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapWord.js","sourceRoot":"","sources":["../../src/wrapWord.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA+B;AAC/B,4DAAmC;AAEnC,MAAM,sBAAsB,GAAG,CAAC,KAAa,EAAE,IAAY,EAA0C,EAAE;IACrG,IAAI,OAAO,GAAG,IAAA,oBAAS,EAAC,KAAK,CAAC,CAAC;IAE/B,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,kCAAkC;IAClC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"wrapWord.js","sourceRoot":"","sources":["../../src/wrapWord.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA+B;AAC/B,4DAAmC;AAEnC,MAAM,sBAAsB,GAAG,CAAC,KAAa,EAAE,IAAY,EAA0C,EAAE;IACrG,IAAI,OAAO,GAAG,IAAA,oBAAS,EAAC,KAAK,CAAC,CAAC;IAE/B,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,kCAAkC;IAClC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAC;IAE7I,GAAG;QACD,IAAI,KAAa,CAAC;QAElB,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/B,IAAI,KAAK,EAAE;YACT,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEjB,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAEtC,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;YAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC;YAE5C,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;SACtC;aAAM;YACL,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAC/B,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAE9B,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;SAChC;KACF,QAAQ,OAAO,CAAC,MAAM,EAAE;IAEzB,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEK,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,IAAY,EAAY,EAAE;IAChE,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE;QAC/D,MAAM,CAAC,IAAI,CAAC,IAAA,oBAAK,EAAC,KAAK,EAAE,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC;QAE3D,UAAU,IAAI,MAAM,GAAG,MAAM,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAXW,QAAA,QAAQ,YAWnB"}
|
package/package.json
CHANGED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.calculateCellWidths = void 0;
|
|
7
|
-
const string_width_1 = __importDefault(require("string-width"));
|
|
8
|
-
/**
|
|
9
|
-
* Calculates width of each cell contents in a row.
|
|
10
|
-
*/
|
|
11
|
-
const calculateCellWidths = (cells) => {
|
|
12
|
-
return cells.map((cell) => {
|
|
13
|
-
return Math.max(...cell.split('\n').map(string_width_1.default));
|
|
14
|
-
});
|
|
15
|
-
};
|
|
16
|
-
exports.calculateCellWidths = calculateCellWidths;
|
|
17
|
-
//# sourceMappingURL=calculateCellWidths.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"calculateCellWidths.js","sourceRoot":"","sources":["../../src/calculateCellWidths.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAuC;AAKvC;;GAEG;AACI,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAY,EAAE;IAC7D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,OAAO,IAAI,CAAC,GAAG,CACb,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,sBAAW,CAAC,CACrC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AANW,QAAA,mBAAmB,uBAM9B"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const calculateCellWidths_1 = require("./calculateCellWidths");
|
|
4
|
-
/**
|
|
5
|
-
* Produces an array of values that describe the largest value length (width) in every column.
|
|
6
|
-
*/
|
|
7
|
-
exports.default = (rows) => {
|
|
8
|
-
const columnWidths = new Array(rows[0].length).fill(0);
|
|
9
|
-
rows.forEach((row) => {
|
|
10
|
-
const cellWidths = (0, calculateCellWidths_1.calculateCellWidths)(row);
|
|
11
|
-
cellWidths.forEach((cellWidth, cellIndex) => {
|
|
12
|
-
columnWidths[cellIndex] = Math.max(columnWidths[cellIndex], cellWidth);
|
|
13
|
-
});
|
|
14
|
-
});
|
|
15
|
-
return columnWidths;
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=calculateColumnWidths.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"calculateColumnWidths.js","sourceRoot":"","sources":["../../src/calculateColumnWidths.ts"],"names":[],"mappings":";;AAAA,+DAE+B;AAK/B;;GAEG;AACH,kBAAe,CAAC,IAAW,EAAY,EAAE;IACvC,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEvD,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACnB,MAAM,UAAU,GAAG,IAAA,yCAAmB,EAAC,GAAG,CAAC,CAAC;QAE5C,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE;YAC1C,YAAY,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC"}
|
package/dist/src/drawHeader.d.ts
DELETED