react-markdown-table-ts 0.3.15 → 0.4.1
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 +6022 -194
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.esm.js +5879 -69
- package/dist/index.esm.js.map +1 -1
- package/dist/types.d.ts +6 -6
- package/dist/utils.d.ts +14 -10
- package/package.json +78 -75
- package/dist/jest.setup.d.ts +0 -2
- package/dist/jest.setup.js +0 -3
- package/dist/jest.setup.js.map +0 -1
- package/dist/src/index.d.ts +0 -5
- package/dist/src/index.js +0 -62
- package/dist/src/index.js.map +0 -1
- package/dist/src/types.d.ts +0 -56
- package/dist/src/types.js +0 -3
- package/dist/src/types.js.map +0 -1
- package/dist/src/utils.d.ts +0 -58
- package/dist/src/utils.js +0 -179
- package/dist/src/utils.js.map +0 -1
- package/dist/src/validation.d.ts +0 -13
- package/dist/src/validation.js +0 -93
- package/dist/src/validation.js.map +0 -1
- package/dist/test/MarkdownTable.test.d.ts +0 -1
- package/dist/test/MarkdownTable.test.js +0 -91
- package/dist/test/MarkdownTable.test.js.map +0 -1
- package/dist/test/utils.test.d.ts +0 -1
- package/dist/test/utils.test.js +0 -238
- package/dist/test/utils.test.js.map +0 -1
- package/dist/test/validation.test.d.ts +0 -1
- package/dist/test/validation.test.js +0 -86
- package/dist/test/validation.test.js.map +0 -1
package/dist/src/validation.js
DELETED
@@ -1,93 +0,0 @@
|
|
1
|
-
// src/validation.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
|
-
/**
|
32
|
-
* Validates the structure of the table data based on the `hasHeader` flag.
|
33
|
-
* Throws an error if validation fails.
|
34
|
-
* @param markdownTableProps - The props to validate.
|
35
|
-
*/
|
36
|
-
export function validateMarkdownTableProps(markdownTableProps) {
|
37
|
-
var inputData = markdownTableProps.inputData, _a = markdownTableProps.hasHeader, hasHeader = _a === void 0 ? true : _a, columnAlignments = markdownTableProps.columnAlignments, _b = markdownTableProps.isCompact, isCompact = _b === void 0 ? false : _b, _c = markdownTableProps.hasTabs, hasTabs = _c === void 0 ? false : _c, _d = markdownTableProps.canReplaceNewlines, canReplaceNewlines = _d === void 0 ? false : _d;
|
38
|
-
if (!Array.isArray(inputData)) {
|
39
|
-
throw new MarkdownTableError("The 'data' prop must be a two-dimensional array.");
|
40
|
-
}
|
41
|
-
if (inputData.length === 0) {
|
42
|
-
throw new MarkdownTableError("The 'data' array must contain at least one row.");
|
43
|
-
}
|
44
|
-
// If hasHeader is true, ensure the first row exists and is valid
|
45
|
-
if (hasHeader) {
|
46
|
-
var header = inputData[0];
|
47
|
-
if (!Array.isArray(header) || header.length === 0) {
|
48
|
-
throw new MarkdownTableError("The first row of 'data' must be a non-empty array representing the header.");
|
49
|
-
}
|
50
|
-
// Validate each header cell is a string
|
51
|
-
header.forEach(function (cell, index) {
|
52
|
-
if (typeof cell !== 'string') {
|
53
|
-
throw new MarkdownTableError("Header cell at index ".concat(index, " must be a string."));
|
54
|
-
}
|
55
|
-
});
|
56
|
-
}
|
57
|
-
// Validate each row
|
58
|
-
inputData.forEach(function (row, rowIndex) {
|
59
|
-
if (!Array.isArray(row)) {
|
60
|
-
throw new MarkdownTableError("Row ".concat(rowIndex + 1, " in 'data' must be an array of strings."));
|
61
|
-
}
|
62
|
-
row.forEach(function (cell, cellIndex) {
|
63
|
-
if (typeof cell !== 'string') {
|
64
|
-
throw new MarkdownTableError("Cell at row ".concat(rowIndex + 1, ", column ").concat(cellIndex + 1, " must be a string."));
|
65
|
-
}
|
66
|
-
});
|
67
|
-
});
|
68
|
-
// Validate columnAlignments if provided
|
69
|
-
if (columnAlignments) {
|
70
|
-
if (!Array.isArray(columnAlignments)) {
|
71
|
-
throw new MarkdownTableError("'columnAlignments' must be an array of alignment strings.");
|
72
|
-
}
|
73
|
-
var validAlignments_1 = ['left', 'center', 'right', 'none'];
|
74
|
-
columnAlignments.forEach(function (alignment, index) {
|
75
|
-
if (!validAlignments_1.includes(alignment)) {
|
76
|
-
throw new MarkdownTableError("Invalid alignment '".concat(alignment, "' at index ").concat(index, ". Valid options are 'left', 'center', 'right', 'none'."));
|
77
|
-
}
|
78
|
-
});
|
79
|
-
}
|
80
|
-
// Validate isCompact
|
81
|
-
if (typeof isCompact !== 'boolean') {
|
82
|
-
throw new MarkdownTableError("'isCompact' must be a boolean.");
|
83
|
-
}
|
84
|
-
// Validate hasTabs
|
85
|
-
if (typeof hasTabs !== 'boolean') {
|
86
|
-
throw new MarkdownTableError("'hasTabs' must be a boolean.");
|
87
|
-
}
|
88
|
-
// Validate canReplaceNewlines
|
89
|
-
if (typeof canReplaceNewlines !== 'boolean') {
|
90
|
-
throw new MarkdownTableError("'canReplaceNewlines' must be a boolean.");
|
91
|
-
}
|
92
|
-
}
|
93
|
-
//# sourceMappingURL=validation.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
import '@testing-library/jest-dom';
|
@@ -1,91 +0,0 @@
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
2
|
-
import { render, screen } from '@testing-library/react';
|
3
|
-
import { MarkdownTable } from '../src';
|
4
|
-
import '@testing-library/jest-dom';
|
5
|
-
describe('MarkdownTable', function () {
|
6
|
-
var sampleData = [
|
7
|
-
['Header 1', 'Header 2', 'Header 3'],
|
8
|
-
['Row 1, Col 1', 'Row 1, Col 2', 'Row 1, Col 3'],
|
9
|
-
['Row 2, Col 1', 'Row 2, Col 2', 'Row 2, Col 3'],
|
10
|
-
];
|
11
|
-
it('renders a compact table', function () {
|
12
|
-
render(_jsx(MarkdownTable, { inputData: sampleData, isCompact: true }));
|
13
|
-
var preElement = screen.getByText(/\| Header 1/);
|
14
|
-
expect(preElement).toBeInTheDocument();
|
15
|
-
expect(preElement.textContent).toContain('| Header 1 | Header 2 | Header 3 |');
|
16
|
-
expect(preElement.textContent).toContain('| :-- | :-- | :-- |');
|
17
|
-
expect(preElement.textContent).toContain('| Row 1, Col 1 | Row 1, Col 2 | Row 1, Col 3 |');
|
18
|
-
expect(preElement.textContent).toContain('| Row 2, Col 1 | Row 2, Col 2 | Row 2, Col 3 |');
|
19
|
-
});
|
20
|
-
it('replaces newlines with <br> tags when canReplaceNewlines is true', function () {
|
21
|
-
var dataWithNewlines = [
|
22
|
-
['Header 1', 'Header 2'],
|
23
|
-
['Line 1\nLine 2', 'Single line'],
|
24
|
-
['Single line', 'Line 1\nLine 2\nLine 3'],
|
25
|
-
];
|
26
|
-
render(_jsx(MarkdownTable, { inputData: dataWithNewlines, canReplaceNewlines: true }));
|
27
|
-
var preElement = screen.getByRole('code');
|
28
|
-
expect(preElement).toBeInTheDocument();
|
29
|
-
expect(preElement).toHaveTextContent('Header 1');
|
30
|
-
expect(preElement).toHaveTextContent('Header 2');
|
31
|
-
expect(preElement).toHaveTextContent('Line 1<br>Line 2');
|
32
|
-
expect(preElement).toHaveTextContent('Line 1<br>Line 2<br>Line 3');
|
33
|
-
});
|
34
|
-
it('calls onTableCreate with the correct Markdown string', function () {
|
35
|
-
var sampleData = [
|
36
|
-
['Header 1', 'Header 2'],
|
37
|
-
['Row 1, Col 1', 'Row 1, Col 2'],
|
38
|
-
['Row 2, Col 1', 'Row 2, Col 2'],
|
39
|
-
];
|
40
|
-
var mockOnTableCreate = jest.fn();
|
41
|
-
render(_jsx(MarkdownTable, { inputData: sampleData, onTableCreate: mockOnTableCreate }));
|
42
|
-
var codeElement = screen.getByRole('code');
|
43
|
-
expect(codeElement).toBeInTheDocument();
|
44
|
-
// Check if onTableCreate was called
|
45
|
-
expect(mockOnTableCreate).toHaveBeenCalledTimes(1);
|
46
|
-
// Check if onTableCreate was called with the correct Markdown string
|
47
|
-
var expectedMarkdown = "| Header 1 | Header 2 |\n| :----------- | :----------- |\n| Row 1, Col 1 | Row 1, Col 2 |\n| Row 2, Col 1 | Row 2, Col 2 |";
|
48
|
-
expect(mockOnTableCreate).toHaveBeenCalledWith(expectedMarkdown);
|
49
|
-
// Check the rendered content
|
50
|
-
expect(codeElement).toHaveTextContent('Header 1');
|
51
|
-
expect(codeElement).toHaveTextContent('Header 2');
|
52
|
-
expect(codeElement).toHaveTextContent('Row 1, Col 1');
|
53
|
-
expect(codeElement).toHaveTextContent('Row 1, Col 2');
|
54
|
-
expect(codeElement).toHaveTextContent('Row 2, Col 1');
|
55
|
-
expect(codeElement).toHaveTextContent('Row 2, Col 2');
|
56
|
-
});
|
57
|
-
it('calls onTableCreate when props change', function () {
|
58
|
-
var sampleData = [
|
59
|
-
['Header 1', 'Header 2'],
|
60
|
-
['Row 1, Col 1', 'Row 1, Col 2'],
|
61
|
-
];
|
62
|
-
var mockOnTableCreate = jest.fn();
|
63
|
-
var rerender = render(_jsx(MarkdownTable, { inputData: sampleData, onTableCreate: mockOnTableCreate })).rerender;
|
64
|
-
expect(mockOnTableCreate).toHaveBeenCalledTimes(1);
|
65
|
-
// Change a prop and re-render
|
66
|
-
var newData = [
|
67
|
-
['New Header 1', 'New Header 2'],
|
68
|
-
['New Row 1, Col 1', 'New Row 1, Col 2'],
|
69
|
-
];
|
70
|
-
rerender(_jsx(MarkdownTable, { inputData: newData, onTableCreate: mockOnTableCreate }));
|
71
|
-
// Check if onTableCreate was called again
|
72
|
-
expect(mockOnTableCreate).toHaveBeenCalledTimes(2);
|
73
|
-
// Check if onTableCreate was called with the new Markdown string
|
74
|
-
var expectedNewMarkdown = "| New Header 1 | New Header 2 |\n| :--------------- | :--------------- |\n| New Row 1, Col 1 | New Row 1, Col 2 |";
|
75
|
-
expect(mockOnTableCreate).toHaveBeenLastCalledWith(expectedNewMarkdown);
|
76
|
-
});
|
77
|
-
it('renders the table with correct markdown syntax', function () {
|
78
|
-
render(_jsx(MarkdownTable, { inputData: sampleData }));
|
79
|
-
var codeElement = screen.getByRole('code');
|
80
|
-
expect(codeElement).toHaveTextContent('Header 1');
|
81
|
-
expect(codeElement).toHaveTextContent('Header 2');
|
82
|
-
expect(codeElement).toHaveTextContent('Header 3');
|
83
|
-
expect(codeElement).toHaveTextContent('Row 1, Col 1');
|
84
|
-
expect(codeElement).toHaveTextContent('Row 1, Col 2');
|
85
|
-
expect(codeElement).toHaveTextContent('Row 1, Col 3');
|
86
|
-
expect(codeElement).toHaveTextContent('Row 2, Col 1');
|
87
|
-
expect(codeElement).toHaveTextContent('Row 2, Col 2');
|
88
|
-
expect(codeElement).toHaveTextContent('Row 2, Col 3');
|
89
|
-
});
|
90
|
-
});
|
91
|
-
//# sourceMappingURL=MarkdownTable.test.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"MarkdownTable.test.js","sourceRoot":"","sources":["../../test/MarkdownTable.test.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,MAAM,EAAE,MAAM,EAAC,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAC,aAAa,EAAC,MAAM,QAAQ,CAAC;AACrC,OAAO,2BAA2B,CAAC;AAEnC,QAAQ,CAAC,eAAe,EAAE;IACxB,IAAM,UAAU,GAAG;QACjB,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC;QACpC,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC;QAChD,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC;KACjD,CAAC;IAEF,EAAE,CAAC,yBAAyB,EAAE;QAC5B,MAAM,CAAC,KAAC,aAAa,IAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,GAAI,CAAC,CAAC;QAClE,IAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACnD,MAAM,CAAC,UAAU,CAAC,CAAC,iBAAiB,EAAE,CAAC;QACvC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,SAAS,CACtC,oCAAoC,CACrC,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAChE,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,SAAS,CACtC,gDAAgD,CACjD,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,SAAS,CACtC,gDAAgD,CACjD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE;QACrE,IAAM,gBAAgB,GAAG;YACvB,CAAC,UAAU,EAAE,UAAU,CAAC;YACxB,CAAC,gBAAgB,EAAE,aAAa,CAAC;YACjC,CAAC,aAAa,EAAE,wBAAwB,CAAC;SAC1C,CAAC;QAEF,MAAM,CACJ,KAAC,aAAa,IAAC,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,IAAI,GAAI,CACzE,CAAC;QAEF,IAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,CAAC,iBAAiB,EAAE,CAAC;QACvC,MAAM,CAAC,UAAU,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,CAAC,UAAU,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,CAAC,UAAU,CAAC,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;QACzD,MAAM,CAAC,UAAU,CAAC,CAAC,iBAAiB,CAAC,4BAA4B,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE;QACzD,IAAM,UAAU,GAAG;YACjB,CAAC,UAAU,EAAE,UAAU,CAAC;YACxB,CAAC,cAAc,EAAE,cAAc,CAAC;YAChC,CAAC,cAAc,EAAE,cAAc,CAAC;SACjC,CAAC;QAEF,IAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAEpC,MAAM,CACJ,KAAC,aAAa,IAAC,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,GAAI,CAC3E,CAAC;QAEF,IAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,CAAC,WAAW,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAExC,oCAAoC;QACpC,MAAM,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAEnD,qEAAqE;QACrE,IAAM,gBAAgB,GAAG,oIAGG,CAAC;QAE7B,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QAEjE,6BAA6B;QAC7B,MAAM,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE;QAC1C,IAAM,UAAU,GAAG;YACjB,CAAC,UAAU,EAAE,UAAU,CAAC;YACxB,CAAC,cAAc,EAAE,cAAc,CAAC;SACjC,CAAC;QAEF,IAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAE7B,IAAA,QAAQ,GAAI,MAAM,CACvB,KAAC,aAAa,IAAC,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,GAAI,CAC3E,SAFc,CAEb;QAEF,MAAM,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAEnD,8BAA8B;QAC9B,IAAM,OAAO,GAAG;YACd,CAAC,cAAc,EAAE,cAAc,CAAC;YAChC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;SACzC,CAAC;QAEF,QAAQ,CACN,KAAC,aAAa,IAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,iBAAiB,GAAI,CACxE,CAAC;QAEF,0CAA0C;QAC1C,MAAM,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAEnD,iEAAiE;QACjE,IAAM,mBAAmB,GAAG,2HAEQ,CAAC;QAErC,MAAM,CAAC,iBAAiB,CAAC,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE;QACnD,MAAM,CAAC,KAAC,aAAa,IAAC,SAAS,EAAE,UAAU,GAAI,CAAC,CAAC;QAEjD,IAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE7C,MAAM,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
@@ -1 +0,0 @@
|
|
1
|
-
export {};
|
package/dist/test/utils.test.js
DELETED
@@ -1,238 +0,0 @@
|
|
1
|
-
import { calculateColumnWidths, formatMarkdownRow, formatAlignmentRow, generateMarkdownTableString, replaceNewlinesInCell, getColumnName, generateAlphabetHeaders, } from '../src/utils';
|
2
|
-
describe('calculateColumnWidths', function () {
|
3
|
-
it('calculates correct column widths for simple data', function () {
|
4
|
-
var inputData = [
|
5
|
-
['Header 1', 'Header 2', 'Header 3'],
|
6
|
-
['Short', 'Medium length', 'Longest content here'],
|
7
|
-
['A', 'B', 'C'],
|
8
|
-
];
|
9
|
-
var result = calculateColumnWidths(inputData, 3);
|
10
|
-
expect(result).toEqual([8, 13, 20]);
|
11
|
-
});
|
12
|
-
it('handles empty cells', function () {
|
13
|
-
var inputData = [
|
14
|
-
['Header 1', '', 'Header 3'],
|
15
|
-
['Content', 'Medium', ''],
|
16
|
-
];
|
17
|
-
var result = calculateColumnWidths(inputData, 3);
|
18
|
-
expect(result).toEqual([8, 6, 8]);
|
19
|
-
});
|
20
|
-
it('uses minimum width of 3 for empty columns', function () {
|
21
|
-
var inputData = [
|
22
|
-
['', '', ''],
|
23
|
-
['A', '', 'C'],
|
24
|
-
];
|
25
|
-
var result = calculateColumnWidths(inputData, 3);
|
26
|
-
expect(result).toEqual([3, 3, 3]);
|
27
|
-
});
|
28
|
-
it('handles varying number of columns', function () {
|
29
|
-
var inputData = [
|
30
|
-
['Header 1', 'Header 2'],
|
31
|
-
['Content 1', 'Content 2', 'Extra Content'],
|
32
|
-
['A', 'B', 'C', 'D'],
|
33
|
-
];
|
34
|
-
var result = calculateColumnWidths(inputData, 4);
|
35
|
-
expect(result).toEqual([9, 9, 13, 3]);
|
36
|
-
});
|
37
|
-
});
|
38
|
-
describe('formatMarkdownRow', function () {
|
39
|
-
it('formats a simple row correctly with default alignments and widths', function () {
|
40
|
-
var tableRow = ['Column 1', 'Column 2', 'Column 3'];
|
41
|
-
var result = formatMarkdownRow(3, tableRow, []);
|
42
|
-
expect(result).toBe('| Column 1 | Column 2 | Column 3 |');
|
43
|
-
});
|
44
|
-
it('applies column widths correctly', function () {
|
45
|
-
var tableRow = ['Short', 'Medium', 'Long'];
|
46
|
-
var columnWidths = [10, 10, 10];
|
47
|
-
var result = formatMarkdownRow(3, tableRow, [], columnWidths);
|
48
|
-
expect(result).toBe('| Short | Medium | Long |');
|
49
|
-
});
|
50
|
-
it('applies alignments correctly', function () {
|
51
|
-
var tableRow = ['Left', 'Center', 'Right'];
|
52
|
-
var columnWidths = [10, 10, 10];
|
53
|
-
var columnAlignments = ['left', 'center', 'right'];
|
54
|
-
var result = formatMarkdownRow(3, tableRow, columnAlignments, columnWidths);
|
55
|
-
expect(result).toBe('| Left | Center | Right |');
|
56
|
-
});
|
57
|
-
it('handles empty cells', function () {
|
58
|
-
var tableRow = ['Content', '', 'More'];
|
59
|
-
var result = formatMarkdownRow(3, tableRow, []);
|
60
|
-
expect(result).toBe('| Content | | More |');
|
61
|
-
});
|
62
|
-
it('replaces newlines with <br> tags when specified', function () {
|
63
|
-
var tableRow = [
|
64
|
-
'Line1\nLine2',
|
65
|
-
'SingleLine',
|
66
|
-
'Another\nLine',
|
67
|
-
];
|
68
|
-
var columnWidths = [12, 10, 12];
|
69
|
-
var columnAlignments = ['left', 'center', 'right'];
|
70
|
-
var result = formatMarkdownRow(3, tableRow, columnAlignments, columnWidths, false, true);
|
71
|
-
expect(result).toBe('| Line1<br>Line2 | SingleLine | Another<br>Line |');
|
72
|
-
});
|
73
|
-
it('uses tabs between columns when useTabs is true', function () {
|
74
|
-
var tableRow = ['Tab1', 'Tab2', 'Tab3'];
|
75
|
-
var columnWidths = [5, 5, 5];
|
76
|
-
var columnAlignments = ['left', 'center', 'right'];
|
77
|
-
var result = formatMarkdownRow(3, tableRow, columnAlignments, columnWidths, true);
|
78
|
-
// Use a regular expression to match the pattern, allowing for flexible whitespace
|
79
|
-
expect(result).toMatch(/^\|\s*Tab1\s*\|\s*Tab2\s*\|\s*Tab3\s*\|$/);
|
80
|
-
});
|
81
|
-
});
|
82
|
-
describe('formatAlignmentRow', function () {
|
83
|
-
it('generates default left alignment for all columns with default widths', function () {
|
84
|
-
var result = formatAlignmentRow(3, []);
|
85
|
-
expect(result).toBe('| :-- | :-- | :-- |');
|
86
|
-
});
|
87
|
-
it('applies custom alignments correctly', function () {
|
88
|
-
var columnAlignments = ['left', 'center', 'right'];
|
89
|
-
var columnWidths = [10, 10, 10];
|
90
|
-
var result = formatAlignmentRow(3, columnAlignments, columnWidths);
|
91
|
-
expect(result).toBe('| :--------- | :--------: | ---------: |');
|
92
|
-
});
|
93
|
-
it('handles custom widths', function () {
|
94
|
-
var columnWidths = [5, 10, 5];
|
95
|
-
var columnAlignments = ['left', 'center', 'right'];
|
96
|
-
var result = formatAlignmentRow(3, columnAlignments, columnWidths);
|
97
|
-
expect(result).toBe('| :---- | :--------: | ----: |');
|
98
|
-
});
|
99
|
-
it('uses default alignment when not enough alignments are provided', function () {
|
100
|
-
var columnAlignments = ['center'];
|
101
|
-
var result = formatAlignmentRow(3, columnAlignments);
|
102
|
-
expect(result).toBe('| :-: | :-- | :-- |');
|
103
|
-
});
|
104
|
-
it('uses "none" alignment correctly', function () {
|
105
|
-
var columnAlignments = ['none', 'left', 'right'];
|
106
|
-
var columnWidths = [5, 10, 5];
|
107
|
-
var result = formatAlignmentRow(3, columnAlignments, columnWidths);
|
108
|
-
expect(result).toBe('| ----- | :--------- | ----: |');
|
109
|
-
});
|
110
|
-
});
|
111
|
-
describe('generateMarkdownTableString', function () {
|
112
|
-
it('should generate a complete Markdown table string with default settings', function () {
|
113
|
-
var inputData = {
|
114
|
-
inputTableHeader: ['Name', 'Age', 'City'],
|
115
|
-
inputTableBody: [
|
116
|
-
['Alice', '30', 'New York'],
|
117
|
-
['Bob', '25', 'Los Angeles'],
|
118
|
-
],
|
119
|
-
};
|
120
|
-
var columnAlignments = ['left', 'center', 'right'];
|
121
|
-
var result = generateMarkdownTableString(inputData, columnAlignments);
|
122
|
-
var expected = "| Name | Age | City |\n| :---- | :-: | ----------: |\n| Alice | 30 | New York |\n| Bob | 25 | Los Angeles |";
|
123
|
-
expect(result).toBe(expected);
|
124
|
-
});
|
125
|
-
it('should adjust column widths based on content when adjustColumnWidths is true', function () {
|
126
|
-
var inputData = {
|
127
|
-
inputTableHeader: ['Header', 'Another Header', 'Short'],
|
128
|
-
inputTableBody: [
|
129
|
-
['Longer Content', 'Mid', 'S'],
|
130
|
-
['A', 'B', 'C'],
|
131
|
-
],
|
132
|
-
};
|
133
|
-
var columnAlignments = ['left', 'center', 'right'];
|
134
|
-
var result = generateMarkdownTableString(inputData, columnAlignments);
|
135
|
-
var expected = "| Header | Another Header | Short |\n| :------------- | :------------: | ----: |\n| Longer Content | Mid | S |\n| A | B | C |";
|
136
|
-
expect(result).toBe(expected);
|
137
|
-
});
|
138
|
-
it('should use tabs between columns when useTabs is true', function () {
|
139
|
-
var inputData = {
|
140
|
-
inputTableHeader: ['Name', 'Age', 'City'],
|
141
|
-
inputTableBody: [
|
142
|
-
['Alice', '30', 'New York'],
|
143
|
-
['Bob', '25', 'Los Angeles'],
|
144
|
-
],
|
145
|
-
};
|
146
|
-
var columnAlignments = ['left', 'center', 'right'];
|
147
|
-
var result = generateMarkdownTableString(inputData, columnAlignments, true, true, false);
|
148
|
-
var expected = "\n| Name | Age | City |\n| :---- | :-: | ----------: |\n| Alice | 30 | New York |\n| Bob | 25 | Los Angeles |\n "
|
149
|
-
.trim()
|
150
|
-
.replace(/\s+/g, ' ');
|
151
|
-
expect(result.replace(/\s+/g, ' ')).toBe(expected);
|
152
|
-
});
|
153
|
-
it('should handle tables with varying number of columns', function () {
|
154
|
-
var inputData = {
|
155
|
-
inputTableHeader: ['Name', 'Age'],
|
156
|
-
inputTableBody: [
|
157
|
-
['Alice', '30', 'Engineer'],
|
158
|
-
['Bob', '25'],
|
159
|
-
['Charlie', '35', 'Teacher', 'Extra Column'],
|
160
|
-
],
|
161
|
-
};
|
162
|
-
var columnAlignments = [
|
163
|
-
'left',
|
164
|
-
'center',
|
165
|
-
'right',
|
166
|
-
'none',
|
167
|
-
];
|
168
|
-
var result = generateMarkdownTableString(inputData, columnAlignments);
|
169
|
-
var expected = "| Name | Age | | |\n| :------ | :-: | -------: | ------------ |\n| Alice | 30 | Engineer | |\n| Bob | 25 | | |\n| Charlie | 35 | Teacher | Extra Column |";
|
170
|
-
expect(result).toBe(expected);
|
171
|
-
});
|
172
|
-
});
|
173
|
-
describe('replaceNewlinesInCell', function () {
|
174
|
-
it('replaces newline characters with <br> tags', function () {
|
175
|
-
var tableCell = 'Line1\nLine2\nLine3';
|
176
|
-
var result = replaceNewlinesInCell(tableCell);
|
177
|
-
expect(result).toBe('Line1<br>Line2<br>Line3');
|
178
|
-
});
|
179
|
-
it('returns the original string if there are no newline characters', function () {
|
180
|
-
var tableCell = 'No newlines here';
|
181
|
-
var result = replaceNewlinesInCell(tableCell);
|
182
|
-
expect(result).toBe('No newlines here');
|
183
|
-
});
|
184
|
-
it('handles empty string', function () {
|
185
|
-
var tableCell = '';
|
186
|
-
var result = replaceNewlinesInCell(tableCell);
|
187
|
-
expect(result).toBe('');
|
188
|
-
});
|
189
|
-
it('handles strings with only newline characters', function () {
|
190
|
-
var tableCell = '\n\n';
|
191
|
-
var result = replaceNewlinesInCell(tableCell);
|
192
|
-
expect(result).toBe('<br><br>');
|
193
|
-
});
|
194
|
-
});
|
195
|
-
describe('getColumnName', function () {
|
196
|
-
it('returns correct column names for single letter columns', function () {
|
197
|
-
expect(getColumnName(0)).toBe('A');
|
198
|
-
expect(getColumnName(25)).toBe('Z');
|
199
|
-
});
|
200
|
-
it('returns correct column names for double letter columns', function () {
|
201
|
-
expect(getColumnName(26)).toBe('AA');
|
202
|
-
expect(getColumnName(51)).toBe('AZ');
|
203
|
-
expect(getColumnName(701)).toBe('ZZ');
|
204
|
-
});
|
205
|
-
it('returns correct column names for triple letter columns', function () {
|
206
|
-
expect(getColumnName(702)).toBe('AAA');
|
207
|
-
expect(getColumnName(16383)).toBe('XFD'); // Excel's last column
|
208
|
-
});
|
209
|
-
it('handles large indices correctly', function () {
|
210
|
-
expect(getColumnName(1000000)).toBe('BDWGO');
|
211
|
-
expect(getColumnName(100000)).toBe('EQXE');
|
212
|
-
expect(getColumnName(1000)).toBe('ALM');
|
213
|
-
});
|
214
|
-
});
|
215
|
-
describe('generateAlphabetHeaders', function () {
|
216
|
-
it('generates correct headers for small column counts', function () {
|
217
|
-
expect(generateAlphabetHeaders(3)).toEqual(['A', 'B', 'C']);
|
218
|
-
expect(generateAlphabetHeaders(5)).toEqual(['A', 'B', 'C', 'D', 'E']);
|
219
|
-
});
|
220
|
-
it('generates correct headers for column counts exceeding 26', function () {
|
221
|
-
var result = generateAlphabetHeaders(28);
|
222
|
-
expect(result).toHaveLength(28);
|
223
|
-
expect(result.slice(0, 5)).toEqual(['A', 'B', 'C', 'D', 'E']);
|
224
|
-
expect(result.slice(-3)).toEqual(['Z', 'AA', 'AB']);
|
225
|
-
});
|
226
|
-
it('handles large column counts', function () {
|
227
|
-
var result = generateAlphabetHeaders(702);
|
228
|
-
expect(result).toHaveLength(702);
|
229
|
-
expect(result[0]).toBe('A');
|
230
|
-
expect(result[25]).toBe('Z');
|
231
|
-
expect(result[26]).toBe('AA');
|
232
|
-
expect(result[701]).toBe('ZZ');
|
233
|
-
});
|
234
|
-
it('returns an empty array for zero columns', function () {
|
235
|
-
expect(generateAlphabetHeaders(0)).toEqual([]);
|
236
|
-
});
|
237
|
-
});
|
238
|
-
//# sourceMappingURL=utils.test.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../test/utils.test.ts"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
export {};
|
@@ -1,86 +0,0 @@
|
|
1
|
-
import { MarkdownTableError, validateMarkdownTableProps, } from '../src/validation';
|
2
|
-
describe('validateMarkdownTableProps', function () {
|
3
|
-
var validData = [
|
4
|
-
['Header 1', 'Header 2', 'Header 3'],
|
5
|
-
['Row 1, Col 1', 'Row 1, Col 2', 'Row 1, Col 3'],
|
6
|
-
['Row 2, Col 1', 'Row 2, Col 2', 'Row 2, Col 3'],
|
7
|
-
];
|
8
|
-
it('validates correct props without throwing', function () {
|
9
|
-
expect(function () {
|
10
|
-
return validateMarkdownTableProps({ inputData: validData });
|
11
|
-
}).not.toThrow();
|
12
|
-
});
|
13
|
-
it('throws error for empty data', function () {
|
14
|
-
expect(function () { return validateMarkdownTableProps({ inputData: [] }); }).toThrow(MarkdownTableError);
|
15
|
-
});
|
16
|
-
it('throws error for invalid data type', function () {
|
17
|
-
expect(function () {
|
18
|
-
return validateMarkdownTableProps({
|
19
|
-
inputData: 'not an array',
|
20
|
-
});
|
21
|
-
}).toThrow(MarkdownTableError);
|
22
|
-
});
|
23
|
-
it('throws error for invalid header when hasHeader is true', function () {
|
24
|
-
var invalidData = [[], ['Row 1']];
|
25
|
-
expect(function () {
|
26
|
-
return validateMarkdownTableProps({ inputData: invalidData, hasHeader: true });
|
27
|
-
}).toThrow(MarkdownTableError);
|
28
|
-
});
|
29
|
-
it('throws error for non-string cell in header', function () {
|
30
|
-
var invalidData = [
|
31
|
-
[1, 'Header 2', 'Header 3'],
|
32
|
-
['Row 1'],
|
33
|
-
];
|
34
|
-
expect(function () {
|
35
|
-
return validateMarkdownTableProps({
|
36
|
-
inputData: invalidData,
|
37
|
-
});
|
38
|
-
}).toThrow(MarkdownTableError);
|
39
|
-
});
|
40
|
-
it('throws error for non-string cell in body', function () {
|
41
|
-
var invalidData = [
|
42
|
-
['Header 1', 'Header 2'],
|
43
|
-
['Row 1', 2],
|
44
|
-
];
|
45
|
-
expect(function () {
|
46
|
-
return validateMarkdownTableProps({
|
47
|
-
inputData: invalidData,
|
48
|
-
});
|
49
|
-
}).toThrow(MarkdownTableError);
|
50
|
-
});
|
51
|
-
it('throws error for invalid column alignment', function () {
|
52
|
-
var props = {
|
53
|
-
inputData: validData,
|
54
|
-
columnAlignments: [
|
55
|
-
'left',
|
56
|
-
'invalid',
|
57
|
-
],
|
58
|
-
};
|
59
|
-
expect(function () { return validateMarkdownTableProps(props); }).toThrow(MarkdownTableError);
|
60
|
-
});
|
61
|
-
it('throws error for invalid isCompact prop', function () {
|
62
|
-
expect(function () {
|
63
|
-
return validateMarkdownTableProps({
|
64
|
-
inputData: validData,
|
65
|
-
isCompact: 'true',
|
66
|
-
});
|
67
|
-
}).toThrow(MarkdownTableError);
|
68
|
-
});
|
69
|
-
it('throws error for invalid hasTabs prop', function () {
|
70
|
-
expect(function () {
|
71
|
-
return validateMarkdownTableProps({
|
72
|
-
inputData: validData,
|
73
|
-
hasTabs: 'true',
|
74
|
-
});
|
75
|
-
}).toThrow(MarkdownTableError);
|
76
|
-
});
|
77
|
-
it('throws error for invalid canReplaceNewlines prop', function () {
|
78
|
-
expect(function () {
|
79
|
-
return validateMarkdownTableProps({
|
80
|
-
inputData: validData,
|
81
|
-
canReplaceNewlines: 'true',
|
82
|
-
});
|
83
|
-
}).toThrow(MarkdownTableError);
|
84
|
-
});
|
85
|
-
});
|
86
|
-
//# sourceMappingURL=validation.test.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"validation.test.js","sourceRoot":"","sources":["../../test/validation.test.ts"],"names":[],"mappings":"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"}
|