react-markdown-table-ts 0.2.4 → 0.3.0
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/errors.js +31 -0
- package/dist/errors.js.map +1 -0
- package/dist/helpers.js +93 -0
- package/dist/helpers.js.map +1 -0
- package/dist/index.cjs.js +2 -2
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +2 -2
- package/dist/index.esm.js.map +1 -1
- package/dist/src/errors.d.ts +6 -0
- package/dist/src/errors.js +31 -0
- package/dist/src/errors.js.map +1 -0
- package/dist/src/helpers.d.ts +34 -0
- package/dist/src/helpers.js +93 -0
- package/dist/src/helpers.js.map +1 -0
- package/dist/src/index.d.ts +19 -0
- package/dist/src/index.js +200 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/types.d.ts +62 -0
- package/dist/src/types.js +3 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/utils.d.ts +44 -0
- package/dist/src/utils.js +142 -0
- package/dist/src/utils.js.map +1 -0
- package/dist/src/validation.d.ts +7 -0
- package/dist/src/validation.js +65 -0
- package/dist/src/validation.js.map +1 -0
- package/dist/test/MarkdownTable.test.d.ts +1 -0
- package/dist/test/MarkdownTable.test.js +91 -0
- package/dist/test/MarkdownTable.test.js.map +1 -0
- package/dist/test/helpers.test.d.ts +1 -0
- package/dist/test/helpers.test.js +99 -0
- package/dist/test/helpers.test.js.map +1 -0
- package/dist/test/jest.setup.d.ts +2 -0
- package/dist/test/jest.setup.js +3 -0
- package/dist/test/jest.setup.js.map +1 -0
- package/dist/test/utils.test.d.ts +1 -0
- package/dist/test/utils.test.js +46 -0
- package/dist/test/utils.test.js.map +1 -0
- package/dist/test/validation.test.d.ts +1 -0
- package/dist/test/validation.test.js +81 -0
- package/dist/test/validation.test.js.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.js +142 -0
- package/dist/utils.js.map +1 -0
- package/dist/validation.js +65 -0
- package/dist/validation.js.map +1 -0
- package/package.json +2 -1
package/dist/errors.js
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
// src/errors.ts
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
3
|
+
var extendStatics = function (d, b) {
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
7
|
+
return extendStatics(d, b);
|
8
|
+
};
|
9
|
+
return function (d, b) {
|
10
|
+
if (typeof b !== "function" && b !== null)
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
12
|
+
extendStatics(d, b);
|
13
|
+
function __() { this.constructor = d; }
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
15
|
+
};
|
16
|
+
})();
|
17
|
+
/**
|
18
|
+
* Custom error class for handling Markdown table generation errors.
|
19
|
+
*/
|
20
|
+
var MarkdownTableError = /** @class */ (function (_super) {
|
21
|
+
__extends(MarkdownTableError, _super);
|
22
|
+
function MarkdownTableError(message) {
|
23
|
+
var _this = _super.call(this, message) || this;
|
24
|
+
_this.name = 'MarkdownTableError';
|
25
|
+
Object.setPrototypeOf(_this, MarkdownTableError.prototype);
|
26
|
+
return _this;
|
27
|
+
}
|
28
|
+
return MarkdownTableError;
|
29
|
+
}(Error));
|
30
|
+
export { MarkdownTableError };
|
31
|
+
//# sourceMappingURL=errors.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,gBAAgB;;;;;;;;;;;;;;;;AAEhB;;GAEG;AACH;IAAwC,sCAAK;IAC3C,4BAAY,OAAe;QAA3B,YACE,kBAAM,OAAO,CAAC,SAGf;QAFC,KAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;;IAC5D,CAAC;IACH,yBAAC;AAAD,CAAC,AAND,CAAwC,KAAK,GAM5C"}
|
package/dist/helpers.js
ADDED
@@ -0,0 +1,93 @@
|
|
1
|
+
// src/helpers.ts
|
2
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
3
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
4
|
+
if (ar || !(i in from)) {
|
5
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
6
|
+
ar[i] = from[i];
|
7
|
+
}
|
8
|
+
}
|
9
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
10
|
+
};
|
11
|
+
/**
|
12
|
+
* Calculates the maximum width for each column based on the content.
|
13
|
+
* @param params - The parameters for column width calculation.
|
14
|
+
* @returns An array of maximum widths for each column.
|
15
|
+
*/
|
16
|
+
export function calculateColumnWidths(_a) {
|
17
|
+
var allRows = _a.allRows, maxColumnCount = _a.maxColumnCount;
|
18
|
+
return allRows.reduce(function (widths, row) {
|
19
|
+
var _a, _b;
|
20
|
+
for (var i = 0; i < maxColumnCount; i++) {
|
21
|
+
var cell = (_a = row[i]) !== null && _a !== void 0 ? _a : '';
|
22
|
+
widths[i] = Math.max((_b = widths[i]) !== null && _b !== void 0 ? _b : 3, cell.length);
|
23
|
+
}
|
24
|
+
return widths;
|
25
|
+
}, new Array(maxColumnCount).fill(3));
|
26
|
+
}
|
27
|
+
/**
|
28
|
+
* Formats a single row into a Markdown-formatted string.
|
29
|
+
* @param params - The parameters for row formatting.
|
30
|
+
* @returns The Markdown string for the row.
|
31
|
+
*/
|
32
|
+
export function formatMarkdownRow(_a) {
|
33
|
+
var _b, _c;
|
34
|
+
var columnCount = _a.columnCount, row = _a.row, _d = _a.columnAlignments, columnAlignments = _d === void 0 ? [] : _d, columnWidths = _a.columnWidths;
|
35
|
+
var defaultAlignment = 'left';
|
36
|
+
var adjustedAlignments = columnAlignments.length < columnCount
|
37
|
+
? __spreadArray(__spreadArray([], columnAlignments, true), Array(columnCount - columnAlignments.length).fill(defaultAlignment), true) : columnAlignments;
|
38
|
+
var markdownRow = '|';
|
39
|
+
for (var i = 0; i < columnCount; i++) {
|
40
|
+
var cell = (_b = row[i]) !== null && _b !== void 0 ? _b : '';
|
41
|
+
var alignment = (_c = adjustedAlignments[i]) !== null && _c !== void 0 ? _c : defaultAlignment;
|
42
|
+
var targetWidth = columnWidths ? columnWidths[i] : cell.length;
|
43
|
+
if (alignment === 'right') {
|
44
|
+
markdownRow += " ".concat(cell.padStart(targetWidth), " |");
|
45
|
+
}
|
46
|
+
else if (alignment === 'center') {
|
47
|
+
var totalPadding = targetWidth - cell.length;
|
48
|
+
var paddingLeft = Math.floor(totalPadding / 2);
|
49
|
+
var paddingRight = totalPadding - paddingLeft;
|
50
|
+
markdownRow += " ".concat(' '.repeat(paddingLeft)).concat(cell).concat(' '.repeat(paddingRight), " |");
|
51
|
+
}
|
52
|
+
else {
|
53
|
+
// Left alignment or default
|
54
|
+
markdownRow += " ".concat(cell.padEnd(targetWidth), " |");
|
55
|
+
}
|
56
|
+
}
|
57
|
+
return markdownRow;
|
58
|
+
}
|
59
|
+
/**
|
60
|
+
* Generates the alignment row for the Markdown table syntax.
|
61
|
+
* @param params - The parameters for alignment row generation.
|
62
|
+
* @returns The Markdown string for the alignment row.
|
63
|
+
*/
|
64
|
+
export function formatAlignmentRow(_a) {
|
65
|
+
var _b;
|
66
|
+
var columnCount = _a.columnCount, _c = _a.columnAlignments, columnAlignments = _c === void 0 ? [] : _c, columnWidths = _a.columnWidths;
|
67
|
+
var defaultAlignment = 'left';
|
68
|
+
var adjustedAlignments = columnAlignments.length < columnCount
|
69
|
+
? __spreadArray(__spreadArray([], columnAlignments, true), Array(columnCount - columnAlignments.length).fill(defaultAlignment), true) : columnAlignments;
|
70
|
+
var alignmentRow = '|';
|
71
|
+
for (var i = 0; i < columnCount; i++) {
|
72
|
+
var alignment = (_b = adjustedAlignments[i]) !== null && _b !== void 0 ? _b : defaultAlignment;
|
73
|
+
var targetWidth = columnWidths ? columnWidths[i] : 3;
|
74
|
+
var alignIndicator = '';
|
75
|
+
switch (alignment) {
|
76
|
+
case 'left':
|
77
|
+
alignIndicator = ":".concat('-'.repeat(targetWidth - 1));
|
78
|
+
break;
|
79
|
+
case 'center':
|
80
|
+
alignIndicator = ":".concat('-'.repeat(targetWidth - 2), ":");
|
81
|
+
break;
|
82
|
+
case 'right':
|
83
|
+
alignIndicator = "".concat('-'.repeat(targetWidth - 1), ":");
|
84
|
+
break;
|
85
|
+
default:
|
86
|
+
alignIndicator = "".concat('-'.repeat(targetWidth));
|
87
|
+
break;
|
88
|
+
}
|
89
|
+
alignmentRow += " ".concat(alignIndicator, " |");
|
90
|
+
}
|
91
|
+
return alignmentRow;
|
92
|
+
}
|
93
|
+
//# sourceMappingURL=helpers.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/index.cjs.js
CHANGED
@@ -4058,7 +4058,7 @@ var Prism$1 = /*@__PURE__*/getDefaultExportFromCjs(prismExports);
|
|
4058
4058
|
}());
|
4059
4059
|
|
4060
4060
|
// CSS styles
|
4061
|
-
var prismStyles = "\
|
4061
|
+
var prismStyles = "\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:3.8em;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:.8em;text-align:right}\n";
|
4062
4062
|
var MarkdownTableError = /** @class */ (function (_super) {
|
4063
4063
|
__extends(MarkdownTableError, _super);
|
4064
4064
|
function MarkdownTableError(message) {
|
@@ -4225,7 +4225,7 @@ var MarkdownTable = function (_a) {
|
|
4225
4225
|
Prism$1.highlightElement(preRef.current.querySelector('code'));
|
4226
4226
|
}
|
4227
4227
|
}, [markdownSyntax]);
|
4228
|
-
return (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("style", { children: prismStyles }), jsxRuntimeExports.jsx("pre", { ref: preRef, className: "".concat(className, " language-markdown line-numbers"), children: jsxRuntimeExports.jsx("code", { children: markdownSyntax }) })] }));
|
4228
|
+
return (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("style", { children: prismStyles }), jsxRuntimeExports.jsx("pre", { ref: preRef, className: "".concat(className, " language-markdown line-numbers"), children: jsxRuntimeExports.jsx("code", { className: "language-markdown", role: "code", children: markdownSyntax }) })] }));
|
4229
4229
|
};
|
4230
4230
|
|
4231
4231
|
exports.MarkdownTable = MarkdownTable;
|