"use strict"; 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;