react-markdown-table-ts 0.3.1 → 0.3.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 +140 -82
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +140 -82
- package/dist/index.esm.js.map +1 -1
- package/dist/src/index.d.ts +1 -15
- package/dist/src/types.d.ts +0 -6
- package/dist/src/utils.d.ts +19 -9
- package/dist/src/validation.d.ts +6 -0
- package/package.json +1 -1
- package/dist/errors.d.ts +0 -6
- package/dist/errors.js +0 -31
- package/dist/errors.js.map +0 -1
- package/dist/helpers.d.ts +0 -34
- package/dist/helpers.js +0 -93
- package/dist/helpers.js.map +0 -1
- package/dist/index.d.ts +0 -19
- package/dist/src/errors.d.ts +0 -6
- package/dist/src/errors.js +0 -31
- package/dist/src/errors.js.map +0 -1
- package/dist/src/helpers.d.ts +0 -34
- package/dist/src/helpers.js +0 -93
- package/dist/src/helpers.js.map +0 -1
- package/dist/src/index.js +0 -201
- package/dist/src/index.js.map +0 -1
- package/dist/src/types.js +0 -3
- package/dist/src/types.js.map +0 -1
- package/dist/src/utils.js +0 -142
- package/dist/src/utils.js.map +0 -1
- package/dist/src/validation.js +0 -65
- package/dist/src/validation.js.map +0 -1
- package/dist/test/MarkdownTable.test.js +0 -91
- package/dist/test/MarkdownTable.test.js.map +0 -1
- package/dist/test/helpers.test.d.ts +0 -1
- package/dist/test/helpers.test.js +0 -99
- package/dist/test/helpers.test.js.map +0 -1
- package/dist/test/jest.setup.js +0 -3
- package/dist/test/jest.setup.js.map +0 -1
- package/dist/test/utils.test.js +0 -191
- package/dist/test/utils.test.js.map +0 -1
- package/dist/test/validation.test.js +0 -87
- package/dist/test/validation.test.js.map +0 -1
- package/dist/types.d.ts +0 -62
- package/dist/types.js +0 -3
- package/dist/types.js.map +0 -1
- package/dist/utils.d.ts +0 -44
- package/dist/utils.js +0 -142
- package/dist/utils.js.map +0 -1
- package/dist/validation.d.ts +0 -7
- package/dist/validation.js +0 -65
- package/dist/validation.js.map +0 -1
package/dist/src/index.d.ts
CHANGED
@@ -1,19 +1,5 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import 'prismjs/components/prism-markdown';
|
3
3
|
import 'prismjs/plugins/line-numbers/prism-line-numbers';
|
4
|
-
|
5
|
-
export interface MarkdownTableData {
|
6
|
-
header: string[];
|
7
|
-
rows: readonly string[][];
|
8
|
-
}
|
9
|
-
export interface MarkdownTableProps {
|
10
|
-
inputData?: string[][] | null;
|
11
|
-
hasHeader?: boolean;
|
12
|
-
columnAlignments?: readonly ('left' | 'center' | 'right' | 'none')[];
|
13
|
-
isCompact?: boolean;
|
14
|
-
hasTabs?: boolean;
|
15
|
-
className?: string;
|
16
|
-
canReplaceNewlines?: boolean;
|
17
|
-
onTableCreate?: (markdownString: string) => void;
|
18
|
-
}
|
4
|
+
import { MarkdownTableProps } from './types';
|
19
5
|
export declare const MarkdownTable: React.FC<MarkdownTableProps>;
|
package/dist/src/types.d.ts
CHANGED
@@ -6,13 +6,7 @@ export type TableRow = readonly string[];
|
|
6
6
|
* Represents the structure of a Markdown table.
|
7
7
|
*/
|
8
8
|
export interface InputData {
|
9
|
-
/**
|
10
|
-
* The header row of the table.
|
11
|
-
*/
|
12
9
|
inputDataHeader: string[];
|
13
|
-
/**
|
14
|
-
* The body rows of the table.
|
15
|
-
*/
|
16
10
|
inputDataBody: readonly string[][];
|
17
11
|
}
|
18
12
|
/**
|
package/dist/src/utils.d.ts
CHANGED
@@ -1,13 +1,4 @@
|
|
1
|
-
/**
|
2
|
-
* @fileoverview Contains helper functions for formatting Markdown table syntax, calculating column widths, and generating Markdown tables.
|
3
|
-
*/
|
4
1
|
import { TableRow, InputData } from './types';
|
5
|
-
/**
|
6
|
-
* Replaces newline characters in a string with <br> tags.
|
7
|
-
* @param cell - The cell content to process.
|
8
|
-
* @returns The processed cell content with newlines replaced.
|
9
|
-
*/
|
10
|
-
export declare function replaceNewlinesInCell(cell: string): string;
|
11
2
|
/**
|
12
3
|
* Calculates the maximum width for each column based on the content.
|
13
4
|
* @param tableRows - All rows (header and body) of the table.
|
@@ -45,3 +36,22 @@ export declare function formatAlignmentRow(columnCount: number, columnAlignments
|
|
45
36
|
* @returns The complete Markdown table string.
|
46
37
|
*/
|
47
38
|
export declare function generateMarkdownTableString(inputData: InputData, columnAlignments: readonly ('left' | 'right' | 'center' | 'none')[], canAdjustColumnWidths?: boolean, useTabs?: boolean, replaceNewlines?: boolean): string;
|
39
|
+
/**
|
40
|
+
* Replaces newline characters in a string with <br> tags.
|
41
|
+
* @param cell - The cell content to process.
|
42
|
+
* @returns The processed cell content with newlines replaced.
|
43
|
+
*/
|
44
|
+
export declare function replaceNewlinesInCell(cell: string): string;
|
45
|
+
/**
|
46
|
+
* Converts a zero-based column index to its corresponding Excel-style column name.
|
47
|
+
* For example, 0 -> 'A', 1 -> 'B', ..., 25 -> 'Z', 26 -> 'AA', etc.
|
48
|
+
* @param index - The zero-based column index.
|
49
|
+
* @returns The corresponding column name.
|
50
|
+
*/
|
51
|
+
export declare function getColumnName(index: number): string;
|
52
|
+
/**
|
53
|
+
* Generates an array of alphabetic headers based on the specified column count.
|
54
|
+
* @param columnCount - The number of columns.
|
55
|
+
* @returns An array of column header names.
|
56
|
+
*/
|
57
|
+
export declare function generateAlphabetHeaders(columnCount: number): string[];
|
package/dist/src/validation.d.ts
CHANGED
@@ -1,4 +1,10 @@
|
|
1
1
|
import { MarkdownTableProps } from './types';
|
2
|
+
/**
|
3
|
+
* Custom error class for handling Markdown table generation errors.
|
4
|
+
*/
|
5
|
+
export declare class MarkdownTableError extends Error {
|
6
|
+
constructor(message: string);
|
7
|
+
}
|
2
8
|
/**
|
3
9
|
* Validates the structure of the table data based on the `hasHeader` flag.
|
4
10
|
* Throws an error if validation fails.
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "react-markdown-table-ts",
|
3
|
-
"version": "0.3.
|
3
|
+
"version": "0.3.4",
|
4
4
|
"description": "A React component that converts structured data into Markdown table syntax and displays it within a `<pre>` tag.",
|
5
5
|
"main": "dist/index.cjs.js",
|
6
6
|
"module": "dist/index.esm.js",
|
package/dist/errors.d.ts
DELETED
package/dist/errors.js
DELETED
@@ -1,31 +0,0 @@
|
|
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
|
package/dist/errors.js.map
DELETED
@@ -1 +0,0 @@
|
|
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.d.ts
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* @fileoverview Contains helper functions for formatting Markdown table syntax and calculating column widths.
|
3
|
-
*/
|
4
|
-
import { TableRow } from './types';
|
5
|
-
/**
|
6
|
-
* Calculates the maximum width for each column based on the content.
|
7
|
-
* @param params - The parameters for column width calculation.
|
8
|
-
* @returns An array of maximum widths for each column.
|
9
|
-
*/
|
10
|
-
export declare function calculateColumnWidths({ allRows, maxColumnCount, }: {
|
11
|
-
allRows: readonly TableRow[];
|
12
|
-
maxColumnCount: number;
|
13
|
-
}): number[];
|
14
|
-
/**
|
15
|
-
* Formats a single row into a Markdown-formatted string.
|
16
|
-
* @param params - The parameters for row formatting.
|
17
|
-
* @returns The Markdown string for the row.
|
18
|
-
*/
|
19
|
-
export declare function formatMarkdownRow({ columnCount, row, columnAlignments, columnWidths, }: {
|
20
|
-
columnCount: number;
|
21
|
-
row: TableRow;
|
22
|
-
columnAlignments?: readonly ('left' | 'right' | 'center' | 'none')[];
|
23
|
-
columnWidths?: readonly number[];
|
24
|
-
}): string;
|
25
|
-
/**
|
26
|
-
* Generates the alignment row for the Markdown table syntax.
|
27
|
-
* @param params - The parameters for alignment row generation.
|
28
|
-
* @returns The Markdown string for the alignment row.
|
29
|
-
*/
|
30
|
-
export declare function formatAlignmentRow({ columnCount, columnAlignments, columnWidths, }: {
|
31
|
-
columnCount: number;
|
32
|
-
columnAlignments?: readonly ('left' | 'right' | 'center' | 'none')[];
|
33
|
-
columnWidths?: readonly number[];
|
34
|
-
}): string;
|
package/dist/helpers.js
DELETED
@@ -1,93 +0,0 @@
|
|
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
|
package/dist/helpers.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
import 'prismjs/components/prism-markdown';
|
3
|
-
import 'prismjs/plugins/line-numbers/prism-line-numbers';
|
4
|
-
export type TableRow = Array<string>;
|
5
|
-
export interface MarkdownTableData {
|
6
|
-
header: string[];
|
7
|
-
rows: readonly string[][];
|
8
|
-
}
|
9
|
-
export interface MarkdownTableProps {
|
10
|
-
data?: string[][] | null;
|
11
|
-
hasHeader?: boolean;
|
12
|
-
columnAlignments?: readonly ('left' | 'center' | 'right' | 'none')[];
|
13
|
-
isCompact?: boolean;
|
14
|
-
hasTabs?: boolean;
|
15
|
-
className?: string;
|
16
|
-
canReplaceNewlines?: boolean;
|
17
|
-
onTableCreate?: (markdownString: string) => void;
|
18
|
-
}
|
19
|
-
export declare const MarkdownTable: React.FC<MarkdownTableProps>;
|
package/dist/src/errors.d.ts
DELETED
package/dist/src/errors.js
DELETED
@@ -1,31 +0,0 @@
|
|
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
|
package/dist/src/errors.js.map
DELETED
@@ -1 +0,0 @@
|
|
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/src/helpers.d.ts
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* @fileoverview Contains helper functions for formatting Markdown table syntax and calculating column widths.
|
3
|
-
*/
|
4
|
-
import { TableRow } from './types';
|
5
|
-
/**
|
6
|
-
* Calculates the maximum width for each column based on the content.
|
7
|
-
* @param params - The parameters for column width calculation.
|
8
|
-
* @returns An array of maximum widths for each column.
|
9
|
-
*/
|
10
|
-
export declare function calculateColumnWidths({ allRows, maxColumnCount, }: {
|
11
|
-
allRows: readonly TableRow[];
|
12
|
-
maxColumnCount: number;
|
13
|
-
}): number[];
|
14
|
-
/**
|
15
|
-
* Formats a single row into a Markdown-formatted string.
|
16
|
-
* @param params - The parameters for row formatting.
|
17
|
-
* @returns The Markdown string for the row.
|
18
|
-
*/
|
19
|
-
export declare function formatMarkdownRow({ columnCount, row, columnAlignments, columnWidths, }: {
|
20
|
-
columnCount: number;
|
21
|
-
row: TableRow;
|
22
|
-
columnAlignments?: readonly ('left' | 'right' | 'center' | 'none')[];
|
23
|
-
columnWidths?: readonly number[];
|
24
|
-
}): string;
|
25
|
-
/**
|
26
|
-
* Generates the alignment row for the Markdown table syntax.
|
27
|
-
* @param params - The parameters for alignment row generation.
|
28
|
-
* @returns The Markdown string for the alignment row.
|
29
|
-
*/
|
30
|
-
export declare function formatAlignmentRow({ columnCount, columnAlignments, columnWidths, }: {
|
31
|
-
columnCount: number;
|
32
|
-
columnAlignments?: readonly ('left' | 'right' | 'center' | 'none')[];
|
33
|
-
columnWidths?: readonly number[];
|
34
|
-
}): string;
|
package/dist/src/helpers.js
DELETED
@@ -1,93 +0,0 @@
|
|
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
|
package/dist/src/helpers.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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"}
|