react-markdown-table-ts 0.6.0 → 0.6.2
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 +64 -65
- package/dist/index.cjs.js +36 -52
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +36 -52
- package/dist/index.esm.js.map +1 -1
- package/dist/utils.d.ts +0 -19
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
@@ -4130,73 +4130,57 @@ function formatMarkdownRow(columnCount, currentRow, columnAlignments, columnWidt
|
|
4130
4130
|
});
|
4131
4131
|
return "|".concat(formattedCells.join('|'), "|");
|
4132
4132
|
}
|
4133
|
-
|
4134
|
-
|
4135
|
-
|
4136
|
-
|
4137
|
-
|
4138
|
-
|
4139
|
-
|
4140
|
-
|
4141
|
-
|
4133
|
+
var alignmentIndicators = {
|
4134
|
+
left: function (width) { return ":".concat('-'.repeat(width - 1)); },
|
4135
|
+
right: function (width) { return "".concat('-'.repeat(width - 1), ":"); },
|
4136
|
+
center: function (width) { return ":".concat('-'.repeat(width - 2), ":"); },
|
4137
|
+
none: function (width) { return '-'.repeat(width); },
|
4138
|
+
};
|
4139
|
+
function getAlignmentIndicator(alignment, width) {
|
4140
|
+
return alignmentIndicators[alignment](width);
|
4141
|
+
}
|
4142
4142
|
function formatAlignmentRow(columnCount, columnAlignments, columnWidths, useTabs, hasPadding) {
|
4143
|
-
var _a;
|
4144
4143
|
if (useTabs === void 0) { useTabs = false; }
|
4145
4144
|
if (hasPadding === void 0) { hasPadding = true; }
|
4146
4145
|
var adjustedAlignments = getAdjustedAlignments(columnAlignments, columnCount);
|
4147
|
-
var
|
4148
|
-
|
4146
|
+
var padding = hasPadding ? ' ' : '';
|
4147
|
+
var formattedColumns = Array.from({ length: columnCount }, function (_, i) {
|
4148
|
+
var _a;
|
4149
4149
|
var alignment = (_a = adjustedAlignments[i]) !== null && _a !== void 0 ? _a : 'left';
|
4150
4150
|
var targetWidth = columnWidths ? columnWidths[i] : 3;
|
4151
|
-
var alignIndicator =
|
4152
|
-
|
4153
|
-
|
4154
|
-
|
4155
|
-
alignIndicator = ":".concat('-'.repeat(targetWidth - 1));
|
4156
|
-
break;
|
4157
|
-
case 'center':
|
4158
|
-
alignIndicator = ":".concat('-'.repeat(targetWidth - 2), ":");
|
4159
|
-
break;
|
4160
|
-
case 'right':
|
4161
|
-
alignIndicator = "".concat('-'.repeat(targetWidth - 1), ":");
|
4162
|
-
break;
|
4163
|
-
default:
|
4164
|
-
alignIndicator = "".concat('-'.repeat(targetWidth));
|
4165
|
-
break;
|
4166
|
-
}
|
4167
|
-
alignmentRow += "".concat(useTabs ? '\t' : padding).concat(alignIndicator).concat(useTabs ? '\t' : padding, "|");
|
4168
|
-
}
|
4169
|
-
return alignmentRow;
|
4151
|
+
var alignIndicator = getAlignmentIndicator(alignment, targetWidth);
|
4152
|
+
return "".concat(useTabs ? '\t' : padding).concat(alignIndicator).concat(useTabs ? '\t' : padding);
|
4153
|
+
});
|
4154
|
+
return "|".concat(formattedColumns.join('|'), "|");
|
4170
4155
|
}
|
4171
|
-
|
4172
|
-
* Generates a complete Markdown table string from the provided data.
|
4173
|
-
* @param inputData - The table data including headers and rows.
|
4174
|
-
* @param columnAlignments - Alignment settings for each column.
|
4175
|
-
* @param canAdjustColumnWidths - Flag to adjust column widths based on content.
|
4176
|
-
* @param useTabs - Flag to use tabs between columns.
|
4177
|
-
* @param replaceNewlines - Flag to replace newlines with <br> tags.
|
4178
|
-
* @param hasPadding - Flag to add padding spaces around cell content.
|
4179
|
-
* @returns The complete Markdown table string.
|
4180
|
-
*/
|
4181
|
-
function generateMarkdownTableString(inputData, columnAlignments, canAdjustColumnWidths, useTabs, replaceNewlines, hasPadding) {
|
4182
|
-
if (canAdjustColumnWidths === void 0) { canAdjustColumnWidths = true; }
|
4183
|
-
if (useTabs === void 0) { useTabs = false; }
|
4184
|
-
if (replaceNewlines === void 0) { replaceNewlines = false; }
|
4185
|
-
if (hasPadding === void 0) { hasPadding = true; }
|
4156
|
+
function calculateMaxColumnCount(inputData) {
|
4186
4157
|
var headerColumnCount = inputData.inputDataHeader.length;
|
4187
4158
|
var bodyColumnCounts = inputData.inputDataBody.map(function (currentRow) { return currentRow.length; });
|
4188
|
-
|
4189
|
-
|
4159
|
+
return Math.max.apply(Math, __spreadArray([headerColumnCount], bodyColumnCounts, false));
|
4160
|
+
}
|
4161
|
+
function getColumnWidths(inputData, maxColumnCount, canAdjustColumnWidths) {
|
4162
|
+
return canAdjustColumnWidths
|
4190
4163
|
? calculateColumnWidths(__spreadArray([inputData.inputDataHeader], inputData.inputDataBody, true), maxColumnCount)
|
4191
4164
|
: undefined;
|
4192
|
-
|
4193
|
-
|
4194
|
-
var
|
4165
|
+
}
|
4166
|
+
function formatTableRows(inputData, maxColumnCount, columnAlignments, columnWidths, useTabs, replaceNewlines, hasPadding) {
|
4167
|
+
var headerRow = formatMarkdownRow(maxColumnCount, inputData.inputDataHeader, columnAlignments, columnWidths, useTabs, replaceNewlines, hasPadding);
|
4168
|
+
var alignmentRow = formatAlignmentRow(maxColumnCount, columnAlignments, columnWidths, useTabs, hasPadding);
|
4169
|
+
var bodyRows = inputData.inputDataBody
|
4195
4170
|
.map(function (currentRow) {
|
4196
4171
|
return formatMarkdownRow(maxColumnCount, currentRow, columnAlignments, columnWidths, useTabs, replaceNewlines, hasPadding);
|
4197
4172
|
})
|
4198
4173
|
.join('\n');
|
4199
|
-
return "".concat(
|
4174
|
+
return "".concat(headerRow, "\n").concat(alignmentRow, "\n").concat(bodyRows);
|
4175
|
+
}
|
4176
|
+
function generateMarkdownTableString(inputData, columnAlignments, canAdjustColumnWidths, useTabs, replaceNewlines, hasPadding) {
|
4177
|
+
if (canAdjustColumnWidths === void 0) { canAdjustColumnWidths = true; }
|
4178
|
+
if (useTabs === void 0) { useTabs = false; }
|
4179
|
+
if (replaceNewlines === void 0) { replaceNewlines = false; }
|
4180
|
+
if (hasPadding === void 0) { hasPadding = true; }
|
4181
|
+
var maxColumnCount = calculateMaxColumnCount(inputData);
|
4182
|
+
var columnWidths = getColumnWidths(inputData, maxColumnCount, canAdjustColumnWidths);
|
4183
|
+
return formatTableRows(inputData, maxColumnCount, columnAlignments, columnWidths, useTabs, replaceNewlines, hasPadding).trimEnd();
|
4200
4184
|
}
|
4201
4185
|
/**
|
4202
4186
|
* Replaces newline characters in a string with <br> tags.
|