react-markdown-table-ts 0.6.3 → 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 +38 -24
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +38 -24
- 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);
|
@@ -18552,14 +18544,37 @@ process.env.NODE_ENV !== "production" ? Tooltip.propTypes /* remove-proptypes */
|
|
18552
18544
|
} : void 0;
|
18553
18545
|
var Tooltip$1 = Tooltip;
|
18554
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
|
+
|
18555
18575
|
// CSS styles
|
18556
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";
|
18557
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";
|
18558
|
-
var validateInputData = function (inputData) {
|
18559
|
-
if (inputData === null || !Array.isArray(inputData) || inputData.length === 0) {
|
18560
|
-
throw new MarkdownTableError("The 'data' prop must be a non-empty two-dimensional array.");
|
18561
|
-
}
|
18562
|
-
};
|
18563
18578
|
var getTableData = function (inputData, hasHeader) {
|
18564
18579
|
return hasHeader
|
18565
18580
|
? { inputDataHeader: inputData[0], inputDataBody: inputData.slice(1) }
|
@@ -18568,8 +18583,7 @@ var getTableData = function (inputData, hasHeader) {
|
|
18568
18583
|
var generateTableSyntax = function (inputData, hasHeader, columnAlignments, adjustColumnWidths, hasTabs, canReplaceNewlines, hasPadding) {
|
18569
18584
|
try {
|
18570
18585
|
validateInputData(inputData);
|
18571
|
-
var
|
18572
|
-
var _a = getTableData(nonNullInputData, hasHeader), inputDataHeader = _a.inputDataHeader, inputDataBody = _a.inputDataBody;
|
18586
|
+
var _a = getTableData(inputData, hasHeader), inputDataHeader = _a.inputDataHeader, inputDataBody = _a.inputDataBody;
|
18573
18587
|
return generateMarkdownTableString({ inputDataHeader: inputDataHeader, inputDataBody: inputDataBody }, columnAlignments, adjustColumnWidths, hasTabs, canReplaceNewlines, hasPadding);
|
18574
18588
|
}
|
18575
18589
|
catch (error) {
|