highmark-markdown 1.0.9 → 1.0.10
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/example.js +662 -354
- package/lib/example/importer.js +6 -2
- package/lib/example/view/div/preview.js +43 -51
- package/lib/example/view.js +14 -7
- package/lib/mixins/element.js +1 -14
- package/lib/node/markdown/anchor.js +19 -6
- package/lib/node/markdown/blockLine.js +47 -21
- package/lib/node/markdown/comma.js +8 -9
- package/lib/node/markdown/directive/pageNumber.js +8 -14
- package/lib/node/markdown/directives.js +6 -20
- package/lib/node/markdown/emailLink.js +54 -13
- package/lib/node/markdown/emphasisedText.js +49 -2
- package/lib/node/markdown/emptyTableCell.js +8 -7
- package/lib/node/markdown/endOfLine.js +1 -2
- package/lib/node/markdown/error.js +31 -14
- package/lib/node/markdown/footnoteLink.js +14 -8
- package/lib/node/markdown/hyperlink.js +60 -12
- package/lib/node/markdown/image.js +1 -2
- package/lib/node/markdown/indexLink.js +37 -1
- package/lib/node/markdown/inlineListing.js +38 -10
- package/lib/node/markdown/inlineText.js +1 -2
- package/lib/node/markdown/line.js +40 -16
- package/lib/node/markdown/strongText.js +49 -2
- package/lib/node/markdown/stronglyEmphasisedText.js +31 -10
- package/lib/node/markdown/subDivision.js +1 -16
- package/lib/node/markdown/tableBodyCell.js +1 -8
- package/lib/node/markdown/tableCell.js +1 -11
- package/lib/node/markdown/tableHeadCell.js +1 -8
- package/lib/node/markdown/verticalSpace.js +8 -9
- package/lib/node/markdown.js +60 -41
- package/lib/utilities/childNodes.js +2 -3
- package/package.json +1 -1
- package/src/example/importer.js +3 -1
- package/src/example/view/div/preview.js +40 -30
- package/src/example/view.js +16 -11
- package/src/mixins/element.js +0 -18
- package/src/node/markdown/anchor.js +23 -6
- package/src/node/markdown/blockLine.js +31 -28
- package/src/node/markdown/comma.js +7 -9
- package/src/node/markdown/directive/pageNumber.js +11 -16
- package/src/node/markdown/directives.js +6 -20
- package/src/node/markdown/emailLink.js +39 -14
- package/src/node/markdown/emphasisedText.js +37 -1
- package/src/node/markdown/emptyTableCell.js +6 -4
- package/src/node/markdown/endOfLine.js +0 -2
- package/src/node/markdown/error.js +11 -16
- package/src/node/markdown/footnoteLink.js +18 -7
- package/src/node/markdown/hyperlink.js +46 -15
- package/src/node/markdown/image.js +0 -2
- package/src/node/markdown/indexLink.js +19 -0
- package/src/node/markdown/inlineListing.js +18 -8
- package/src/node/markdown/inlineText.js +0 -2
- package/src/node/markdown/line.js +23 -23
- package/src/node/markdown/strongText.js +37 -1
- package/src/node/markdown/stronglyEmphasisedText.js +47 -13
- package/src/node/markdown/subDivision.js +0 -16
- package/src/node/markdown/tableBodyCell.js +0 -9
- package/src/node/markdown/tableCell.js +0 -14
- package/src/node/markdown/tableHeadCell.js +0 -9
- package/src/node/markdown/verticalSpace.js +6 -8
- package/src/node/markdown.js +74 -50
- package/src/utilities/childNodes.js +1 -3
package/lib/node/markdown.js
CHANGED
|
@@ -273,6 +273,65 @@ var MarkdownNode = /*#__PURE__*/ function(NonTerminalNode) {
|
|
|
273
273
|
return lines;
|
|
274
274
|
}
|
|
275
275
|
},
|
|
276
|
+
{
|
|
277
|
+
key: "mount",
|
|
278
|
+
value: function mount(parentDOMElement, siblingDOMElement, context) {
|
|
279
|
+
this.domElement = this.createDOMElement(context);
|
|
280
|
+
if (this.domElement !== null) {
|
|
281
|
+
if (siblingDOMElement !== null) {
|
|
282
|
+
siblingDOMElement = siblingDOMElement.nextSibling; ///
|
|
283
|
+
}
|
|
284
|
+
parentDOMElement.insertBefore(this.domElement, siblingDOMElement);
|
|
285
|
+
parentDOMElement = this.domElement; ///
|
|
286
|
+
}
|
|
287
|
+
siblingDOMElement = null;
|
|
288
|
+
this.childNodes.forEach(function(childNode) {
|
|
289
|
+
var childNodeMarkdownNode = _instanceof(childNode, MarkdownNode);
|
|
290
|
+
if (childNodeMarkdownNode) {
|
|
291
|
+
var markdownNode = childNode; ///
|
|
292
|
+
siblingDOMElement = markdownNode.mount(parentDOMElement, siblingDOMElement, context);
|
|
293
|
+
}
|
|
294
|
+
});
|
|
295
|
+
if (this.domElement !== null) {
|
|
296
|
+
siblingDOMElement = this.domElement;
|
|
297
|
+
}
|
|
298
|
+
return siblingDOMElement;
|
|
299
|
+
}
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
key: "unmount",
|
|
303
|
+
value: function unmount(parentDOMElement, context) {
|
|
304
|
+
if (this.domElement !== null) {
|
|
305
|
+
parentDOMElement.removeChild(this.domElement);
|
|
306
|
+
parentDOMElement = this.domElement; ///
|
|
307
|
+
this.domElement = null;
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
310
|
+
this.childNodes.forEach(function(childNode) {
|
|
311
|
+
childNode.unmount(parentDOMElement, context);
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
key: "createDOMElement",
|
|
317
|
+
value: function createDOMElement(context) {
|
|
318
|
+
var domElement = null;
|
|
319
|
+
var tagName = this.tagName(context);
|
|
320
|
+
if (tagName !== null) {
|
|
321
|
+
domElement = document.createElement(tagName);
|
|
322
|
+
var className = this.className(context), attributeName = this.attributeName(context), attributeValue = this.attributeValue(context);
|
|
323
|
+
if (className !== null) {
|
|
324
|
+
Object.assign(domElement, {
|
|
325
|
+
className: className
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
if (attributeName !== null && attributeValue !== null) {
|
|
329
|
+
domElement.setAttribute(attributeName, attributeValue);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
return domElement;
|
|
333
|
+
}
|
|
334
|
+
},
|
|
276
335
|
{
|
|
277
336
|
key: "asHTML",
|
|
278
337
|
value: function asHTML(indent, context) {
|
|
@@ -320,28 +379,6 @@ var MarkdownNode = /*#__PURE__*/ function(NonTerminalNode) {
|
|
|
320
379
|
return childNodesHTML;
|
|
321
380
|
}
|
|
322
381
|
},
|
|
323
|
-
{
|
|
324
|
-
key: "createDOMElement",
|
|
325
|
-
value: function createDOMElement(context) {
|
|
326
|
-
var domElement = null;
|
|
327
|
-
var tagName = this.tagName(context);
|
|
328
|
-
if (tagName !== null) {
|
|
329
|
-
domElement = document.createElement(tagName);
|
|
330
|
-
var className = this.className(context), attributeName = this.attributeName(context), attributeValue = this.attributeValue(context);
|
|
331
|
-
if (className !== null) {
|
|
332
|
-
Object.assign(domElement, {
|
|
333
|
-
className: className
|
|
334
|
-
});
|
|
335
|
-
}
|
|
336
|
-
if (attributeName !== null && attributeValue !== null) {
|
|
337
|
-
domElement.setAttribute(attributeName, attributeValue);
|
|
338
|
-
}
|
|
339
|
-
this.setDOMElement(domElement);
|
|
340
|
-
this.createChildNodeDOMElements(context);
|
|
341
|
-
}
|
|
342
|
-
return domElement;
|
|
343
|
-
}
|
|
344
|
-
},
|
|
345
382
|
{
|
|
346
383
|
key: "childNodesAsPlainText",
|
|
347
384
|
value: function childNodesAsPlainText(context) {
|
|
@@ -358,24 +395,6 @@ var MarkdownNode = /*#__PURE__*/ function(NonTerminalNode) {
|
|
|
358
395
|
return childNodesPlainText;
|
|
359
396
|
}
|
|
360
397
|
},
|
|
361
|
-
{
|
|
362
|
-
key: "createChildNodeDOMElements",
|
|
363
|
-
value: function createChildNodeDOMElements(context) {
|
|
364
|
-
var _this = this;
|
|
365
|
-
var childNodes = this.getChildNodes();
|
|
366
|
-
childNodes.forEach(function(childNode) {
|
|
367
|
-
var childNodeMarkdownNode = _instanceof(childNode, MarkdownNode);
|
|
368
|
-
if (childNodeMarkdownNode) {
|
|
369
|
-
var markdownNode = childNode; ///
|
|
370
|
-
markdownNode.createDOMElement(context);
|
|
371
|
-
var domElement = markdownNode.getDOMElement();
|
|
372
|
-
if (domElement !== null) {
|
|
373
|
-
_this.addDOMElement(domElement);
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
});
|
|
377
|
-
}
|
|
378
|
-
},
|
|
379
398
|
{
|
|
380
399
|
key: "clone",
|
|
381
400
|
value: function clone() {
|
|
@@ -414,4 +433,4 @@ Object.assign(MarkdownNode.prototype, _node.default);
|
|
|
414
433
|
Object.assign(MarkdownNode.prototype, _element.default);
|
|
415
434
|
var _default = MarkdownNode;
|
|
416
435
|
|
|
417
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL21hcmtkb3duLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBOb25UZXJtaW5hbE5vZGUgfSBmcm9tIFwib2NjYW0tcGFyc2Vyc1wiO1xuXG5pbXBvcnQgZWxlbWVudE1hcCBmcm9tIFwiLi4vZWxlbWVudE1hcFwiO1xuaW1wb3J0IG5vZGVNaXhpbnMgZnJvbSBcIi4uL21peGlucy9ub2RlXCI7XG5pbXBvcnQgZWxlbWVudE1peGlucyBmcm9tIFwiLi4vbWl4aW5zL2VsZW1lbnRcIjtcblxuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5jbGFzcyBNYXJrZG93bk5vZGUgZXh0ZW5kcyBOb25UZXJtaW5hbE5vZGUge1xuICBjb25zdHJ1Y3RvcihydWxlTmFtZSwgY2hpbGROb2RlcywgcHJlY2VkZW5jZSwgb3BhY2l0eSwgZG9tRWxlbWVudCkge1xuICAgIHN1cGVyKHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBwcmVjZWRlbmNlLCBvcGFjaXR5KTtcblxuICAgIHRoaXMuZG9tRWxlbWVudCA9IGRvbUVsZW1lbnQ7XG4gIH1cblxuICBnZXRET01FbGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLmRvbUVsZW1lbnQ7XG4gIH1cblxuICBzZXRET01FbGVtZW50KGRvbUVsZW1lbnQpIHtcbiAgICB0aGlzLmRvbUVsZW1lbnQgPSBkb21FbGVtZW50O1xuICB9XG5cbiAgdGFnTmFtZShjb250ZXh0KSB7XG4gICAgY29uc3QgeyB0YWdOYW1lIH0gPSBlbGVtZW50TWFwW3RoaXMucnVsZU5hbWVdO1xuXG4gICAgcmV0dXJuIHRhZ05hbWU7XG4gIH1cblxuICBjbGFzc05hbWUoY29udGV4dCkge1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lIH0gPSBlbGVtZW50TWFwW3RoaXMucnVsZU5hbWVdO1xuXG4gICAgcmV0dXJuIGNsYXNzTmFtZTtcbiAgfVxuXG4gIGNsb3NpbmdUYWcoY29udGV4dCkge1xuICAgIGNvbnN0IHRhZ05hbWUgPSB0aGlzLnRhZ05hbWUoY29udGV4dCksXG4gICAgICAgICAgY2xvc2luZ1RhZyA9IGA8LyR7dGFnTmFtZX0+YDtcblxuICAgIHJldHVybiBjbG9zaW5nVGFnO1xuICB9XG5cbiAgc3RhcnRpbmdUYWcoY29udGV4dCkge1xuICAgIGNvbnN0IHRhZ05hbWUgPSB0aGlzLnRhZ05hbWUoY29udGV4dCksXG4gICAgICAgICAgY2xhc3NOYW1lID0gdGhpcy5jbGFzc05hbWUoY29udGV4dCksXG4gICAgICAgICAgYXR0cmlidXRlTmFtZSA9IHRoaXMuYXR0cmlidXRlTmFtZShjb250ZXh0KSxcbiAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZSA9IHRoaXMuYXR0cmlidXRlVmFsdWUoY29udGV4dCksXG4gICAgICAgICAgY2xhc3NIVE1MID0gKGNsYXNzTmFtZSAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICBgIGNsYXNzPVwiJHtjbGFzc05hbWV9XCJgIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgRU1QVFlfU1RSSU5HLFxuICAgICAgICAgIGF0dHJpYnV0ZUhUTUwgPSAoKGF0dHJpYnV0ZU5hbWUgIT09IG51bGwpICYmIChhdHRyaWJ1dGVWYWx1ZSAhPT0gbnVsbCkpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGAgJHthdHRyaWJ1dGVOYW1lfT1cIiR7YXR0cmlidXRlVmFsdWV9XCJgIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVNUFRZX1NUUklORyxcbiAgICAgICAgICBzdGFydGluZ1RhZyA9IGA8JHt0YWdOYW1lfSR7Y2xhc3NIVE1MfSR7YXR0cmlidXRlSFRNTH0+YDtcblxuICAgIHJldHVybiBzdGFydGluZ1RhZztcbiAgfVxuXG4gIHNlbGZDbG9zaW5nVGFnKGNvbnRleHQpIHtcbiAgICBjb25zdCB0YWdOYW1lID0gdGhpcy50YWdOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGNsYXNzTmFtZSA9IHRoaXMuY2xhc3NOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGF0dHJpYnV0ZU5hbWUgPSB0aGlzLmF0dHJpYnV0ZU5hbWUoY29udGV4dCksXG4gICAgICAgICAgYXR0cmlidXRlVmFsdWUgPSB0aGlzLmF0dHJpYnV0ZVZhbHVlKGNvbnRleHQpLFxuICAgICAgICAgIGNsYXNzSFRNTCA9IChjbGFzc05hbWUgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgYCBjbGFzcz1cIiR7Y2xhc3NOYW1lfVwiYCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgIEVNUFRZX1NUUklORyxcbiAgICAgICAgICBhdHRyaWJ1dGVIVE1MID0gKChhdHRyaWJ1dGVOYW1lICE9PSBudWxsKSAmJiAoYXR0cmlidXRlVmFsdWUgIT09IG51bGwpKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBgICR7YXR0cmlidXRlTmFtZX09XCIke2F0dHJpYnV0ZVZhbHVlfVwiYCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFTVBUWV9TVFJJTkcsXG4gICAgICAgICAgc2VsZkNsb3NpbmdUYWcgPSBgPCR7dGFnTmFtZX0ke2NsYXNzSFRNTH0ke2F0dHJpYnV0ZUhUTUx9Lz5gO1xuXG4gICAgcmV0dXJuIHNlbGZDbG9zaW5nVGFnO1xuICB9XG5cbiAgYWRqdXN0SW5kZW50KGluZGVudCkge1xuICAgIGlmIChpbmRlbnQgIT09IG51bGwpIHtcbiAgICAgIGluZGVudCA9IGAgICR7aW5kZW50fWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGluZGVudDtcbiAgfVxuXG4gIGF0dHJpYnV0ZU5hbWUoY29udGV4dCkge1xuICAgIGNvbnN0IGF0dHJpYnV0ZU5hbWUgPSBudWxsO1xuXG4gICAgcmV0dXJuIGF0dHJpYnV0ZU5hbWU7XG4gIH1cblxuICBhdHRyaWJ1dGVWYWx1ZShjb250ZXh0KSB7XG4gICAgY29uc3QgYXR0cmlidXRlVmFsdWUgPSBudWxsO1xuXG4gICAgcmV0dXJuIGF0dHJpYnV0ZVZhbHVlO1xuICB9XG5cbiAgaXNEaXZpc2lvbk1hcmtkb3duTm9kZSgpIHtcbiAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIGRpdmlzaW9uTWFya2Rvd25Ob2RlO1xuICB9XG5cbiAgaXNQbGFpblRleHRNYXJrZG93bk5vZGUoKSB7XG4gICAgY29uc3QgcGxhaW5UZXh0TWFya2Rvd25Ob2RlID0gZmFsc2U7XG5cbiAgICByZXR1cm4gcGxhaW5UZXh0TWFya2Rvd25Ob2RlO1xuICB9XG5cbiAgbGluZXMoY29udGV4dCkge1xuICAgIGxldCBsaW5lcztcblxuICAgICh7IGxpbmVzID0gbnVsbCB9ID0gdGhpcy5jb25zdHJ1Y3Rvcik7XG5cbiAgICBpZiAobGluZXMgPT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGNoaWxkTm9kZXMgPSB0aGlzLmdldENoaWxkTm9kZXMoKTtcblxuICAgICAgbGluZXMgPSBjaGlsZE5vZGVzLnJlZHVjZSgobGluZXMsIGNoaWxkTm9kZSkgPT4ge1xuICAgICAgICBjb25zdCBjaGlsZE5vZGVNYXJrZG93bk5vZGUgPSAoY2hpbGROb2RlIGluc3RhbmNlb2YgTWFya2Rvd25Ob2RlKTtcblxuICAgICAgICBpZiAoY2hpbGROb2RlTWFya2Rvd25Ob2RlKSB7XG4gICAgICAgICAgY29uc3QgbWFya2Rvd25Ob2RlID0gY2hpbGROb2RlLCAvLy9cbiAgICAgICAgICAgICAgICBtYXJrZG93bk5vZGVMaW5lcyA9IG1hcmtkb3duTm9kZS5saW5lcyhjb250ZXh0KTtcblxuICAgICAgICAgIGxpbmVzICs9IG1hcmtkb3duTm9kZUxpbmVzO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGxpbmVzO1xuICAgICAgfSwgMCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxpbmVzO1xuICB9XG5cbiAgYXNIVE1MKGluZGVudCwgY29udGV4dCkge1xuICAgIGxldCBodG1sID0gbnVsbDtcblxuICAgIGNvbnN0IHRhZ05hbWUgPSB0aGlzLnRhZ05hbWUoY29udGV4dCk7XG5cbiAgICBpZiAodGFnTmFtZSAhPT0gbnVsbCkge1xuICAgICAgaW5kZW50ID0gdGhpcy5hZGp1c3RJbmRlbnQoaW5kZW50KTtcblxuICAgICAgY29uc3QgY2hpbGROb2Rlc0hUTUwgPSB0aGlzLmNoaWxkTm9kZXNBc0hUTUwoaW5kZW50LCBjb250ZXh0KTtcblxuICAgICAgaWYgKGNoaWxkTm9kZXNIVE1MICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0aW5nVGFnID0gdGhpcy5zdGFydGluZ1RhZyhjb250ZXh0KSxcbiAgICAgICAgICAgICAgY2xvc2luZ1RhZyA9IHRoaXMuY2xvc2luZ1RhZyhjb250ZXh0KTtcblxuICAgICAgICBodG1sID0gKGluZGVudCA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICBgJHtzdGFydGluZ1RhZ30ke2NoaWxkTm9kZXNIVE1MfSR7Y2xvc2luZ1RhZ31gIDpcbiAgICAgICAgICAgICAgICAgICBgJHtpbmRlbnR9JHtzdGFydGluZ1RhZ31cbiR7Y2hpbGROb2Rlc0hUTUx9JHtpbmRlbnR9JHtjbG9zaW5nVGFnfVxuYDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHNlbGZDbG9zaW5nVGFnID0gdGhpcy5zZWxmQ2xvc2luZ1RhZyhjb250ZXh0KTtcblxuICAgICAgICBodG1sID0gKGluZGVudCA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgIHNlbGZDbG9zaW5nVGFnIDogIC8vL1xuYCR7aW5kZW50fSR7c2VsZkNsb3NpbmdUYWd9XG5gO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBodG1sO1xuICB9XG5cbiAgYXNQbGFpblRleHQoY29udGV4dCkge1xuICAgIGxldCBwbGFpblRleHQgPSBudWxsO1xuXG4gICAgY29uc3QgdGFnTmFtZSA9IHRoaXMudGFnTmFtZShjb250ZXh0KTtcblxuICAgIGlmICh0YWdOYW1lICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBjaGlsZE5vZGVzUGxhaW5UZXh0ID0gdGhpcy5jaGlsZE5vZGVzQXNQbGFpblRleHQoY29udGV4dCk7XG5cbiAgICAgIHBsYWluVGV4dCA9IGNoaWxkTm9kZXNQbGFpblRleHQ7ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gcGxhaW5UZXh0O1xuICB9XG5cbiAgY2hpbGROb2Rlc0FzSFRNTChpbmRlbnQsIGNvbnRleHQpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gdGhpcy5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgY2hpbGROb2Rlc0hUTUwgPSBjaGlsZE5vZGVzLnJlZHVjZSgoY2hpbGROb2Rlc0hUTUwsIGNoaWxkTm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2hpbGROb2RlTWFya2Rvd25Ob2RlID0gKGNoaWxkTm9kZSBpbnN0YW5jZW9mIE1hcmtkb3duTm9kZSk7XG5cbiAgICAgICAgICAgIGlmIChjaGlsZE5vZGVNYXJrZG93bk5vZGUpIHtcbiAgICAgICAgICAgICAgY29uc3QgbWFya2Rvd25Ob2RlID0gY2hpbGROb2RlLCAvLy9cbiAgICAgICAgICAgICAgICAgICAgbWFya2Rvd25Ob2RlSFRNTCA9IG1hcmtkb3duTm9kZS5hc0hUTUwoaW5kZW50LCBjb250ZXh0KTtcblxuICAgICAgICAgICAgICBpZiAobWFya2Rvd25Ob2RlSFRNTCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGNoaWxkTm9kZXNIVE1MID0gKGNoaWxkTm9kZXNIVE1MID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtkb3duTm9kZUhUTUwgOiAgLy8vXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtjaGlsZE5vZGVzSFRNTH0ke21hcmtkb3duTm9kZUhUTUx9YDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gY2hpbGROb2Rlc0hUTUw7XG4gICAgICAgICAgfSwgbnVsbCk7XG5cbiAgICByZXR1cm4gY2hpbGROb2Rlc0hUTUw7XG4gIH1cblxuICBjcmVhdGVET01FbGVtZW50KGNvbnRleHQpIHtcbiAgICBsZXQgZG9tRWxlbWVudCA9IG51bGw7XG5cbiAgICBjb25zdCB0YWdOYW1lID0gdGhpcy50YWdOYW1lKGNvbnRleHQpO1xuXG4gICAgaWYgKHRhZ05hbWUgIT09IG51bGwpIHtcbiAgICAgIGRvbUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpO1xuXG4gICAgICBjb25zdCBjbGFzc05hbWUgPSB0aGlzLmNsYXNzTmFtZShjb250ZXh0KSxcbiAgICAgICAgICAgIGF0dHJpYnV0ZU5hbWUgPSB0aGlzLmF0dHJpYnV0ZU5hbWUoY29udGV4dCksXG4gICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZSA9IHRoaXMuYXR0cmlidXRlVmFsdWUoY29udGV4dCk7XG5cbiAgICAgIGlmIChjbGFzc05hbWUgIT09IG51bGwpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihkb21FbGVtZW50LCB7XG4gICAgICAgICAgY2xhc3NOYW1lXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAoKGF0dHJpYnV0ZU5hbWUgIT09IG51bGwpICYmIChhdHRyaWJ1dGVWYWx1ZSAhPT0gbnVsbCkpIHtcbiAgICAgICAgZG9tRWxlbWVudC5zZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwgYXR0cmlidXRlVmFsdWUpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNldERPTUVsZW1lbnQoZG9tRWxlbWVudCk7XG5cbiAgICAgIHRoaXMuY3JlYXRlQ2hpbGROb2RlRE9NRWxlbWVudHMoY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRvbUVsZW1lbnQ7XG4gIH1cblxuICBjaGlsZE5vZGVzQXNQbGFpblRleHQoY29udGV4dCkge1xuICAgIGNvbnN0IGNoaWxkTm9kZXMgPSB0aGlzLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBjaGlsZE5vZGVzUGxhaW5UZXh0ID0gY2hpbGROb2Rlcy5yZWR1Y2UoKGNoaWxkTm9kZXNQbGFpblRleHQsIGNoaWxkTm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2hpbGROb2RlTWFya2Rvd25Ob2RlID0gKGNoaWxkTm9kZSBpbnN0YW5jZW9mIE1hcmtkb3duTm9kZSk7XG5cbiAgICAgICAgICAgIGlmIChjaGlsZE5vZGVNYXJrZG93bk5vZGUpIHtcbiAgICAgICAgICAgICAgY29uc3QgbWFya2Rvd25Ob2RlID0gY2hpbGROb2RlLCAvLy9cbiAgICAgICAgICAgICAgICAgICAgbWFya2Rvd25Ob2RlUGxhaW5UZXh0ID0gbWFya2Rvd25Ob2RlLmFzUGxhaW5UZXh0KGNvbnRleHQpO1xuXG4gICAgICAgICAgICAgIGlmIChtYXJrZG93bk5vZGVQbGFpblRleHQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBjaGlsZE5vZGVzUGxhaW5UZXh0ID0gKGNoaWxkTm9kZXNQbGFpblRleHQgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJrZG93bk5vZGVQbGFpblRleHQgOiAgLy8vXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke2NoaWxkTm9kZXNQbGFpblRleHR9XG4ke21hcmtkb3duTm9kZVBsYWluVGV4dH1gO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBjaGlsZE5vZGVzUGxhaW5UZXh0O1xuICAgICAgICAgIH0sIG51bGwpO1xuXG4gICAgcmV0dXJuIGNoaWxkTm9kZXNQbGFpblRleHQ7XG4gIH1cblxuICBjcmVhdGVDaGlsZE5vZGVET01FbGVtZW50cyhjb250ZXh0KSB7XG4gICAgY29uc3QgY2hpbGROb2RlcyA9IHRoaXMuZ2V0Q2hpbGROb2RlcygpO1xuXG4gICAgY2hpbGROb2Rlcy5mb3JFYWNoKChjaGlsZE5vZGUpID0+IHtcbiAgICAgIGNvbnN0IGNoaWxkTm9kZU1hcmtkb3duTm9kZSA9IChjaGlsZE5vZGUgaW5zdGFuY2VvZiBNYXJrZG93bk5vZGUpO1xuXG4gICAgICBpZiAoY2hpbGROb2RlTWFya2Rvd25Ob2RlKSB7XG4gICAgICAgIGNvbnN0IG1hcmtkb3duTm9kZSA9IGNoaWxkTm9kZTsgLy8vXG5cbiAgICAgICAgbWFya2Rvd25Ob2RlLmNyZWF0ZURPTUVsZW1lbnQoY29udGV4dCk7XG5cbiAgICAgICAgY29uc3QgZG9tRWxlbWVudCA9IG1hcmtkb3duTm9kZS5nZXRET01FbGVtZW50KCk7XG5cbiAgICAgICAgaWYgKGRvbUVsZW1lbnQgIT09IG51bGwpIHtcbiAgICAgICAgICB0aGlzLmFkZERPTUVsZW1lbnQoZG9tRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGNsb25lKC4uLnJlbWFpbmluZ0FyZ3VtZW50cykgeyByZXR1cm4gc3VwZXIuY2xvbmUodGhpcy5kb21FbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMpOyB9XG5cbiAgc3RhdGljIGZyb21SdWxlTmFtZUNoaWxkTm9kZXNBbmRPcGFjaXR5KENsYXNzLCBydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgY29uc3QgZG9tRWxlbWVudCA9IG51bGwsXG4gICAgICAgICAgbWFya2Rvd25Ob2RlID0gTm9uVGVybWluYWxOb2RlLmZyb21SdWxlTmFtZUNoaWxkTm9kZXNBbmRPcGFjaXR5KENsYXNzLCBydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgZG9tRWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgIHJldHVybiBtYXJrZG93bk5vZGU7XG4gIH1cbn1cblxuT2JqZWN0LmFzc2lnbihNYXJrZG93bk5vZGUucHJvdG90eXBlLCBub2RlTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oTWFya2Rvd25Ob2RlLnByb3RvdHlwZSwgZWxlbWVudE1peGlucyk7XG5cbmV4cG9ydCBkZWZhdWx0IE1hcmtkb3duTm9kZTtcbiJdLCJuYW1lcyI6WyJNYXJrZG93bk5vZGUiLCJydWxlTmFtZSIsImNoaWxkTm9kZXMiLCJwcmVjZWRlbmNlIiwib3BhY2l0eSIsImRvbUVsZW1lbnQiLCJnZXRET01FbGVtZW50Iiwic2V0RE9NRWxlbWVudCIsInRhZ05hbWUiLCJjb250ZXh0IiwiZWxlbWVudE1hcCIsImNsYXNzTmFtZSIsImNsb3NpbmdUYWciLCJzdGFydGluZ1RhZyIsImF0dHJpYnV0ZU5hbWUiLCJhdHRyaWJ1dGVWYWx1ZSIsImNsYXNzSFRNTCIsIkVNUFRZX1NUUklORyIsImF0dHJpYnV0ZUhUTUwiLCJzZWxmQ2xvc2luZ1RhZyIsImFkanVzdEluZGVudCIsImluZGVudCIsImlzRGl2aXNpb25NYXJrZG93bk5vZGUiLCJkaXZpc2lvbk1hcmtkb3duTm9kZSIsImlzUGxhaW5UZXh0TWFya2Rvd25Ob2RlIiwicGxhaW5UZXh0TWFya2Rvd25Ob2RlIiwibGluZXMiLCJjb25zdHJ1Y3RvciIsImdldENoaWxkTm9kZXMiLCJyZWR1Y2UiLCJjaGlsZE5vZGUiLCJjaGlsZE5vZGVNYXJrZG93bk5vZGUiLCJtYXJrZG93bk5vZGUiLCJtYXJrZG93bk5vZGVMaW5lcyIsImFzSFRNTCIsImh0bWwiLCJjaGlsZE5vZGVzSFRNTCIsImNoaWxkTm9kZXNBc0hUTUwiLCJhc1BsYWluVGV4dCIsInBsYWluVGV4dCIsImNoaWxkTm9kZXNQbGFpblRleHQiLCJjaGlsZE5vZGVzQXNQbGFpblRleHQiLCJtYXJrZG93bk5vZGVIVE1MIiwiY3JlYXRlRE9NRWxlbWVudCIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsInNldEF0dHJpYnV0ZSIsImNyZWF0ZUNoaWxkTm9kZURPTUVsZW1lbnRzIiwibWFya2Rvd25Ob2RlUGxhaW5UZXh0IiwiZm9yRWFjaCIsImFkZERPTUVsZW1lbnQiLCJjbG9uZSIsInJlbWFpbmluZ0FyZ3VtZW50cyIsImZyb21SdWxlTmFtZUNoaWxkTm9kZXNBbmRPcGFjaXR5IiwiQ2xhc3MiLCJOb25UZXJtaW5hbE5vZGUiLCJwcm90b3R5cGUiLCJub2RlTWl4aW5zIiwiZWxlbWVudE1peGlucyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBK1JBOzs7ZUFBQTs7OzRCQTdSZ0M7aUVBRVQ7MkRBQ0E7OERBQ0c7eUJBRUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTdCLElBQUEsQUFBTUEsNkJBQUQsQUFBTDtjQUFNQTsrQkFBQUE7YUFBQUEsYUFDUUMsUUFBUSxFQUFFQyxVQUFVLEVBQUVDLFVBQVUsRUFBRUMsT0FBTyxFQUFFQyxVQUFVO2dDQUQ3REw7O2tDQUVJQyxVQUFVQyxZQUFZQyxZQUFZQztRQUV4QyxNQUFLQyxVQUFVLEdBQUdBOzs7a0JBSmhCTDs7WUFPSk0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRCxVQUFVO1lBQ3hCOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBLGNBQWNGLFVBQVU7Z0JBQ3RCLElBQUksQ0FBQ0EsVUFBVSxHQUFHQTtZQUNwQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxRQUFRQyxPQUFPO2dCQUNiLElBQU0sQUFBRUQsVUFBWUUsbUJBQVUsQ0FBQyxJQUFJLENBQUNULFFBQVEsQ0FBQyxDQUFyQ087Z0JBRVIsT0FBT0E7WUFDVDs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxVQUFVRixPQUFPO2dCQUNmLElBQU0sQUFBRUUsWUFBY0QsbUJBQVUsQ0FBQyxJQUFJLENBQUNULFFBQVEsQ0FBQyxDQUF2Q1U7Z0JBRVIsT0FBT0E7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxXQUFXSCxPQUFPO2dCQUNoQixJQUFNRCxVQUFVLElBQUksQ0FBQ0EsT0FBTyxDQUFDQyxVQUN2QkcsYUFBYSxB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
|
|
436
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL21hcmtkb3duLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBOb25UZXJtaW5hbE5vZGUgfSBmcm9tIFwib2NjYW0tcGFyc2Vyc1wiO1xuXG5pbXBvcnQgZWxlbWVudE1hcCBmcm9tIFwiLi4vZWxlbWVudE1hcFwiO1xuaW1wb3J0IG5vZGVNaXhpbnMgZnJvbSBcIi4uL21peGlucy9ub2RlXCI7XG5pbXBvcnQgZWxlbWVudE1peGlucyBmcm9tIFwiLi4vbWl4aW5zL2VsZW1lbnRcIjtcblxuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5jbGFzcyBNYXJrZG93bk5vZGUgZXh0ZW5kcyBOb25UZXJtaW5hbE5vZGUge1xuICBjb25zdHJ1Y3RvcihydWxlTmFtZSwgY2hpbGROb2RlcywgcHJlY2VkZW5jZSwgb3BhY2l0eSwgZG9tRWxlbWVudCkge1xuICAgIHN1cGVyKHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBwcmVjZWRlbmNlLCBvcGFjaXR5KTtcblxuICAgIHRoaXMuZG9tRWxlbWVudCA9IGRvbUVsZW1lbnQ7XG4gIH1cblxuICBnZXRET01FbGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLmRvbUVsZW1lbnQ7XG4gIH1cblxuICBzZXRET01FbGVtZW50KGRvbUVsZW1lbnQpIHtcbiAgICB0aGlzLmRvbUVsZW1lbnQgPSBkb21FbGVtZW50O1xuICB9XG5cbiAgdGFnTmFtZShjb250ZXh0KSB7XG4gICAgY29uc3QgeyB0YWdOYW1lIH0gPSBlbGVtZW50TWFwW3RoaXMucnVsZU5hbWVdO1xuXG4gICAgcmV0dXJuIHRhZ05hbWU7XG4gIH1cblxuICBjbGFzc05hbWUoY29udGV4dCkge1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lIH0gPSBlbGVtZW50TWFwW3RoaXMucnVsZU5hbWVdO1xuXG4gICAgcmV0dXJuIGNsYXNzTmFtZTtcbiAgfVxuXG4gIGNsb3NpbmdUYWcoY29udGV4dCkge1xuICAgIGNvbnN0IHRhZ05hbWUgPSB0aGlzLnRhZ05hbWUoY29udGV4dCksXG4gICAgICAgICAgY2xvc2luZ1RhZyA9IGA8LyR7dGFnTmFtZX0+YDtcblxuICAgIHJldHVybiBjbG9zaW5nVGFnO1xuICB9XG5cbiAgc3RhcnRpbmdUYWcoY29udGV4dCkge1xuICAgIGNvbnN0IHRhZ05hbWUgPSB0aGlzLnRhZ05hbWUoY29udGV4dCksXG4gICAgICAgICAgY2xhc3NOYW1lID0gdGhpcy5jbGFzc05hbWUoY29udGV4dCksXG4gICAgICAgICAgYXR0cmlidXRlTmFtZSA9IHRoaXMuYXR0cmlidXRlTmFtZShjb250ZXh0KSxcbiAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZSA9IHRoaXMuYXR0cmlidXRlVmFsdWUoY29udGV4dCksXG4gICAgICAgICAgY2xhc3NIVE1MID0gKGNsYXNzTmFtZSAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICBgIGNsYXNzPVwiJHtjbGFzc05hbWV9XCJgIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgRU1QVFlfU1RSSU5HLFxuICAgICAgICAgIGF0dHJpYnV0ZUhUTUwgPSAoKGF0dHJpYnV0ZU5hbWUgIT09IG51bGwpICYmIChhdHRyaWJ1dGVWYWx1ZSAhPT0gbnVsbCkpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGAgJHthdHRyaWJ1dGVOYW1lfT1cIiR7YXR0cmlidXRlVmFsdWV9XCJgIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVNUFRZX1NUUklORyxcbiAgICAgICAgICBzdGFydGluZ1RhZyA9IGA8JHt0YWdOYW1lfSR7Y2xhc3NIVE1MfSR7YXR0cmlidXRlSFRNTH0+YDtcblxuICAgIHJldHVybiBzdGFydGluZ1RhZztcbiAgfVxuXG4gIHNlbGZDbG9zaW5nVGFnKGNvbnRleHQpIHtcbiAgICBjb25zdCB0YWdOYW1lID0gdGhpcy50YWdOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGNsYXNzTmFtZSA9IHRoaXMuY2xhc3NOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGF0dHJpYnV0ZU5hbWUgPSB0aGlzLmF0dHJpYnV0ZU5hbWUoY29udGV4dCksXG4gICAgICAgICAgYXR0cmlidXRlVmFsdWUgPSB0aGlzLmF0dHJpYnV0ZVZhbHVlKGNvbnRleHQpLFxuICAgICAgICAgIGNsYXNzSFRNTCA9IChjbGFzc05hbWUgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgYCBjbGFzcz1cIiR7Y2xhc3NOYW1lfVwiYCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgIEVNUFRZX1NUUklORyxcbiAgICAgICAgICBhdHRyaWJ1dGVIVE1MID0gKChhdHRyaWJ1dGVOYW1lICE9PSBudWxsKSAmJiAoYXR0cmlidXRlVmFsdWUgIT09IG51bGwpKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBgICR7YXR0cmlidXRlTmFtZX09XCIke2F0dHJpYnV0ZVZhbHVlfVwiYCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFTVBUWV9TVFJJTkcsXG4gICAgICAgICAgc2VsZkNsb3NpbmdUYWcgPSBgPCR7dGFnTmFtZX0ke2NsYXNzSFRNTH0ke2F0dHJpYnV0ZUhUTUx9Lz5gO1xuXG4gICAgcmV0dXJuIHNlbGZDbG9zaW5nVGFnO1xuICB9XG5cbiAgYWRqdXN0SW5kZW50KGluZGVudCkge1xuICAgIGlmIChpbmRlbnQgIT09IG51bGwpIHtcbiAgICAgIGluZGVudCA9IGAgICR7aW5kZW50fWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGluZGVudDtcbiAgfVxuXG4gIGF0dHJpYnV0ZU5hbWUoY29udGV4dCkge1xuICAgIGNvbnN0IGF0dHJpYnV0ZU5hbWUgPSBudWxsO1xuXG4gICAgcmV0dXJuIGF0dHJpYnV0ZU5hbWU7XG4gIH1cblxuICBhdHRyaWJ1dGVWYWx1ZShjb250ZXh0KSB7XG4gICAgY29uc3QgYXR0cmlidXRlVmFsdWUgPSBudWxsO1xuXG4gICAgcmV0dXJuIGF0dHJpYnV0ZVZhbHVlO1xuICB9XG5cbiAgaXNEaXZpc2lvbk1hcmtkb3duTm9kZSgpIHtcbiAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIGRpdmlzaW9uTWFya2Rvd25Ob2RlO1xuICB9XG5cbiAgaXNQbGFpblRleHRNYXJrZG93bk5vZGUoKSB7XG4gICAgY29uc3QgcGxhaW5UZXh0TWFya2Rvd25Ob2RlID0gZmFsc2U7XG5cbiAgICByZXR1cm4gcGxhaW5UZXh0TWFya2Rvd25Ob2RlO1xuICB9XG5cbiAgbGluZXMoY29udGV4dCkge1xuICAgIGxldCBsaW5lcztcblxuICAgICh7IGxpbmVzID0gbnVsbCB9ID0gdGhpcy5jb25zdHJ1Y3Rvcik7XG5cbiAgICBpZiAobGluZXMgPT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGNoaWxkTm9kZXMgPSB0aGlzLmdldENoaWxkTm9kZXMoKTtcblxuICAgICAgbGluZXMgPSBjaGlsZE5vZGVzLnJlZHVjZSgobGluZXMsIGNoaWxkTm9kZSkgPT4ge1xuICAgICAgICBjb25zdCBjaGlsZE5vZGVNYXJrZG93bk5vZGUgPSAoY2hpbGROb2RlIGluc3RhbmNlb2YgTWFya2Rvd25Ob2RlKTtcblxuICAgICAgICBpZiAoY2hpbGROb2RlTWFya2Rvd25Ob2RlKSB7XG4gICAgICAgICAgY29uc3QgbWFya2Rvd25Ob2RlID0gY2hpbGROb2RlLCAvLy9cbiAgICAgICAgICAgICAgICBtYXJrZG93bk5vZGVMaW5lcyA9IG1hcmtkb3duTm9kZS5saW5lcyhjb250ZXh0KTtcblxuICAgICAgICAgIGxpbmVzICs9IG1hcmtkb3duTm9kZUxpbmVzO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGxpbmVzO1xuICAgICAgfSwgMCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxpbmVzO1xuICB9XG5cbiAgbW91bnQocGFyZW50RE9NRWxlbWVudCwgc2libGluZ0RPTUVsZW1lbnQsIGNvbnRleHQpIHtcbiAgICB0aGlzLmRvbUVsZW1lbnQgPSB0aGlzLmNyZWF0ZURPTUVsZW1lbnQoY29udGV4dCk7XG5cbiAgICBpZiAodGhpcy5kb21FbGVtZW50ICE9PSBudWxsKSB7XG4gICAgICBpZiAoc2libGluZ0RPTUVsZW1lbnQgIT09IG51bGwpIHtcbiAgICAgICAgc2libGluZ0RPTUVsZW1lbnQgPSBzaWJsaW5nRE9NRWxlbWVudC5uZXh0U2libGluZzsgIC8vL1xuICAgICAgfVxuXG4gICAgICBwYXJlbnRET01FbGVtZW50Lmluc2VydEJlZm9yZSh0aGlzLmRvbUVsZW1lbnQsIHNpYmxpbmdET01FbGVtZW50KTtcblxuICAgICAgcGFyZW50RE9NRWxlbWVudCA9IHRoaXMuZG9tRWxlbWVudDsgLy8vXG4gICAgfVxuXG4gICAgc2libGluZ0RPTUVsZW1lbnQgPSBudWxsO1xuXG4gICAgdGhpcy5jaGlsZE5vZGVzLmZvckVhY2goKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgY29uc3QgY2hpbGROb2RlTWFya2Rvd25Ob2RlID0gKGNoaWxkTm9kZSBpbnN0YW5jZW9mIE1hcmtkb3duTm9kZSk7XG5cbiAgICAgIGlmIChjaGlsZE5vZGVNYXJrZG93bk5vZGUpIHtcbiAgICAgICAgY29uc3QgbWFya2Rvd25Ob2RlID0gY2hpbGROb2RlOyAvLy9cblxuICAgICAgICBzaWJsaW5nRE9NRWxlbWVudCA9IG1hcmtkb3duTm9kZS5tb3VudChwYXJlbnRET01FbGVtZW50LCBzaWJsaW5nRE9NRWxlbWVudCwgY29udGV4dCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5kb21FbGVtZW50ICE9PSBudWxsKSB7XG4gICAgICBzaWJsaW5nRE9NRWxlbWVudCA9IHRoaXMuZG9tRWxlbWVudDtcbiAgICB9XG5cbiAgICByZXR1cm4gc2libGluZ0RPTUVsZW1lbnQ7XG4gIH1cblxuICB1bm1vdW50KHBhcmVudERPTUVsZW1lbnQsIGNvbnRleHQpIHtcbiAgICBpZiAodGhpcy5kb21FbGVtZW50ICE9PSBudWxsKSB7XG4gICAgICBwYXJlbnRET01FbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuZG9tRWxlbWVudCk7XG5cbiAgICAgIHBhcmVudERPTUVsZW1lbnQgPSB0aGlzLmRvbUVsZW1lbnQ7IC8vL1xuXG4gICAgICB0aGlzLmRvbUVsZW1lbnQgPSBudWxsO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jaGlsZE5vZGVzLmZvckVhY2goKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgY2hpbGROb2RlLnVubW91bnQocGFyZW50RE9NRWxlbWVudCwgY29udGV4dCk7XG4gICAgfSk7XG4gIH1cblxuICBjcmVhdGVET01FbGVtZW50KGNvbnRleHQpIHtcbiAgICBsZXQgZG9tRWxlbWVudCA9IG51bGw7XG5cbiAgICBjb25zdCB0YWdOYW1lID0gdGhpcy50YWdOYW1lKGNvbnRleHQpO1xuXG4gICAgaWYgKHRhZ05hbWUgIT09IG51bGwpIHtcbiAgICAgIGRvbUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpO1xuXG4gICAgICBjb25zdCBjbGFzc05hbWUgPSB0aGlzLmNsYXNzTmFtZShjb250ZXh0KSxcbiAgICAgICAgICAgIGF0dHJpYnV0ZU5hbWUgPSB0aGlzLmF0dHJpYnV0ZU5hbWUoY29udGV4dCksXG4gICAgICAgICAgICBhdHRyaWJ1dGVWYWx1ZSA9IHRoaXMuYXR0cmlidXRlVmFsdWUoY29udGV4dCk7XG5cbiAgICAgIGlmIChjbGFzc05hbWUgIT09IG51bGwpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihkb21FbGVtZW50LCB7XG4gICAgICAgICAgY2xhc3NOYW1lXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAoKGF0dHJpYnV0ZU5hbWUgIT09IG51bGwpICYmIChhdHRyaWJ1dGVWYWx1ZSAhPT0gbnVsbCkpIHtcbiAgICAgICAgZG9tRWxlbWVudC5zZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwgYXR0cmlidXRlVmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBkb21FbGVtZW50O1xuICB9XG5cbiAgYXNIVE1MKGluZGVudCwgY29udGV4dCkge1xuICAgIGxldCBodG1sID0gbnVsbDtcblxuICAgIGNvbnN0IHRhZ05hbWUgPSB0aGlzLnRhZ05hbWUoY29udGV4dCk7XG5cbiAgICBpZiAodGFnTmFtZSAhPT0gbnVsbCkge1xuICAgICAgaW5kZW50ID0gdGhpcy5hZGp1c3RJbmRlbnQoaW5kZW50KTtcblxuICAgICAgY29uc3QgY2hpbGROb2Rlc0hUTUwgPSB0aGlzLmNoaWxkTm9kZXNBc0hUTUwoaW5kZW50LCBjb250ZXh0KTtcblxuICAgICAgaWYgKGNoaWxkTm9kZXNIVE1MICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0aW5nVGFnID0gdGhpcy5zdGFydGluZ1RhZyhjb250ZXh0KSxcbiAgICAgICAgICAgICAgY2xvc2luZ1RhZyA9IHRoaXMuY2xvc2luZ1RhZyhjb250ZXh0KTtcblxuICAgICAgICBodG1sID0gKGluZGVudCA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICBgJHtzdGFydGluZ1RhZ30ke2NoaWxkTm9kZXNIVE1MfSR7Y2xvc2luZ1RhZ31gIDpcbiAgICAgICAgICAgICAgICAgICBgJHtpbmRlbnR9JHtzdGFydGluZ1RhZ31cbiR7Y2hpbGROb2Rlc0hUTUx9JHtpbmRlbnR9JHtjbG9zaW5nVGFnfVxuYDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHNlbGZDbG9zaW5nVGFnID0gdGhpcy5zZWxmQ2xvc2luZ1RhZyhjb250ZXh0KTtcblxuICAgICAgICBodG1sID0gKGluZGVudCA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgIHNlbGZDbG9zaW5nVGFnIDogIC8vL1xuYCR7aW5kZW50fSR7c2VsZkNsb3NpbmdUYWd9XG5gO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBodG1sO1xuICB9XG5cbiAgYXNQbGFpblRleHQoY29udGV4dCkge1xuICAgIGxldCBwbGFpblRleHQgPSBudWxsO1xuXG4gICAgY29uc3QgdGFnTmFtZSA9IHRoaXMudGFnTmFtZShjb250ZXh0KTtcblxuICAgIGlmICh0YWdOYW1lICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBjaGlsZE5vZGVzUGxhaW5UZXh0ID0gdGhpcy5jaGlsZE5vZGVzQXNQbGFpblRleHQoY29udGV4dCk7XG5cbiAgICAgIHBsYWluVGV4dCA9IGNoaWxkTm9kZXNQbGFpblRleHQ7ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gcGxhaW5UZXh0O1xuICB9XG5cbiAgY2hpbGROb2Rlc0FzSFRNTChpbmRlbnQsIGNvbnRleHQpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gdGhpcy5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgY2hpbGROb2Rlc0hUTUwgPSBjaGlsZE5vZGVzLnJlZHVjZSgoY2hpbGROb2Rlc0hUTUwsIGNoaWxkTm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2hpbGROb2RlTWFya2Rvd25Ob2RlID0gKGNoaWxkTm9kZSBpbnN0YW5jZW9mIE1hcmtkb3duTm9kZSk7XG5cbiAgICAgICAgICAgIGlmIChjaGlsZE5vZGVNYXJrZG93bk5vZGUpIHtcbiAgICAgICAgICAgICAgY29uc3QgbWFya2Rvd25Ob2RlID0gY2hpbGROb2RlLCAvLy9cbiAgICAgICAgICAgICAgICAgICAgbWFya2Rvd25Ob2RlSFRNTCA9IG1hcmtkb3duTm9kZS5hc0hUTUwoaW5kZW50LCBjb250ZXh0KTtcblxuICAgICAgICAgICAgICBpZiAobWFya2Rvd25Ob2RlSFRNTCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGNoaWxkTm9kZXNIVE1MID0gKGNoaWxkTm9kZXNIVE1MID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtkb3duTm9kZUhUTUwgOiAgLy8vXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtjaGlsZE5vZGVzSFRNTH0ke21hcmtkb3duTm9kZUhUTUx9YDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gY2hpbGROb2Rlc0hUTUw7XG4gICAgICAgICAgfSwgbnVsbCk7XG5cbiAgICByZXR1cm4gY2hpbGROb2Rlc0hUTUw7XG4gIH1cblxuICBjaGlsZE5vZGVzQXNQbGFpblRleHQoY29udGV4dCkge1xuICAgIGNvbnN0IGNoaWxkTm9kZXMgPSB0aGlzLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBjaGlsZE5vZGVzUGxhaW5UZXh0ID0gY2hpbGROb2Rlcy5yZWR1Y2UoKGNoaWxkTm9kZXNQbGFpblRleHQsIGNoaWxkTm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2hpbGROb2RlTWFya2Rvd25Ob2RlID0gKGNoaWxkTm9kZSBpbnN0YW5jZW9mIE1hcmtkb3duTm9kZSk7XG5cbiAgICAgICAgICAgIGlmIChjaGlsZE5vZGVNYXJrZG93bk5vZGUpIHtcbiAgICAgICAgICAgICAgY29uc3QgbWFya2Rvd25Ob2RlID0gY2hpbGROb2RlLCAvLy9cbiAgICAgICAgICAgICAgICAgICAgbWFya2Rvd25Ob2RlUGxhaW5UZXh0ID0gbWFya2Rvd25Ob2RlLmFzUGxhaW5UZXh0KGNvbnRleHQpO1xuXG4gICAgICAgICAgICAgIGlmIChtYXJrZG93bk5vZGVQbGFpblRleHQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBjaGlsZE5vZGVzUGxhaW5UZXh0ID0gKGNoaWxkTm9kZXNQbGFpblRleHQgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJrZG93bk5vZGVQbGFpblRleHQgOiAgLy8vXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke2NoaWxkTm9kZXNQbGFpblRleHR9XG4ke21hcmtkb3duTm9kZVBsYWluVGV4dH1gO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBjaGlsZE5vZGVzUGxhaW5UZXh0O1xuICAgICAgICAgIH0sIG51bGwpO1xuXG4gICAgcmV0dXJuIGNoaWxkTm9kZXNQbGFpblRleHQ7XG4gIH1cblxuICBjbG9uZSguLi5yZW1haW5pbmdBcmd1bWVudHMpIHsgcmV0dXJuIHN1cGVyLmNsb25lKHRoaXMuZG9tRWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTsgfVxuXG4gIHN0YXRpYyBmcm9tUnVsZU5hbWVDaGlsZE5vZGVzQW5kT3BhY2l0eShDbGFzcywgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGNvbnN0IGRvbUVsZW1lbnQgPSBudWxsLFxuICAgICAgICAgIG1hcmtkb3duTm9kZSA9IE5vblRlcm1pbmFsTm9kZS5mcm9tUnVsZU5hbWVDaGlsZE5vZGVzQW5kT3BhY2l0eShDbGFzcywgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIGRvbUVsZW1lbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICByZXR1cm4gbWFya2Rvd25Ob2RlO1xuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oTWFya2Rvd25Ob2RlLnByb3RvdHlwZSwgbm9kZU1peGlucyk7XG5PYmplY3QuYXNzaWduKE1hcmtkb3duTm9kZS5wcm90b3R5cGUsIGVsZW1lbnRNaXhpbnMpO1xuXG5leHBvcnQgZGVmYXVsdCBNYXJrZG93bk5vZGU7XG4iXSwibmFtZXMiOlsiTWFya2Rvd25Ob2RlIiwicnVsZU5hbWUiLCJjaGlsZE5vZGVzIiwicHJlY2VkZW5jZSIsIm9wYWNpdHkiLCJkb21FbGVtZW50IiwiZ2V0RE9NRWxlbWVudCIsInNldERPTUVsZW1lbnQiLCJ0YWdOYW1lIiwiY29udGV4dCIsImVsZW1lbnRNYXAiLCJjbGFzc05hbWUiLCJjbG9zaW5nVGFnIiwic3RhcnRpbmdUYWciLCJhdHRyaWJ1dGVOYW1lIiwiYXR0cmlidXRlVmFsdWUiLCJjbGFzc0hUTUwiLCJFTVBUWV9TVFJJTkciLCJhdHRyaWJ1dGVIVE1MIiwic2VsZkNsb3NpbmdUYWciLCJhZGp1c3RJbmRlbnQiLCJpbmRlbnQiLCJpc0RpdmlzaW9uTWFya2Rvd25Ob2RlIiwiZGl2aXNpb25NYXJrZG93bk5vZGUiLCJpc1BsYWluVGV4dE1hcmtkb3duTm9kZSIsInBsYWluVGV4dE1hcmtkb3duTm9kZSIsImxpbmVzIiwiY29uc3RydWN0b3IiLCJnZXRDaGlsZE5vZGVzIiwicmVkdWNlIiwiY2hpbGROb2RlIiwiY2hpbGROb2RlTWFya2Rvd25Ob2RlIiwibWFya2Rvd25Ob2RlIiwibWFya2Rvd25Ob2RlTGluZXMiLCJtb3VudCIsInBhcmVudERPTUVsZW1lbnQiLCJzaWJsaW5nRE9NRWxlbWVudCIsImNyZWF0ZURPTUVsZW1lbnQiLCJuZXh0U2libGluZyIsImluc2VydEJlZm9yZSIsImZvckVhY2giLCJ1bm1vdW50IiwicmVtb3ZlQ2hpbGQiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJzZXRBdHRyaWJ1dGUiLCJhc0hUTUwiLCJodG1sIiwiY2hpbGROb2Rlc0hUTUwiLCJjaGlsZE5vZGVzQXNIVE1MIiwiYXNQbGFpblRleHQiLCJwbGFpblRleHQiLCJjaGlsZE5vZGVzUGxhaW5UZXh0IiwiY2hpbGROb2Rlc0FzUGxhaW5UZXh0IiwibWFya2Rvd25Ob2RlSFRNTCIsIm1hcmtkb3duTm9kZVBsYWluVGV4dCIsImNsb25lIiwicmVtYWluaW5nQXJndW1lbnRzIiwiZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkiLCJDbGFzcyIsIk5vblRlcm1pbmFsTm9kZSIsInByb3RvdHlwZSIsIm5vZGVNaXhpbnMiLCJlbGVtZW50TWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkF1VEE7OztlQUFBOzs7NEJBclRnQztpRUFFVDsyREFDQTs4REFDRzt5QkFFRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
@@ -100,8 +100,7 @@ function domElementsFromChildNodes(childNodes, context) {
|
|
|
100
100
|
var textNode = document.createTextNode(content), domElement = textNode; ///
|
|
101
101
|
domElements.push(domElement);
|
|
102
102
|
}
|
|
103
|
-
markdownNode.createDOMElement(context);
|
|
104
|
-
var domElement1 = markdownNode.getDOMElement();
|
|
103
|
+
var domElement1 = markdownNode.createDOMElement(context);
|
|
105
104
|
domElements.push(domElement1);
|
|
106
105
|
}
|
|
107
106
|
}
|
|
@@ -124,4 +123,4 @@ function contentFromPlainTextMarkdownNodes(plainTextMarkdownNodes, childNodes, c
|
|
|
124
123
|
return content;
|
|
125
124
|
}
|
|
126
125
|
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY2hpbGROb2Rlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGNvbnRlbnRGcm9tTm9kZXMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2NvbnRlbnRcIjtcblxuY29uc3QgeyBmaXJzdCwgbGFzdCwgY2xlYXIgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gaHRtbEZyb21DaGlsZE5vZGVzKGNoaWxkTm9kZXMsIGNvbnRleHQpIHtcbiAgY29uc3QgaHRtbHMgPSBbXSxcbiAgICAgICAgcGxhaW5UZXh0TWFya2Rvd25Ob2RlcyA9IFtdO1xuXG4gIGNoaWxkTm9kZXMuZm9yRWFjaCgoY2hpbGROb2RlKSA9PiB7XG4gICAgY29uc3QgY2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoY2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICAgIG1hcmtkb3duTm9kZSA9IG5vblRlcm1pbmFsTm9kZSwgLy8vXG4gICAgICAgICAgICBtYXJrZG93bk5vZGVQbGFpblRleHRNYXJrZG93bk5vZGUgPSBtYXJrZG93bk5vZGUuaXNQbGFpblRleHRNYXJrZG93bk5vZGUoKTtcblxuICAgICAgaWYgKG1hcmtkb3duTm9kZVBsYWluVGV4dE1hcmtkb3duTm9kZSkge1xuICAgICAgICBjb25zdCBwbGFpblRleHRNYXJrZG93bk5vZGUgPSBtYXJrZG93bk5vZGU7IC8vL1xuXG4gICAgICAgIHBsYWluVGV4dE1hcmtkb3duTm9kZXMucHVzaChwbGFpblRleHRNYXJrZG93bk5vZGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgY29udGVudCA9IGNvbnRlbnRGcm9tUGxhaW5UZXh0TWFya2Rvd25Ob2RlcyhwbGFpblRleHRNYXJrZG93bk5vZGVzLCBjaGlsZE5vZGVzLCBjb250ZXh0KTtcblxuICAgICAgICBpZiAoY29udGVudCAhPT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IGh0bWwgPSBjb250ZW50OyAvLy9cblxuICAgICAgICAgIGh0bWxzLnB1c2goaHRtbCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbmRlbnQgPSBudWxsLFxuICAgICAgICAgICAgICBodG1sID0gbWFya2Rvd25Ob2RlLmFzSFRNTChpbmRlbnQsIGNvbnRleHQpO1xuXG4gICAgICAgIGlmIChodG1sICE9PSBudWxsKSB7XG4gICAgICAgICAgaHRtbHMucHVzaChodG1sKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgY29uc3QgY29udGVudCA9IGNvbnRlbnRGcm9tUGxhaW5UZXh0TWFya2Rvd25Ob2RlcyhwbGFpblRleHRNYXJrZG93bk5vZGVzLCBjaGlsZE5vZGVzLCBjb250ZXh0KTtcblxuICBpZiAoY29udGVudCAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGh0bWwgPSBjb250ZW50OyAvLy9cblxuICAgIGh0bWxzLnB1c2goaHRtbCk7XG4gIH1cblxuICBjb25zdCBodG1sID0gaHRtbHMuam9pbihFTVBUWV9TVFJJTkcpO1xuXG4gIHJldHVybiBodG1sO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGxhaW5UZXh0RnJvbUNoaWxkTm9kZXMoY2hpbGROb2RlcywgY29udGV4dCkge1xuICBjb25zdCBwbGFpblRleHRzID0gW10sXG4gICAgICAgIHBsYWluVGV4dE1hcmtkb3duTm9kZXMgPSBbXTtcblxuICBjaGlsZE5vZGVzLmZvckVhY2goKGNoaWxkTm9kZSkgPT4ge1xuICAgIGNvbnN0IGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICBtYXJrZG93bk5vZGUgPSBub25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgbWFya2Rvd25Ob2RlUGxhaW5UZXh0TWFya2Rvd25Ob2RlID0gbWFya2Rvd25Ob2RlLmlzUGxhaW5UZXh0TWFya2Rvd25Ob2RlKCk7XG5cbiAgICAgIGlmIChtYXJrZG93bk5vZGVQbGFpblRleHRNYXJrZG93bk5vZGUpIHtcbiAgICAgICAgY29uc3QgcGxhaW5UZXh0TWFya2Rvd25Ob2RlID0gbWFya2Rvd25Ob2RlOyAvLy9cblxuICAgICAgICBwbGFpblRleHRNYXJrZG93bk5vZGVzLnB1c2gocGxhaW5UZXh0TWFya2Rvd25Ob2RlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSBjb250ZW50RnJvbVBsYWluVGV4dE1hcmtkb3duTm9kZXMocGxhaW5UZXh0TWFya2Rvd25Ob2RlcywgY2hpbGROb2RlcywgY29udGV4dCk7XG5cbiAgICAgICAgaWYgKGNvbnRlbnQgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBwbGFpblRleHQgPSBjb250ZW50OyAgLy8vXG5cbiAgICAgICAgICBwbGFpblRleHRzLnB1c2gocGxhaW5UZXh0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHtcbiAgICAgICAgICBjb25zdCBjaGlsZE5vZGVzID0gbWFya2Rvd25Ob2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgICAgICBwbGFpblRleHQgPSBwbGFpblRleHRGcm9tQ2hpbGROb2RlcyhjaGlsZE5vZGVzLCBjb250ZXh0KTtcblxuICAgICAgICAgIGlmIChwbGFpblRleHQgIT09IEVNUFRZX1NUUklORykge1xuICAgICAgICAgICAgcGxhaW5UZXh0cy5wdXNoKHBsYWluVGV4dCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICBjb25zdCBjb250ZW50ID0gY29udGVudEZyb21QbGFpblRleHRNYXJrZG93bk5vZGVzKHBsYWluVGV4dE1hcmtkb3duTm9kZXMsIGNoaWxkTm9kZXMsIGNvbnRleHQpO1xuXG4gIGlmIChjb250ZW50ICE9PSBudWxsKSB7XG4gICAgY29uc3QgcGxhaW5UZXh0ID0gY29udGVudDsgIC8vL1xuXG4gICAgcGxhaW5UZXh0cy5wdXNoKHBsYWluVGV4dCk7XG4gIH1cblxuICBjb25zdCBwbGFpblRleHQgPSBwbGFpblRleHRzLmpvaW4oRU1QVFlfU1RSSU5HKTtcblxuICByZXR1cm4gcGxhaW5UZXh0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZG9tRWxlbWVudHNGcm9tQ2hpbGROb2RlcyhjaGlsZE5vZGVzLCBjb250ZXh0KSB7XG4gIGNvbnN0IGRvbUVsZW1lbnRzID0gW10sXG4gICAgICAgIHBsYWluVGV4dE1hcmtkb3duTm9kZXMgPSBbXTtcblxuICBjaGlsZE5vZGVzLmZvckVhY2goKGNoaWxkTm9kZSkgPT4ge1xuICAgIGNvbnN0IGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICBtYXJrZG93bk5vZGUgPSBub25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgbWFya2Rvd25Ob2RlUGxhaW5UZXh0TWFya2Rvd25Ob2RlID0gbWFya2Rvd25Ob2RlLmlzUGxhaW5UZXh0TWFya2Rvd25Ob2RlKCk7XG5cbiAgICAgIGlmIChtYXJrZG93bk5vZGVQbGFpblRleHRNYXJrZG93bk5vZGUpIHtcbiAgICAgICAgY29uc3QgcGxhaW5UZXh0TWFya2Rvd25Ob2RlID0gbWFya2Rvd25Ob2RlOyAvLy9cblxuICAgICAgICBwbGFpblRleHRNYXJrZG93bk5vZGVzLnB1c2gocGxhaW5UZXh0TWFya2Rvd25Ob2RlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSBjb250ZW50RnJvbVBsYWluVGV4dE1hcmtkb3duTm9kZXMocGxhaW5UZXh0TWFya2Rvd25Ob2RlcywgY2hpbGROb2RlcywgY29udGV4dCk7XG5cbiAgICAgICAgaWYgKGNvbnRlbnQgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCB0ZXh0Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNvbnRlbnQpLFxuICAgICAgICAgICAgICAgIGRvbUVsZW1lbnQgPSB0ZXh0Tm9kZTsgIC8vL1xuXG4gICAgICAgICAgZG9tRWxlbWVudHMucHVzaChkb21FbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIG1hcmtkb3duTm9kZS5jcmVhdGVET01FbGVtZW50KGNvbnRleHQpO1xuXG4gICAgICAgIGNvbnN0IGRvbUVsZW1lbnQgPSBtYXJrZG93bk5vZGUuZ2V0RE9NRWxlbWVudCgpO1xuXG4gICAgICAgIGRvbUVsZW1lbnRzLnB1c2goZG9tRWxlbWVudCk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICBjb25zdCBjb250ZW50ID0gY29udGVudEZyb21QbGFpblRleHRNYXJrZG93bk5vZGVzKHBsYWluVGV4dE1hcmtkb3duTm9kZXMsIGNoaWxkTm9kZXMsIGNvbnRleHQpO1xuXG4gIGlmIChjb250ZW50ICE9PSBudWxsKSB7XG4gICAgY29uc3QgdGV4dE5vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjb250ZW50KSxcbiAgICAgICAgICBkb21FbGVtZW50ID0gdGV4dE5vZGU7ICAvLy9cblxuICAgIGRvbUVsZW1lbnRzLnB1c2goZG9tRWxlbWVudCk7XG4gIH1cblxuICByZXR1cm4gZG9tRWxlbWVudHM7XG59XG5cbmZ1bmN0aW9uIGNvbnRlbnRGcm9tUGxhaW5UZXh0TWFya2Rvd25Ob2RlcyhwbGFpblRleHRNYXJrZG93bk5vZGVzLCBjaGlsZE5vZGVzLCBjb250ZXh0KSB7XG4gIGxldCBjb250ZW50ID0gbnVsbDtcblxuICBjb25zdCBwbGFpblRleHRNYXJrZG93bk5vZGVzTGVuZ3RoID0gcGxhaW5UZXh0TWFya2Rvd25Ob2Rlcy5sZW5ndGg7XG5cbiAgaWYgKHBsYWluVGV4dE1hcmtkb3duTm9kZXNMZW5ndGggPiAwKSB7XG4gICAgY29uc3Qgbm9kZXMgPSBwbGFpblRleHRNYXJrZG93bk5vZGVzLCAvLy9cbiAgICAgICAgICBsYXN0Tm9kZSA9IGxhc3Qobm9kZXMpLFxuICAgICAgICAgIGZpcnN0Tm9kZSA9IGZpcnN0KG5vZGVzKSxcbiAgICAgICAgICBsYXN0Tm9kZUluZGV4ID0gY2hpbGROb2Rlcy5pbmRleE9mKGxhc3ROb2RlKSxcbiAgICAgICAgICBmaXJzdE5vZGVJbmRleCA9IGNoaWxkTm9kZXMuaW5kZXhPZihmaXJzdE5vZGUpLFxuICAgICAgICAgIGNoaWxkTm9kZXNMZW5ndGggPSBjaGlsZE5vZGVzLmxlbmd0aCxcbiAgICAgICAgICBsYXN0Q2hpbGROb2RlSW5kZXggPSBjaGlsZE5vZGVzTGVuZ3RoIC0gMSxcbiAgICAgICAgICBmaXJzdENoaWxkTm9kZUluZGV4ID0gMCxcbiAgICAgICAgICBhdWdtZW50TGVmdCA9IChmaXJzdE5vZGVJbmRleCAhPT0gZmlyc3RDaGlsZE5vZGVJbmRleCksXG4gICAgICAgICAgYXVnbWVudFJpZ2h0ID0gKGxhc3ROb2RlSW5kZXggIT09IGxhc3RDaGlsZE5vZGVJbmRleCk7ICAvLy9cblxuICAgIGNvbnRlbnQgPSBjb250ZW50RnJvbU5vZGVzKG5vZGVzLCBhdWdtZW50TGVmdCwgYXVnbWVudFJpZ2h0LCBjb250ZXh0KTtcblxuICAgIGNsZWFyKHBsYWluVGV4dE1hcmtkb3duTm9kZXMpO1xuICB9XG5cbiAgcmV0dXJuIGNvbnRlbnQ7XG59XG4iXSwibmFtZXMiOlsiZG9tRWxlbWVudHNGcm9tQ2hpbGROb2RlcyIsImh0bWxGcm9tQ2hpbGROb2RlcyIsInBsYWluVGV4dEZyb21DaGlsZE5vZGVzIiwiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsImxhc3QiLCJjbGVhciIsImNoaWxkTm9kZXMiLCJjb250ZXh0IiwiaHRtbHMiLCJwbGFpblRleHRNYXJrZG93bk5vZGVzIiwiZm9yRWFjaCIsImNoaWxkTm9kZSIsImNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlIiwibWFya2Rvd25Ob2RlIiwibWFya2Rvd25Ob2RlUGxhaW5UZXh0TWFya2Rvd25Ob2RlIiwiaXNQbGFpblRleHRNYXJrZG93bk5vZGUiLCJwbGFpblRleHRNYXJrZG93bk5vZGUiLCJwdXNoIiwiY29udGVudCIsImNvbnRlbnRGcm9tUGxhaW5UZXh0TWFya2Rvd25Ob2RlcyIsImh0bWwiLCJpbmRlbnQiLCJhc0hUTUwiLCJqb2luIiwiRU1QVFlfU1RSSU5HIiwicGxhaW5UZXh0cyIsInBsYWluVGV4dCIsImdldENoaWxkTm9kZXMiLCJkb21FbGVtZW50cyIsInRleHROb2RlIiwiZG9jdW1lbnQiLCJjcmVhdGVUZXh0Tm9kZSIsImRvbUVsZW1lbnQiLCJjcmVhdGVET01FbGVtZW50IiwiZ2V0RE9NRWxlbWVudCIsInBsYWluVGV4dE1hcmtkb3duTm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJub2RlcyIsImxhc3ROb2RlIiwiZmlyc3ROb2RlIiwibGFzdE5vZGVJbmRleCIsImluZGV4T2YiLCJmaXJzdE5vZGVJbmRleCIsImNoaWxkTm9kZXNMZW5ndGgiLCJsYXN0Q2hpbGROb2RlSW5kZXgiLCJmaXJzdENoaWxkTm9kZUluZGV4IiwiYXVnbWVudExlZnQiLCJhdWdtZW50UmlnaHQiLCJjb250ZW50RnJvbU5vZGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUEyR2dCQSx5QkFBeUI7ZUFBekJBOztJQWxHQUMsa0JBQWtCO2VBQWxCQTs7SUFnREFDLHVCQUF1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
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY2hpbGROb2Rlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGNvbnRlbnRGcm9tTm9kZXMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2NvbnRlbnRcIjtcblxuY29uc3QgeyBmaXJzdCwgbGFzdCwgY2xlYXIgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gaHRtbEZyb21DaGlsZE5vZGVzKGNoaWxkTm9kZXMsIGNvbnRleHQpIHtcbiAgY29uc3QgaHRtbHMgPSBbXSxcbiAgICAgICAgcGxhaW5UZXh0TWFya2Rvd25Ob2RlcyA9IFtdO1xuXG4gIGNoaWxkTm9kZXMuZm9yRWFjaCgoY2hpbGROb2RlKSA9PiB7XG4gICAgY29uc3QgY2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoY2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICAgIG1hcmtkb3duTm9kZSA9IG5vblRlcm1pbmFsTm9kZSwgLy8vXG4gICAgICAgICAgICBtYXJrZG93bk5vZGVQbGFpblRleHRNYXJrZG93bk5vZGUgPSBtYXJrZG93bk5vZGUuaXNQbGFpblRleHRNYXJrZG93bk5vZGUoKTtcblxuICAgICAgaWYgKG1hcmtkb3duTm9kZVBsYWluVGV4dE1hcmtkb3duTm9kZSkge1xuICAgICAgICBjb25zdCBwbGFpblRleHRNYXJrZG93bk5vZGUgPSBtYXJrZG93bk5vZGU7IC8vL1xuXG4gICAgICAgIHBsYWluVGV4dE1hcmtkb3duTm9kZXMucHVzaChwbGFpblRleHRNYXJrZG93bk5vZGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgY29udGVudCA9IGNvbnRlbnRGcm9tUGxhaW5UZXh0TWFya2Rvd25Ob2RlcyhwbGFpblRleHRNYXJrZG93bk5vZGVzLCBjaGlsZE5vZGVzLCBjb250ZXh0KTtcblxuICAgICAgICBpZiAoY29udGVudCAhPT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IGh0bWwgPSBjb250ZW50OyAvLy9cblxuICAgICAgICAgIGh0bWxzLnB1c2goaHRtbCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbmRlbnQgPSBudWxsLFxuICAgICAgICAgICAgICBodG1sID0gbWFya2Rvd25Ob2RlLmFzSFRNTChpbmRlbnQsIGNvbnRleHQpO1xuXG4gICAgICAgIGlmIChodG1sICE9PSBudWxsKSB7XG4gICAgICAgICAgaHRtbHMucHVzaChodG1sKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgY29uc3QgY29udGVudCA9IGNvbnRlbnRGcm9tUGxhaW5UZXh0TWFya2Rvd25Ob2RlcyhwbGFpblRleHRNYXJrZG93bk5vZGVzLCBjaGlsZE5vZGVzLCBjb250ZXh0KTtcblxuICBpZiAoY29udGVudCAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGh0bWwgPSBjb250ZW50OyAvLy9cblxuICAgIGh0bWxzLnB1c2goaHRtbCk7XG4gIH1cblxuICBjb25zdCBodG1sID0gaHRtbHMuam9pbihFTVBUWV9TVFJJTkcpO1xuXG4gIHJldHVybiBodG1sO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGxhaW5UZXh0RnJvbUNoaWxkTm9kZXMoY2hpbGROb2RlcywgY29udGV4dCkge1xuICBjb25zdCBwbGFpblRleHRzID0gW10sXG4gICAgICAgIHBsYWluVGV4dE1hcmtkb3duTm9kZXMgPSBbXTtcblxuICBjaGlsZE5vZGVzLmZvckVhY2goKGNoaWxkTm9kZSkgPT4ge1xuICAgIGNvbnN0IGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICBtYXJrZG93bk5vZGUgPSBub25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgbWFya2Rvd25Ob2RlUGxhaW5UZXh0TWFya2Rvd25Ob2RlID0gbWFya2Rvd25Ob2RlLmlzUGxhaW5UZXh0TWFya2Rvd25Ob2RlKCk7XG5cbiAgICAgIGlmIChtYXJrZG93bk5vZGVQbGFpblRleHRNYXJrZG93bk5vZGUpIHtcbiAgICAgICAgY29uc3QgcGxhaW5UZXh0TWFya2Rvd25Ob2RlID0gbWFya2Rvd25Ob2RlOyAvLy9cblxuICAgICAgICBwbGFpblRleHRNYXJrZG93bk5vZGVzLnB1c2gocGxhaW5UZXh0TWFya2Rvd25Ob2RlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSBjb250ZW50RnJvbVBsYWluVGV4dE1hcmtkb3duTm9kZXMocGxhaW5UZXh0TWFya2Rvd25Ob2RlcywgY2hpbGROb2RlcywgY29udGV4dCk7XG5cbiAgICAgICAgaWYgKGNvbnRlbnQgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBwbGFpblRleHQgPSBjb250ZW50OyAgLy8vXG5cbiAgICAgICAgICBwbGFpblRleHRzLnB1c2gocGxhaW5UZXh0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHtcbiAgICAgICAgICBjb25zdCBjaGlsZE5vZGVzID0gbWFya2Rvd25Ob2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgICAgICBwbGFpblRleHQgPSBwbGFpblRleHRGcm9tQ2hpbGROb2RlcyhjaGlsZE5vZGVzLCBjb250ZXh0KTtcblxuICAgICAgICAgIGlmIChwbGFpblRleHQgIT09IEVNUFRZX1NUUklORykge1xuICAgICAgICAgICAgcGxhaW5UZXh0cy5wdXNoKHBsYWluVGV4dCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICBjb25zdCBjb250ZW50ID0gY29udGVudEZyb21QbGFpblRleHRNYXJrZG93bk5vZGVzKHBsYWluVGV4dE1hcmtkb3duTm9kZXMsIGNoaWxkTm9kZXMsIGNvbnRleHQpO1xuXG4gIGlmIChjb250ZW50ICE9PSBudWxsKSB7XG4gICAgY29uc3QgcGxhaW5UZXh0ID0gY29udGVudDsgIC8vL1xuXG4gICAgcGxhaW5UZXh0cy5wdXNoKHBsYWluVGV4dCk7XG4gIH1cblxuICBjb25zdCBwbGFpblRleHQgPSBwbGFpblRleHRzLmpvaW4oRU1QVFlfU1RSSU5HKTtcblxuICByZXR1cm4gcGxhaW5UZXh0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZG9tRWxlbWVudHNGcm9tQ2hpbGROb2RlcyhjaGlsZE5vZGVzLCBjb250ZXh0KSB7XG4gIGNvbnN0IGRvbUVsZW1lbnRzID0gW10sXG4gICAgICAgIHBsYWluVGV4dE1hcmtkb3duTm9kZXMgPSBbXTtcblxuICBjaGlsZE5vZGVzLmZvckVhY2goKGNoaWxkTm9kZSkgPT4ge1xuICAgIGNvbnN0IGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICBtYXJrZG93bk5vZGUgPSBub25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgbWFya2Rvd25Ob2RlUGxhaW5UZXh0TWFya2Rvd25Ob2RlID0gbWFya2Rvd25Ob2RlLmlzUGxhaW5UZXh0TWFya2Rvd25Ob2RlKCk7XG5cbiAgICAgIGlmIChtYXJrZG93bk5vZGVQbGFpblRleHRNYXJrZG93bk5vZGUpIHtcbiAgICAgICAgY29uc3QgcGxhaW5UZXh0TWFya2Rvd25Ob2RlID0gbWFya2Rvd25Ob2RlOyAvLy9cblxuICAgICAgICBwbGFpblRleHRNYXJrZG93bk5vZGVzLnB1c2gocGxhaW5UZXh0TWFya2Rvd25Ob2RlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSBjb250ZW50RnJvbVBsYWluVGV4dE1hcmtkb3duTm9kZXMocGxhaW5UZXh0TWFya2Rvd25Ob2RlcywgY2hpbGROb2RlcywgY29udGV4dCk7XG5cbiAgICAgICAgaWYgKGNvbnRlbnQgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCB0ZXh0Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNvbnRlbnQpLFxuICAgICAgICAgICAgICAgIGRvbUVsZW1lbnQgPSB0ZXh0Tm9kZTsgIC8vL1xuXG4gICAgICAgICAgZG9tRWxlbWVudHMucHVzaChkb21FbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRvbUVsZW1lbnQgPSBtYXJrZG93bk5vZGUuY3JlYXRlRE9NRWxlbWVudChjb250ZXh0KTtcblxuICAgICAgICBkb21FbGVtZW50cy5wdXNoKGRvbUVsZW1lbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgY29uc3QgY29udGVudCA9IGNvbnRlbnRGcm9tUGxhaW5UZXh0TWFya2Rvd25Ob2RlcyhwbGFpblRleHRNYXJrZG93bk5vZGVzLCBjaGlsZE5vZGVzLCBjb250ZXh0KTtcblxuICBpZiAoY29udGVudCAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHRleHROb2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY29udGVudCksXG4gICAgICAgICAgZG9tRWxlbWVudCA9IHRleHROb2RlOyAgLy8vXG5cbiAgICBkb21FbGVtZW50cy5wdXNoKGRvbUVsZW1lbnQpO1xuICB9XG5cbiAgcmV0dXJuIGRvbUVsZW1lbnRzO1xufVxuXG5mdW5jdGlvbiBjb250ZW50RnJvbVBsYWluVGV4dE1hcmtkb3duTm9kZXMocGxhaW5UZXh0TWFya2Rvd25Ob2RlcywgY2hpbGROb2RlcywgY29udGV4dCkge1xuICBsZXQgY29udGVudCA9IG51bGw7XG5cbiAgY29uc3QgcGxhaW5UZXh0TWFya2Rvd25Ob2Rlc0xlbmd0aCA9IHBsYWluVGV4dE1hcmtkb3duTm9kZXMubGVuZ3RoO1xuXG4gIGlmIChwbGFpblRleHRNYXJrZG93bk5vZGVzTGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IG5vZGVzID0gcGxhaW5UZXh0TWFya2Rvd25Ob2RlcywgLy8vXG4gICAgICAgICAgbGFzdE5vZGUgPSBsYXN0KG5vZGVzKSxcbiAgICAgICAgICBmaXJzdE5vZGUgPSBmaXJzdChub2RlcyksXG4gICAgICAgICAgbGFzdE5vZGVJbmRleCA9IGNoaWxkTm9kZXMuaW5kZXhPZihsYXN0Tm9kZSksXG4gICAgICAgICAgZmlyc3ROb2RlSW5kZXggPSBjaGlsZE5vZGVzLmluZGV4T2YoZmlyc3ROb2RlKSxcbiAgICAgICAgICBjaGlsZE5vZGVzTGVuZ3RoID0gY2hpbGROb2Rlcy5sZW5ndGgsXG4gICAgICAgICAgbGFzdENoaWxkTm9kZUluZGV4ID0gY2hpbGROb2Rlc0xlbmd0aCAtIDEsXG4gICAgICAgICAgZmlyc3RDaGlsZE5vZGVJbmRleCA9IDAsXG4gICAgICAgICAgYXVnbWVudExlZnQgPSAoZmlyc3ROb2RlSW5kZXggIT09IGZpcnN0Q2hpbGROb2RlSW5kZXgpLFxuICAgICAgICAgIGF1Z21lbnRSaWdodCA9IChsYXN0Tm9kZUluZGV4ICE9PSBsYXN0Q2hpbGROb2RlSW5kZXgpOyAgLy8vXG5cbiAgICBjb250ZW50ID0gY29udGVudEZyb21Ob2Rlcyhub2RlcywgYXVnbWVudExlZnQsIGF1Z21lbnRSaWdodCwgY29udGV4dCk7XG5cbiAgICBjbGVhcihwbGFpblRleHRNYXJrZG93bk5vZGVzKTtcbiAgfVxuXG4gIHJldHVybiBjb250ZW50O1xufVxuIl0sIm5hbWVzIjpbImRvbUVsZW1lbnRzRnJvbUNoaWxkTm9kZXMiLCJodG1sRnJvbUNoaWxkTm9kZXMiLCJwbGFpblRleHRGcm9tQ2hpbGROb2RlcyIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJsYXN0IiwiY2xlYXIiLCJjaGlsZE5vZGVzIiwiY29udGV4dCIsImh0bWxzIiwicGxhaW5UZXh0TWFya2Rvd25Ob2RlcyIsImZvckVhY2giLCJjaGlsZE5vZGUiLCJjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUiLCJpc05vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsIm1hcmtkb3duTm9kZSIsIm1hcmtkb3duTm9kZVBsYWluVGV4dE1hcmtkb3duTm9kZSIsImlzUGxhaW5UZXh0TWFya2Rvd25Ob2RlIiwicGxhaW5UZXh0TWFya2Rvd25Ob2RlIiwicHVzaCIsImNvbnRlbnQiLCJjb250ZW50RnJvbVBsYWluVGV4dE1hcmtkb3duTm9kZXMiLCJodG1sIiwiaW5kZW50IiwiYXNIVE1MIiwiam9pbiIsIkVNUFRZX1NUUklORyIsInBsYWluVGV4dHMiLCJwbGFpblRleHQiLCJnZXRDaGlsZE5vZGVzIiwiZG9tRWxlbWVudHMiLCJ0ZXh0Tm9kZSIsImRvY3VtZW50IiwiY3JlYXRlVGV4dE5vZGUiLCJkb21FbGVtZW50IiwiY3JlYXRlRE9NRWxlbWVudCIsInBsYWluVGV4dE1hcmtkb3duTm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJub2RlcyIsImxhc3ROb2RlIiwiZmlyc3ROb2RlIiwibGFzdE5vZGVJbmRleCIsImluZGV4T2YiLCJmaXJzdE5vZGVJbmRleCIsImNoaWxkTm9kZXNMZW5ndGgiLCJsYXN0Q2hpbGROb2RlSW5kZXgiLCJmaXJzdENoaWxkTm9kZUluZGV4IiwiYXVnbWVudExlZnQiLCJhdWdtZW50UmlnaHQiLCJjb250ZW50RnJvbU5vZGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUEyR2dCQSx5QkFBeUI7ZUFBekJBOztJQWxHQUMsa0JBQWtCO2VBQWxCQTs7SUFnREFDLHVCQUF1QjtlQUF2QkE7Ozt5QkF2RGU7eUJBRUY7dUJBQ0k7QUFFakMsSUFBUUMsUUFBdUJDLHlCQUFjLENB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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.0.
|
|
4
|
+
"version": "1.0.10",
|
|
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/example/importer.js
CHANGED
|
@@ -43,7 +43,9 @@ const INDEX_PATH = "index.md",
|
|
|
43
43
|
INSTALLING_THE_CLI_PATH = "installing-the-cli.md",
|
|
44
44
|
GETTING_TO_GRIPS_WITH_THE_IDE_PATH = "getting-to-grips-with-the-ide.md";
|
|
45
45
|
|
|
46
|
-
export const defaultContent =
|
|
46
|
+
export const defaultContent = `****strongly emphasised****`
|
|
47
|
+
|
|
48
|
+
export const _defaultContent = `@ignore
|
|
47
49
|
|
|
48
50
|
@include ${FRONT_MATTER_PATH}
|
|
49
51
|
@include ${CONTENT_PATH}
|
|
@@ -3,22 +3,10 @@
|
|
|
3
3
|
import withStyle from "easy-with-style"; ///
|
|
4
4
|
|
|
5
5
|
import { Element } from "easy";
|
|
6
|
-
import { arrayUtilities } from "necessary";
|
|
7
6
|
|
|
8
7
|
import PageButtonsDiv from "../div/pageButtons";
|
|
9
8
|
|
|
10
|
-
const { first } = arrayUtilities;
|
|
11
|
-
|
|
12
9
|
class PreviewDiv extends Element {
|
|
13
|
-
getPageButtonsDivDOMElement() {
|
|
14
|
-
const childElements = this.getChildElements(),
|
|
15
|
-
firstChildElement = first(childElements),
|
|
16
|
-
pageButtonsDiv = firstChildElement, ///
|
|
17
|
-
pageButtonsDivDOMElement = pageButtonsDiv.getDOMElement();
|
|
18
|
-
|
|
19
|
-
return pageButtonsDivDOMElement;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
10
|
getParentDOMElement() {
|
|
23
11
|
const domElement = this.getDOMElement(),
|
|
24
12
|
parentDOMElement = domElement; ///
|
|
@@ -26,33 +14,51 @@ class PreviewDiv extends Element {
|
|
|
26
14
|
return parentDOMElement;
|
|
27
15
|
}
|
|
28
16
|
|
|
29
|
-
|
|
17
|
+
clear() {
|
|
18
|
+
let markdownNode;
|
|
19
|
+
|
|
20
|
+
markdownNode = this.getMarkdownNode();
|
|
21
|
+
|
|
22
|
+
if (markdownNode !== null) {
|
|
23
|
+
const parentDOMElement = this.getParentDOMElement();
|
|
24
|
+
|
|
25
|
+
markdownNode.unmount(parentDOMElement);
|
|
26
|
+
|
|
27
|
+
markdownNode = null;
|
|
28
|
+
|
|
29
|
+
this.setMarkdownNode(markdownNode);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
update(markdownNode, context) {
|
|
34
|
+
this.clear();
|
|
35
|
+
|
|
30
36
|
const parentDOMElement = this.getParentDOMElement(),
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
];
|
|
37
|
+
siblingDOMElement = null;
|
|
38
|
+
|
|
39
|
+
markdownNode.mount(parentDOMElement, siblingDOMElement, context);
|
|
35
40
|
|
|
36
|
-
|
|
41
|
+
this.setMarkdownNode(markdownNode);
|
|
37
42
|
}
|
|
38
43
|
|
|
39
|
-
|
|
40
|
-
const
|
|
41
|
-
pageButtonsDivDOMElement = this.getPageButtonsDivDOMElement();
|
|
44
|
+
getMarkdownNode() {
|
|
45
|
+
const { markdownNode } = this.getState();
|
|
42
46
|
|
|
43
|
-
|
|
44
|
-
if (domElement !== pageButtonsDivDOMElement) {
|
|
45
|
-
domElement.remove();
|
|
46
|
-
}
|
|
47
|
-
});
|
|
47
|
+
return markdownNode;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
|
|
51
|
-
this.
|
|
50
|
+
setMarkdownNode(markdownNode) {
|
|
51
|
+
this.updateState({
|
|
52
|
+
markdownNode
|
|
53
|
+
});
|
|
54
|
+
}
|
|
52
55
|
|
|
53
|
-
|
|
56
|
+
setInitialState() {
|
|
57
|
+
const markdownNode = null;
|
|
54
58
|
|
|
55
|
-
|
|
59
|
+
this.setState({
|
|
60
|
+
markdownNode
|
|
61
|
+
});
|
|
56
62
|
}
|
|
57
63
|
|
|
58
64
|
childElements() {
|
|
@@ -78,6 +84,10 @@ class PreviewDiv extends Element {
|
|
|
78
84
|
});
|
|
79
85
|
}
|
|
80
86
|
|
|
87
|
+
initialise() {
|
|
88
|
+
this.setInitialState();
|
|
89
|
+
}
|
|
90
|
+
|
|
81
91
|
static tagName = "div";
|
|
82
92
|
|
|
83
93
|
static ignoredProperties = [
|
package/src/example/view.js
CHANGED
|
@@ -97,20 +97,26 @@ class View extends Element {
|
|
|
97
97
|
tokensFromContent,
|
|
98
98
|
charactersPerLine
|
|
99
99
|
},
|
|
100
|
-
markdownNodes = postprocess(divisionMarkdownNode, context),
|
|
101
|
-
divisionMarkdownNodes = divisionMarkdownNodesFromMarkdownNodes(markdownNodes);
|
|
100
|
+
// markdownNodes = postprocess(divisionMarkdownNode, context),
|
|
101
|
+
// divisionMarkdownNodes = divisionMarkdownNodesFromMarkdownNodes(markdownNodes);
|
|
102
|
+
divisionMarkdownNodes = [
|
|
103
|
+
divisionMarkdownNode
|
|
104
|
+
];
|
|
102
105
|
|
|
103
106
|
this.setDivisionMarkdownNodes(divisionMarkdownNodes);
|
|
104
107
|
|
|
105
|
-
const
|
|
106
|
-
length = divisionMarkdownNodes.length,
|
|
107
|
-
parseTree = divisionMarkdownNode.asParseTree(tokens);
|
|
108
|
+
const parseTree = divisionMarkdownNode.asParseTree(tokens);
|
|
108
109
|
|
|
109
|
-
this.
|
|
110
|
+
this.updateMarkdownParseTreeTextarea(parseTree);
|
|
110
111
|
|
|
111
|
-
|
|
112
|
+
const index = 0,
|
|
113
|
+
length = divisionMarkdownNodes.length;
|
|
112
114
|
|
|
113
|
-
|
|
115
|
+
if (length > 0) {
|
|
116
|
+
this.updatePage(index);
|
|
117
|
+
|
|
118
|
+
this.updatePageButtonsDiv(length);
|
|
119
|
+
}
|
|
114
120
|
} else {
|
|
115
121
|
this.clearPage();
|
|
116
122
|
|
|
@@ -132,12 +138,11 @@ class View extends Element {
|
|
|
132
138
|
tokens
|
|
133
139
|
},
|
|
134
140
|
length = null,
|
|
135
|
-
html = divisionMarkdownNode.asHTML(context)
|
|
136
|
-
domElement = divisionMarkdownNode.createDOMElement(context);
|
|
141
|
+
html = divisionMarkdownNode.asHTML(context);
|
|
137
142
|
|
|
138
143
|
this.updateXMP(html);
|
|
139
144
|
|
|
140
|
-
this.updatePreviewDiv(
|
|
145
|
+
this.updatePreviewDiv(divisionMarkdownNode, context);
|
|
141
146
|
|
|
142
147
|
this.updatePageButtonsDiv(length, index);
|
|
143
148
|
}
|
package/src/mixins/element.js
CHANGED
|
@@ -1,21 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {EMPTY_STRING} from "../constants";
|
|
4
|
-
|
|
5
|
-
function addDOMElement(domElement) {
|
|
6
|
-
const parentDOMElement = this.domElement; ///
|
|
7
|
-
|
|
8
|
-
parentDOMElement.appendChild(domElement);
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
function removeDOMElements() {
|
|
12
|
-
const innerHTML = EMPTY_STRING; ///
|
|
13
|
-
|
|
14
|
-
Object.assign(this.domElement, {
|
|
15
|
-
innerHTML
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
|
|
19
3
|
function getDescendantElements(descendantElements = []) {
|
|
20
4
|
const domElement = this.getDOMElement();
|
|
21
5
|
|
|
@@ -41,8 +25,6 @@ function getDescendantElements(descendantElements = []) {
|
|
|
41
25
|
}
|
|
42
26
|
|
|
43
27
|
const elementMixins = {
|
|
44
|
-
addDOMElement,
|
|
45
|
-
removeDOMElements,
|
|
46
28
|
getDescendantElements
|
|
47
29
|
};
|
|
48
30
|
|
|
@@ -36,6 +36,25 @@ export default class AnchorMarkdownNode extends MarkdownNode {
|
|
|
36
36
|
return attributeValue;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
createDOMElement(context) {
|
|
40
|
+
let domElement;
|
|
41
|
+
|
|
42
|
+
const content = this.content(context),
|
|
43
|
+
textNode = document.createTextNode(content);
|
|
44
|
+
|
|
45
|
+
domElement = super.createDOMElement(context)
|
|
46
|
+
|
|
47
|
+
const parentDOMElement = domElement; ///
|
|
48
|
+
|
|
49
|
+
domElement = textNode; ///
|
|
50
|
+
|
|
51
|
+
parentDOMElement.appendChild(domElement);
|
|
52
|
+
|
|
53
|
+
domElement = parentDOMElement; ///
|
|
54
|
+
|
|
55
|
+
return domElement;
|
|
56
|
+
}
|
|
57
|
+
|
|
39
58
|
asHTML(indent, context) {
|
|
40
59
|
if (context === undefined) {
|
|
41
60
|
context = indent; ///
|
|
@@ -58,18 +77,16 @@ ${childNodesHTML}${indent}${closingTag}
|
|
|
58
77
|
}
|
|
59
78
|
|
|
60
79
|
childNodesAsHTML(indent, context) {
|
|
61
|
-
const content =
|
|
80
|
+
const content = this.content(context),
|
|
62
81
|
childNodesHTML = content; ///
|
|
63
82
|
|
|
64
83
|
return childNodesHTML;
|
|
65
84
|
}
|
|
66
85
|
|
|
67
|
-
|
|
68
|
-
const content = EMPTY_STRING
|
|
69
|
-
textNode = document.createTextNode(content),
|
|
70
|
-
domElement = textNode; ///
|
|
86
|
+
content(context) {
|
|
87
|
+
const content = EMPTY_STRING;
|
|
71
88
|
|
|
72
|
-
|
|
89
|
+
return content;
|
|
73
90
|
}
|
|
74
91
|
|
|
75
92
|
clone() { return super.clone(this.prepend, this.identifier); }
|
|
@@ -31,31 +31,48 @@ export default class BlockLineMarkdownNode extends MarkdownNode {
|
|
|
31
31
|
return childNodesHTML;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
startingTag = this.startingTag(context),
|
|
37
|
-
closingTag = this.closingTag(context),
|
|
38
|
-
html = `${startingTag}${childNodesHTML}${closingTag}`;
|
|
34
|
+
mount(parentDOMElement, siblingDOMElement, context) {
|
|
35
|
+
this.domElement = this.createDOMElement(context);
|
|
39
36
|
|
|
40
|
-
|
|
37
|
+
if (siblingDOMElement !== null) {
|
|
38
|
+
siblingDOMElement = siblingDOMElement.nextSibling; ///
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
parentDOMElement.insertBefore(this.domElement, siblingDOMElement);
|
|
42
|
+
|
|
43
|
+
siblingDOMElement = this.domElement; ///
|
|
44
|
+
|
|
45
|
+
return siblingDOMElement;
|
|
41
46
|
}
|
|
42
47
|
|
|
43
48
|
createDOMElement(context) {
|
|
44
|
-
|
|
45
|
-
className = this.className(context),
|
|
46
|
-
domElement = document.createElement(tagName);
|
|
49
|
+
let domElement;
|
|
47
50
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
});
|
|
51
|
+
const content = this.content(context),
|
|
52
|
+
textNode = document.createTextNode(content);
|
|
51
53
|
|
|
52
|
-
|
|
54
|
+
domElement = super.createDOMElement(context)
|
|
53
55
|
|
|
54
|
-
|
|
56
|
+
const parentDOMElement = domElement; ///
|
|
57
|
+
|
|
58
|
+
domElement = textNode; ///
|
|
59
|
+
|
|
60
|
+
parentDOMElement.appendChild(domElement);
|
|
61
|
+
|
|
62
|
+
domElement = parentDOMElement; ///
|
|
55
63
|
|
|
56
64
|
return domElement;
|
|
57
65
|
}
|
|
58
66
|
|
|
67
|
+
asHTML(indent, context) {
|
|
68
|
+
const childNodesHTML = this.childNodesAsHTML(indent, context),
|
|
69
|
+
startingTag = this.startingTag(context),
|
|
70
|
+
closingTag = this.closingTag(context),
|
|
71
|
+
html = `${startingTag}${childNodesHTML}${closingTag}`;
|
|
72
|
+
|
|
73
|
+
return html;
|
|
74
|
+
}
|
|
75
|
+
|
|
59
76
|
childNodesAsHTML(indent, context) {
|
|
60
77
|
const content = this.content(context),
|
|
61
78
|
childNodesHTML = content; ///
|
|
@@ -70,20 +87,6 @@ export default class BlockLineMarkdownNode extends MarkdownNode {
|
|
|
70
87
|
return plainText;
|
|
71
88
|
}
|
|
72
89
|
|
|
73
|
-
createChildNodeDOMElements(context) {
|
|
74
|
-
let domElement;
|
|
75
|
-
|
|
76
|
-
domElement = this.getDOMElement();
|
|
77
|
-
|
|
78
|
-
const content = this.content(context),
|
|
79
|
-
textNode = document.createTextNode(content),
|
|
80
|
-
parentDOMElement = domElement; ///
|
|
81
|
-
|
|
82
|
-
domElement = textNode; ///
|
|
83
|
-
|
|
84
|
-
parentDOMElement.appendChild(domElement);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
90
|
static lines = 2;
|
|
88
91
|
|
|
89
92
|
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(BlockLineMarkdownNode, ruleName, childNodes, opacity); }
|
|
@@ -5,23 +5,21 @@ import MarkdownNode from "../../node/markdown";
|
|
|
5
5
|
import { COMMA } from "../../constants";
|
|
6
6
|
|
|
7
7
|
export default class CommaMarkdownNode extends MarkdownNode {
|
|
8
|
-
asHTML(indent, context) {
|
|
9
|
-
const content = this.content(context),
|
|
10
|
-
html = content; ///
|
|
11
|
-
|
|
12
|
-
return html;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
8
|
createDOMElement(context) {
|
|
16
9
|
const content = this.content(context),
|
|
17
10
|
textNode = document.createTextNode(content),
|
|
18
11
|
domElement = textNode; ///
|
|
19
12
|
|
|
20
|
-
this.setDOMElement(domElement);
|
|
21
|
-
|
|
22
13
|
return domElement;
|
|
23
14
|
}
|
|
24
15
|
|
|
16
|
+
asHTML(indent, context) {
|
|
17
|
+
const content = this.content(context),
|
|
18
|
+
html = content; ///
|
|
19
|
+
|
|
20
|
+
return html;
|
|
21
|
+
}
|
|
22
|
+
|
|
25
23
|
content(context) {
|
|
26
24
|
const content = COMMA; ///
|
|
27
25
|
|