react-markdown-table-ts 0.6.2 → 0.6.4
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 +48 -27
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +48 -27
- package/dist/index.esm.js.map +1 -1
- package/dist/utils.d.ts +3 -0
- package/dist/validation.d.ts +6 -0
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
@@ -4079,21 +4079,6 @@ var Prism$1 = /*@__PURE__*/getDefaultExportFromCjs(prismExports);
|
|
4079
4079
|
|
4080
4080
|
}());
|
4081
4081
|
|
4082
|
-
// src/validation.ts
|
4083
|
-
/**
|
4084
|
-
* Custom error class for handling Markdown table generation errors.
|
4085
|
-
*/
|
4086
|
-
var MarkdownTableError = /** @class */ (function (_super) {
|
4087
|
-
__extends(MarkdownTableError, _super);
|
4088
|
-
function MarkdownTableError(message) {
|
4089
|
-
var _this = _super.call(this, message) || this;
|
4090
|
-
_this.name = 'MarkdownTableError';
|
4091
|
-
Object.setPrototypeOf(_this, MarkdownTableError.prototype);
|
4092
|
-
return _this;
|
4093
|
-
}
|
4094
|
-
return MarkdownTableError;
|
4095
|
-
}(Error));
|
4096
|
-
|
4097
4082
|
// src/utils.ts
|
4098
4083
|
/**
|
4099
4084
|
* Adjusts column alignments array to match the required column count
|
@@ -4124,15 +4109,22 @@ function calculateColumnWidths(tableRows, maxColumnCount) {
|
|
4124
4109
|
return widths;
|
4125
4110
|
}
|
4126
4111
|
function formatCell(cell, alignment, targetWidth, useTabs, padding) {
|
4112
|
+
var pad = useTabs ? '\t' : padding;
|
4127
4113
|
switch (alignment) {
|
4128
4114
|
case 'right':
|
4129
|
-
return
|
4115
|
+
return formatRightAlignedCell(cell, targetWidth, pad);
|
4130
4116
|
case 'center':
|
4131
4117
|
return formatCenterAlignedCell(cell, targetWidth, useTabs, padding);
|
4132
4118
|
default:
|
4133
|
-
return
|
4119
|
+
return formatLeftAlignedCell(cell, targetWidth, pad);
|
4134
4120
|
}
|
4135
4121
|
}
|
4122
|
+
function formatRightAlignedCell(cell, targetWidth, pad) {
|
4123
|
+
return "".concat(pad).concat(cell.padStart(targetWidth)).concat(pad);
|
4124
|
+
}
|
4125
|
+
function formatLeftAlignedCell(cell, targetWidth, pad) {
|
4126
|
+
return "".concat(pad).concat(cell.padEnd(targetWidth)).concat(pad);
|
4127
|
+
}
|
4136
4128
|
function formatCenterAlignedCell(cell, targetWidth, useTabs, padding) {
|
4137
4129
|
var totalPadding = targetWidth - cell.length;
|
4138
4130
|
var paddingLeft = Math.floor(totalPadding / 2);
|
@@ -4190,15 +4182,22 @@ function getColumnWidths(inputData, maxColumnCount, canAdjustColumnWidths) {
|
|
4190
4182
|
? calculateColumnWidths(__spreadArray([inputData.inputDataHeader], inputData.inputDataBody, true), maxColumnCount)
|
4191
4183
|
: undefined;
|
4192
4184
|
}
|
4193
|
-
function
|
4185
|
+
function formatHeaderAndAlignment(inputData, maxColumnCount, columnAlignments, columnWidths, useTabs, replaceNewlines, hasPadding) {
|
4194
4186
|
var headerRow = formatMarkdownRow(maxColumnCount, inputData.inputDataHeader, columnAlignments, columnWidths, useTabs, replaceNewlines, hasPadding);
|
4195
4187
|
var alignmentRow = formatAlignmentRow(maxColumnCount, columnAlignments, columnWidths, useTabs, hasPadding);
|
4196
|
-
|
4188
|
+
return "".concat(headerRow, "\n").concat(alignmentRow);
|
4189
|
+
}
|
4190
|
+
function formatBodyRows(inputData, maxColumnCount, columnAlignments, columnWidths, useTabs, replaceNewlines, hasPadding) {
|
4191
|
+
return inputData.inputDataBody
|
4197
4192
|
.map(function (currentRow) {
|
4198
4193
|
return formatMarkdownRow(maxColumnCount, currentRow, columnAlignments, columnWidths, useTabs, replaceNewlines, hasPadding);
|
4199
4194
|
})
|
4200
4195
|
.join('\n');
|
4201
|
-
|
4196
|
+
}
|
4197
|
+
function formatTableRows(inputData, maxColumnCount, columnAlignments, columnWidths, useTabs, replaceNewlines, hasPadding) {
|
4198
|
+
var headerAndAlignment = formatHeaderAndAlignment(inputData, maxColumnCount, columnAlignments, columnWidths, useTabs, replaceNewlines, hasPadding);
|
4199
|
+
var bodyRows = formatBodyRows(inputData, maxColumnCount, columnAlignments, columnWidths, useTabs, replaceNewlines, hasPadding);
|
4200
|
+
return "".concat(headerAndAlignment, "\n").concat(bodyRows);
|
4202
4201
|
}
|
4203
4202
|
function generateMarkdownTableString(inputData, columnAlignments, canAdjustColumnWidths, useTabs, replaceNewlines, hasPadding) {
|
4204
4203
|
if (canAdjustColumnWidths === void 0) { canAdjustColumnWidths = true; }
|
@@ -18545,14 +18544,37 @@ process.env.NODE_ENV !== "production" ? Tooltip.propTypes /* remove-proptypes */
|
|
18545
18544
|
} : void 0;
|
18546
18545
|
var Tooltip$1 = Tooltip;
|
18547
18546
|
|
18547
|
+
// src/validation.ts
|
18548
|
+
/**
|
18549
|
+
* Custom error class for handling Markdown table generation errors.
|
18550
|
+
*/
|
18551
|
+
var MarkdownTableError = /** @class */ (function (_super) {
|
18552
|
+
__extends(MarkdownTableError, _super);
|
18553
|
+
function MarkdownTableError(message) {
|
18554
|
+
var _this = _super.call(this, message) || this;
|
18555
|
+
_this.name = 'MarkdownTableError';
|
18556
|
+
Object.setPrototypeOf(_this, MarkdownTableError.prototype);
|
18557
|
+
return _this;
|
18558
|
+
}
|
18559
|
+
return MarkdownTableError;
|
18560
|
+
}(Error));
|
18561
|
+
/**
|
18562
|
+
* Validates that the input data is a non-empty two-dimensional array.
|
18563
|
+
* @param inputData - The data to validate
|
18564
|
+
* @throws {MarkdownTableError} If validation fails
|
18565
|
+
*/
|
18566
|
+
function validateInputData(inputData) {
|
18567
|
+
if (inputData === null || !Array.isArray(inputData)) {
|
18568
|
+
throw new MarkdownTableError("The 'data' prop must be a two-dimensional array.");
|
18569
|
+
}
|
18570
|
+
if (inputData.length === 0) {
|
18571
|
+
throw new MarkdownTableError("The 'data' array must contain at least one row.");
|
18572
|
+
}
|
18573
|
+
}
|
18574
|
+
|
18548
18575
|
// CSS styles
|
18549
18576
|
var LIGHT_THEME_CSS = "\ncode[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}pre[class*=language-].line-numbers{position:relative;padding-left:2.4em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.5em;text-align:right}\n";
|
18550
18577
|
var DARK_THEME_CSS = "\ncode[class*=language-],pre[class*=language-]{color:#f8f8f2;background:0 0;text-shadow:0 1px rgba(0,0,0,.3);font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#282a36}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}pre[class*=language-].line-numbers{position:relative;padding-left:2.4em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.5em;text-align:right}\n";
|
18551
|
-
var validateInputData = function (inputData) {
|
18552
|
-
if (inputData === null || !Array.isArray(inputData) || inputData.length === 0) {
|
18553
|
-
throw new MarkdownTableError("The 'data' prop must be a non-empty two-dimensional array.");
|
18554
|
-
}
|
18555
|
-
};
|
18556
18578
|
var getTableData = function (inputData, hasHeader) {
|
18557
18579
|
return hasHeader
|
18558
18580
|
? { inputDataHeader: inputData[0], inputDataBody: inputData.slice(1) }
|
@@ -18561,8 +18583,7 @@ var getTableData = function (inputData, hasHeader) {
|
|
18561
18583
|
var generateTableSyntax = function (inputData, hasHeader, columnAlignments, adjustColumnWidths, hasTabs, canReplaceNewlines, hasPadding) {
|
18562
18584
|
try {
|
18563
18585
|
validateInputData(inputData);
|
18564
|
-
var
|
18565
|
-
var _a = getTableData(nonNullInputData, hasHeader), inputDataHeader = _a.inputDataHeader, inputDataBody = _a.inputDataBody;
|
18586
|
+
var _a = getTableData(inputData, hasHeader), inputDataHeader = _a.inputDataHeader, inputDataBody = _a.inputDataBody;
|
18566
18587
|
return generateMarkdownTableString({ inputDataHeader: inputDataHeader, inputDataBody: inputDataBody }, columnAlignments, adjustColumnWidths, hasTabs, canReplaceNewlines, hasPadding);
|
18567
18588
|
}
|
18568
18589
|
catch (error) {
|