{"version":3,"sources":["jsdelivr-header.js","/npm/extract-data-from-html-table@1.0.5/lib/cjs/index.js"],"names":[],"mappings":"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","file":"/npm/extract-data-from-html-table@1.0.5/lib/cjs/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/extract-data-from-html-table@1.0.5/lib/cjs/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n        if (ar || !(i in from)) {\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n            ar[i] = from[i];\n        }\n    }\n    return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fillMatrixGap = exports.normalizedArray = exports.extractArrayFromTable = void 0;\nfunction extractArrayFromTable(htmlStr) {\n    if (htmlStr.length < 10)\n        return [];\n    if (htmlStr.toLowerCase().indexOf(\"<table\") <= 0)\n        return [];\n    var div = document.createElement(\"div\");\n    div.innerHTML = htmlStr;\n    console.log(\"div\", div.children.length);\n    if (div.children.length <= 0) {\n        return [];\n    }\n    // return _getArrayFromTable(div.children[0], []);\n    var table = div.querySelector(\"table\");\n    if (!table)\n        return [];\n    var rawArray = _getArrayFromTable(table, []);\n    return rawArray.length > 0 ? normalizedArray(rawArray) : rawArray;\n}\nexports.extractArrayFromTable = extractArrayFromTable;\nfunction _getArrayFromTable(dom, _array) {\n    var row = [];\n    for (var i = 0; i < dom.children.length; i++) {\n        var child = dom.children[i];\n        if ([\"th\", \"td\"].indexOf(child.tagName.toLowerCase()) >= 0) {\n            row.push({\n                value: child.textContent,\n                rowspan: parseInt(child.getAttribute(\"rowspan\") || \"1\"),\n                colspan: parseInt(child.getAttribute(\"colspan\") || \"1\"),\n            });\n        }\n        else if (child.children.length > 0) {\n            _getArrayFromTable(child, _array);\n        }\n    }\n    _array.push(row);\n    return _array.filter(function (it) { return it.length > 0; });\n}\nfunction normalizedArray(rawMatrix) {\n    var _a;\n    // 以第一行的列数为准，超出则裁剪\n    var colLen = rawMatrix[0].reduce(function (acc, cell) { var _a; return acc + ((_a = cell.colspan) !== null && _a !== void 0 ? _a : 1); }, 0);\n    // 补全rawArray长度，因rowSpan的存在\n    var _rawMatrix = fillMatrixGap(rawMatrix, colLen);\n    // 原理： 先构造一个新二维数组，全填0\n    // 此数组长度可能不正确， 因为rawArray可能缺少整行(rowspan)\n    var newArray = [];\n    for (var i = 0; i < _rawMatrix.length; i++) {\n        var row = [];\n        for (var j = 0; j < colLen; j++) {\n            row.push(undefined);\n        }\n        newArray.push(row);\n    }\n    // 因为数组长度相等了，所以接下来就好填写了\n    for (var i = 0, rowLen = _rawMatrix.length; i < rowLen; i++) {\n        var row = _rawMatrix[i];\n        for (var j = 0; j < Math.min(colLen, (_a = row === null || row === void 0 ? void 0 : row.length) !== null && _a !== void 0 ? _a : 0); j++) {\n            if (row[j] !== undefined) {\n                var _b = row[j], value = _b.value, _c = _b.rowspan, rowspan = _c === void 0 ? 1 : _c, _d = _b.colspan, colspan = _d === void 0 ? 1 : _d;\n                var __j = newArray[i].findIndex(function (it) { return it === undefined; });\n                for (var rowIndex = i; rowIndex < i + rowspan; rowIndex++) {\n                    var _j = newArray[rowIndex].findIndex(function (it) { return it === undefined; });\n                    for (var colIndex = _j; colIndex < _j + colspan; colIndex++) {\n                        newArray[rowIndex][colIndex] = null;\n                    }\n                }\n                newArray[i][__j] = row[j];\n            }\n        }\n    }\n    return newArray;\n}\nexports.normalizedArray = normalizedArray;\nfunction fillMatrixGap(rawMatrix, colLen) {\n    var _a;\n    var newMatrix = [];\n    for (var i = rawMatrix.length - 1; i >= 0; i--) {\n        if (rawMatrix[i][0] &&\n            rawMatrix[i][0].colspan >= colLen &&\n            ((_a = rawMatrix[i][0].rowspan) !== null && _a !== void 0 ? _a : 1) > 1) {\n            // 行内第1个单元格，如果colspan跨所有列，并且存在rowspan，则插入空行\n            newMatrix = __spreadArray(__spreadArray([\n                rawMatrix[i]\n            ], new Array(rawMatrix[i][0].rowspan - 1).fill([]), true), newMatrix, true);\n        }\n        else {\n            newMatrix = __spreadArray([rawMatrix[i]], newMatrix, true);\n        }\n    }\n    return newMatrix;\n}\nexports.fillMatrixGap = fillMatrixGap;\n"]}