highmark-markdown 1.2.154 → 1.2.155
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/node/html.js +1 -26
- package/package.json +1 -1
- package/src/node/html.js +0 -38
package/lib/node/html.js
CHANGED
|
@@ -88,35 +88,10 @@ class HTMLNode extends _occamdom.Node {
|
|
|
88
88
|
}
|
|
89
89
|
return htmlNode;
|
|
90
90
|
}
|
|
91
|
-
removeChildHTMLNodes(removedChildHTMLNodes = null) {
|
|
92
|
-
let childHTMLNodes;
|
|
93
|
-
childHTMLNodes = this.getChildHTMLNodes();
|
|
94
|
-
if (removedChildHTMLNodes !== null) {
|
|
95
|
-
childHTMLNodes = childHTMLNodes.filter((childHTMLNode)=>{
|
|
96
|
-
const markdownNode = childHTMLNode.getMarkdownNode(), index = removedChildHTMLNodes.findIndex((removedChildHTMLNode)=>{
|
|
97
|
-
const markdownNodeMatches = removedChildHTMLNode.matchMarkdownNode(markdownNode);
|
|
98
|
-
if (markdownNodeMatches) {
|
|
99
|
-
return true;
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
if (index !== -1) {
|
|
103
|
-
return true;
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
let removedChildNodes = childHTMLNodes; ///
|
|
108
|
-
removedChildNodes = this.removeChildNodes(removedChildNodes);
|
|
109
|
-
removedChildHTMLNodes = removedChildNodes; ///
|
|
110
|
-
return removedChildHTMLNodes;
|
|
111
|
-
}
|
|
112
91
|
matchMarkdownNode(markdownNode) {
|
|
113
92
|
const outerNode = markdownNode, outerNodeMatches = this.matchOuterNode(outerNode), markdownNodeMatches = outerNodeMatches; ///
|
|
114
93
|
return markdownNodeMatches;
|
|
115
94
|
}
|
|
116
|
-
addChildHTMLNodes(addedChildHTMLNodes, startHTNLIndex) {
|
|
117
|
-
const addedChildNodes = addedChildHTMLNodes, startIndex = startHTNLIndex; ///
|
|
118
|
-
this.addChildNodes(addedChildNodes, startIndex);
|
|
119
|
-
}
|
|
120
95
|
adjustIndent(indent) {
|
|
121
96
|
if (indent !== null) {
|
|
122
97
|
indent = `${_constants.DOUBLE_SPACE}${indent}`;
|
|
@@ -279,4 +254,4 @@ ${childNodePlainText}`;
|
|
|
279
254
|
Object.assign(HTMLNode.prototype, _node.default);
|
|
280
255
|
const _default = HTMLNode;
|
|
281
256
|
|
|
282
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL2h0bWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IE5vZGUgfSBmcm9tIFwib2NjYW0tZG9tXCI7XG5cbmltcG9ydCBub2RlTWl4aW5zIGZyb20gXCIuLi9taXhpbnMvbm9kZVwiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcsIERPVUJMRV9TUEFDRSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IHJlbW92ZSwgaW5zZXJ0QWZ0ZXIsIGluc2VydEJlZm9yZWhhbmQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2RvbVwiO1xuXG5jbGFzcyBIVE1MTm9kZSBleHRlbmRzIE5vZGUge1xuICBjb25zdHJ1Y3RvcihvdXRlck5vZGUsIHBhcmVudE5vZGUsIGNoaWxkTm9kZXMsIGRvbUVsZW1lbnQpIHtcbiAgICBzdXBlcihvdXRlck5vZGUsIHBhcmVudE5vZGUsIGNoaWxkTm9kZXMpO1xuXG4gICAgdGhpcy5kb21FbGVtZW50ID0gZG9tRWxlbWVudDtcbiAgfVxuXG4gIGdldERPTUVsZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZG9tRWxlbWVudDtcbiAgfVxuXG4gIHNldERPTUVsZW1lbnQoZG9tRWxlbWVudCkge1xuICAgIHRoaXMuZG9tRWxlbWVudCA9IGRvbUVsZW1lbnQ7XG4gIH1cblxuICByZXNldERPTUVsZW1lbnQoKSB7XG4gICAgdGhpcy5kb21FbGVtZW50ID0gbnVsbDtcbiAgfVxuXG4gIGdldFJ1bGVOYW1lKCkge1xuICAgIGNvbnN0IG1hcmtkb3duTm9kZSA9IHRoaXMuZ2V0TWFya2Rvd25Ob2RlKCksXG4gICAgICAgICAgcnVsZU5hbWUgPSBtYXJrZG93bk5vZGUuZ2V0UnVsZU5hbWUoKTtcblxuICAgIHJldHVybiBydWxlTmFtZTtcbiAgfVxuXG4gIGlzVGVybWluYWxOb2RlKCkge1xuICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIHRlcm1pbmFsTm9kZTtcbiAgfVxuXG4gIGlzTm9uVGVybWluYWxOb2RlKCkge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IHRydWU7XG5cbiAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlO1xuICB9XG5cbiAgZ2V0TWFya2Rvd25Ob2RlKCkge1xuICAgIGNvbnN0IG91dGVyTm9kZSA9IHRoaXMuZ2V0T3V0ZXJOb2RlKCksXG4gICAgICAgICAgbWFya2Rvd25Ob2RlID0gb3V0ZXJOb2RlOyAvLy9cblxuICAgIHJldHVybiBtYXJrZG93bk5vZGU7XG4gIH1cblxuICBnZXRQYXJlbnRIVE1MTm9kZSgpIHtcbiAgICBjb25zdCBwYXJlbnROb2RlID0gdGhpcy5nZXRQYXJlbnROb2RlKCksXG4gICAgICAgICAgcGFyZW50SFRNTE5vZGUgPSBwYXJlbnROb2RlOyAgLy8vXG5cbiAgICByZXR1cm4gcGFyZW50SFRNTE5vZGU7XG4gIH1cblxuICBnZXRDaGlsZEhUTUxOb2RlcygpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gdGhpcy5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgY2hpbGRIVE1MTm9kZXMgPSBjaGlsZE5vZGVzOyAgLy8vXG5cbiAgICByZXR1cm4gY2hpbGRIVE1MTm9kZXM7XG4gIH1cblxuICBnZXRBbmNlc3RvckhUTUxOb2RlcygpIHtcbiAgICBjb25zdCBhbmNlc3Rvck5vZGVzID0gdGhpcy5nZXRBbmNlc3Rvck5vZGVzKCksXG4gICAgICAgICAgYW5jZXN0b3JIVE1MTm9kZXMgPSBhbmNlc3Rvck5vZGVzOyAgLy8vXG5cbiAgICByZXR1cm4gYW5jZXN0b3JIVE1MTm9kZXM7XG4gIH1cblxuICByZWR1Y2VDaGlsZEhUTUxOb2RlKGNhbGxiYWNrLCBpbml0aWFsVmFsdWUpIHsgcmV0dXJuIHRoaXMucmVkdWNlQ2hpbGROb2RlKGNhbGxiYWNrLCBpbml0aWFsVmFsdWUpOyB9XG5cbiAgc29tZUFuY2VzdG9ySFRNTE5vZGUoY2FsbGJhY2spIHsgcmV0dXJuIHRoaXMuc29tZUFuY2VzdG9yTm9kZShjYWxsYmFjayk7IH1cblxuICBzb21lQ2hpbGRIVE1MTm9kZShjYWxsYmFjaykgeyByZXR1cm4gdGhpcy5zb21lQ2hpbGROb2RlKGNhbGxiYWNrKTsgfVxuXG4gIHJldHJpZXZlSFRNTE5vZGUoY2FsbGJhY2spIHtcbiAgICBsZXQgaHRtbE5vZGUgPSBudWxsO1xuXG4gICAgaWYgKGh0bWxOb2RlID09PSBudWxsKSB7XG4gICAgICBjb25zdCBjaGlsZEhUTUxOb2RlcyA9IHRoaXMuZ2V0Q2hpbGRIVE1MTm9kZXMoKTtcblxuICAgICAgY2hpbGRIVE1MTm9kZXMuc29tZSgoY2hpbGRIVE1MTm9kZSkgPT4ge1xuICAgICAgICBodG1sTm9kZSA9IGNoaWxkSFRNTE5vZGUucmV0cmlldmVIVE1MTm9kZShjYWxsYmFjayk7XG5cbiAgICAgICAgaWYgKGh0bWxOb2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChodG1sTm9kZSA9PT0gbnVsbCkge1xuICAgICAgaHRtbE5vZGUgPSB0aGlzO1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBjYWxsYmFjayhodG1sTm9kZSk7XG5cbiAgICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgIGh0bWxOb2RlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gaHRtbE5vZGU7XG4gIH1cblxuICByZW1vdmVDaGlsZEhUTUxOb2RlcyhyZW1vdmVkQ2hpbGRIVE1MTm9kZXMgPSBudWxsKSB7XG4gICAgbGV0IGNoaWxkSFRNTE5vZGVzO1xuXG4gICAgY2hpbGRIVE1MTm9kZXMgPSB0aGlzLmdldENoaWxkSFRNTE5vZGVzKCk7XG5cbiAgICBpZiAocmVtb3ZlZENoaWxkSFRNTE5vZGVzICE9PSBudWxsKSB7XG4gICAgICBjaGlsZEhUTUxOb2RlcyA9IGNoaWxkSFRNTE5vZGVzLmZpbHRlcigoY2hpbGRIVE1MTm9kZSkgPT4geyAvLy9cbiAgICAgICAgY29uc3QgbWFya2Rvd25Ob2RlID0gY2hpbGRIVE1MTm9kZS5nZXRNYXJrZG93bk5vZGUoKSxcbiAgICAgICAgICAgICAgaW5kZXggPSByZW1vdmVkQ2hpbGRIVE1MTm9kZXMuZmluZEluZGV4KChyZW1vdmVkQ2hpbGRIVE1MTm9kZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hcmtkb3duTm9kZU1hdGNoZXMgPSByZW1vdmVkQ2hpbGRIVE1MTm9kZS5tYXRjaE1hcmtkb3duTm9kZShtYXJrZG93bk5vZGUpO1xuXG4gICAgICAgICAgICAgICAgaWYgKG1hcmtkb3duTm9kZU1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBsZXQgcmVtb3ZlZENoaWxkTm9kZXMgPSBjaGlsZEhUTUxOb2RlczsgIC8vL1xuXG4gICAgcmVtb3ZlZENoaWxkTm9kZXMgPSB0aGlzLnJlbW92ZUNoaWxkTm9kZXMocmVtb3ZlZENoaWxkTm9kZXMpO1xuXG4gICAgcmVtb3ZlZENoaWxkSFRNTE5vZGVzID0gcmVtb3ZlZENoaWxkTm9kZXM7ICAvLy9cblxuICAgIHJldHVybiByZW1vdmVkQ2hpbGRIVE1MTm9kZXM7XG4gIH1cblxuICBtYXRjaE1hcmtkb3duTm9kZShtYXJrZG93bk5vZGUpIHtcbiAgICBjb25zdCBvdXRlck5vZGUgPSBtYXJrZG93bk5vZGUsIC8vL1xuICAgICAgICAgIG91dGVyTm9kZU1hdGNoZXMgPSB0aGlzLm1hdGNoT3V0ZXJOb2RlKG91dGVyTm9kZSksXG4gICAgICAgICAgbWFya2Rvd25Ob2RlTWF0Y2hlcyA9IG91dGVyTm9kZU1hdGNoZXM7IC8vL1xuXG4gICAgcmV0dXJuIG1hcmtkb3duTm9kZU1hdGNoZXM7XG4gIH1cblxuICBhZGRDaGlsZEhUTUxOb2RlcyhhZGRlZENoaWxkSFRNTE5vZGVzLCBzdGFydEhUTkxJbmRleCkge1xuICAgIGNvbnN0IGFkZGVkQ2hpbGROb2RlcyA9IGFkZGVkQ2hpbGRIVE1MTm9kZXMsICAvLy9cbiAgICAgICAgICBzdGFydEluZGV4ID0gc3RhcnRIVE5MSW5kZXg7ICAvLy9cblxuICAgIHRoaXMuYWRkQ2hpbGROb2RlcyhhZGRlZENoaWxkTm9kZXMsIHN0YXJ0SW5kZXgpO1xuICB9XG5cbiAgYWRqdXN0SW5kZW50KGluZGVudCkge1xuICAgIGlmIChpbmRlbnQgIT09IG51bGwpIHtcbiAgICAgIGluZGVudCA9IGAke0RPVUJMRV9TUEFDRX0ke2luZGVudH1gO1xuICAgIH1cblxuICAgIHJldHVybiBpbmRlbnQ7XG4gIH1cblxuICBsaW5lcyhjb250ZXh0KSB7XG4gICAgbGV0IGxpbmVzO1xuXG4gICAgKHsgbGluZXMgPSBudWxsIH0gPSB0aGlzLmNvbnN0cnVjdG9yKTtcblxuICAgIGlmIChsaW5lcyA9PT0gbnVsbCkge1xuICAgICAgbGluZXMgPSB0aGlzLnJlZHVjZUNoaWxkTm9kZSgobGluZXMsIGNoaWxkTm9kZSkgPT4ge1xuICAgICAgICBjb25zdCBjaGlsZE5vZGVMaW5lcyA9IGNoaWxkTm9kZS5saW5lcyhjb250ZXh0KTtcblxuICAgICAgICBsaW5lcyArPSBjaGlsZE5vZGVMaW5lcztcblxuICAgICAgICByZXR1cm4gbGluZXM7XG4gICAgICB9LCAwKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbGluZXM7XG4gIH1cblxuICB0YWdOYW1lKGNvbnRleHQpIHtcbiAgICBjb25zdCB7IHRhZ05hbWUgfSA9IHRoaXMuY29uc3RydWN0b3I7XG5cbiAgICByZXR1cm4gdGFnTmFtZTtcbiAgfVxuXG4gIGRlcHRoKCkge1xuICAgIGNvbnN0IHsgZGVwdGggPSBudWxsIH0gPSB0aGlzLmNvbnN0cnVjdG9yO1xuXG4gICAgcmV0dXJuIGRlcHRoO1xuICB9XG5cbiAgY2xhc3NOYW1lKGNvbnRleHQpIHtcbiAgICBjb25zdCB7IGNsYXNzTmFtZSB9ID0gdGhpcy5jb25zdHJ1Y3RvcjtcblxuICAgIHJldHVybiBjbGFzc05hbWU7XG4gIH1cblxuICBjbG9zaW5nVGFnKGNvbnRleHQpIHtcbiAgICBjb25zdCB0YWdOYW1lID0gdGhpcy50YWdOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGNsb3NpbmdUYWcgPSBgPC8ke3RhZ05hbWV9PmA7XG5cbiAgICByZXR1cm4gY2xvc2luZ1RhZztcbiAgfVxuXG4gIHN0YXJ0aW5nVGFnKGNvbnRleHQpIHtcbiAgICBjb25zdCB0YWdOYW1lID0gdGhpcy50YWdOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGNsYXNzTmFtZSA9IHRoaXMuY2xhc3NOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGF0dHJpYnV0ZU5hbWUgPSB0aGlzLmF0dHJpYnV0ZU5hbWUoY29udGV4dCksXG4gICAgICAgICAgYXR0cmlidXRlVmFsdWUgPSB0aGlzLmF0dHJpYnV0ZVZhbHVlKGNvbnRleHQpLFxuICAgICAgICAgIGNsYXNzSFRNTCA9IChjbGFzc05hbWUgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgYCBjbGFzcz1cIiR7Y2xhc3NOYW1lfVwiYCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgIEVNUFRZX1NUUklORyxcbiAgICAgICAgICBhdHRyaWJ1dGVIVE1MID0gKChhdHRyaWJ1dGVOYW1lICE9PSBudWxsKSAmJiAoYXR0cmlidXRlVmFsdWUgIT09IG51bGwpKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBgICR7YXR0cmlidXRlTmFtZX09XCIke2F0dHJpYnV0ZVZhbHVlfVwiYCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFTVBUWV9TVFJJTkcsXG4gICAgICAgICAgc3RhcnRpbmdUYWcgPSBgPCR7dGFnTmFtZX0ke2NsYXNzSFRNTH0ke2F0dHJpYnV0ZUhUTUx9PmA7XG5cbiAgICByZXR1cm4gc3RhcnRpbmdUYWc7XG4gIH1cblxuICBzZWxmQ2xvc2luZ1RhZyhjb250ZXh0KSB7XG4gICAgY29uc3QgdGFnTmFtZSA9IHRoaXMudGFnTmFtZShjb250ZXh0KSxcbiAgICAgICAgICBzZWxmQ2xvc2luZ1RhZyA9IGA8JHt0YWdOYW1lfS8+YDtcblxuICAgIHJldHVybiBzZWxmQ2xvc2luZ1RhZztcbiAgfVxuXG4gIGF0dHJpYnV0ZU5hbWUoY29udGV4dCkge1xuICAgIGNvbnN0IGF0dHJpYnV0ZU5hbWUgPSBudWxsO1xuXG4gICAgcmV0dXJuIGF0dHJpYnV0ZU5hbWU7XG4gIH1cblxuICBhdHRyaWJ1dGVWYWx1ZShjb250ZXh0KSB7XG4gICAgY29uc3QgYXR0cmlidXRlVmFsdWUgPSBudWxsO1xuXG4gICAgcmV0dXJuIGF0dHJpYnV0ZVZhbHVlO1xuICB9XG5cbiAgY3JlYXRlRE9NRWxlbWVudChjb250ZXh0KSB7XG4gICAgbGV0IGRvbUVsZW1lbnQ7XG5cbiAgICBjb25zdCB0YWdOYW1lID0gdGhpcy50YWdOYW1lKGNvbnRleHQpO1xuXG4gICAgZG9tRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7XG5cbiAgICBjb25zdCBjbGFzc05hbWUgPSB0aGlzLmNsYXNzTmFtZShjb250ZXh0KSxcbiAgICAgICAgICBhdHRyaWJ1dGVOYW1lID0gdGhpcy5hdHRyaWJ1dGVOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGF0dHJpYnV0ZVZhbHVlID0gdGhpcy5hdHRyaWJ1dGVWYWx1ZShjb250ZXh0KTtcblxuICAgIGlmIChjbGFzc05hbWUgIT09IG51bGwpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24oZG9tRWxlbWVudCwge1xuICAgICAgICBjbGFzc05hbWVcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICgoYXR0cmlidXRlTmFtZSAhPT0gbnVsbCkgJiYgKGF0dHJpYnV0ZVZhbHVlICE9PSBudWxsKSkge1xuICAgICAgZG9tRWxlbWVudC5zZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwgYXR0cmlidXRlVmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiBkb21FbGVtZW50O1xuICB9XG5cbiAgbW91bnQocGFyZW50RE9NRWxlbWVudCwgc2libGluZ0RPTUVsZW1lbnQsIGNvbnRleHQpIHtcbiAgICB0aGlzLmRvbUVsZW1lbnQgPSB0aGlzLmNyZWF0ZURPTUVsZW1lbnQoY29udGV4dCk7XG5cbiAgICAoc2libGluZ0RPTUVsZW1lbnQgIT09IG51bGwpID9cbiAgICAgIGluc2VydEFmdGVyKHRoaXMuZG9tRWxlbWVudCwgcGFyZW50RE9NRWxlbWVudCwgc2libGluZ0RPTUVsZW1lbnQpIDpcbiAgICAgICAgaW5zZXJ0QmVmb3JlaGFuZCh0aGlzLmRvbUVsZW1lbnQsIHBhcmVudERPTUVsZW1lbnQpO1xuXG4gICAgcGFyZW50RE9NRWxlbWVudCA9IHRoaXMuZG9tRWxlbWVudDsgLy8vXG5cbiAgICBzaWJsaW5nRE9NRWxlbWVudCA9IG51bGw7XG5cbiAgICB0aGlzLmNoaWxkTm9kZXMuZm9yRWFjaCgoY2hpbGROb2RlKSA9PiB7XG4gICAgICBzaWJsaW5nRE9NRWxlbWVudCA9IGNoaWxkTm9kZS5tb3VudChwYXJlbnRET01FbGVtZW50LCBzaWJsaW5nRE9NRWxlbWVudCwgY29udGV4dCk7XG4gICAgfSk7XG5cbiAgICBzaWJsaW5nRE9NRWxlbWVudCA9IHRoaXMuZG9tRWxlbWVudDsgIC8vL1xuXG4gICAgcmV0dXJuIHNpYmxpbmdET01FbGVtZW50O1xuICB9XG5cbiAgdW5tb3VudChwYXJlbnRET01FbGVtZW50KSB7XG4gICAge1xuICAgICAgY29uc3QgcGFyZW50RE9NRWxlbWVudCA9IHRoaXMuZG9tRWxlbWVudDsgLy8vXG5cbiAgICAgIHRoaXMuY2hpbGROb2Rlcy5mb3JFYWNoKChjaGlsZE5vZGUpID0+IHtcbiAgICAgICAgY2hpbGROb2RlLnVubW91bnQocGFyZW50RE9NRWxlbWVudCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZW1vdmUodGhpcy5kb21FbGVtZW50LCBwYXJlbnRET01FbGVtZW50KTtcblxuICAgIHRoaXMuZG9tRWxlbWVudCA9IG51bGw7XG4gIH1cblxuICBhc0hUTUwoaW5kZW50LCBjb250ZXh0KSB7XG4gICAgaWYgKGNvbnRleHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgY29udGV4dCA9IGluZGVudDsgLy8vXG5cbiAgICAgIGluZGVudCA9IEVNUFRZX1NUUklORztcbiAgICB9XG5cbiAgICBsZXQgaHRtbDtcblxuICAgIGluZGVudCA9IHRoaXMuYWRqdXN0SW5kZW50KGluZGVudCk7XG5cbiAgICBjb25zdCBjbGFzc05hbWUgPSB0aGlzLmNsYXNzTmFtZShjb250ZXh0KSxcbiAgICAgICAgICBhdHRyaWJ1dGVOYW1lID0gdGhpcy5hdHRyaWJ1dGVOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGNoaWxkTm9kZXNIVE1MID0gdGhpcy5jaGlsZE5vZGVzQXNIVE1MKGluZGVudCwgY29udGV4dCk7XG5cbiAgICBpZiAoKGNoaWxkTm9kZXNIVE1MICE9PSBFTVBUWV9TVFJJTkcpIHx8IChjbGFzc05hbWUgIT09IG51bGwpIHx8IChhdHRyaWJ1dGVOYW1lICE9PSBudWxsKSkge1xuICAgICAgY29uc3Qgc3RhcnRpbmdUYWcgPSB0aGlzLnN0YXJ0aW5nVGFnKGNvbnRleHQpLFxuICAgICAgICAgICAgY2xvc2luZ1RhZyA9IHRoaXMuY2xvc2luZ1RhZyhjb250ZXh0KTtcblxuICAgICAgaHRtbCA9IChpbmRlbnQgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgIGAke3N0YXJ0aW5nVGFnfSR7Y2hpbGROb2Rlc0hUTUx9JHtjbG9zaW5nVGFnfWAgOlxuICAgICAgICAgICAgICAgICBgJHtpbmRlbnR9JHtzdGFydGluZ1RhZ31cbiR7Y2hpbGROb2Rlc0hUTUx9JHtpbmRlbnR9JHtjbG9zaW5nVGFnfVxuYDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc2VsZkNsb3NpbmdUYWcgPSB0aGlzLnNlbGZDbG9zaW5nVGFnKGNvbnRleHQpO1xuXG4gICAgICBodG1sID0gKGluZGVudCA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgYCR7c2VsZkNsb3NpbmdUYWd9YCA6XG4gICAgICAgICAgICAgICAgIGAke2luZGVudH0ke3NlbGZDbG9zaW5nVGFnfVxuYDtcbiAgICB9XG5cbiAgICByZXR1cm4gaHRtbDtcbiAgfVxuXG4gIGFzUGxhaW5UZXh0KGNvbnRleHQpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzUGxhaW5UZXh0ID0gdGhpcy5jaGlsZE5vZGVzQXNQbGFpblRleHQoY29udGV4dCksXG4gICAgICAgICAgcGxhaW5UZXh0ID0gY2hpbGROb2Rlc1BsYWluVGV4dDsgIC8vL1xuXG4gICAgcmV0dXJuIHBsYWluVGV4dDtcbiAgfVxuXG4gIGNoaWxkTm9kZXNBc0hUTUwoaW5kZW50LCBjb250ZXh0KSB7XG4gICAgY29uc3QgY2hpbGROb2Rlc0hUTUwgPSB0aGlzLnJlZHVjZUNoaWxkTm9kZSgoY2hpbGROb2Rlc0hUTUwsIGNoaWxkTm9kZSkgPT4ge1xuICAgICAgY29uc3QgY2hpbGROb2RlSFRNTCA9IGNoaWxkTm9kZS5hc0hUTUwoaW5kZW50LCBjb250ZXh0KTtcblxuICAgICAgY2hpbGROb2Rlc0hUTUwgPSBgJHtjaGlsZE5vZGVzSFRNTH0ke2NoaWxkTm9kZUhUTUx9YDtcblxuICAgICAgcmV0dXJuIGNoaWxkTm9kZXNIVE1MO1xuICAgIH0sIEVNUFRZX1NUUklORyk7XG5cbiAgICByZXR1cm4gY2hpbGROb2Rlc0hUTUw7XG4gIH1cblxuICBjaGlsZE5vZGVzQXNQbGFpblRleHQoY29udGV4dCkge1xuICAgIGNvbnN0IGNoaWxkTm9kZXNQbGFpblRleHQgPSB0aGlzLnJlZHVjZUNoaWxkTm9kZSgoY2hpbGROb2Rlc1BsYWluVGV4dCwgY2hpbGROb2RlKSA9PiB7XG4gICAgICBjb25zdCBjaGlsZE5vZGVQbGFpblRleHQgPSBjaGlsZE5vZGUuYXNQbGFpblRleHQoY29udGV4dCk7XG5cbiAgICAgIGNoaWxkTm9kZXNQbGFpblRleHQgPSBgJHtjaGlsZE5vZGVzUGxhaW5UZXh0fVxuJHtjaGlsZE5vZGVQbGFpblRleHR9YDtcblxuICAgICAgcmV0dXJuIGNoaWxkTm9kZXNQbGFpblRleHQ7XG4gICAgfSwgRU1QVFlfU1RSSU5HKTtcblxuICAgIHJldHVybiBjaGlsZE5vZGVzUGxhaW5UZXh0O1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKENsYXNzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBpZiAoQ2xhc3MgPT09IHVuZGVmaW5lZCkge1xuICAgICAgQ2xhc3MgPSBIVE1MTm9kZTsgLy8vXG4gICAgfVxuXG4gICAgY29uc3QgZG9tRWxlbWVudCA9IG51bGwsXG4gICAgICAgICAgaHRtbE5vZGUgPSBOb2RlLmZyb21Ob3RoaW5nKENsYXNzLCBkb21FbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgcmV0dXJuIGh0bWxOb2RlO1xuICB9XG5cbiAgc3RhdGljIGZyb21PdXRlck5vZGUoQ2xhc3MsIG91dGVyTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgaWYgKG91dGVyTm9kZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBvdXRlck5vZGUgPSBDbGFzczsgIC8vL1xuXG4gICAgICBDbGFzcyA9IEhUTUxOb2RlOyAvLy9cbiAgICB9XG5cbiAgICBjb25zdCBkb21FbGVtZW50ID0gbnVsbCxcbiAgICAgICAgICBodG1sTm9kZSA9IE5vZGUuZnJvbU91dGVyTm9kZShDbGFzcywgb3V0ZXJOb2RlLCBkb21FbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgcmV0dXJuIGh0bWxOb2RlO1xuICB9XG5cbiAgc3RhdGljIGZyb21ET01FbGVtZW50KENsYXNzLCBkb21FbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBpZiAoZG9tRWxlbWVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBkb21FbGVtZW50ID0gQ2xhc3M7IC8vL1xuXG4gICAgICBDbGFzcyA9IEhUTUxOb2RlOyAvLy9cbiAgICB9XG5cbiAgICBjb25zdCBodG1sTm9kZSA9IE5vZGUuZnJvbU5vdGhpbmcoQ2xhc3MsIGRvbUVsZW1lbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICByZXR1cm4gaHRtbE5vZGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbUNoaWxkSFRNTE5vZGVzKENsYXNzLCBjaGlsZEhUTUxOb2RlcywgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgaWYgKGNoaWxkSFRNTE5vZGVzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNoaWxkSFRNTE5vZGVzID0gQ2xhc3M7ICAvLy9cblxuICAgICAgQ2xhc3MgPSBIVE1MTm9kZTsgLy8vXG4gICAgfVxuXG4gICAgY29uc3QgY2hpbGROb2RlcyA9IGNoaWxkSFRNTE5vZGVzLCAgLy8vXG4gICAgICAgICAgZG9tRWxlbWVudCA9IG51bGwsXG4gICAgICAgICAgaHRtbE5vZGUgPSBOb2RlLmZyb21DaGlsZE5vZGVzKENsYXNzLCBjaGlsZE5vZGVzLCBkb21FbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgcmV0dXJuIGh0bWxOb2RlO1xuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oSFRNTE5vZGUucHJvdG90eXBlLCBub2RlTWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgSFRNTE5vZGU7XG4iXSwibmFtZXMiOlsiSFRNTE5vZGUiLCJOb2RlIiwib3V0ZXJOb2RlIiwicGFyZW50Tm9kZSIsImNoaWxkTm9kZXMiLCJkb21FbGVtZW50IiwiZ2V0RE9NRWxlbWVudCIsInNldERPTUVsZW1lbnQiLCJyZXNldERPTUVsZW1lbnQiLCJnZXRSdWxlTmFtZSIsIm1hcmtkb3duTm9kZSIsImdldE1hcmtkb3duTm9kZSIsInJ1bGVOYW1lIiwiaXNUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJpc05vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsImdldE91dGVyTm9kZSIsImdldFBhcmVudEhUTUxOb2RlIiwiZ2V0UGFyZW50Tm9kZSIsInBhcmVudEhUTUxOb2RlIiwiZ2V0Q2hpbGRIVE1MTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwiY2hpbGRIVE1MTm9kZXMiLCJnZXRBbmNlc3RvckhUTUxOb2RlcyIsImFuY2VzdG9yTm9kZXMiLCJnZXRBbmNlc3Rvck5vZGVzIiwiYW5jZXN0b3JIVE1MTm9kZXMiLCJyZWR1Y2VDaGlsZEhUTUxOb2RlIiwiY2FsbGJhY2siLCJpbml0aWFsVmFsdWUiLCJyZWR1Y2VDaGlsZE5vZGUiLCJzb21lQW5jZXN0b3JIVE1MTm9kZSIsInNvbWVBbmNlc3Rvck5vZGUiLCJzb21lQ2hpbGRIVE1MTm9kZSIsInNvbWVDaGlsZE5vZGUiLCJyZXRyaWV2ZUhUTUxOb2RlIiwiaHRtbE5vZGUiLCJzb21lIiwiY2hpbGRIVE1MTm9kZSIsInJlc3VsdCIsInJlbW92ZUNoaWxkSFRNTE5vZGVzIiwicmVtb3ZlZENoaWxkSFRNTE5vZGVzIiwiZmlsdGVyIiwiaW5kZXgiLCJmaW5kSW5kZXgiLCJyZW1vdmVkQ2hpbGRIVE1MTm9kZSIsIm1hcmtkb3duTm9kZU1hdGNoZXMiLCJtYXRjaE1hcmtkb3duTm9kZSIsInJlbW92ZWRDaGlsZE5vZGVzIiwicmVtb3ZlQ2hpbGROb2RlcyIsIm91dGVyTm9kZU1hdGNoZXMiLCJtYXRjaE91dGVyTm9kZSIsImFkZENoaWxkSFRNTE5vZGVzIiwiYWRkZWRDaGlsZEhUTUxOb2RlcyIsInN0YXJ0SFROTEluZGV4IiwiYWRkZWRDaGlsZE5vZGVzIiwic3RhcnRJbmRleCIsImFkZENoaWxkTm9kZXMiLCJhZGp1c3RJbmRlbnQiLCJpbmRlbnQiLCJET1VCTEVfU1BBQ0UiLCJsaW5lcyIsImNvbnRleHQiLCJjaGlsZE5vZGUiLCJjaGlsZE5vZGVMaW5lcyIsInRhZ05hbWUiLCJkZXB0aCIsImNsYXNzTmFtZSIsImNsb3NpbmdUYWciLCJzdGFydGluZ1RhZyIsImF0dHJpYnV0ZU5hbWUiLCJhdHRyaWJ1dGVWYWx1ZSIsImNsYXNzSFRNTCIsIkVNUFRZX1NUUklORyIsImF0dHJpYnV0ZUhUTUwiLCJzZWxmQ2xvc2luZ1RhZyIsImNyZWF0ZURPTUVsZW1lbnQiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJzZXRBdHRyaWJ1dGUiLCJtb3VudCIsInBhcmVudERPTUVsZW1lbnQiLCJzaWJsaW5nRE9NRWxlbWVudCIsImluc2VydEFmdGVyIiwiaW5zZXJ0QmVmb3JlaGFuZCIsImZvckVhY2giLCJ1bm1vdW50IiwicmVtb3ZlIiwiYXNIVE1MIiwidW5kZWZpbmVkIiwiaHRtbCIsImNoaWxkTm9kZXNIVE1MIiwiY2hpbGROb2Rlc0FzSFRNTCIsImFzUGxhaW5UZXh0IiwiY2hpbGROb2Rlc1BsYWluVGV4dCIsImNoaWxkTm9kZXNBc1BsYWluVGV4dCIsInBsYWluVGV4dCIsImNoaWxkTm9kZUhUTUwiLCJjaGlsZE5vZGVQbGFpblRleHQiLCJmcm9tTm90aGluZyIsIkNsYXNzIiwicmVtYWluaW5nQXJndW1lbnRzIiwiZnJvbU91dGVyTm9kZSIsImZyb21ET01FbGVtZW50IiwiZnJvbUNoaWxkSFRNTE5vZGVzIiwiZnJvbUNoaWxkTm9kZXMiLCJwcm90b3R5cGUiLCJub2RlTWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFvYUE7OztlQUFBOzs7MEJBbGFxQjs2REFFRTsyQkFFb0I7cUJBQ1c7Ozs7OztBQUV0RCxNQUFNQSxpQkFBaUJDLGNBQUk7SUFDekIsWUFBWUMsU0FBUyxFQUFFQyxVQUFVLEVBQUVDLFVBQVUsRUFBRUMsVUFBVSxDQUFFO1FBQ3pELEtBQUssQ0FBQ0gsV0FBV0MsWUFBWUM7UUFFN0IsSUFBSSxDQUFDQyxVQUFVLEdBQUdBO0lBQ3BCO0lBRUFDLGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDRCxVQUFVO0lBQ3hCO0lBRUFFLGNBQWNGLFVBQVUsRUFBRTtRQUN4QixJQUFJLENBQUNBLFVBQVUsR0FBR0E7SUFDcEI7SUFFQUcsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQ0gsVUFBVSxHQUFHO0lBQ3BCO0lBRUFJLGNBQWM7UUFDWixNQUFNQyxlQUFlLElBQUks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
|
|
257
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL2h0bWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IE5vZGUgfSBmcm9tIFwib2NjYW0tZG9tXCI7XG5cbmltcG9ydCBub2RlTWl4aW5zIGZyb20gXCIuLi9taXhpbnMvbm9kZVwiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcsIERPVUJMRV9TUEFDRSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IHJlbW92ZSwgaW5zZXJ0QWZ0ZXIsIGluc2VydEJlZm9yZWhhbmQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2RvbVwiO1xuXG5jbGFzcyBIVE1MTm9kZSBleHRlbmRzIE5vZGUge1xuICBjb25zdHJ1Y3RvcihvdXRlck5vZGUsIHBhcmVudE5vZGUsIGNoaWxkTm9kZXMsIGRvbUVsZW1lbnQpIHtcbiAgICBzdXBlcihvdXRlck5vZGUsIHBhcmVudE5vZGUsIGNoaWxkTm9kZXMpO1xuXG4gICAgdGhpcy5kb21FbGVtZW50ID0gZG9tRWxlbWVudDtcbiAgfVxuXG4gIGdldERPTUVsZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZG9tRWxlbWVudDtcbiAgfVxuXG4gIHNldERPTUVsZW1lbnQoZG9tRWxlbWVudCkge1xuICAgIHRoaXMuZG9tRWxlbWVudCA9IGRvbUVsZW1lbnQ7XG4gIH1cblxuICByZXNldERPTUVsZW1lbnQoKSB7XG4gICAgdGhpcy5kb21FbGVtZW50ID0gbnVsbDtcbiAgfVxuXG4gIGdldFJ1bGVOYW1lKCkge1xuICAgIGNvbnN0IG1hcmtkb3duTm9kZSA9IHRoaXMuZ2V0TWFya2Rvd25Ob2RlKCksXG4gICAgICAgICAgcnVsZU5hbWUgPSBtYXJrZG93bk5vZGUuZ2V0UnVsZU5hbWUoKTtcblxuICAgIHJldHVybiBydWxlTmFtZTtcbiAgfVxuXG4gIGlzVGVybWluYWxOb2RlKCkge1xuICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIHRlcm1pbmFsTm9kZTtcbiAgfVxuXG4gIGlzTm9uVGVybWluYWxOb2RlKCkge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IHRydWU7XG5cbiAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlO1xuICB9XG5cbiAgZ2V0TWFya2Rvd25Ob2RlKCkge1xuICAgIGNvbnN0IG91dGVyTm9kZSA9IHRoaXMuZ2V0T3V0ZXJOb2RlKCksXG4gICAgICAgICAgbWFya2Rvd25Ob2RlID0gb3V0ZXJOb2RlOyAvLy9cblxuICAgIHJldHVybiBtYXJrZG93bk5vZGU7XG4gIH1cblxuICBnZXRQYXJlbnRIVE1MTm9kZSgpIHtcbiAgICBjb25zdCBwYXJlbnROb2RlID0gdGhpcy5nZXRQYXJlbnROb2RlKCksXG4gICAgICAgICAgcGFyZW50SFRNTE5vZGUgPSBwYXJlbnROb2RlOyAgLy8vXG5cbiAgICByZXR1cm4gcGFyZW50SFRNTE5vZGU7XG4gIH1cblxuICBnZXRDaGlsZEhUTUxOb2RlcygpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gdGhpcy5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgY2hpbGRIVE1MTm9kZXMgPSBjaGlsZE5vZGVzOyAgLy8vXG5cbiAgICByZXR1cm4gY2hpbGRIVE1MTm9kZXM7XG4gIH1cblxuICBnZXRBbmNlc3RvckhUTUxOb2RlcygpIHtcbiAgICBjb25zdCBhbmNlc3Rvck5vZGVzID0gdGhpcy5nZXRBbmNlc3Rvck5vZGVzKCksXG4gICAgICAgICAgYW5jZXN0b3JIVE1MTm9kZXMgPSBhbmNlc3Rvck5vZGVzOyAgLy8vXG5cbiAgICByZXR1cm4gYW5jZXN0b3JIVE1MTm9kZXM7XG4gIH1cblxuICByZWR1Y2VDaGlsZEhUTUxOb2RlKGNhbGxiYWNrLCBpbml0aWFsVmFsdWUpIHsgcmV0dXJuIHRoaXMucmVkdWNlQ2hpbGROb2RlKGNhbGxiYWNrLCBpbml0aWFsVmFsdWUpOyB9XG5cbiAgc29tZUFuY2VzdG9ySFRNTE5vZGUoY2FsbGJhY2spIHsgcmV0dXJuIHRoaXMuc29tZUFuY2VzdG9yTm9kZShjYWxsYmFjayk7IH1cblxuICBzb21lQ2hpbGRIVE1MTm9kZShjYWxsYmFjaykgeyByZXR1cm4gdGhpcy5zb21lQ2hpbGROb2RlKGNhbGxiYWNrKTsgfVxuXG4gIHJldHJpZXZlSFRNTE5vZGUoY2FsbGJhY2spIHtcbiAgICBsZXQgaHRtbE5vZGUgPSBudWxsO1xuXG4gICAgaWYgKGh0bWxOb2RlID09PSBudWxsKSB7XG4gICAgICBjb25zdCBjaGlsZEhUTUxOb2RlcyA9IHRoaXMuZ2V0Q2hpbGRIVE1MTm9kZXMoKTtcblxuICAgICAgY2hpbGRIVE1MTm9kZXMuc29tZSgoY2hpbGRIVE1MTm9kZSkgPT4ge1xuICAgICAgICBodG1sTm9kZSA9IGNoaWxkSFRNTE5vZGUucmV0cmlldmVIVE1MTm9kZShjYWxsYmFjayk7XG5cbiAgICAgICAgaWYgKGh0bWxOb2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChodG1sTm9kZSA9PT0gbnVsbCkge1xuICAgICAgaHRtbE5vZGUgPSB0aGlzO1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBjYWxsYmFjayhodG1sTm9kZSk7XG5cbiAgICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgIGh0bWxOb2RlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gaHRtbE5vZGU7XG4gIH1cblxuICBtYXRjaE1hcmtkb3duTm9kZShtYXJrZG93bk5vZGUpIHtcbiAgICBjb25zdCBvdXRlck5vZGUgPSBtYXJrZG93bk5vZGUsIC8vL1xuICAgICAgICAgIG91dGVyTm9kZU1hdGNoZXMgPSB0aGlzLm1hdGNoT3V0ZXJOb2RlKG91dGVyTm9kZSksXG4gICAgICAgICAgbWFya2Rvd25Ob2RlTWF0Y2hlcyA9IG91dGVyTm9kZU1hdGNoZXM7IC8vL1xuXG4gICAgcmV0dXJuIG1hcmtkb3duTm9kZU1hdGNoZXM7XG4gIH1cblxuICBhZGp1c3RJbmRlbnQoaW5kZW50KSB7XG4gICAgaWYgKGluZGVudCAhPT0gbnVsbCkge1xuICAgICAgaW5kZW50ID0gYCR7RE9VQkxFX1NQQUNFfSR7aW5kZW50fWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGluZGVudDtcbiAgfVxuXG4gIGxpbmVzKGNvbnRleHQpIHtcbiAgICBsZXQgbGluZXM7XG5cbiAgICAoeyBsaW5lcyA9IG51bGwgfSA9IHRoaXMuY29uc3RydWN0b3IpO1xuXG4gICAgaWYgKGxpbmVzID09PSBudWxsKSB7XG4gICAgICBsaW5lcyA9IHRoaXMucmVkdWNlQ2hpbGROb2RlKChsaW5lcywgY2hpbGROb2RlKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoaWxkTm9kZUxpbmVzID0gY2hpbGROb2RlLmxpbmVzKGNvbnRleHQpO1xuXG4gICAgICAgIGxpbmVzICs9IGNoaWxkTm9kZUxpbmVzO1xuXG4gICAgICAgIHJldHVybiBsaW5lcztcbiAgICAgIH0sIDApO1xuICAgIH1cblxuICAgIHJldHVybiBsaW5lcztcbiAgfVxuXG4gIHRhZ05hbWUoY29udGV4dCkge1xuICAgIGNvbnN0IHsgdGFnTmFtZSB9ID0gdGhpcy5jb25zdHJ1Y3RvcjtcblxuICAgIHJldHVybiB0YWdOYW1lO1xuICB9XG5cbiAgZGVwdGgoKSB7XG4gICAgY29uc3QgeyBkZXB0aCA9IG51bGwgfSA9IHRoaXMuY29uc3RydWN0b3I7XG5cbiAgICByZXR1cm4gZGVwdGg7XG4gIH1cblxuICBjbGFzc05hbWUoY29udGV4dCkge1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lIH0gPSB0aGlzLmNvbnN0cnVjdG9yO1xuXG4gICAgcmV0dXJuIGNsYXNzTmFtZTtcbiAgfVxuXG4gIGNsb3NpbmdUYWcoY29udGV4dCkge1xuICAgIGNvbnN0IHRhZ05hbWUgPSB0aGlzLnRhZ05hbWUoY29udGV4dCksXG4gICAgICAgICAgY2xvc2luZ1RhZyA9IGA8LyR7dGFnTmFtZX0+YDtcblxuICAgIHJldHVybiBjbG9zaW5nVGFnO1xuICB9XG5cbiAgc3RhcnRpbmdUYWcoY29udGV4dCkge1xuICAgIGNvbnN0IHRhZ05hbWUgPSB0aGlzLnRhZ05hbWUoY29udGV4dCksXG4gICAgICAgICAgY2xhc3NOYW1lID0gdGhpcy5jbGFzc05hbWUoY29udGV4dCksXG4gICAgICAgICAgYXR0cmlidXRlTmFtZSA9IHRoaXMuYXR0cmlidXRlTmFtZShjb250ZXh0KSxcbiAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZSA9IHRoaXMuYXR0cmlidXRlVmFsdWUoY29udGV4dCksXG4gICAgICAgICAgY2xhc3NIVE1MID0gKGNsYXNzTmFtZSAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICBgIGNsYXNzPVwiJHtjbGFzc05hbWV9XCJgIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgRU1QVFlfU1RSSU5HLFxuICAgICAgICAgIGF0dHJpYnV0ZUhUTUwgPSAoKGF0dHJpYnV0ZU5hbWUgIT09IG51bGwpICYmIChhdHRyaWJ1dGVWYWx1ZSAhPT0gbnVsbCkpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGAgJHthdHRyaWJ1dGVOYW1lfT1cIiR7YXR0cmlidXRlVmFsdWV9XCJgIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVNUFRZX1NUUklORyxcbiAgICAgICAgICBzdGFydGluZ1RhZyA9IGA8JHt0YWdOYW1lfSR7Y2xhc3NIVE1MfSR7YXR0cmlidXRlSFRNTH0+YDtcblxuICAgIHJldHVybiBzdGFydGluZ1RhZztcbiAgfVxuXG4gIHNlbGZDbG9zaW5nVGFnKGNvbnRleHQpIHtcbiAgICBjb25zdCB0YWdOYW1lID0gdGhpcy50YWdOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIHNlbGZDbG9zaW5nVGFnID0gYDwke3RhZ05hbWV9Lz5gO1xuXG4gICAgcmV0dXJuIHNlbGZDbG9zaW5nVGFnO1xuICB9XG5cbiAgYXR0cmlidXRlTmFtZShjb250ZXh0KSB7XG4gICAgY29uc3QgYXR0cmlidXRlTmFtZSA9IG51bGw7XG5cbiAgICByZXR1cm4gYXR0cmlidXRlTmFtZTtcbiAgfVxuXG4gIGF0dHJpYnV0ZVZhbHVlKGNvbnRleHQpIHtcbiAgICBjb25zdCBhdHRyaWJ1dGVWYWx1ZSA9IG51bGw7XG5cbiAgICByZXR1cm4gYXR0cmlidXRlVmFsdWU7XG4gIH1cblxuICBjcmVhdGVET01FbGVtZW50KGNvbnRleHQpIHtcbiAgICBsZXQgZG9tRWxlbWVudDtcblxuICAgIGNvbnN0IHRhZ05hbWUgPSB0aGlzLnRhZ05hbWUoY29udGV4dCk7XG5cbiAgICBkb21FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTtcblxuICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRoaXMuY2xhc3NOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGF0dHJpYnV0ZU5hbWUgPSB0aGlzLmF0dHJpYnV0ZU5hbWUoY29udGV4dCksXG4gICAgICAgICAgYXR0cmlidXRlVmFsdWUgPSB0aGlzLmF0dHJpYnV0ZVZhbHVlKGNvbnRleHQpO1xuXG4gICAgaWYgKGNsYXNzTmFtZSAhPT0gbnVsbCkge1xuICAgICAgT2JqZWN0LmFzc2lnbihkb21FbGVtZW50LCB7XG4gICAgICAgIGNsYXNzTmFtZVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKChhdHRyaWJ1dGVOYW1lICE9PSBudWxsKSAmJiAoYXR0cmlidXRlVmFsdWUgIT09IG51bGwpKSB7XG4gICAgICBkb21FbGVtZW50LnNldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lLCBhdHRyaWJ1dGVWYWx1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRvbUVsZW1lbnQ7XG4gIH1cblxuICBtb3VudChwYXJlbnRET01FbGVtZW50LCBzaWJsaW5nRE9NRWxlbWVudCwgY29udGV4dCkge1xuICAgIHRoaXMuZG9tRWxlbWVudCA9IHRoaXMuY3JlYXRlRE9NRWxlbWVudChjb250ZXh0KTtcblxuICAgIChzaWJsaW5nRE9NRWxlbWVudCAhPT0gbnVsbCkgP1xuICAgICAgaW5zZXJ0QWZ0ZXIodGhpcy5kb21FbGVtZW50LCBwYXJlbnRET01FbGVtZW50LCBzaWJsaW5nRE9NRWxlbWVudCkgOlxuICAgICAgICBpbnNlcnRCZWZvcmVoYW5kKHRoaXMuZG9tRWxlbWVudCwgcGFyZW50RE9NRWxlbWVudCk7XG5cbiAgICBwYXJlbnRET01FbGVtZW50ID0gdGhpcy5kb21FbGVtZW50OyAvLy9cblxuICAgIHNpYmxpbmdET01FbGVtZW50ID0gbnVsbDtcblxuICAgIHRoaXMuY2hpbGROb2Rlcy5mb3JFYWNoKChjaGlsZE5vZGUpID0+IHtcbiAgICAgIHNpYmxpbmdET01FbGVtZW50ID0gY2hpbGROb2RlLm1vdW50KHBhcmVudERPTUVsZW1lbnQsIHNpYmxpbmdET01FbGVtZW50LCBjb250ZXh0KTtcbiAgICB9KTtcblxuICAgIHNpYmxpbmdET01FbGVtZW50ID0gdGhpcy5kb21FbGVtZW50OyAgLy8vXG5cbiAgICByZXR1cm4gc2libGluZ0RPTUVsZW1lbnQ7XG4gIH1cblxuICB1bm1vdW50KHBhcmVudERPTUVsZW1lbnQpIHtcbiAgICB7XG4gICAgICBjb25zdCBwYXJlbnRET01FbGVtZW50ID0gdGhpcy5kb21FbGVtZW50OyAvLy9cblxuICAgICAgdGhpcy5jaGlsZE5vZGVzLmZvckVhY2goKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgICBjaGlsZE5vZGUudW5tb3VudChwYXJlbnRET01FbGVtZW50KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlbW92ZSh0aGlzLmRvbUVsZW1lbnQsIHBhcmVudERPTUVsZW1lbnQpO1xuXG4gICAgdGhpcy5kb21FbGVtZW50ID0gbnVsbDtcbiAgfVxuXG4gIGFzSFRNTChpbmRlbnQsIGNvbnRleHQpIHtcbiAgICBpZiAoY29udGV4dCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb250ZXh0ID0gaW5kZW50OyAvLy9cblxuICAgICAgaW5kZW50ID0gRU1QVFlfU1RSSU5HO1xuICAgIH1cblxuICAgIGxldCBodG1sO1xuXG4gICAgaW5kZW50ID0gdGhpcy5hZGp1c3RJbmRlbnQoaW5kZW50KTtcblxuICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRoaXMuY2xhc3NOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGF0dHJpYnV0ZU5hbWUgPSB0aGlzLmF0dHJpYnV0ZU5hbWUoY29udGV4dCksXG4gICAgICAgICAgY2hpbGROb2Rlc0hUTUwgPSB0aGlzLmNoaWxkTm9kZXNBc0hUTUwoaW5kZW50LCBjb250ZXh0KTtcblxuICAgIGlmICgoY2hpbGROb2Rlc0hUTUwgIT09IEVNUFRZX1NUUklORykgfHwgKGNsYXNzTmFtZSAhPT0gbnVsbCkgfHwgKGF0dHJpYnV0ZU5hbWUgIT09IG51bGwpKSB7XG4gICAgICBjb25zdCBzdGFydGluZ1RhZyA9IHRoaXMuc3RhcnRpbmdUYWcoY29udGV4dCksXG4gICAgICAgICAgICBjbG9zaW5nVGFnID0gdGhpcy5jbG9zaW5nVGFnKGNvbnRleHQpO1xuXG4gICAgICBodG1sID0gKGluZGVudCA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgYCR7c3RhcnRpbmdUYWd9JHtjaGlsZE5vZGVzSFRNTH0ke2Nsb3NpbmdUYWd9YCA6XG4gICAgICAgICAgICAgICAgIGAke2luZGVudH0ke3N0YXJ0aW5nVGFnfVxuJHtjaGlsZE5vZGVzSFRNTH0ke2luZGVudH0ke2Nsb3NpbmdUYWd9XG5gO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzZWxmQ2xvc2luZ1RhZyA9IHRoaXMuc2VsZkNsb3NpbmdUYWcoY29udGV4dCk7XG5cbiAgICAgIGh0bWwgPSAoaW5kZW50ID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICBgJHtzZWxmQ2xvc2luZ1RhZ31gIDpcbiAgICAgICAgICAgICAgICAgYCR7aW5kZW50fSR7c2VsZkNsb3NpbmdUYWd9XG5gO1xuICAgIH1cblxuICAgIHJldHVybiBodG1sO1xuICB9XG5cbiAgYXNQbGFpblRleHQoY29udGV4dCkge1xuICAgIGNvbnN0IGNoaWxkTm9kZXNQbGFpblRleHQgPSB0aGlzLmNoaWxkTm9kZXNBc1BsYWluVGV4dChjb250ZXh0KSxcbiAgICAgICAgICBwbGFpblRleHQgPSBjaGlsZE5vZGVzUGxhaW5UZXh0OyAgLy8vXG5cbiAgICByZXR1cm4gcGxhaW5UZXh0O1xuICB9XG5cbiAgY2hpbGROb2Rlc0FzSFRNTChpbmRlbnQsIGNvbnRleHQpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzSFRNTCA9IHRoaXMucmVkdWNlQ2hpbGROb2RlKChjaGlsZE5vZGVzSFRNTCwgY2hpbGROb2RlKSA9PiB7XG4gICAgICBjb25zdCBjaGlsZE5vZGVIVE1MID0gY2hpbGROb2RlLmFzSFRNTChpbmRlbnQsIGNvbnRleHQpO1xuXG4gICAgICBjaGlsZE5vZGVzSFRNTCA9IGAke2NoaWxkTm9kZXNIVE1MfSR7Y2hpbGROb2RlSFRNTH1gO1xuXG4gICAgICByZXR1cm4gY2hpbGROb2Rlc0hUTUw7XG4gICAgfSwgRU1QVFlfU1RSSU5HKTtcblxuICAgIHJldHVybiBjaGlsZE5vZGVzSFRNTDtcbiAgfVxuXG4gIGNoaWxkTm9kZXNBc1BsYWluVGV4dChjb250ZXh0KSB7XG4gICAgY29uc3QgY2hpbGROb2Rlc1BsYWluVGV4dCA9IHRoaXMucmVkdWNlQ2hpbGROb2RlKChjaGlsZE5vZGVzUGxhaW5UZXh0LCBjaGlsZE5vZGUpID0+IHtcbiAgICAgIGNvbnN0IGNoaWxkTm9kZVBsYWluVGV4dCA9IGNoaWxkTm9kZS5hc1BsYWluVGV4dChjb250ZXh0KTtcblxuICAgICAgY2hpbGROb2Rlc1BsYWluVGV4dCA9IGAke2NoaWxkTm9kZXNQbGFpblRleHR9XG4ke2NoaWxkTm9kZVBsYWluVGV4dH1gO1xuXG4gICAgICByZXR1cm4gY2hpbGROb2Rlc1BsYWluVGV4dDtcbiAgICB9LCBFTVBUWV9TVFJJTkcpO1xuXG4gICAgcmV0dXJuIGNoaWxkTm9kZXNQbGFpblRleHQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoQ2xhc3MsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGlmIChDbGFzcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBDbGFzcyA9IEhUTUxOb2RlOyAvLy9cbiAgICB9XG5cbiAgICBjb25zdCBkb21FbGVtZW50ID0gbnVsbCxcbiAgICAgICAgICBodG1sTm9kZSA9IE5vZGUuZnJvbU5vdGhpbmcoQ2xhc3MsIGRvbUVsZW1lbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICByZXR1cm4gaHRtbE5vZGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbU91dGVyTm9kZShDbGFzcywgb3V0ZXJOb2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBpZiAob3V0ZXJOb2RlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIG91dGVyTm9kZSA9IENsYXNzOyAgLy8vXG5cbiAgICAgIENsYXNzID0gSFRNTE5vZGU7IC8vL1xuICAgIH1cblxuICAgIGNvbnN0IGRvbUVsZW1lbnQgPSBudWxsLFxuICAgICAgICAgIGh0bWxOb2RlID0gTm9kZS5mcm9tT3V0ZXJOb2RlKENsYXNzLCBvdXRlck5vZGUsIGRvbUVsZW1lbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICByZXR1cm4gaHRtbE5vZGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbURPTUVsZW1lbnQoQ2xhc3MsIGRvbUVsZW1lbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGlmIChkb21FbGVtZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGRvbUVsZW1lbnQgPSBDbGFzczsgLy8vXG5cbiAgICAgIENsYXNzID0gSFRNTE5vZGU7IC8vL1xuICAgIH1cblxuICAgIGNvbnN0IGh0bWxOb2RlID0gTm9kZS5mcm9tTm90aGluZyhDbGFzcywgZG9tRWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgIHJldHVybiBodG1sTm9kZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ2hpbGRIVE1MTm9kZXMoQ2xhc3MsIGNoaWxkSFRNTE5vZGVzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBpZiAoY2hpbGRIVE1MTm9kZXMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgY2hpbGRIVE1MTm9kZXMgPSBDbGFzczsgIC8vL1xuXG4gICAgICBDbGFzcyA9IEhUTUxOb2RlOyAvLy9cbiAgICB9XG5cbiAgICBjb25zdCBjaGlsZE5vZGVzID0gY2hpbGRIVE1MTm9kZXMsICAvLy9cbiAgICAgICAgICBkb21FbGVtZW50ID0gbnVsbCxcbiAgICAgICAgICBodG1sTm9kZSA9IE5vZGUuZnJvbUNoaWxkTm9kZXMoQ2xhc3MsIGNoaWxkTm9kZXMsIGRvbUVsZW1lbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICByZXR1cm4gaHRtbE5vZGU7XG4gIH1cbn1cblxuT2JqZWN0LmFzc2lnbihIVE1MTm9kZS5wcm90b3R5cGUsIG5vZGVNaXhpbnMpO1xuXG5leHBvcnQgZGVmYXVsdCBIVE1MTm9kZTtcbiJdLCJuYW1lcyI6WyJIVE1MTm9kZSIsIk5vZGUiLCJvdXRlck5vZGUiLCJwYXJlbnROb2RlIiwiY2hpbGROb2RlcyIsImRvbUVsZW1lbnQiLCJnZXRET01FbGVtZW50Iiwic2V0RE9NRWxlbWVudCIsInJlc2V0RE9NRWxlbWVudCIsImdldFJ1bGVOYW1lIiwibWFya2Rvd25Ob2RlIiwiZ2V0TWFya2Rvd25Ob2RlIiwicnVsZU5hbWUiLCJpc1Rlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlIiwiZ2V0T3V0ZXJOb2RlIiwiZ2V0UGFyZW50SFRNTE5vZGUiLCJnZXRQYXJlbnROb2RlIiwicGFyZW50SFRNTE5vZGUiLCJnZXRDaGlsZEhUTUxOb2RlcyIsImdldENoaWxkTm9kZXMiLCJjaGlsZEhUTUxOb2RlcyIsImdldEFuY2VzdG9ySFRNTE5vZGVzIiwiYW5jZXN0b3JOb2RlcyIsImdldEFuY2VzdG9yTm9kZXMiLCJhbmNlc3RvckhUTUxOb2RlcyIsInJlZHVjZUNoaWxkSFRNTE5vZGUiLCJjYWxsYmFjayIsImluaXRpYWxWYWx1ZSIsInJlZHVjZUNoaWxkTm9kZSIsInNvbWVBbmNlc3RvckhUTUxOb2RlIiwic29tZUFuY2VzdG9yTm9kZSIsInNvbWVDaGlsZEhUTUxOb2RlIiwic29tZUNoaWxkTm9kZSIsInJldHJpZXZlSFRNTE5vZGUiLCJodG1sTm9kZSIsInNvbWUiLCJjaGlsZEhUTUxOb2RlIiwicmVzdWx0IiwibWF0Y2hNYXJrZG93bk5vZGUiLCJvdXRlck5vZGVNYXRjaGVzIiwibWF0Y2hPdXRlck5vZGUiLCJtYXJrZG93bk5vZGVNYXRjaGVzIiwiYWRqdXN0SW5kZW50IiwiaW5kZW50IiwiRE9VQkxFX1NQQUNFIiwibGluZXMiLCJjb250ZXh0IiwiY2hpbGROb2RlIiwiY2hpbGROb2RlTGluZXMiLCJ0YWdOYW1lIiwiZGVwdGgiLCJjbGFzc05hbWUiLCJjbG9zaW5nVGFnIiwic3RhcnRpbmdUYWciLCJhdHRyaWJ1dGVOYW1lIiwiYXR0cmlidXRlVmFsdWUiLCJjbGFzc0hUTUwiLCJFTVBUWV9TVFJJTkciLCJhdHRyaWJ1dGVIVE1MIiwic2VsZkNsb3NpbmdUYWciLCJjcmVhdGVET01FbGVtZW50IiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiT2JqZWN0IiwiYXNzaWduIiwic2V0QXR0cmlidXRlIiwibW91bnQiLCJwYXJlbnRET01FbGVtZW50Iiwic2libGluZ0RPTUVsZW1lbnQiLCJpbnNlcnRBZnRlciIsImluc2VydEJlZm9yZWhhbmQiLCJmb3JFYWNoIiwidW5tb3VudCIsInJlbW92ZSIsImFzSFRNTCIsInVuZGVmaW5lZCIsImh0bWwiLCJjaGlsZE5vZGVzSFRNTCIsImNoaWxkTm9kZXNBc0hUTUwiLCJhc1BsYWluVGV4dCIsImNoaWxkTm9kZXNQbGFpblRleHQiLCJjaGlsZE5vZGVzQXNQbGFpblRleHQiLCJwbGFpblRleHQiLCJjaGlsZE5vZGVIVE1MIiwiY2hpbGROb2RlUGxhaW5UZXh0IiwiZnJvbU5vdGhpbmciLCJDbGFzcyIsInJlbWFpbmluZ0FyZ3VtZW50cyIsImZyb21PdXRlck5vZGUiLCJmcm9tRE9NRWxlbWVudCIsImZyb21DaGlsZEhUTUxOb2RlcyIsImZyb21DaGlsZE5v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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "highmark-markdown",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "1.2.
|
|
4
|
+
"version": "1.2.155",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/highmark-markdown",
|
|
7
7
|
"description": "Highmark's Markdown and Markdown Style languages.",
|
package/src/node/html.js
CHANGED
|
@@ -107,37 +107,6 @@ class HTMLNode extends Node {
|
|
|
107
107
|
return htmlNode;
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
-
removeChildHTMLNodes(removedChildHTMLNodes = null) {
|
|
111
|
-
let childHTMLNodes;
|
|
112
|
-
|
|
113
|
-
childHTMLNodes = this.getChildHTMLNodes();
|
|
114
|
-
|
|
115
|
-
if (removedChildHTMLNodes !== null) {
|
|
116
|
-
childHTMLNodes = childHTMLNodes.filter((childHTMLNode) => { ///
|
|
117
|
-
const markdownNode = childHTMLNode.getMarkdownNode(),
|
|
118
|
-
index = removedChildHTMLNodes.findIndex((removedChildHTMLNode) => {
|
|
119
|
-
const markdownNodeMatches = removedChildHTMLNode.matchMarkdownNode(markdownNode);
|
|
120
|
-
|
|
121
|
-
if (markdownNodeMatches) {
|
|
122
|
-
return true;
|
|
123
|
-
}
|
|
124
|
-
});
|
|
125
|
-
|
|
126
|
-
if (index !== -1) {
|
|
127
|
-
return true;
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
let removedChildNodes = childHTMLNodes; ///
|
|
133
|
-
|
|
134
|
-
removedChildNodes = this.removeChildNodes(removedChildNodes);
|
|
135
|
-
|
|
136
|
-
removedChildHTMLNodes = removedChildNodes; ///
|
|
137
|
-
|
|
138
|
-
return removedChildHTMLNodes;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
110
|
matchMarkdownNode(markdownNode) {
|
|
142
111
|
const outerNode = markdownNode, ///
|
|
143
112
|
outerNodeMatches = this.matchOuterNode(outerNode),
|
|
@@ -146,13 +115,6 @@ class HTMLNode extends Node {
|
|
|
146
115
|
return markdownNodeMatches;
|
|
147
116
|
}
|
|
148
117
|
|
|
149
|
-
addChildHTMLNodes(addedChildHTMLNodes, startHTNLIndex) {
|
|
150
|
-
const addedChildNodes = addedChildHTMLNodes, ///
|
|
151
|
-
startIndex = startHTNLIndex; ///
|
|
152
|
-
|
|
153
|
-
this.addChildNodes(addedChildNodes, startIndex);
|
|
154
|
-
}
|
|
155
|
-
|
|
156
118
|
adjustIndent(indent) {
|
|
157
119
|
if (indent !== null) {
|
|
158
120
|
indent = `${DOUBLE_SPACE}${indent}`;
|