1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.createStream = void 0;
- const alignTableData_1 = require("./alignTableData");
- const calculateRowHeights_1 = require("./calculateRowHeights");
- const drawBorder_1 = require("./drawBorder");
- const drawRow_1 = require("./drawRow");
- const makeStreamConfig_1 = require("./makeStreamConfig");
- const mapDataUsingRowHeights_1 = require("./mapDataUsingRowHeights");
- const padTableData_1 = require("./padTableData");
- const stringifyTableData_1 = require("./stringifyTableData");
- const truncateTableData_1 = require("./truncateTableData");
- const utils_1 = require("./utils");
- const prepareData = (data, config) => {
- let rows = (0, stringifyTableData_1.stringifyTableData)(data);
- rows = (0, truncateTableData_1.truncateTableData)(rows, (0, utils_1.extractTruncates)(config));
- const rowHeights = (0, calculateRowHeights_1.calculateRowHeights)(rows, config);
- rows = (0, mapDataUsingRowHeights_1.mapDataUsingRowHeights)(rows, rowHeights, config);
- rows = (0, alignTableData_1.alignTableData)(rows, config);
- rows = (0, padTableData_1.padTableData)(rows, config);
- return rows;
- };
- const create = (row, columnWidths, config) => {
- const rows = prepareData([row], config);
- const body = rows.map((literalRow) => {
- return (0, drawRow_1.drawRow)(literalRow, config);
- }).join('');
- let output;
- output = '';
- output += (0, drawBorder_1.drawBorderTop)(columnWidths, config);
- output += body;
- output += (0, drawBorder_1.drawBorderBottom)(columnWidths, config);
- output = output.trimEnd();
- process.stdout.write(output);
- };
- const append = (row, columnWidths, config) => {
- const rows = prepareData([row], config);
- const body = rows.map((literalRow) => {
- return (0, drawRow_1.drawRow)(literalRow, config);
- }).join('');
- let output = '';
- const bottom = (0, drawBorder_1.drawBorderBottom)(columnWidths, config);
- if (bottom !== '\n') {
- output = '\r\u001B[K';
- }
- output += (0, drawBorder_1.drawBorderJoin)(columnWidths, config);
- output += body;
- output += bottom;
- output = output.trimEnd();
- process.stdout.write(output);
- };
- const createStream = (userConfig) => {
- const config = (0, makeStreamConfig_1.makeStreamConfig)(userConfig);
- const columnWidths = Object.values(config.columns).map((column) => {
- return column.width + column.paddingLeft + column.paddingRight;
- });
- let empty = true;
- return {
- write: (row) => {
- if (row.length !== config.columnCount) {
- throw new Error('Row cell count does not match the config.columnCount.');
- }
- if (empty) {
- empty = false;
- create(row, columnWidths, config);
- }
- else {
- append(row, columnWidths, config);
- }
- },
- };
- };
- exports.createStream = createStream;
- //# sourceMappingURL=createStream.js.map
|