react-markdown-table-ts 0.5.9 → 0.5.11

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.cjs.js CHANGED
@@ -4123,47 +4123,39 @@ function calculateColumnWidths(tableRows, maxColumnCount) {
4123
4123
  });
4124
4124
  return widths;
4125
4125
  }
4126
- /**
4127
- * Formats a single row into a Markdown-formatted string.
4128
- * @param columnCount - The number of columns in the table.
4129
- * @param currentRow - The data of the current row.
4130
- * @param columnAlignments - Alignment settings for each column.
4131
- * @param columnWidths - Widths of each column.
4132
- * @param useTabs - Flag to use tabs between columns.
4133
- * @param canReplaceNewlines - Flag to replace newlines with <br> tags.
4134
- * @param hasPadding - Flag to add padding spaces around cell content.
4135
- * @returns The Markdown string for the row.
4136
- */
4126
+ function formatCell(cell, alignment, targetWidth, useTabs, padding) {
4127
+ switch (alignment) {
4128
+ case 'right':
4129
+ return "".concat(useTabs ? '\t' : padding).concat(cell.padStart(targetWidth)).concat(useTabs ? '\t' : padding);
4130
+ case 'center':
4131
+ return formatCenterAlignedCell(cell, targetWidth, useTabs, padding);
4132
+ default:
4133
+ return "".concat(useTabs ? '\t' : padding).concat(cell.padEnd(targetWidth)).concat(useTabs ? '\t' : padding);
4134
+ }
4135
+ }
4136
+ function formatCenterAlignedCell(cell, targetWidth, useTabs, padding) {
4137
+ var totalPadding = targetWidth - cell.length;
4138
+ var paddingLeft = Math.floor(totalPadding / 2);
4139
+ var paddingRight = totalPadding - paddingLeft;
4140
+ return "".concat(useTabs ? '\t' : padding).concat(' '.repeat(paddingLeft)).concat(cell).concat(' '.repeat(paddingRight)).concat(useTabs ? '\t' : padding);
4141
+ }
4137
4142
  function formatMarkdownRow(columnCount, currentRow, columnAlignments, columnWidths, useTabs, canReplaceNewlines, hasPadding) {
4138
- var _a, _b;
4139
4143
  if (useTabs === void 0) { useTabs = false; }
4140
4144
  if (canReplaceNewlines === void 0) { canReplaceNewlines = false; }
4141
4145
  if (hasPadding === void 0) { hasPadding = true; }
4142
4146
  var adjustedAlignments = getAdjustedAlignments(columnAlignments, columnCount);
4143
- var markdownRow = '|';
4144
- for (var i = 0; i < columnCount; i++) {
4147
+ var padding = hasPadding ? ' ' : '';
4148
+ var formattedCells = Array.from({ length: columnCount }, function (_, i) {
4149
+ var _a, _b;
4145
4150
  var cell = (_a = currentRow[i]) !== null && _a !== void 0 ? _a : '';
4146
4151
  if (canReplaceNewlines) {
4147
4152
  cell = replaceNewlinesInCell(cell);
4148
4153
  }
4149
4154
  var alignment = (_b = adjustedAlignments[i]) !== null && _b !== void 0 ? _b : 'left';
4150
4155
  var targetWidth = columnWidths ? columnWidths[i] : cell.length;
4151
- var padding = hasPadding ? ' ' : '';
4152
- if (alignment === 'right') {
4153
- markdownRow += "".concat(useTabs ? '\t' : padding).concat(cell.padStart(targetWidth)).concat(useTabs ? '\t' : padding, "|");
4154
- }
4155
- else if (alignment === 'center') {
4156
- var totalPadding = targetWidth - cell.length;
4157
- var paddingLeft = Math.floor(totalPadding / 2);
4158
- var paddingRight = totalPadding - paddingLeft;
4159
- markdownRow += "".concat(useTabs ? '\t' : padding).concat(' '.repeat(paddingLeft)).concat(cell).concat(' '.repeat(paddingRight)).concat(useTabs ? '\t' : padding, "|");
4160
- }
4161
- else {
4162
- // Left alignment or default
4163
- markdownRow += "".concat(useTabs ? '\t' : padding).concat(cell.padEnd(targetWidth)).concat(useTabs ? '\t' : padding, "|");
4164
- }
4165
- }
4166
- return markdownRow;
4156
+ return formatCell(cell, alignment, targetWidth, useTabs, padding);
4157
+ });
4158
+ return "|".concat(formattedCells.join('|'), "|");
4167
4159
  }
4168
4160
  /**
4169
4161
  * Generates the alignment row for the Markdown table syntax.