react-markdown-table-ts 0.5.9 → 0.5.10

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/dist/index.esm.js CHANGED
@@ -4096,47 +4096,39 @@ function calculateColumnWidths(tableRows, maxColumnCount) {
4096
4096
  });
4097
4097
  return widths;
4098
4098
  }
4099
- /**
4100
- * Formats a single row into a Markdown-formatted string.
4101
- * @param columnCount - The number of columns in the table.
4102
- * @param currentRow - The data of the current row.
4103
- * @param columnAlignments - Alignment settings for each column.
4104
- * @param columnWidths - Widths of each column.
4105
- * @param useTabs - Flag to use tabs between columns.
4106
- * @param canReplaceNewlines - Flag to replace newlines with <br> tags.
4107
- * @param hasPadding - Flag to add padding spaces around cell content.
4108
- * @returns The Markdown string for the row.
4109
- */
4099
+ function formatCell(cell, alignment, targetWidth, useTabs, padding) {
4100
+ switch (alignment) {
4101
+ case 'right':
4102
+ return "".concat(useTabs ? '\t' : padding).concat(cell.padStart(targetWidth)).concat(useTabs ? '\t' : padding);
4103
+ case 'center':
4104
+ return formatCenterAlignedCell(cell, targetWidth, useTabs, padding);
4105
+ default:
4106
+ return "".concat(useTabs ? '\t' : padding).concat(cell.padEnd(targetWidth)).concat(useTabs ? '\t' : padding);
4107
+ }
4108
+ }
4109
+ function formatCenterAlignedCell(cell, targetWidth, useTabs, padding) {
4110
+ var totalPadding = targetWidth - cell.length;
4111
+ var paddingLeft = Math.floor(totalPadding / 2);
4112
+ var paddingRight = totalPadding - paddingLeft;
4113
+ return "".concat(useTabs ? '\t' : padding).concat(' '.repeat(paddingLeft)).concat(cell).concat(' '.repeat(paddingRight)).concat(useTabs ? '\t' : padding);
4114
+ }
4110
4115
  function formatMarkdownRow(columnCount, currentRow, columnAlignments, columnWidths, useTabs, canReplaceNewlines, hasPadding) {
4111
- var _a, _b;
4112
4116
  if (useTabs === void 0) { useTabs = false; }
4113
4117
  if (canReplaceNewlines === void 0) { canReplaceNewlines = false; }
4114
4118
  if (hasPadding === void 0) { hasPadding = true; }
4115
4119
  var adjustedAlignments = getAdjustedAlignments(columnAlignments, columnCount);
4116
- var markdownRow = '|';
4117
- for (var i = 0; i < columnCount; i++) {
4120
+ var padding = hasPadding ? ' ' : '';
4121
+ var formattedCells = Array.from({ length: columnCount }, function (_, i) {
4122
+ var _a, _b;
4118
4123
  var cell = (_a = currentRow[i]) !== null && _a !== void 0 ? _a : '';
4119
4124
  if (canReplaceNewlines) {
4120
4125
  cell = replaceNewlinesInCell(cell);
4121
4126
  }
4122
4127
  var alignment = (_b = adjustedAlignments[i]) !== null && _b !== void 0 ? _b : 'left';
4123
4128
  var targetWidth = columnWidths ? columnWidths[i] : cell.length;
4124
- var padding = hasPadding ? ' ' : '';
4125
- if (alignment === 'right') {
4126
- markdownRow += "".concat(useTabs ? '\t' : padding).concat(cell.padStart(targetWidth)).concat(useTabs ? '\t' : padding, "|");
4127
- }
4128
- else if (alignment === 'center') {
4129
- var totalPadding = targetWidth - cell.length;
4130
- var paddingLeft = Math.floor(totalPadding / 2);
4131
- var paddingRight = totalPadding - paddingLeft;
4132
- markdownRow += "".concat(useTabs ? '\t' : padding).concat(' '.repeat(paddingLeft)).concat(cell).concat(' '.repeat(paddingRight)).concat(useTabs ? '\t' : padding, "|");
4133
- }
4134
- else {
4135
- // Left alignment or default
4136
- markdownRow += "".concat(useTabs ? '\t' : padding).concat(cell.padEnd(targetWidth)).concat(useTabs ? '\t' : padding, "|");
4137
- }
4138
- }
4139
- return markdownRow;
4129
+ return formatCell(cell, alignment, targetWidth, useTabs, padding);
4130
+ });
4131
+ return "|".concat(formattedCells.join('|'), "|");
4140
4132
  }
4141
4133
  /**
4142
4134
  * Generates the alignment row for the Markdown table syntax.