react-markdown-table-ts 0.3.0 → 0.3.2

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.
@@ -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
- 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
- }
4
+ import { MarkdownTableProps } from './types';
19
5
  export declare const MarkdownTable: React.FC<MarkdownTableProps>;
package/dist/src/index.js CHANGED
@@ -1,171 +1,33 @@
1
- var __extends = (this && this.__extends) || (function () {
2
- var extendStatics = function (d, b) {
3
- extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
- return extendStatics(d, b);
7
- };
8
- return function (d, b) {
9
- if (typeof b !== "function" && b !== null)
10
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
- extendStatics(d, b);
12
- function __() { this.constructor = d; }
13
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
- };
15
- })();
16
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
17
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
18
- if (ar || !(i in from)) {
19
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
20
- ar[i] = from[i];
21
- }
22
- }
23
- return to.concat(ar || Array.prototype.slice.call(from));
24
- };
25
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // src/index.tsx
26
3
  import { useEffect, useMemo, useRef } from 'react';
27
4
  import Prism from 'prismjs';
28
5
  import 'prismjs/components/prism-markdown';
29
6
  import 'prismjs/plugins/line-numbers/prism-line-numbers';
7
+ import { MarkdownTableError } from './validation';
8
+ import { generateMarkdownTableString, generateAlphabetHeaders } from './utils';
30
9
  // CSS styles
31
- 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";
32
- var MarkdownTableError = /** @class */ (function (_super) {
33
- __extends(MarkdownTableError, _super);
34
- function MarkdownTableError(message) {
35
- var _this = _super.call(this, message) || this;
36
- _this.name = 'MarkdownTableError';
37
- return _this;
38
- }
39
- return MarkdownTableError;
40
- }(Error));
41
- function calculateColumnWidths(allRows, maxColumnCount) {
42
- var widths = new Array(maxColumnCount).fill(3);
43
- allRows.forEach(function (row) {
44
- var _a;
45
- for (var i = 0; i < maxColumnCount; i++) {
46
- var cell = (_a = row[i]) !== null && _a !== void 0 ? _a : '';
47
- widths[i] = Math.max(widths[i], cell.length);
48
- }
49
- });
50
- return widths;
51
- }
52
- function replaceNewlinesInCell(cell) {
53
- return cell.replace(/\n/g, '<br>');
54
- }
55
- function formatMarkdownRow(columnCount, row, columnAlignments, columnWidths, useTabs, replaceNewlines) {
56
- var _a, _b;
57
- if (useTabs === void 0) { useTabs = false; }
58
- if (replaceNewlines === void 0) { replaceNewlines = false; }
59
- var defaultAlignment = 'left';
60
- var adjustedAlignments = columnAlignments.length < columnCount
61
- ? __spreadArray(__spreadArray([], columnAlignments, true), Array(columnCount - columnAlignments.length).fill(defaultAlignment), true) : columnAlignments;
62
- var markdownRow = '|';
63
- for (var i = 0; i < columnCount; i++) {
64
- var cell = (_a = row[i]) !== null && _a !== void 0 ? _a : '';
65
- if (replaceNewlines) {
66
- cell = replaceNewlinesInCell(cell);
67
- }
68
- var alignment = (_b = adjustedAlignments[i]) !== null && _b !== void 0 ? _b : defaultAlignment;
69
- var targetWidth = columnWidths ? columnWidths[i] : cell.length;
70
- if (alignment === 'right') {
71
- markdownRow += "".concat(useTabs ? '\t' : ' ').concat(cell.padStart(targetWidth)).concat(useTabs ? '\t' : ' ', "|");
72
- }
73
- else if (alignment === 'center') {
74
- var totalPadding = targetWidth - cell.length;
75
- var paddingLeft = Math.floor(totalPadding / 2);
76
- var paddingRight = totalPadding - paddingLeft;
77
- markdownRow += "".concat(useTabs ? '\t' : ' ').concat(' '.repeat(paddingLeft)).concat(cell).concat(' '.repeat(paddingRight)).concat(useTabs ? '\t' : ' ', "|");
78
- }
79
- else {
80
- markdownRow += "".concat(useTabs ? '\t' : ' ').concat(cell.padEnd(targetWidth)).concat(useTabs ? '\t' : ' ', "|");
81
- }
82
- }
83
- return markdownRow;
84
- }
85
- function formatAlignmentRow(columnCount, columnAlignments, columnWidths, useTabs) {
86
- var _a;
87
- if (useTabs === void 0) { useTabs = false; }
88
- var defaultAlignment = 'left';
89
- var adjustedAlignments = columnAlignments.length < columnCount
90
- ? __spreadArray(__spreadArray([], columnAlignments, true), Array(columnCount - columnAlignments.length).fill(defaultAlignment), true) : columnAlignments;
91
- var alignmentRow = '|';
92
- for (var i = 0; i < columnCount; i++) {
93
- var alignment = (_a = adjustedAlignments[i]) !== null && _a !== void 0 ? _a : defaultAlignment;
94
- var targetWidth = columnWidths ? columnWidths[i] : 3;
95
- var alignIndicator = '';
96
- switch (alignment) {
97
- case 'left':
98
- alignIndicator = ":".concat('-'.repeat(targetWidth - 1));
99
- break;
100
- case 'center':
101
- alignIndicator = ":".concat('-'.repeat(targetWidth - 2), ":");
102
- break;
103
- case 'right':
104
- alignIndicator = "".concat('-'.repeat(targetWidth - 1), ":");
105
- break;
106
- default:
107
- alignIndicator = "".concat('-'.repeat(targetWidth));
108
- break;
109
- }
110
- alignmentRow += "".concat(useTabs ? '\t' : ' ').concat(alignIndicator).concat(useTabs ? '\t' : ' ', "|");
111
- }
112
- return alignmentRow;
113
- }
114
- function generateMarkdownTableString(tableData, columnAlignments, adjustColumnWidths, useTabs, replaceNewlines) {
115
- if (adjustColumnWidths === void 0) { adjustColumnWidths = true; }
116
- if (useTabs === void 0) { useTabs = false; }
117
- if (replaceNewlines === void 0) { replaceNewlines = false; }
118
- var headerColumnCount = tableData.header.length;
119
- var bodyColumnCounts = tableData.rows.map(function (row) { return row.length; });
120
- var maxColumnCount = Math.max.apply(Math, __spreadArray([headerColumnCount], bodyColumnCounts, false));
121
- var columnWidths = adjustColumnWidths
122
- ? calculateColumnWidths(__spreadArray([tableData.header], tableData.rows, true), maxColumnCount)
123
- : undefined;
124
- var markdownHeaderRow = formatMarkdownRow(maxColumnCount, tableData.header, columnAlignments, columnWidths, useTabs, replaceNewlines);
125
- var markdownAlignmentRow = formatAlignmentRow(maxColumnCount, columnAlignments, columnWidths, useTabs);
126
- var markdownBodyRows = tableData.rows
127
- .map(function (row) {
128
- return formatMarkdownRow(maxColumnCount, row, columnAlignments, columnWidths, useTabs, replaceNewlines);
129
- })
130
- .join('\n');
131
- return "".concat(markdownHeaderRow, "\n").concat(markdownAlignmentRow, "\n").concat(markdownBodyRows).trimEnd();
132
- }
133
- function generateAlphabetHeaders(columnCount) {
134
- var headers = [];
135
- for (var i = 0; i < columnCount; i++) {
136
- headers.push(getColumnName(i));
137
- }
138
- return headers;
139
- }
140
- function getColumnName(index) {
141
- var name = '';
142
- var currentIndex = index;
143
- while (currentIndex >= 0) {
144
- name = String.fromCharCode((currentIndex % 26) + 65) + name;
145
- currentIndex = Math.floor(currentIndex / 26) - 1;
146
- }
147
- return name;
148
- }
10
+ var PRISM_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: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";
149
11
  export var MarkdownTable = function (_a) {
150
- var _b = _a.data, data = _b === void 0 ? null : _b, _c = _a.hasHeader, hasHeader = _c === void 0 ? true : _c, _d = _a.columnAlignments, columnAlignments = _d === void 0 ? [] : _d, _e = _a.isCompact, isCompact = _e === void 0 ? false : _e, _f = _a.hasTabs, hasTabs = _f === void 0 ? false : _f, _g = _a.canReplaceNewlines, canReplaceNewlines = _g === void 0 ? false : _g, className = _a.className, onTableCreate = _a.onTableCreate;
12
+ var _b = _a.inputData, inputData = _b === void 0 ? null : _b, _c = _a.hasHeader, hasHeader = _c === void 0 ? true : _c, _d = _a.columnAlignments, columnAlignments = _d === void 0 ? [] : _d, _e = _a.isCompact, isCompact = _e === void 0 ? false : _e, _f = _a.hasTabs, hasTabs = _f === void 0 ? false : _f, _g = _a.canReplaceNewlines, canReplaceNewlines = _g === void 0 ? false : _g, className = _a.className, onTableCreate = _a.onTableCreate;
151
13
  var adjustColumnWidths = !isCompact;
152
- var preRef = useRef(null);
153
- var markdownSyntax = useMemo(function () {
154
- if (data === null) {
14
+ var preElementRef = useRef(null);
15
+ var markdownTableSyntax = useMemo(function () {
16
+ if (inputData === null) {
155
17
  return 'Error: No data provided for the table.';
156
18
  }
157
19
  try {
158
- if (!Array.isArray(data) || data.length === 0) {
20
+ if (!Array.isArray(inputData) || inputData.length === 0) {
159
21
  throw new MarkdownTableError("The 'data' prop must be a non-empty two-dimensional array.");
160
22
  }
161
23
  var tableData = hasHeader
162
24
  ? {
163
- header: data[0],
164
- rows: data.slice(1),
25
+ inputDataHeader: inputData[0],
26
+ inputDataBody: inputData.slice(1),
165
27
  }
166
28
  : {
167
- header: generateAlphabetHeaders(data[0].length),
168
- rows: data,
29
+ inputDataHeader: generateAlphabetHeaders(inputData[0].length),
30
+ inputDataBody: inputData,
169
31
  };
170
32
  return generateMarkdownTableString(tableData, columnAlignments, adjustColumnWidths, hasTabs, canReplaceNewlines);
171
33
  }
@@ -178,7 +40,7 @@ export var MarkdownTable = function (_a) {
178
40
  }
179
41
  }
180
42
  }, [
181
- data,
43
+ inputData,
182
44
  hasHeader,
183
45
  columnAlignments,
184
46
  isCompact,
@@ -187,14 +49,14 @@ export var MarkdownTable = function (_a) {
187
49
  ]);
188
50
  useEffect(function () {
189
51
  if (onTableCreate) {
190
- onTableCreate(markdownSyntax);
52
+ onTableCreate(markdownTableSyntax);
191
53
  }
192
- }, [markdownSyntax, onTableCreate]);
54
+ }, [markdownTableSyntax, onTableCreate]);
193
55
  useEffect(function () {
194
- if (preRef.current) {
195
- Prism.highlightElement(preRef.current.querySelector('code'));
56
+ if (preElementRef.current) {
57
+ Prism.highlightElement(preElementRef.current.querySelector('code'));
196
58
  }
197
- }, [markdownSyntax]);
198
- return (_jsxs(_Fragment, { children: [_jsx("style", { children: prismStyles }), _jsx("pre", { ref: preRef, className: "".concat(className, " language-markdown line-numbers"), children: _jsx("code", { className: "language-markdown", role: "code", children: markdownSyntax }) })] }));
59
+ }, [markdownTableSyntax]);
60
+ return (_jsxs(_Fragment, { children: [_jsx("style", { children: PRISM_CSS }), _jsx("pre", { ref: preElementRef, className: "".concat(className, " language-markdown line-numbers"), children: _jsx("code", { className: "language-markdown", role: "code", children: markdownTableSyntax }) })] }));
199
61
  };
200
62
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":";AAAA,gBAAgB;AAEhB,OAAc,EAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAC,MAAM,OAAO,CAAC;AACxD,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,mCAAmC,CAAC;AAC3C,OAAO,iDAAiD,CAAC;AAEzD,OAAO,EAAC,kBAAkB,EAAC,MAAM,cAAc,CAAC;AAChD,OAAO,EAAC,2BAA2B,EAAE,uBAAuB,EAAC,MAAM,SAAS,CAAC;AAC7E,aAAa;AACb,IAAM,SAAS,GAAG,koDAEjB,CAAC;AAEF,MAAM,CAAC,IAAM,aAAa,GAAiC,UAAC,EAS3D;QARC,iBAAgB,EAAhB,SAAS,mBAAG,IAAI,KAAA,EAChB,iBAAgB,EAAhB,SAAS,mBAAG,IAAI,KAAA,EAChB,wBAAqB,EAArB,gBAAgB,mBAAG,EAAE,KAAA,EACrB,iBAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACjB,eAAe,EAAf,OAAO,mBAAG,KAAK,KAAA,EACf,0BAA0B,EAA1B,kBAAkB,mBAAG,KAAK,KAAA,EAC1B,SAAS,eAAA,EACT,aAAa,mBAAA;IAEb,IAAM,kBAAkB,GAAG,CAAC,SAAS,CAAC;IACtC,IAAM,aAAa,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAEnD,IAAM,mBAAmB,GAAG,OAAO,CAAC;QAClC,IAAI,SAAS,KAAK,IAAI,EAAE;YACtB,OAAO,wCAAwC,CAAC;SACjD;QACD,IAAI;YACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvD,MAAM,IAAI,kBAAkB,CAC1B,4DAA4D,CAC7D,CAAC;aACH;YAED,IAAM,SAAS,GAAG,SAAS;gBACzB,CAAC,CAAC;oBACE,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;oBAC7B,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;iBAClC;gBACH,CAAC,CAAC;oBACE,eAAe,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC7D,aAAa,EAAE,SAAS;iBACzB,CAAC;YAEN,OAAO,2BAA2B,CAChC,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,OAAO,EACP,kBAAkB,CACnB,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,KAAK,YAAY,kBAAkB,EAAE;gBACvC,OAAO,iBAAU,KAAK,CAAC,OAAO,CAAE,CAAC;aAClC;iBAAM;gBACL,MAAM,KAAK,CAAC;aACb;SACF;IACH,CAAC,EAAE;QACD,SAAS;QACT,SAAS;QACT,gBAAgB;QAChB,SAAS;QACT,OAAO;QACP,kBAAkB;KACnB,CAAC,CAAC;IAEH,SAAS,CAAC;QACR,IAAI,aAAa,EAAE;YACjB,aAAa,CAAC,mBAAmB,CAAC,CAAC;SACpC;IACH,CAAC,EAAE,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC,CAAC;IAEzC,SAAS,CAAC;QACR,IAAI,aAAa,CAAC,OAAO,EAAE;YACzB,KAAK,CAAC,gBAAgB,CACpB,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAgB,CAC3D,CAAC;SACH;IACH,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,OAAO,CACL,8BACE,0BAAQ,SAAS,GAAS,EAC1B,cACE,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,UAAG,SAAS,oCAAiC,YAExD,eAAM,SAAS,EAAC,mBAAmB,EAAC,IAAI,EAAC,MAAM,YAC5C,mBAAmB,GACf,GACH,IACL,CACJ,CAAC;AACJ,CAAC,CAAC"}
@@ -5,15 +5,9 @@ export type TableRow = readonly string[];
5
5
  /**
6
6
  * Represents the structure of a Markdown table.
7
7
  */
8
- export interface MarkdownTableData {
9
- /**
10
- * The header row of the table.
11
- */
12
- header: string[];
13
- /**
14
- * The body rows of the table.
15
- */
16
- rows: readonly string[][];
8
+ export interface InputData {
9
+ inputDataHeader: string[];
10
+ inputDataBody: readonly string[][];
17
11
  }
18
12
  /**
19
13
  * Props for the MarkdownTable component.
@@ -24,7 +18,7 @@ export interface MarkdownTableProps {
24
18
  * If `hasHeader` is true, the first row is treated as the header.
25
19
  * @default null
26
20
  */
27
- data?: string[][] | null;
21
+ inputData?: string[][] | null;
28
22
  /**
29
23
  * Indicates whether the first row of `data` is a header.
30
24
  * @default true
@@ -58,5 +52,5 @@ export interface MarkdownTableProps {
58
52
  /**
59
53
  * Optional callback function to receive the generated Markdown table string.
60
54
  */
61
- onTableCreate?: (markdownString: string) => void;
55
+ onTableCreate?: (markdownTableString: string) => void;
62
56
  }
@@ -1,28 +1,22 @@
1
- import { TableRow, MarkdownTableData } from './types';
1
+ import { TableRow, InputData } from './types';
2
2
  /**
3
3
  * Calculates the maximum width for each column based on the content.
4
- * @param allRows - All rows (header and body) of the table.
4
+ * @param tableRows - All rows (header and body) of the table.
5
5
  * @param maxColumnCount - The maximum number of columns in the table.
6
6
  * @returns An array of maximum widths for each column.
7
7
  */
8
- export declare function calculateColumnWidths(allRows: readonly TableRow[], maxColumnCount: number): number[];
9
- /**
10
- * Replaces newline characters in a string with <br> tags.
11
- * @param cell - The cell content to process.
12
- * @returns The processed cell content with newlines replaced.
13
- */
14
- export declare function replaceNewlinesInCell(cell: string): string;
8
+ export declare function calculateColumnWidths(tableRows: readonly TableRow[], maxColumnCount: number): number[];
15
9
  /**
16
10
  * Formats a single row into a Markdown-formatted string.
17
11
  * @param columnCount - The number of columns in the table.
18
- * @param row - The data of the current row.
12
+ * @param currentRow - The data of the current row.
19
13
  * @param columnAlignments - Alignment settings for each column.
20
14
  * @param columnWidths - Widths of each column.
21
15
  * @param useTabs - Flag to use tabs between columns.
22
- * @param replaceNewlines - Flag to replace newlines with <br> tags.
16
+ * @param canReplaceNewlines - Flag to replace newlines with <br> tags.
23
17
  * @returns The Markdown string for the row.
24
18
  */
25
- export declare function formatMarkdownRow(columnCount: number, row: TableRow, columnAlignments: readonly ('left' | 'right' | 'center' | 'none')[], columnWidths?: readonly number[], useTabs?: boolean, replaceNewlines?: boolean): string;
19
+ export declare function formatMarkdownRow(columnCount: number, currentRow: TableRow, columnAlignments: readonly ('left' | 'right' | 'center' | 'none')[], columnWidths?: readonly number[], useTabs?: boolean, canReplaceNewlines?: boolean): string;
26
20
  /**
27
21
  * Generates the alignment row for the Markdown table syntax.
28
22
  * @param columnCount - The number of columns in the table.
@@ -34,11 +28,30 @@ export declare function formatMarkdownRow(columnCount: number, row: TableRow, co
34
28
  export declare function formatAlignmentRow(columnCount: number, columnAlignments: readonly ('left' | 'right' | 'center' | 'none')[], columnWidths?: readonly number[], useTabs?: boolean): string;
35
29
  /**
36
30
  * Generates a complete Markdown table string from the provided data.
37
- * @param tableData - The table data including headers and rows.
31
+ * @param inputData - The table data including headers and rows.
38
32
  * @param columnAlignments - Alignment settings for each column.
39
- * @param adjustColumnWidths - Flag to adjust column widths based on content.
33
+ * @param canAdjustColumnWidths - Flag to adjust column widths based on content.
40
34
  * @param useTabs - Flag to use tabs between columns.
41
35
  * @param replaceNewlines - Flag to replace newlines with <br> tags.
42
36
  * @returns The complete Markdown table string.
43
37
  */
44
- export declare function generateMarkdownTableString(tableData: MarkdownTableData, columnAlignments: readonly ('left' | 'right' | 'center' | 'none')[], adjustColumnWidths?: boolean, useTabs?: boolean, replaceNewlines?: boolean): string;
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/utils.js CHANGED
@@ -10,50 +10,42 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
10
10
  };
11
11
  /**
12
12
  * Calculates the maximum width for each column based on the content.
13
- * @param allRows - All rows (header and body) of the table.
13
+ * @param tableRows - All rows (header and body) of the table.
14
14
  * @param maxColumnCount - The maximum number of columns in the table.
15
15
  * @returns An array of maximum widths for each column.
16
16
  */
17
- export function calculateColumnWidths(allRows, maxColumnCount) {
17
+ export function calculateColumnWidths(tableRows, maxColumnCount) {
18
18
  var widths = new Array(maxColumnCount).fill(3); // Minimum width of 3 for each column.
19
- allRows.forEach(function (row) {
19
+ tableRows.forEach(function (currentRow) {
20
20
  var _a;
21
21
  for (var i = 0; i < maxColumnCount; i++) {
22
- var cell = (_a = row[i]) !== null && _a !== void 0 ? _a : '';
22
+ var cell = (_a = currentRow[i]) !== null && _a !== void 0 ? _a : '';
23
23
  widths[i] = Math.max(widths[i], cell.length);
24
24
  }
25
25
  });
26
26
  return widths;
27
27
  }
28
- /**
29
- * Replaces newline characters in a string with <br> tags.
30
- * @param cell - The cell content to process.
31
- * @returns The processed cell content with newlines replaced.
32
- */
33
- export function replaceNewlinesInCell(cell) {
34
- return cell.replace(/\n/g, '<br>');
35
- }
36
28
  /**
37
29
  * Formats a single row into a Markdown-formatted string.
38
30
  * @param columnCount - The number of columns in the table.
39
- * @param row - The data of the current row.
31
+ * @param currentRow - The data of the current row.
40
32
  * @param columnAlignments - Alignment settings for each column.
41
33
  * @param columnWidths - Widths of each column.
42
34
  * @param useTabs - Flag to use tabs between columns.
43
- * @param replaceNewlines - Flag to replace newlines with <br> tags.
35
+ * @param canReplaceNewlines - Flag to replace newlines with <br> tags.
44
36
  * @returns The Markdown string for the row.
45
37
  */
46
- export function formatMarkdownRow(columnCount, row, columnAlignments, columnWidths, useTabs, replaceNewlines) {
38
+ export function formatMarkdownRow(columnCount, currentRow, columnAlignments, columnWidths, useTabs, canReplaceNewlines) {
47
39
  var _a, _b;
48
40
  if (useTabs === void 0) { useTabs = false; }
49
- if (replaceNewlines === void 0) { replaceNewlines = false; }
41
+ if (canReplaceNewlines === void 0) { canReplaceNewlines = false; }
50
42
  var defaultAlignment = 'left';
51
43
  var adjustedAlignments = columnAlignments.length < columnCount
52
44
  ? __spreadArray(__spreadArray([], columnAlignments, true), Array(columnCount - columnAlignments.length).fill(defaultAlignment), true) : columnAlignments;
53
45
  var markdownRow = '|';
54
46
  for (var i = 0; i < columnCount; i++) {
55
- var cell = (_a = row[i]) !== null && _a !== void 0 ? _a : '';
56
- if (replaceNewlines) {
47
+ var cell = (_a = currentRow[i]) !== null && _a !== void 0 ? _a : '';
48
+ if (canReplaceNewlines) {
57
49
  cell = replaceNewlinesInCell(cell);
58
50
  }
59
51
  var alignment = (_b = adjustedAlignments[i]) !== null && _b !== void 0 ? _b : defaultAlignment;
@@ -113,30 +105,65 @@ export function formatAlignmentRow(columnCount, columnAlignments, columnWidths,
113
105
  }
114
106
  /**
115
107
  * Generates a complete Markdown table string from the provided data.
116
- * @param tableData - The table data including headers and rows.
108
+ * @param inputData - The table data including headers and rows.
117
109
  * @param columnAlignments - Alignment settings for each column.
118
- * @param adjustColumnWidths - Flag to adjust column widths based on content.
110
+ * @param canAdjustColumnWidths - Flag to adjust column widths based on content.
119
111
  * @param useTabs - Flag to use tabs between columns.
120
112
  * @param replaceNewlines - Flag to replace newlines with <br> tags.
121
113
  * @returns The complete Markdown table string.
122
114
  */
123
- export function generateMarkdownTableString(tableData, columnAlignments, adjustColumnWidths, useTabs, replaceNewlines) {
124
- if (adjustColumnWidths === void 0) { adjustColumnWidths = true; }
115
+ export function generateMarkdownTableString(inputData, columnAlignments, canAdjustColumnWidths, useTabs, replaceNewlines) {
116
+ if (canAdjustColumnWidths === void 0) { canAdjustColumnWidths = true; }
125
117
  if (useTabs === void 0) { useTabs = false; }
126
118
  if (replaceNewlines === void 0) { replaceNewlines = false; }
127
- var headerColumnCount = tableData.header.length;
128
- var bodyColumnCounts = tableData.rows.map(function (row) { return row.length; });
119
+ var headerColumnCount = inputData.inputDataHeader.length;
120
+ var bodyColumnCounts = inputData.inputDataBody.map(function (currentRow) { return currentRow.length; });
129
121
  var maxColumnCount = Math.max.apply(Math, __spreadArray([headerColumnCount], bodyColumnCounts, false));
130
- var columnWidths = adjustColumnWidths
131
- ? calculateColumnWidths(__spreadArray([tableData.header], tableData.rows, true), maxColumnCount)
122
+ var columnWidths = canAdjustColumnWidths
123
+ ? calculateColumnWidths(__spreadArray([inputData.inputDataHeader], inputData.inputDataBody, true), maxColumnCount)
132
124
  : undefined;
133
- var markdownHeaderRow = formatMarkdownRow(maxColumnCount, tableData.header, columnAlignments, columnWidths, useTabs, replaceNewlines);
125
+ var markdownHeaderRow = formatMarkdownRow(maxColumnCount, inputData.inputDataHeader, columnAlignments, columnWidths, useTabs, replaceNewlines);
134
126
  var markdownAlignmentRow = formatAlignmentRow(maxColumnCount, columnAlignments, columnWidths, useTabs);
135
- var markdownBodyRows = tableData.rows
136
- .map(function (row) {
137
- return formatMarkdownRow(maxColumnCount, row, columnAlignments, columnWidths, useTabs, replaceNewlines);
127
+ var markdownBodyRows = inputData.inputDataBody
128
+ .map(function (currentRow) {
129
+ return formatMarkdownRow(maxColumnCount, currentRow, columnAlignments, columnWidths, useTabs, replaceNewlines);
138
130
  })
139
131
  .join('\n');
140
132
  return "".concat(markdownHeaderRow, "\n").concat(markdownAlignmentRow, "\n").concat(markdownBodyRows).trimEnd();
141
133
  }
134
+ /**
135
+ * Replaces newline characters in a string with <br> tags.
136
+ * @param cell - The cell content to process.
137
+ * @returns The processed cell content with newlines replaced.
138
+ */
139
+ export function replaceNewlinesInCell(cell) {
140
+ return cell.replace(/\n/g, '<br>');
141
+ }
142
+ /**
143
+ * Converts a zero-based column index to its corresponding Excel-style column name.
144
+ * For example, 0 -> 'A', 1 -> 'B', ..., 25 -> 'Z', 26 -> 'AA', etc.
145
+ * @param index - The zero-based column index.
146
+ * @returns The corresponding column name.
147
+ */
148
+ export function getColumnName(index) {
149
+ var columnName = '';
150
+ var currentIndex = index;
151
+ while (currentIndex >= 0) {
152
+ columnName = String.fromCharCode((currentIndex % 26) + 65) + columnName;
153
+ currentIndex = Math.floor(currentIndex / 26) - 1;
154
+ }
155
+ return columnName;
156
+ }
157
+ /**
158
+ * Generates an array of alphabetic headers based on the specified column count.
159
+ * @param columnCount - The number of columns.
160
+ * @returns An array of column header names.
161
+ */
162
+ export function generateAlphabetHeaders(columnCount) {
163
+ var alphabetHeaders = [];
164
+ for (var i = 0; i < columnCount; i++) {
165
+ alphabetHeaders.push(getColumnName(i));
166
+ }
167
+ return alphabetHeaders;
168
+ }
142
169
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,13 @@
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.
5
- * @param props - The props to validate.
11
+ * @param markdownTableProps - The props to validate.
6
12
  */
7
- export declare function validateMarkdownTableProps(props: MarkdownTableProps): void;
13
+ export declare function validateMarkdownTableProps(markdownTableProps: MarkdownTableProps): void;
@@ -1,21 +1,49 @@
1
1
  // src/validation.ts
2
- import { MarkdownTableError } from './errors';
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 };
3
31
  /**
4
32
  * Validates the structure of the table data based on the `hasHeader` flag.
5
33
  * Throws an error if validation fails.
6
- * @param props - The props to validate.
34
+ * @param markdownTableProps - The props to validate.
7
35
  */
8
- export function validateMarkdownTableProps(props) {
9
- var data = props.data, _a = props.hasHeader, hasHeader = _a === void 0 ? true : _a, columnAlignments = props.columnAlignments, _b = props.isCompact, isCompact = _b === void 0 ? false : _b, _c = props.hasTabs, hasTabs = _c === void 0 ? false : _c, _d = props.canReplaceNewlines, canReplaceNewlines = _d === void 0 ? false : _d;
10
- if (!Array.isArray(data)) {
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)) {
11
39
  throw new MarkdownTableError("The 'data' prop must be a two-dimensional array.");
12
40
  }
13
- if (data.length === 0) {
41
+ if (inputData.length === 0) {
14
42
  throw new MarkdownTableError("The 'data' array must contain at least one row.");
15
43
  }
16
44
  // If hasHeader is true, ensure the first row exists and is valid
17
45
  if (hasHeader) {
18
- var header = data[0];
46
+ var header = inputData[0];
19
47
  if (!Array.isArray(header) || header.length === 0) {
20
48
  throw new MarkdownTableError("The first row of 'data' must be a non-empty array representing the header.");
21
49
  }
@@ -27,7 +55,7 @@ export function validateMarkdownTableProps(props) {
27
55
  });
28
56
  }
29
57
  // Validate each row
30
- data.forEach(function (row, rowIndex) {
58
+ inputData.forEach(function (row, rowIndex) {
31
59
  if (!Array.isArray(row)) {
32
60
  throw new MarkdownTableError("Row ".concat(rowIndex + 1, " in 'data' must be an array of strings."));
33
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"AAAA,oBAAoB;AAGpB,OAAO,EAAC,kBAAkB,EAAC,MAAM,UAAU,CAAC;AAE5C;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAyB;IAEhE,IAAA,IAAI,GAMF,KAAK,KANH,EACJ,KAKE,KAAK,UALS,EAAhB,SAAS,mBAAG,IAAI,KAAA,EAChB,gBAAgB,GAId,KAAK,iBAJS,EAChB,KAGE,KAAK,UAHU,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACjB,KAEE,KAAK,QAFQ,EAAf,OAAO,mBAAG,KAAK,KAAA,EACf,KACE,KAAK,mBADmB,EAA1B,kBAAkB,mBAAG,KAAK,KAAA,CAClB;IAEV,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACxB,MAAM,IAAI,kBAAkB,CAC1B,kDAAkD,CACnD,CAAC;KACH;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,MAAM,IAAI,kBAAkB,CAC1B,iDAAiD,CAClD,CAAC;KACH;IAED,iEAAiE;IACjE,IAAI,SAAS,EAAE;QACb,IAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACjD,MAAM,IAAI,kBAAkB,CAC1B,4EAA4E,CAC7E,CAAC;SACH;QAED,wCAAwC;QACxC,MAAM,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,KAAK;YACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC5B,MAAM,IAAI,kBAAkB,CAC1B,+BAAwB,KAAK,uBAAoB,CAClD,CAAC;aACH;QACH,CAAC,CAAC,CAAC;KACJ;IAED,oBAAoB;IACpB,IAAI,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,QAAQ;QACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACvB,MAAM,IAAI,kBAAkB,CAC1B,cAAO,QAAQ,GAAG,CAAC,4CAAyC,CAC7D,CAAC;SACH;QAED,GAAG,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,SAAS;YAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC5B,MAAM,IAAI,kBAAkB,CAC1B,sBAAe,QAAQ,GAAG,CAAC,sBAAY,SAAS,GAAG,CAAC,uBAAoB,CACzE,CAAC;aACH;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,wCAAwC;IACxC,IAAI,gBAAgB,EAAE;QACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;YACpC,MAAM,IAAI,kBAAkB,CAC1B,2DAA2D,CAC5D,CAAC;SACH;QAED,IAAM,iBAAe,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5D,gBAAgB,CAAC,OAAO,CAAC,UAAC,SAAS,EAAE,KAAK;YACxC,IAAI,CAAC,iBAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxC,MAAM,IAAI,kBAAkB,CAC1B,6BAAsB,SAAS,wBAAc,KAAK,2DAAwD,CAC3G,CAAC;aACH;QACH,CAAC,CAAC,CAAC;KACJ;IAED,qBAAqB;IACrB,IAAI,OAAO,SAAS,KAAK,SAAS,EAAE;QAClC,MAAM,IAAI,kBAAkB,CAAC,gCAAgC,CAAC,CAAC;KAChE;IAED,mBAAmB;IACnB,IAAI,OAAO,OAAO,KAAK,SAAS,EAAE;QAChC,MAAM,IAAI,kBAAkB,CAAC,8BAA8B,CAAC,CAAC;KAC9D;IAED,8BAA8B;IAC9B,IAAI,OAAO,kBAAkB,KAAK,SAAS,EAAE;QAC3C,MAAM,IAAI,kBAAkB,CAAC,yCAAyC,CAAC,CAAC;KACzE;AACH,CAAC"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"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"}