1 | "use strict";
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.default = void 0;
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 | const validateTableData = rows => {
|
21 | if (!Array.isArray(rows)) {
|
22 | throw new TypeError('Table data must be an array.');
|
23 | }
|
24 |
|
25 | if (rows.length === 0) {
|
26 | throw new Error('Table must define at least one row.');
|
27 | }
|
28 |
|
29 | if (rows[0].length === 0) {
|
30 | throw new Error('Table must define at least one column.');
|
31 | }
|
32 |
|
33 | const columnNumber = rows[0].length;
|
34 | var _iteratorNormalCompletion = true;
|
35 | var _didIteratorError = false;
|
36 | var _iteratorError = undefined;
|
37 |
|
38 | try {
|
39 | for (var _iterator = rows[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
40 | const cells = _step.value;
|
41 |
|
42 | if (!Array.isArray(cells)) {
|
43 | throw new TypeError('Table row data must be an array.');
|
44 | }
|
45 |
|
46 | if (cells.length !== columnNumber) {
|
47 | throw new Error('Table must have a consistent number of cells.');
|
48 | }
|
49 |
|
50 | var _iteratorNormalCompletion2 = true;
|
51 | var _didIteratorError2 = false;
|
52 | var _iteratorError2 = undefined;
|
53 |
|
54 | try {
|
55 | for (var _iterator2 = cells[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
|
56 | const cell = _step2.value;
|
57 |
|
58 |
|
59 | if (/[\u0001-\u0006\u0008-\u0009\u000B-\u001A]/.test(cell)) {
|
60 | throw new Error('Table data must not contain control characters.');
|
61 | }
|
62 | }
|
63 | } catch (err) {
|
64 | _didIteratorError2 = true;
|
65 | _iteratorError2 = err;
|
66 | } finally {
|
67 | try {
|
68 | if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
|
69 | _iterator2.return();
|
70 | }
|
71 | } finally {
|
72 | if (_didIteratorError2) {
|
73 | throw _iteratorError2;
|
74 | }
|
75 | }
|
76 | }
|
77 | }
|
78 | } catch (err) {
|
79 | _didIteratorError = true;
|
80 | _iteratorError = err;
|
81 | } finally {
|
82 | try {
|
83 | if (!_iteratorNormalCompletion && _iterator.return != null) {
|
84 | _iterator.return();
|
85 | }
|
86 | } finally {
|
87 | if (_didIteratorError) {
|
88 | throw _iteratorError;
|
89 | }
|
90 | }
|
91 | }
|
92 | };
|
93 |
|
94 | var _default = validateTableData;
|
95 | exports.default = _default;
|
96 |
|
\ | No newline at end of file |