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.esm.js
CHANGED
@@ -4052,21 +4052,6 @@ var Prism$1 = /*@__PURE__*/getDefaultExportFromCjs(prismExports);
|
|
4052
4052
|
|
4053
4053
|
}());
|
4054
4054
|
|
4055
|
-
// src/validation.ts
|
4056
|
-
/**
|
4057
|
-
* Custom error class for handling Markdown table generation errors.
|
4058
|
-
*/
|
4059
|
-
var MarkdownTableError = /** @class */ (function (_super) {
|
4060
|
-
__extends(MarkdownTableError, _super);
|
4061
|
-
function MarkdownTableError(message) {
|
4062
|
-
var _this = _super.call(this, message) || this;
|
4063
|
-
_this.name = 'MarkdownTableError';
|
4064
|
-
Object.setPrototypeOf(_this, MarkdownTableError.prototype);
|
4065
|
-
return _this;
|
4066
|
-
}
|
4067
|
-
return MarkdownTableError;
|
4068
|
-
}(Error));
|
4069
|
-
|
4070
4055
|
// src/utils.ts
|
4071
4056
|
/**
|
4072
4057
|
* Adjusts column alignments array to match the required column count
|
@@ -4097,15 +4082,22 @@ function calculateColumnWidths(tableRows, maxColumnCount) {
|
|
4097
4082
|
return widths;
|
4098
4083
|
}
|
4099
4084
|
function formatCell(cell, alignment, targetWidth, useTabs, padding) {
|
4085
|
+
var pad = useTabs ? '\t' : padding;
|
4100
4086
|
switch (alignment) {
|
4101
4087
|
case 'right':
|
4102
|
-
return
|
4088
|
+
return formatRightAlignedCell(cell, targetWidth, pad);
|
4103
4089
|
case 'center':
|
4104
4090
|
return formatCenterAlignedCell(cell, targetWidth, useTabs, padding);
|
4105
4091
|
default:
|
4106
|
-
return
|
4092
|
+
return formatLeftAlignedCell(cell, targetWidth, pad);
|
4107
4093
|
}
|
4108
4094
|
}
|
4095
|
+
function formatRightAlignedCell(cell, targetWidth, pad) {
|
4096
|
+
return "".concat(pad).concat(cell.padStart(targetWidth)).concat(pad);
|
4097
|
+
}
|
4098
|
+
function formatLeftAlignedCell(cell, targetWidth, pad) {
|
4099
|
+
return "".concat(pad).concat(cell.padEnd(targetWidth)).concat(pad);
|
4100
|
+
}
|
4109
4101
|
function formatCenterAlignedCell(cell, targetWidth, useTabs, padding) {
|
4110
4102
|
var totalPadding = targetWidth - cell.length;
|
4111
4103
|
var paddingLeft = Math.floor(totalPadding / 2);
|
@@ -18525,14 +18517,37 @@ process.env.NODE_ENV !== "production" ? Tooltip.propTypes /* remove-proptypes */
|
|
18525
18517
|
} : void 0;
|
18526
18518
|
var Tooltip$1 = Tooltip;
|
18527
18519
|
|
18520
|
+
// src/validation.ts
|
18521
|
+
/**
|
18522
|
+
* Custom error class for handling Markdown table generation errors.
|
18523
|
+
*/
|
18524
|
+
var MarkdownTableError = /** @class */ (function (_super) {
|
18525
|
+
__extends(MarkdownTableError, _super);
|
18526
|
+
function MarkdownTableError(message) {
|
18527
|
+
var _this = _super.call(this, message) || this;
|
18528
|
+
_this.name = 'MarkdownTableError';
|
18529
|
+
Object.setPrototypeOf(_this, MarkdownTableError.prototype);
|
18530
|
+
return _this;
|
18531
|
+
}
|
18532
|
+
return MarkdownTableError;
|
18533
|
+
}(Error));
|
18534
|
+
/**
|
18535
|
+
* Validates that the input data is a non-empty two-dimensional array.
|
18536
|
+
* @param inputData - The data to validate
|
18537
|
+
* @throws {MarkdownTableError} If validation fails
|
18538
|
+
*/
|
18539
|
+
function validateInputData(inputData) {
|
18540
|
+
if (inputData === null || !Array.isArray(inputData)) {
|
18541
|
+
throw new MarkdownTableError("The 'data' prop must be a two-dimensional array.");
|
18542
|
+
}
|
18543
|
+
if (inputData.length === 0) {
|
18544
|
+
throw new MarkdownTableError("The 'data' array must contain at least one row.");
|
18545
|
+
}
|
18546
|
+
}
|
18547
|
+
|
18528
18548
|
// CSS styles
|
18529
18549
|
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";
|
18530
18550
|
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";
|
18531
|
-
var validateInputData = function (inputData) {
|
18532
|
-
if (inputData === null || !Array.isArray(inputData) || inputData.length === 0) {
|
18533
|
-
throw new MarkdownTableError("The 'data' prop must be a non-empty two-dimensional array.");
|
18534
|
-
}
|
18535
|
-
};
|
18536
18551
|
var getTableData = function (inputData, hasHeader) {
|
18537
18552
|
return hasHeader
|
18538
18553
|
? { inputDataHeader: inputData[0], inputDataBody: inputData.slice(1) }
|
@@ -18541,8 +18556,7 @@ var getTableData = function (inputData, hasHeader) {
|
|
18541
18556
|
var generateTableSyntax = function (inputData, hasHeader, columnAlignments, adjustColumnWidths, hasTabs, canReplaceNewlines, hasPadding) {
|
18542
18557
|
try {
|
18543
18558
|
validateInputData(inputData);
|
18544
|
-
var
|
18545
|
-
var _a = getTableData(nonNullInputData, hasHeader), inputDataHeader = _a.inputDataHeader, inputDataBody = _a.inputDataBody;
|
18559
|
+
var _a = getTableData(inputData, hasHeader), inputDataHeader = _a.inputDataHeader, inputDataBody = _a.inputDataBody;
|
18546
18560
|
return generateMarkdownTableString({ inputDataHeader: inputDataHeader, inputDataBody: inputDataBody }, columnAlignments, adjustColumnWidths, hasTabs, canReplaceNewlines, hasPadding);
|
18547
18561
|
}
|
18548
18562
|
catch (error) {
|