'use strict'; /*! * @license * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ Object.defineProperty(exports, '__esModule', { value: true }); exports.MDNav = void 0; var MDNav = /** @class */ (function () { function MDNav(root, pos) { if (pos === void 0) { pos = 0; } this.root = root; this.pos = pos; } MDNav.prototype.find = function (test, index) { if (test === void 0) { test = function () { return true; }; } if (index === void 0) { index = 0; } if (!this.root || !this.root.children) { return new MDNav(null); } var currIndex = 0; for (var i = this.pos; i < this.root.children.length; i++) { var child = this.root.children[i]; if (test(child)) { if (currIndex === index) { return new MDNav(this.root, i); } else { currIndex++; } } } return new MDNav(this.root, this.root.children.length); }; MDNav.prototype.findAll = function (test, index) { if (test === void 0) { test = function () { return true; }; } if (index === void 0) { index = 0; } if (!this.root || !this.root.children) { return []; } var result = []; var currIndex = 0; for (var i = this.pos; i < this.root.children.length; i++) { var child = this.root.children[i]; if (test(child)) { if (currIndex === index) { result.push(new MDNav(this.root, i)); } else { currIndex++; } } } return result; }; MDNav.prototype.emph = function (test, index) { if (test === void 0) { test = function () { return true; }; } if (index === void 0) { index = 0; } return this.find(function (h) { return h.type === 'emphasis' && test(h); }, index); }; MDNav.prototype.heading = function (test, index) { if (test === void 0) { test = function () { return true; }; } if (index === void 0) { index = 0; } return this.find(function (h) { return h.type === 'heading' && test(h); }, index); }; MDNav.prototype.headings = function (test, index) { if (test === void 0) { test = function () { return true; }; } if (index === void 0) { index = 0; } return this.findAll(function (h) { return h.type === 'heading' && test(h); }, index); }; MDNav.prototype.html = function (test, index) { if (test === void 0) { test = function () { return true; }; } if (index === void 0) { index = 0; } return this.find(function (h) { return h.type === 'html' && test(h); }, index); }; MDNav.prototype.link = function (test, index) { if (test === void 0) { test = function () { return true; }; } if (index === void 0) { index = 0; } return this.find(function (h) { return h.type === 'link' && test(h); }, index); }; MDNav.prototype.links = function (test, index) { if (test === void 0) { test = function () { return true; }; } if (index === void 0) { index = 0; } return this.findAll(function (h) { return h.type === 'link' && test(h); }, index); }; MDNav.prototype.list = function (test, index) { if (test === void 0) { test = function () { return true; }; } if (index === void 0) { index = 0; } return this.find(function (h) { return h.type === 'list' && test(h); }, index); }; MDNav.prototype.listItem = function (test, index) { if (test === void 0) { test = function () { return true; }; } if (index === void 0) { index = 0; } return this.find(function (h) { return h.type === 'listItem' && test(h); }, index); }; MDNav.prototype.listItems = function (test, index) { if (test === void 0) { test = function () { return true; }; } if (index === void 0) { index = 0; } return this.findAll(function (h) { return h.type === 'listItem' && test(h); }, index); }; MDNav.prototype.paragraph = function (test, index) { if (test === void 0) { test = function () { return true; }; } if (index === void 0) { index = 0; } return this.find(function (h) { return h.type === 'paragraph' && test(h); }, index); }; MDNav.prototype.strong = function (test, index) { if (test === void 0) { test = function () { return true; }; } if (index === void 0) { index = 0; } return this.find(function (h) { return h.type === 'strong' && test(h); }, index); }; MDNav.prototype.table = function (test, index) { if (test === void 0) { test = function () { return true; }; } if (index === void 0) { index = 0; } return this.find(function (h) { return h.type === 'table' && test(h); }, index); }; MDNav.prototype.tableRow = function (test, index) { if (test === void 0) { test = function () { return true; }; } if (index === void 0) { index = 0; } return this.find(function (h) { return h.type === 'tableRow' && test(h); }, index); }; MDNav.prototype.tableCell = function (test, index) { if (test === void 0) { test = function () { return true; }; } if (index === void 0) { index = 0; } return this.find(function (h) { return h.type === 'tableCell' && test(h); }, index); }; MDNav.prototype.text = function (test, index) { if (test === void 0) { test = function () { return true; }; } if (index === void 0) { index = 0; } return this.find(function (h) { return h.type === 'text' && test(h); }, index); }; Object.defineProperty(MDNav.prototype, 'item', { get: function () { if (!this.root || !this.root.children) { return undefined; } else { return this.root.children[this.pos]; } }, enumerable: false, configurable: true }); Object.defineProperty(MDNav.prototype, 'empty', { get: function () { return !this.root || !this.root.children || this.pos >= this.root.children.length; }, enumerable: false, configurable: true }); Object.defineProperty(MDNav.prototype, 'childNav', { get: function () { return new MDNav(this.item); }, enumerable: false, configurable: true }); Object.defineProperty(MDNav.prototype, 'value', { get: function () { if (this.item && this.item['value']) { return this.item.value; } else { return ''; } }, enumerable: false, configurable: true }); Object.defineProperty(MDNav.prototype, 'textValue', { get: function () { if (this.item) { if (this.item['value']) { return this.item.value; } else if (this.item.children && this.item.children.length > 0 && this.item.children[0].type === 'text') { return this.item.children[0].value; } else { return ''; } } else { return ''; } }, enumerable: false, configurable: true }); return MDNav; })(); exports.MDNav = MDNav;