UNPKG

@codedoc/core

Version:

Create beautiful modern documentation websites.

64 lines 2.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.linkedLines = exports.lineLink = void 0; function lineLink(line$) { var _a, _b; if (line$.getAttribute('id')) { if (line$.classList.contains('selected')) { var ranges_1 = []; var current_1 = undefined; (_a = line$.parentElement) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.-codedoc-code-line').forEach(function (line$, index) { if (line$.classList.contains('selected')) { if (!current_1) { current_1 = [index, index]; } else { current_1[1] = index; } } else { if (current_1) { ranges_1.push(current_1); current_1 = undefined; } } }); if (current_1) { ranges_1.push(current_1); current_1 = undefined; } return window.location.toString().split('#')[0] + '#' + ((_b = line$.getAttribute('id')) === null || _b === void 0 ? void 0 : _b.split('-')[0]) + '-' + ranges_1.map(function (range) { return range[0] === range[1] ? "l" + (range[0] + 1) : "l" + (range[0] + 1) + ":l" + (range[1] + 1); }).join('-'); } else return window.location.toString().split('#')[0] + '#' + line$.getAttribute('id'); } } exports.lineLink = lineLink; function linkedLines() { var segment = window.location.toString().split('#')[1]; if (segment && segment.startsWith('code')) { var parts_1 = segment.split('-'); var lines_1 = []; parts_1.slice(1).forEach(function (part) { var range = part.split(':').map(function (tag) { return parseInt(tag.substr(1)); }); if (range.length === 2) { for (var i = range[0]; i <= range[1]; i++) { var candidate = document.querySelector("#" + parts_1[0] + "-l" + i); if (candidate) lines_1.push(candidate); } } else { var candidate = document.querySelector("#" + parts_1[0] + "-l" + range[0]); if (candidate) lines_1.push(candidate); } }); return lines_1; } return []; } exports.linkedLines = linkedLines; //# sourceMappingURL=line-link.js.map