highmark-markdown 0.0.335 → 0.0.337

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.
@@ -9,6 +9,9 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
+ default: function() {
13
+ return _default;
14
+ },
12
15
  domElementsFromChildNodes: function() {
13
16
  return domElementsFromChildNodes;
14
17
  },
@@ -21,8 +24,8 @@ _export(exports, {
21
24
  });
22
25
  var _necessary = require("necessary");
23
26
  var _plainText = /*#__PURE__*/ _interop_require_default(require("../node/markdown/plainText"));
24
- var _content = require("./content");
25
27
  var _constants = require("../constants");
28
+ var _content = require("./content");
26
29
  function _instanceof(left, right) {
27
30
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
28
31
  return !!right[Symbol.hasInstance](left);
@@ -35,9 +38,8 @@ function _interop_require_default(obj) {
35
38
  default: obj
36
39
  };
37
40
  }
38
- var push = _necessary.arrayUtilities.push, clear = _necessary.arrayUtilities.clear;
39
- function htmlFromChildNodes(childNodes, context, leftTrimmed) {
40
- var html;
41
+ var first = _necessary.arrayUtilities.first, last = _necessary.arrayUtilities.last, push = _necessary.arrayUtilities.push, clear = _necessary.arrayUtilities.clear;
42
+ function htmlFromChildNodes(childNodes, context) {
41
43
  var htmls = [], plainTextMarkdownNodes = [];
42
44
  childNodes.forEach(function(childNode) {
43
45
  var childNodeNonTerminalNode = childNode.isNonTerminalNode();
@@ -47,9 +49,9 @@ function htmlFromChildNodes(childNodes, context, leftTrimmed) {
47
49
  var plainTextMarkdownNode = markdownNode; ///
48
50
  plainTextMarkdownNodes.push(plainTextMarkdownNode);
49
51
  } else {
50
- var plainText = plainTextFromPlainTextMarkdownNodes(plainTextMarkdownNodes, context, leftTrimmed);
51
- if (plainText !== null) {
52
- var html = plainText; ///
52
+ var content = contentFromPlainTextMarkdownNodes(plainTextMarkdownNodes, childNodes, context);
53
+ if (content !== null) {
54
+ var html = content; ///
53
55
  htmls.push(html);
54
56
  }
55
57
  var indent = null, html1 = markdownNode.asHTML(indent, context);
@@ -58,18 +60,16 @@ function htmlFromChildNodes(childNodes, context, leftTrimmed) {
58
60
  }
59
61
  }
60
62
  }
61
- leftTrimmed = false;
62
63
  });
63
- var plainText = plainTextFromPlainTextMarkdownNodes(plainTextMarkdownNodes, context, leftTrimmed);
64
- if (plainText !== null) {
65
- var html1 = plainText; ///
66
- htmls.push(html1);
64
+ var content = contentFromPlainTextMarkdownNodes(plainTextMarkdownNodes, childNodes, context);
65
+ if (content !== null) {
66
+ var html = content; ///
67
+ htmls.push(html);
67
68
  }
68
- html = htmls.join(_constants.EMPTY_STRING);
69
- return html;
69
+ var html1 = htmls.join(_constants.EMPTY_STRING);
70
+ return html1;
70
71
  }
71
- function plainTextFromChildNodes(childNodes, context, leftTrimmed) {
72
- var plainText;
72
+ function plainTextFromChildNodes(childNodes, context) {
73
73
  var plainTexts = [], plainTextMarkdownNodes = [];
74
74
  childNodes.forEach(function(childNode) {
75
75
  var childNodeNonTerminalNode = childNode.isNonTerminalNode();
@@ -79,27 +79,27 @@ function plainTextFromChildNodes(childNodes, context, leftTrimmed) {
79
79
  var plainTextMarkdownNode = markdownNode; ///
80
80
  plainTextMarkdownNodes.push(plainTextMarkdownNode);
81
81
  } else {
82
- plainText = plainTextFromPlainTextMarkdownNodes(plainTextMarkdownNodes, context, leftTrimmed);
83
- if (plainText !== null) {
82
+ var content = contentFromPlainTextMarkdownNodes(plainTextMarkdownNodes, _$childNodes, context);
83
+ if (content !== null) {
84
+ var plainText = content; ///
84
85
  plainTexts.push(plainText);
85
86
  }
86
- var _$childNodes = markdownNode.getChildNodes();
87
- plainText = plainTextFromChildNodes(_$childNodes, context, leftTrimmed);
88
- if (plainText !== _constants.EMPTY_STRING) {
89
- plainTexts.push(plainText);
87
+ var _$childNodes = markdownNode.getChildNodes(), plainText1 = plainTextFromChildNodes(_$childNodes, context);
88
+ if (plainText1 !== _constants.EMPTY_STRING) {
89
+ plainTexts.push(plainText1);
90
90
  }
91
91
  }
92
92
  }
93
- leftTrimmed = false;
94
93
  });
95
- plainText = plainTextFromPlainTextMarkdownNodes(plainTextMarkdownNodes, context, leftTrimmed);
96
- if (plainText !== null) {
94
+ var content = contentFromPlainTextMarkdownNodes(plainTextMarkdownNodes, childNodes, context);
95
+ if (content !== null) {
96
+ var plainText = content; ///
97
97
  plainTexts.push(plainText);
98
98
  }
99
- plainText = plainTexts.join(_constants.EMPTY_STRING);
100
- return plainText;
99
+ var plainText1 = plainTexts.join(_constants.EMPTY_STRING);
100
+ return plainText1;
101
101
  }
102
- function domElementsFromChildNodes(childNodes, context, leftTrimmed) {
102
+ function domElementsFromChildNodes(childNodes, context) {
103
103
  var domElements = [], plainTextMarkdownNodes = [];
104
104
  childNodes.forEach(function(childNode) {
105
105
  var childNodeNonTerminalNode = childNode.isNonTerminalNode();
@@ -109,9 +109,9 @@ function domElementsFromChildNodes(childNodes, context, leftTrimmed) {
109
109
  var plainTextMarkdownNode = markdownNode; ///
110
110
  plainTextMarkdownNodes.push(plainTextMarkdownNode);
111
111
  } else {
112
- var plainText = plainTextFromPlainTextMarkdownNodes(plainTextMarkdownNodes, context, leftTrimmed);
113
- if (plainText !== null) {
114
- var content = plainText, textNode = document.createTextNode(content), domElement = textNode; ///
112
+ var content = contentFromPlainTextMarkdownNodes(plainTextMarkdownNodes, childNodes, context);
113
+ if (content !== null) {
114
+ var textNode = document.createTextNode(content), domElement = textNode; ///
115
115
  domElements.push(domElement);
116
116
  }
117
117
  markdownNode.createDOMElement(context);
@@ -119,29 +119,28 @@ function domElementsFromChildNodes(childNodes, context, leftTrimmed) {
119
119
  push(domElements, markdownNodeDOMElements);
120
120
  }
121
121
  }
122
- leftTrimmed = false;
123
122
  });
124
- var plainText = plainTextFromPlainTextMarkdownNodes(plainTextMarkdownNodes, context, leftTrimmed);
125
- if (plainText !== null) {
126
- var content = plainText, textNode = document.createTextNode(content), domElement = textNode; ///
123
+ var content = contentFromPlainTextMarkdownNodes(plainTextMarkdownNodes, childNodes, context);
124
+ if (content !== null) {
125
+ var textNode = document.createTextNode(content), domElement = textNode; ///
127
126
  domElements.push(domElement);
128
127
  }
129
- var domElementsLength = domElements.length;
130
- if (domElementsLength === 0) {
131
- var content1 = _constants.CARRIAGE_RETURN, textNode1 = document.createTextNode(content1), domElement1 = textNode1; ///
132
- domElements.push(domElement1);
133
- }
134
128
  return domElements;
135
129
  }
136
- function plainTextFromPlainTextMarkdownNodes(plainTextMarkdownNodes, context, leftTrimmed) {
137
- var plainText = null;
130
+ function contentFromPlainTextMarkdownNodes(plainTextMarkdownNodes, childNodes, context) {
131
+ var content = null;
138
132
  var plainTextMarkdownNodesLength = plainTextMarkdownNodes.length;
139
133
  if (plainTextMarkdownNodesLength > 0) {
140
- var markdownNodes = plainTextMarkdownNodes, rightTrimmed = false, content = (0, _content.contentFromMarkdownNodes)(markdownNodes, context, leftTrimmed, rightTrimmed);
141
- plainText = content; ///
134
+ var nodes = plainTextMarkdownNodes, lastNode = last(nodes), firstNode = first(nodes), lastNodeIndex = childNodes.indexOf(lastNode), firstNodeIndex = childNodes.indexOf(firstNode), childNodesLength = childNodes.length, lastChildNodeIndex = childNodesLength - 1, firstChildNodeIndex = 0, augmentLeft = firstNodeIndex !== firstChildNodeIndex, augmentRight = lastNodeIndex !== lastChildNodeIndex; ///
135
+ content = (0, _content.contentFromNodes)(nodes, augmentLeft, augmentRight, context);
142
136
  clear(plainTextMarkdownNodes);
143
137
  }
144
- return plainText;
138
+ return content;
145
139
  }
140
+ var _default = {
141
+ htmlFromChildNodes: htmlFromChildNodes,
142
+ plainTextFromChildNodes: plainTextFromChildNodes,
143
+ domElementsFromChildNodes: domElementsFromChildNodes
144
+ };
146
145
 
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY2hpbGROb2Rlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCBQbGFpblRleHRNYXJrZG93bk5vZGUgZnJvbSBcIi4uL25vZGUvbWFya2Rvd24vcGxhaW5UZXh0XCI7XG5cbmltcG9ydCB7IGNvbnRlbnRGcm9tTWFya2Rvd25Ob2RlcyB9IGZyb20gXCIuL2NvbnRlbnRcIjtcbmltcG9ydCB7IENBUlJJQUdFX1JFVFVSTiwgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5jb25zdCB7IHB1c2gsIGNsZWFyIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIGh0bWxGcm9tQ2hpbGROb2RlcyhjaGlsZE5vZGVzLCBjb250ZXh0LCBsZWZ0VHJpbW1lZCkge1xuICBsZXQgaHRtbDtcblxuICBjb25zdCBodG1scyA9IFtdLFxuICAgICAgICBwbGFpblRleHRNYXJrZG93bk5vZGVzID0gW107XG5cbiAgY2hpbGROb2Rlcy5mb3JFYWNoKChjaGlsZE5vZGUpID0+IHtcbiAgICBjb25zdCBjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmIChjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgbWFya2Rvd25Ob2RlID0gbm9uVGVybWluYWxOb2RlLCAvLy9cbiAgICAgICAgICAgIG1hcmtkb3duTm9kZVBsYWluVGV4dE1hcmtkb3duTm9kZSA9IChtYXJrZG93bk5vZGUgaW5zdGFuY2VvZiBQbGFpblRleHRNYXJrZG93bk5vZGUpO1xuXG4gICAgICBpZiAobWFya2Rvd25Ob2RlUGxhaW5UZXh0TWFya2Rvd25Ob2RlKSB7XG4gICAgICAgIGNvbnN0IHBsYWluVGV4dE1hcmtkb3duTm9kZSA9IG1hcmtkb3duTm9kZTsgLy8vXG5cbiAgICAgICAgcGxhaW5UZXh0TWFya2Rvd25Ob2Rlcy5wdXNoKHBsYWluVGV4dE1hcmtkb3duTm9kZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBwbGFpblRleHQgPSBwbGFpblRleHRGcm9tUGxhaW5UZXh0TWFya2Rvd25Ob2RlcyhwbGFpblRleHRNYXJrZG93bk5vZGVzLCBjb250ZXh0LCBsZWZ0VHJpbW1lZCk7XG5cbiAgICAgICAgaWYgKHBsYWluVGV4dCAhPT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IGh0bWwgPSBwbGFpblRleHQ7IC8vL1xuXG4gICAgICAgICAgaHRtbHMucHVzaChodG1sKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGluZGVudCA9IG51bGwsXG4gICAgICAgICAgICAgIGh0bWwgPSBtYXJrZG93bk5vZGUuYXNIVE1MKGluZGVudCwgY29udGV4dCk7XG5cbiAgICAgICAgaWYgKGh0bWwgIT09IG51bGwpIHtcbiAgICAgICAgICBodG1scy5wdXNoKGh0bWwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGVmdFRyaW1tZWQgPSBmYWxzZTtcbiAgfSk7XG5cbiAgY29uc3QgcGxhaW5UZXh0ID0gcGxhaW5UZXh0RnJvbVBsYWluVGV4dE1hcmtkb3duTm9kZXMocGxhaW5UZXh0TWFya2Rvd25Ob2RlcywgY29udGV4dCwgbGVmdFRyaW1tZWQpO1xuXG4gIGlmIChwbGFpblRleHQgIT09IG51bGwpIHtcbiAgICBjb25zdCBodG1sID0gcGxhaW5UZXh0OyAvLy9cblxuICAgIGh0bWxzLnB1c2goaHRtbCk7XG4gIH1cblxuICBodG1sID0gaHRtbHMuam9pbihFTVBUWV9TVFJJTkcpO1xuXG4gIHJldHVybiBodG1sO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGxhaW5UZXh0RnJvbUNoaWxkTm9kZXMoY2hpbGROb2RlcywgY29udGV4dCwgbGVmdFRyaW1tZWQpIHtcbiAgbGV0IHBsYWluVGV4dDtcblxuICBjb25zdCBwbGFpblRleHRzID0gW10sXG4gICAgICAgIHBsYWluVGV4dE1hcmtkb3duTm9kZXMgPSBbXTtcblxuICBjaGlsZE5vZGVzLmZvckVhY2goKGNoaWxkTm9kZSkgPT4ge1xuICAgIGNvbnN0IGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICBtYXJrZG93bk5vZGUgPSBub25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgbWFya2Rvd25Ob2RlUGxhaW5UZXh0TWFya2Rvd25Ob2RlID0gKG1hcmtkb3duTm9kZSBpbnN0YW5jZW9mIFBsYWluVGV4dE1hcmtkb3duTm9kZSk7XG5cbiAgICAgIGlmIChtYXJrZG93bk5vZGVQbGFpblRleHRNYXJrZG93bk5vZGUpIHtcbiAgICAgICAgY29uc3QgcGxhaW5UZXh0TWFya2Rvd25Ob2RlID0gbWFya2Rvd25Ob2RlOyAvLy9cblxuICAgICAgICBwbGFpblRleHRNYXJrZG93bk5vZGVzLnB1c2gocGxhaW5UZXh0TWFya2Rvd25Ob2RlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBsYWluVGV4dCA9IHBsYWluVGV4dEZyb21QbGFpblRleHRNYXJrZG93bk5vZGVzKHBsYWluVGV4dE1hcmtkb3duTm9kZXMsIGNvbnRleHQsIGxlZnRUcmltbWVkKTtcblxuICAgICAgICBpZiAocGxhaW5UZXh0ICE9PSBudWxsKSB7XG4gICAgICAgICAgcGxhaW5UZXh0cy5wdXNoKHBsYWluVGV4dCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjaGlsZE5vZGVzID0gbWFya2Rvd25Ob2RlLmdldENoaWxkTm9kZXMoKTtcblxuICAgICAgICBwbGFpblRleHQgPSBwbGFpblRleHRGcm9tQ2hpbGROb2RlcyhjaGlsZE5vZGVzLCBjb250ZXh0LCBsZWZ0VHJpbW1lZCk7XG5cbiAgICAgICAgaWYgKHBsYWluVGV4dCAhPT0gRU1QVFlfU1RSSU5HKSB7XG4gICAgICAgICAgcGxhaW5UZXh0cy5wdXNoKHBsYWluVGV4dCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZWZ0VHJpbW1lZCA9IGZhbHNlO1xuICB9KTtcblxuICBwbGFpblRleHQgPSBwbGFpblRleHRGcm9tUGxhaW5UZXh0TWFya2Rvd25Ob2RlcyhwbGFpblRleHRNYXJrZG93bk5vZGVzLCBjb250ZXh0LCBsZWZ0VHJpbW1lZCk7XG5cbiAgaWYgKHBsYWluVGV4dCAhPT0gbnVsbCkge1xuICAgIHBsYWluVGV4dHMucHVzaChwbGFpblRleHQpO1xuICB9XG5cbiAgcGxhaW5UZXh0ID0gcGxhaW5UZXh0cy5qb2luKEVNUFRZX1NUUklORyk7XG5cbiAgcmV0dXJuIHBsYWluVGV4dDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRvbUVsZW1lbnRzRnJvbUNoaWxkTm9kZXMoY2hpbGROb2RlcywgY29udGV4dCwgbGVmdFRyaW1tZWQpIHtcbiAgY29uc3QgZG9tRWxlbWVudHMgPSBbXSxcbiAgICAgICAgcGxhaW5UZXh0TWFya2Rvd25Ob2RlcyA9IFtdO1xuXG4gIGNoaWxkTm9kZXMuZm9yRWFjaCgoY2hpbGROb2RlKSA9PiB7XG4gICAgY29uc3QgY2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoY2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICAgIG1hcmtkb3duTm9kZSA9IG5vblRlcm1pbmFsTm9kZSwgLy8vXG4gICAgICAgICAgICBtYXJrZG93bk5vZGVQbGFpblRleHRNYXJrZG93bk5vZGUgPSAobWFya2Rvd25Ob2RlIGluc3RhbmNlb2YgUGxhaW5UZXh0TWFya2Rvd25Ob2RlKTtcblxuICAgICAgaWYgKG1hcmtkb3duTm9kZVBsYWluVGV4dE1hcmtkb3duTm9kZSkge1xuICAgICAgICBjb25zdCBwbGFpblRleHRNYXJrZG93bk5vZGUgPSBtYXJrZG93bk5vZGU7IC8vL1xuXG4gICAgICAgIHBsYWluVGV4dE1hcmtkb3duTm9kZXMucHVzaChwbGFpblRleHRNYXJrZG93bk5vZGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcGxhaW5UZXh0ID0gcGxhaW5UZXh0RnJvbVBsYWluVGV4dE1hcmtkb3duTm9kZXMocGxhaW5UZXh0TWFya2Rvd25Ob2RlcywgY29udGV4dCwgbGVmdFRyaW1tZWQpO1xuXG4gICAgICAgIGlmIChwbGFpblRleHQgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBjb250ZW50ID0gcGxhaW5UZXh0LCAgLy8vXG4gICAgICAgICAgICAgICAgdGV4dE5vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjb250ZW50KSxcbiAgICAgICAgICAgICAgICBkb21FbGVtZW50ID0gdGV4dE5vZGU7ICAvLy9cblxuICAgICAgICAgIGRvbUVsZW1lbnRzLnB1c2goZG9tRWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBtYXJrZG93bk5vZGUuY3JlYXRlRE9NRWxlbWVudChjb250ZXh0KTtcblxuICAgICAgICBjb25zdCBtYXJrZG93bk5vZGVET01FbGVtZW50cyA9IG1hcmtkb3duTm9kZS5nZXRET01FbGVtZW50cygpO1xuXG4gICAgICAgIHB1c2goZG9tRWxlbWVudHMsIG1hcmtkb3duTm9kZURPTUVsZW1lbnRzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZWZ0VHJpbW1lZCA9IGZhbHNlO1xuICB9KTtcblxuICBjb25zdCBwbGFpblRleHQgPSBwbGFpblRleHRGcm9tUGxhaW5UZXh0TWFya2Rvd25Ob2RlcyhwbGFpblRleHRNYXJrZG93bk5vZGVzLCBjb250ZXh0LCBsZWZ0VHJpbW1lZCk7XG5cbiAgaWYgKHBsYWluVGV4dCAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSBwbGFpblRleHQsICAvLy9cbiAgICAgICAgICB0ZXh0Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNvbnRlbnQpLFxuICAgICAgICAgIGRvbUVsZW1lbnQgPSB0ZXh0Tm9kZTsgIC8vL1xuXG4gICAgZG9tRWxlbWVudHMucHVzaChkb21FbGVtZW50KTtcbiAgfVxuXG4gIGNvbnN0IGRvbUVsZW1lbnRzTGVuZ3RoID0gZG9tRWxlbWVudHMubGVuZ3RoO1xuXG4gIGlmIChkb21FbGVtZW50c0xlbmd0aCA9PT0gMCkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSBDQVJSSUFHRV9SRVRVUk4sICAvLy9cbiAgICAgICAgICB0ZXh0Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNvbnRlbnQpLFxuICAgICAgICAgIGRvbUVsZW1lbnQgPSB0ZXh0Tm9kZTsgIC8vL1xuXG4gICAgZG9tRWxlbWVudHMucHVzaChkb21FbGVtZW50KTtcbiAgfVxuXG4gIHJldHVybiBkb21FbGVtZW50cztcbn1cblxuZnVuY3Rpb24gcGxhaW5UZXh0RnJvbVBsYWluVGV4dE1hcmtkb3duTm9kZXMocGxhaW5UZXh0TWFya2Rvd25Ob2RlcywgY29udGV4dCwgbGVmdFRyaW1tZWQpIHtcbiAgbGV0IHBsYWluVGV4dCA9IG51bGw7XG5cbiAgY29uc3QgcGxhaW5UZXh0TWFya2Rvd25Ob2Rlc0xlbmd0aCA9IHBsYWluVGV4dE1hcmtkb3duTm9kZXMubGVuZ3RoO1xuXG4gIGlmIChwbGFpblRleHRNYXJrZG93bk5vZGVzTGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IG1hcmtkb3duTm9kZXMgPSBwbGFpblRleHRNYXJrZG93bk5vZGVzLCAgLy8vXG4gICAgICAgICAgcmlnaHRUcmltbWVkID0gZmFsc2UsXG4gICAgICAgICAgY29udGVudCA9IGNvbnRlbnRGcm9tTWFya2Rvd25Ob2RlcyhtYXJrZG93bk5vZGVzLCBjb250ZXh0LCBsZWZ0VHJpbW1lZCwgcmlnaHRUcmltbWVkKTtcblxuICAgIHBsYWluVGV4dCA9IGNvbnRlbnQ7IC8vL1xuXG4gICAgY2xlYXIocGxhaW5UZXh0TWFya2Rvd25Ob2Rlcyk7XG4gIH1cblxuICByZXR1cm4gcGxhaW5UZXh0O1xufVxuIl0sIm5hbWVzIjpbImRvbUVsZW1lbnRzRnJvbUNoaWxkTm9kZXMiLCJodG1sRnJvbUNoaWxkTm9kZXMiLCJwbGFpblRleHRGcm9tQ2hpbGROb2RlcyIsInB1c2giLCJhcnJheVV0aWxpdGllcyIsImNsZWFyIiwiY2hpbGROb2RlcyIsImNvbnRleHQiLCJsZWZ0VHJpbW1lZCIsImh0bWwiLCJodG1scyIsInBsYWluVGV4dE1hcmtkb3duTm9kZXMiLCJmb3JFYWNoIiwiY2hpbGROb2RlIiwiY2hpbGROb2RlTm9uVGVybWluYWxOb2RlIiwiaXNOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJtYXJrZG93bk5vZGUiLCJtYXJrZG93bk5vZGVQbGFpblRleHRNYXJrZG93bk5vZGUiLCJQbGFpblRleHRNYXJrZG93bk5vZGUiLCJwbGFpblRleHRNYXJrZG93bk5vZGUiLCJwbGFpblRleHQiLCJwbGFpblRleHRGcm9tUGxhaW5UZXh0TWFya2Rvd25Ob2RlcyIsImluZGVudCIsImFzSFRNTCIsImpvaW4iLCJFTVBUWV9TVFJJTkciLCJwbGFpblRleHRzIiwiZ2V0Q2hpbGROb2RlcyIsImRvbUVsZW1lbnRzIiwiY29udGVudCIsInRleHROb2RlIiwiZG9jdW1lbnQiLCJjcmVhdGVUZXh0Tm9kZSIsImRvbUVsZW1lbnQiLCJjcmVhdGVET01FbGVtZW50IiwibWFya2Rvd25Ob2RlRE9NRWxlbWVudHMiLCJnZXRET01FbGVtZW50cyIsImRvbUVsZW1lbnRzTGVuZ3RoIiwibGVuZ3RoIiwiQ0FSUklBR0VfUkVUVVJOIiwicGxhaW5UZXh0TWFya2Rvd25Ob2Rlc0xlbmd0aCIsIm1hcmtkb3duTm9kZXMiLCJyaWdodFRyaW1tZWQiLCJjb250ZW50RnJvbU1hcmtkb3duTm9kZXMiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFnSGdCQSx5QkFBeUI7ZUFBekJBOztJQXJHQUMsa0JBQWtCO2VBQWxCQTs7SUFvREFDLHVCQUF1QjtlQUF2QkE7Ozt5QkE3RGU7Z0VBRUc7dUJBRU87eUJBQ0s7Ozs7Ozs7Ozs7Ozs7QUFFOUMsSUFBUUMsT0FBZ0JDLHlCQUFjLENBQTlCRCxNQUFNRSxRQUFVRCx5QkFBYyxDQUF4QkM7QUFFUCxTQUFTSixtQkFBbUJLLFVBQVUsRUFBRUMsT0FBTyxFQUFFQyxXQUFXO0lBQ2pFLElBQUlDO0lBRUosSUFBTUMsUUFBUSxFQUFFLEVBQ1ZDLHlCQUF5QixFQUFFO0lBRWpDTCxXQUFXTSxPQUFPLENBQUMsU0FBQ0M7UUFDbEIsSUFBTUMsMkJBQTJCRCxVQUFVRSxpQkFBaUI7UUFFNUQsSUFBSUQsMEJBQTBCO1lBQzVCLElBQU1FLGtCQUFrQkgsV0FDbEJJLGVBQWVELGlCQUNmRSxvQ0FBcUNELEFBQVksWUFBWkEsY0FBd0JFLGtCQUFxQjtZQUV4RixJQUFJRCxtQ0FBbUM7Z0JBQ3JDLElBQU1FLHdCQUF3QkgsY0FBYyxHQUFHO2dCQUUvQ04sdUJBQXVCUixJQUFJLENBQUNpQjtZQUM5QixPQUFPO2dCQUNMLElBQU1DLFlBQVlDLG9DQUFvQ1gsd0JBQXdCSixTQUFTQztnQkFFdkYsSUFBSWEsY0FBYyxNQUFNO29CQUN0QixJQUFNWixPQUFPWSxXQUFXLEdBQUc7b0JBRTNCWCxNQUFNUCxJQUFJLENBQUNNO2dCQUNiO2dCQUVBLElBQU1jLFNBQVMsTUFDVGQsUUFBT1EsYUFBYU8sTUFBTSxDQUFD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
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY2hpbGROb2Rlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCBQbGFpblRleHRNYXJrZG93bk5vZGUgZnJvbSBcIi4uL25vZGUvbWFya2Rvd24vcGxhaW5UZXh0XCI7XG5cbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGNvbnRlbnRGcm9tTm9kZXMgfSBmcm9tIFwiLi9jb250ZW50XCI7XG5cbmNvbnN0IHsgZmlyc3QsIGxhc3QsIHB1c2gsIGNsZWFyIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIGh0bWxGcm9tQ2hpbGROb2RlcyhjaGlsZE5vZGVzLCBjb250ZXh0KSB7XG4gIGNvbnN0IGh0bWxzID0gW10sXG4gICAgICAgIHBsYWluVGV4dE1hcmtkb3duTm9kZXMgPSBbXTtcblxuICBjaGlsZE5vZGVzLmZvckVhY2goKGNoaWxkTm9kZSkgPT4ge1xuICAgIGNvbnN0IGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICBtYXJrZG93bk5vZGUgPSBub25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgbWFya2Rvd25Ob2RlUGxhaW5UZXh0TWFya2Rvd25Ob2RlID0gKG1hcmtkb3duTm9kZSBpbnN0YW5jZW9mIFBsYWluVGV4dE1hcmtkb3duTm9kZSk7XG5cbiAgICAgIGlmIChtYXJrZG93bk5vZGVQbGFpblRleHRNYXJrZG93bk5vZGUpIHtcbiAgICAgICAgY29uc3QgcGxhaW5UZXh0TWFya2Rvd25Ob2RlID0gbWFya2Rvd25Ob2RlOyAvLy9cblxuICAgICAgICBwbGFpblRleHRNYXJrZG93bk5vZGVzLnB1c2gocGxhaW5UZXh0TWFya2Rvd25Ob2RlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSBjb250ZW50RnJvbVBsYWluVGV4dE1hcmtkb3duTm9kZXMocGxhaW5UZXh0TWFya2Rvd25Ob2RlcywgY2hpbGROb2RlcywgY29udGV4dCk7XG5cbiAgICAgICAgaWYgKGNvbnRlbnQgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBodG1sID0gY29udGVudDsgLy8vXG5cbiAgICAgICAgICBodG1scy5wdXNoKGh0bWwpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaW5kZW50ID0gbnVsbCxcbiAgICAgICAgICAgICAgaHRtbCA9IG1hcmtkb3duTm9kZS5hc0hUTUwoaW5kZW50LCBjb250ZXh0KTtcblxuICAgICAgICBpZiAoaHRtbCAhPT0gbnVsbCkge1xuICAgICAgICAgIGh0bWxzLnB1c2goaHRtbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIGNvbnN0IGNvbnRlbnQgPSBjb250ZW50RnJvbVBsYWluVGV4dE1hcmtkb3duTm9kZXMocGxhaW5UZXh0TWFya2Rvd25Ob2RlcywgY2hpbGROb2RlcywgY29udGV4dCk7XG5cbiAgaWYgKGNvbnRlbnQgIT09IG51bGwpIHtcbiAgICBjb25zdCBodG1sID0gY29udGVudDsgLy8vXG5cbiAgICBodG1scy5wdXNoKGh0bWwpO1xuICB9XG5cbiAgY29uc3QgaHRtbCA9IGh0bWxzLmpvaW4oRU1QVFlfU1RSSU5HKTtcblxuICByZXR1cm4gaHRtbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBsYWluVGV4dEZyb21DaGlsZE5vZGVzKGNoaWxkTm9kZXMsIGNvbnRleHQpIHtcbiAgY29uc3QgcGxhaW5UZXh0cyA9IFtdLFxuICAgICAgICBwbGFpblRleHRNYXJrZG93bk5vZGVzID0gW107XG5cbiAgY2hpbGROb2Rlcy5mb3JFYWNoKChjaGlsZE5vZGUpID0+IHtcbiAgICBjb25zdCBjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmIChjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgbWFya2Rvd25Ob2RlID0gbm9uVGVybWluYWxOb2RlLCAvLy9cbiAgICAgICAgICAgIG1hcmtkb3duTm9kZVBsYWluVGV4dE1hcmtkb3duTm9kZSA9IChtYXJrZG93bk5vZGUgaW5zdGFuY2VvZiBQbGFpblRleHRNYXJrZG93bk5vZGUpO1xuXG4gICAgICBpZiAobWFya2Rvd25Ob2RlUGxhaW5UZXh0TWFya2Rvd25Ob2RlKSB7XG4gICAgICAgIGNvbnN0IHBsYWluVGV4dE1hcmtkb3duTm9kZSA9IG1hcmtkb3duTm9kZTsgLy8vXG5cbiAgICAgICAgcGxhaW5UZXh0TWFya2Rvd25Ob2Rlcy5wdXNoKHBsYWluVGV4dE1hcmtkb3duTm9kZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gY29udGVudEZyb21QbGFpblRleHRNYXJrZG93bk5vZGVzKHBsYWluVGV4dE1hcmtkb3duTm9kZXMsIGNoaWxkTm9kZXMsIGNvbnRleHQpO1xuXG4gICAgICAgIGlmIChjb250ZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgY29uc3QgcGxhaW5UZXh0ID0gY29udGVudDsgIC8vL1xuXG4gICAgICAgICAgcGxhaW5UZXh0cy5wdXNoKHBsYWluVGV4dCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjaGlsZE5vZGVzID0gbWFya2Rvd25Ob2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgICAgcGxhaW5UZXh0ID0gcGxhaW5UZXh0RnJvbUNoaWxkTm9kZXMoY2hpbGROb2RlcywgY29udGV4dCk7XG5cbiAgICAgICAgaWYgKHBsYWluVGV4dCAhPT0gRU1QVFlfU1RSSU5HKSB7XG4gICAgICAgICAgcGxhaW5UZXh0cy5wdXNoKHBsYWluVGV4dCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIGNvbnN0IGNvbnRlbnQgPSBjb250ZW50RnJvbVBsYWluVGV4dE1hcmtkb3duTm9kZXMocGxhaW5UZXh0TWFya2Rvd25Ob2RlcywgY2hpbGROb2RlcywgY29udGV4dCk7XG5cbiAgaWYgKGNvbnRlbnQgIT09IG51bGwpIHtcbiAgICBjb25zdCBwbGFpblRleHQgPSBjb250ZW50OyAgLy8vXG5cbiAgICBwbGFpblRleHRzLnB1c2gocGxhaW5UZXh0KTtcbiAgfVxuXG4gIGNvbnN0IHBsYWluVGV4dCA9IHBsYWluVGV4dHMuam9pbihFTVBUWV9TVFJJTkcpO1xuXG4gIHJldHVybiBwbGFpblRleHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkb21FbGVtZW50c0Zyb21DaGlsZE5vZGVzKGNoaWxkTm9kZXMsIGNvbnRleHQpIHtcbiAgY29uc3QgZG9tRWxlbWVudHMgPSBbXSxcbiAgICAgICAgcGxhaW5UZXh0TWFya2Rvd25Ob2RlcyA9IFtdO1xuXG4gIGNoaWxkTm9kZXMuZm9yRWFjaCgoY2hpbGROb2RlKSA9PiB7XG4gICAgY29uc3QgY2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoY2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICAgIG1hcmtkb3duTm9kZSA9IG5vblRlcm1pbmFsTm9kZSwgLy8vXG4gICAgICAgICAgICBtYXJrZG93bk5vZGVQbGFpblRleHRNYXJrZG93bk5vZGUgPSAobWFya2Rvd25Ob2RlIGluc3RhbmNlb2YgUGxhaW5UZXh0TWFya2Rvd25Ob2RlKTtcblxuICAgICAgaWYgKG1hcmtkb3duTm9kZVBsYWluVGV4dE1hcmtkb3duTm9kZSkge1xuICAgICAgICBjb25zdCBwbGFpblRleHRNYXJrZG93bk5vZGUgPSBtYXJrZG93bk5vZGU7IC8vL1xuXG4gICAgICAgIHBsYWluVGV4dE1hcmtkb3duTm9kZXMucHVzaChwbGFpblRleHRNYXJrZG93bk5vZGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgY29udGVudCA9IGNvbnRlbnRGcm9tUGxhaW5UZXh0TWFya2Rvd25Ob2RlcyhwbGFpblRleHRNYXJrZG93bk5vZGVzLCBjaGlsZE5vZGVzLCBjb250ZXh0KTtcblxuICAgICAgICBpZiAoY29udGVudCAhPT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IHRleHROb2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY29udGVudCksXG4gICAgICAgICAgICAgICAgZG9tRWxlbWVudCA9IHRleHROb2RlOyAgLy8vXG5cbiAgICAgICAgICBkb21FbGVtZW50cy5wdXNoKGRvbUVsZW1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgbWFya2Rvd25Ob2RlLmNyZWF0ZURPTUVsZW1lbnQoY29udGV4dCk7XG5cbiAgICAgICAgY29uc3QgbWFya2Rvd25Ob2RlRE9NRWxlbWVudHMgPSBtYXJrZG93bk5vZGUuZ2V0RE9NRWxlbWVudHMoKTtcblxuICAgICAgICBwdXNoKGRvbUVsZW1lbnRzLCBtYXJrZG93bk5vZGVET01FbGVtZW50cyk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICBjb25zdCBjb250ZW50ID0gY29udGVudEZyb21QbGFpblRleHRNYXJrZG93bk5vZGVzKHBsYWluVGV4dE1hcmtkb3duTm9kZXMsIGNoaWxkTm9kZXMsIGNvbnRleHQpO1xuXG4gIGlmIChjb250ZW50ICE9PSBudWxsKSB7XG4gICAgY29uc3QgdGV4dE5vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjb250ZW50KSxcbiAgICAgICAgICBkb21FbGVtZW50ID0gdGV4dE5vZGU7ICAvLy9cblxuICAgIGRvbUVsZW1lbnRzLnB1c2goZG9tRWxlbWVudCk7XG4gIH1cblxuICByZXR1cm4gZG9tRWxlbWVudHM7XG59XG5cbmZ1bmN0aW9uIGNvbnRlbnRGcm9tUGxhaW5UZXh0TWFya2Rvd25Ob2RlcyhwbGFpblRleHRNYXJrZG93bk5vZGVzLCBjaGlsZE5vZGVzLCBjb250ZXh0KSB7XG4gIGxldCBjb250ZW50ID0gbnVsbDtcblxuICBjb25zdCBwbGFpblRleHRNYXJrZG93bk5vZGVzTGVuZ3RoID0gcGxhaW5UZXh0TWFya2Rvd25Ob2Rlcy5sZW5ndGg7XG5cbiAgaWYgKHBsYWluVGV4dE1hcmtkb3duTm9kZXNMZW5ndGggPiAwKSB7XG4gICAgY29uc3Qgbm9kZXMgPSBwbGFpblRleHRNYXJrZG93bk5vZGVzLCAvLy9cbiAgICAgICAgICBsYXN0Tm9kZSA9IGxhc3Qobm9kZXMpLFxuICAgICAgICAgIGZpcnN0Tm9kZSA9IGZpcnN0KG5vZGVzKSxcbiAgICAgICAgICBsYXN0Tm9kZUluZGV4ID0gY2hpbGROb2Rlcy5pbmRleE9mKGxhc3ROb2RlKSxcbiAgICAgICAgICBmaXJzdE5vZGVJbmRleCA9IGNoaWxkTm9kZXMuaW5kZXhPZihmaXJzdE5vZGUpLFxuICAgICAgICAgIGNoaWxkTm9kZXNMZW5ndGggPSBjaGlsZE5vZGVzLmxlbmd0aCxcbiAgICAgICAgICBsYXN0Q2hpbGROb2RlSW5kZXggPSBjaGlsZE5vZGVzTGVuZ3RoIC0gMSxcbiAgICAgICAgICBmaXJzdENoaWxkTm9kZUluZGV4ID0gMCxcbiAgICAgICAgICBhdWdtZW50TGVmdCA9IChmaXJzdE5vZGVJbmRleCAhPT0gZmlyc3RDaGlsZE5vZGVJbmRleCksXG4gICAgICAgICAgYXVnbWVudFJpZ2h0ID0gKGxhc3ROb2RlSW5kZXggIT09IGxhc3RDaGlsZE5vZGVJbmRleCk7ICAvLy9cblxuICAgIGNvbnRlbnQgPSBjb250ZW50RnJvbU5vZGVzKG5vZGVzLCBhdWdtZW50TGVmdCwgYXVnbWVudFJpZ2h0LCBjb250ZXh0KTtcblxuICAgIGNsZWFyKHBsYWluVGV4dE1hcmtkb3duTm9kZXMpO1xuICB9XG5cbiAgcmV0dXJuIGNvbnRlbnQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgaHRtbEZyb21DaGlsZE5vZGVzLFxuICBwbGFpblRleHRGcm9tQ2hpbGROb2RlcyxcbiAgZG9tRWxlbWVudHNGcm9tQ2hpbGROb2Rlc1xufTtcbiJdLCJuYW1lcyI6WyJkb21FbGVtZW50c0Zyb21DaGlsZE5vZGVzIiwiaHRtbEZyb21DaGlsZE5vZGVzIiwicGxhaW5UZXh0RnJvbUNoaWxkTm9kZXMiLCJmaXJzdCIsImFycmF5VXRpbGl0aWVzIiwibGFzdCIsInB1c2giLCJjbGVhciIsImNoaWxkTm9kZXMiLCJjb250ZXh0IiwiaHRtbHMiLCJwbGFpblRleHRNYXJrZG93bk5vZGVzIiwiZm9yRWFjaCIsImNoaWxkTm9kZSIsImNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlIiwibWFya2Rvd25Ob2RlIiwibWFya2Rvd25Ob2RlUGxhaW5UZXh0TWFya2Rvd25Ob2RlIiwiUGxhaW5UZXh0TWFya2Rvd25Ob2RlIiwicGxhaW5UZXh0TWFya2Rvd25Ob2RlIiwiY29udGVudCIsImNvbnRlbnRGcm9tUGxhaW5UZXh0TWFya2Rvd25Ob2RlcyIsImh0bWwiLCJpbmRlbnQiLCJhc0hUTUwiLCJqb2luIiwiRU1QVFlfU1RSSU5HIiwicGxhaW5UZXh0cyIsInBsYWluVGV4dCIsImdldENoaWxkTm9kZXMiLCJkb21FbGVtZW50cyIsInRleHROb2RlIiwiZG9jdW1lbnQiLCJjcmVhdGVUZXh0Tm9kZSIsImRvbUVsZW1lbnQiLCJjcmVhdGVET01FbGVtZW50IiwibWFya2Rvd25Ob2RlRE9NRWxlbWVudHMiLCJnZXRET01FbGVtZW50cyIsInBsYWluVGV4dE1hcmtkb3duTm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJub2RlcyIsImxhc3ROb2RlIiwiZmlyc3ROb2RlIiwibGFzdE5vZGVJbmRleCIsImluZGV4T2YiLCJmaXJzdE5vZGVJbmRleCIsImNoaWxkTm9kZXNMZW5ndGgiLCJsYXN0Q2hpbGROb2RlSW5kZXgiLCJmaXJzdENoaWxkTm9kZUluZGV4IiwiYXVnbWVudExlZnQiLCJhdWdtZW50UmlnaHQiLCJjb250ZW50RnJvbU5vZGVzIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFtTEEsT0FJRTtlQUpGOztJQXhFZ0JBLHlCQUF5QjtlQUF6QkE7O0lBaEdBQyxrQkFBa0I7ZUFBbEJBOztJQWdEQUMsdUJBQXVCO2VBQXZCQTs7O3lCQXpEZTtnRUFFRzt5QkFFTDt1QkFDSTs7Ozs7Ozs7Ozs7OztBQUVqQyxJQUFRQyxRQUE2QkMseUJBQWMsQ0FBM0NELE9BQU9FLE9BQXNCRCx5QkFBYyxDQUFwQ0MsTUFBTUMsT0FBZ0JGLHlCQUFjLENBQTlCRSxNQUFNQyxRQUFVSCx5QkFBYyxDQUF4Qkc7QUFFcEIsU0FBU04sbUJBQW1CTyxVQUFVLEVBQUVDLE9BQU87SUFDcEQsSUFBTUMsUUFBUSxFQUFFLEVBQ1ZDLHlCQUF5QixFQUFFO0lBRWpDSCxXQUFXSSxPQUFPLENBQUMsU0FBQ0M7UUFDbEIsSUFBTUMsMkJBQTJCRCxVQUFVRSxpQkFBaUI7UUFFNUQsSUFBSUQsMEJBQTBCO1lBQzVCLElBQU1FLGtCQUFrQkgsV0FDbEJJLGVBQWVELGlCQUNmRSxvQ0FBcUNELEFBQVksWUFBWkEsY0FBd0JFLGtCQUFxQjtZQUV4RixJQUFJRCxtQ0FBbUM7Z0JBQ3JDLElBQU1FLHdCQUF3QkgsY0FBYyxHQUFHO2dCQUUvQ04sdUJBQXVCTCxJQUFJLENBQUNjO1lBQzlCLE9BQU87Z0JBQ0wsSUFBTUMsVUFBVUMsa0NBQWtDWCx3QkFBd0JILFlBQVlDO2dCQUV0RixJQUFJWSxZQUFZLE1BQU07b0JBQ3BCLElBQU1FLE9BQU9GLFNBQVMsR0FBRztvQkFFekJYLE1BQU1KLElBQUksQ0FBQ2lCO2dCQUNiO2dCQUVBLElBQU1DLFNBQVMsTUFDVEQsUUFBT04sYUFBYVEsTUFBTSxDQUFDRCxRQUFRZjtnQkFFekMsSUFBSWMsVUFBUyxNQUFNO29CQUNqQmIsTUFBTUosSUFBSSxDQUFDaUI7Z0JBQ2I7WUFDRjtRQUNGO0lBQ0Y7SUFFQSxJQUFNRixVQUFVQyxrQ0FBa0NYLHdCQUF3QkgsWUFBWUM7SUFFdEYsSUFBSVksWUFBWSxNQUFNO1FBQ3BCLElBQU1FLE9BQU9GLFNBQVMsR0FBRztRQUV6QlgsTUFBTUosSUFBSSxDQUFDaUI7SUFDYjtJQUVBLElBQU1BLFFBQU9iLE1BQU1nQixJQUFJLENBQUNDLHVCQUFZO0lBRXBDLE9BQU9KO0FBQ1Q7QUFFTyxTQUFTckIsd0JBQXdCTSxVQUFVLEVBQUVDLE9BQU87SUFDekQsSUFBTW1CLGFBQWEsRUFBRSxFQUNmakIseUJBQXlCLEVBQUU7SUFFakNILFdBQVdJLE9BQU8sQ0FBQyxTQUFDQztRQUNsQixJQUFNQywyQkFBMkJELFVBQVVFLGlCQUFpQjtRQUU1RCxJQUFJRCwwQkFBMEI7WUFDNUIsSUFBTUUsa0JBQWtCSCxXQUNsQkksZUFBZUQsaUJBQ2ZFLG9DQUFxQ0QsQUFBWSxZQUFaQSxjQUF3QkUsa0JBQXFCO1lBRXhGLElBQUlELG1DQUFtQztnQkFDckMsSUFBTUUsd0JBQXdCSCxjQUFjLEdBQUc7Z0JBRS9DTix1QkFBdUJMLElBQUksQ0FBQ2M7WUFDOUIsT0FBTztnQkFDTCxJQUFNQyxVQUFVQyxrQ0FBa0NYLHdCQUF3QkgsY0FBWUM7Z0JBRXRGLElBQUlZLFlBQVksTUFBTTtvQkFDcEIsSUFBTVEsWUFBWVIsU0FBVSxHQUFHO29CQUUvQk8sV0FBV3RCLElBQUksQ0FBQ3VCO2dCQUNsQjtnQkFFQSxJQUFNckIsZUFBYVMsYUFBYWEsYUFBYSxJQUN2Q0QsYUFBWTNCLHdCQUF3Qk0sY0FBWUM7Z0JBRXRELElBQUlvQixlQUFjRix1QkFBWSxFQUFFO29CQUM5QkMsV0FBV3RCLElBQUksQ0FBQ3VCO2dCQUNsQjtZQUNGO1FBQ0Y7SUFDRjtJQUVBLElBQU1SLFVBQVVDLGtDQUFrQ1gsd0JBQXdCSCxZQUFZQztJQUV0RixJQUFJWSxZQUFZLE1BQU07UUFDcEIsSUFBTVEsWUFBWVIsU0FBVSxHQUFHO1FBRS9CTyxXQUFXdEIsSUFBSSxDQUFDdUI7SUFDbEI7SUFFQSxJQUFNQSxhQUFZRCxXQUFXRixJQUFJLENBQUNDLHVCQUFZO0lBRTlDLE9BQU9FO0FBQ1Q7QUFFTyxTQUFTN0IsMEJBQTBCUSxVQUFVLEVBQUVDLE9BQU87SUFDM0QsSUFBTXNCLGNBQWMsRUFBRSxFQUNoQnBCLHlCQUF5QixFQUFFO0lBRWpDSCxXQUFXSSxPQUFPLENBQUMsU0FBQ0M7UUFDbEIsSUFBTUMsMkJBQTJCRCxVQUFVRSxpQkFBaUI7UUFFNUQsSUFBSUQsMEJBQTBCO1lBQzVCLElBQU1FLGtCQUFrQkgsV0FDbEJJLGVBQWVELGlCQUNmRSxvQ0FBcUNELEFBQVksWUFBWkEsY0FBd0JFLGtCQUFxQjtZQUV4RixJQUFJRCxtQ0FBbUM7Z0JBQ3JDLElBQU1FLHdCQUF3QkgsY0FBYyxHQUFHO2dCQUUvQ04sdUJBQXVCTCxJQUFJLENBQUNjO1lBQzlCLE9BQU87Z0JBQ0wsSUFBTUMsVUFBVUMsa0NBQWtDWCx3QkFBd0JILFlBQVlDO2dCQUV0RixJQUFJWSxZQUFZLE1BQU07b0JBQ3BCLElBQU1XLFdBQVdDLFNBQVNDLGNBQWMsQ0FBQ2IsVUFDbkNjLGFBQWFILFVBQVcsR0FBRztvQkFFakNELFlBQVl6QixJQUFJLENBQUM2QjtnQkFDbkI7Z0JBRUFsQixhQUFhbUIsZ0JBQWdCLENBQUMzQjtnQkFFOUIsSUFBTTRCLDBCQUEwQnBCLGFBQWFxQixjQUFjO2dCQUUzRGhDLEtBQUt5QixhQUFhTTtZQUNwQjtRQUNGO0lBQ0Y7SUFFQSxJQUFNaEIsVUFBVUMsa0NBQWtDWCx3QkFBd0JILFlBQVlDO0lBRXRGLElBQUlZLFlBQVksTUFBTTtRQUNwQixJQUFNVyxXQUFXQyxTQUFTQyxjQUFjLENBQUNiLFVBQ25DYyxhQUFhSCxVQUFXLEdBQUc7UUFFakNELFlBQVl6QixJQUFJLENBQUM2QjtJQUNuQjtJQUVBLE9BQU9KO0FBQ1Q7QUFFQSxTQUFTVCxrQ0FBa0NYLHNCQUFzQixFQUFFSCxVQUFVLEVBQUVDLE9BQU87SUFDcEYsSUFBSVksVUFBVTtJQUVkLElBQU1rQiwrQkFBK0I1Qix1QkFBdUI2QixNQUFNO0lBRWxFLElBQUlELCtCQUErQixHQUFHO1FBQ3BDLElBQU1FLFFBQVE5Qix3QkFDUitCLFdBQVdyQyxLQUFLb0MsUUFDaEJFLFlBQVl4QyxNQUFNc0MsUUFDbEJHLGdCQUFnQnBDLFdBQVdxQyxPQUFPLENBQUNILFdBQ25DSSxpQkFBaUJ0QyxXQUFXcUMsT0FBTyxDQUFDRixZQUNwQ0ksbUJBQW1CdkMsV0FBV2dDLE1BQU0sRUFDcENRLHFCQUFxQkQsbUJBQW1CLEdBQ3hDRSxzQkFBc0IsR0FDdEJDLGNBQWVKLG1CQUFtQkcscUJBQ2xDRSxlQUFnQlAsa0JBQWtCSSxvQkFBc0IsR0FBRztRQUVqRTNCLFVBQVUrQixJQUFBQSx5QkFBZ0IsRUFBQ1gsT0FBT1MsYUFBYUMsY0FBYzFDO1FBRTdERixNQUFNSTtJQUNSO0lBRUEsT0FBT1U7QUFDVDtJQUVBLFdBQWU7SUFDYnBCLG9CQUFBQTtJQUNBQyx5QkFBQUE7SUFDQUYsMkJBQUFBO0FBQ0YifQ==
@@ -9,12 +9,15 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- contentFromMarkdownNodes: function() {
13
- return contentFromMarkdownNodes;
12
+ contentFromNode: function() {
13
+ return contentFromNode;
14
14
  },
15
15
  contentFromNodeAndTokens: function() {
16
16
  return contentFromNodeAndTokens;
17
17
  },
18
+ contentFromNodes: function() {
19
+ return contentFromNodes;
20
+ },
18
21
  remainingContentFromNodeTokensAndOffset: function() {
19
22
  return remainingContentFromNodeTokensAndOffset;
20
23
  }
@@ -23,12 +26,24 @@ var _necessary = require("necessary");
23
26
  var _constants = require("../constants");
24
27
  var _tokenTypes = require("../tokenTypes");
25
28
  var first = _necessary.arrayUtilities.first, last = _necessary.arrayUtilities.last;
26
- function contentFromMarkdownNodes(markdownNodes, context, leftTrimmed, rightTrimmed) {
29
+ function contentFromNode(node, context) {
30
+ var content = _constants.EMPTY_STRING;
31
+ var tokens = context.tokens;
32
+ var lastSignificantToken = node.getLastSignificantToken(), firstSignificantToken = node.getFirstSignificantToken(), lastSignificantTokenIndex = tokens.indexOf(lastSignificantToken), firstSignificantTokenIndex = tokens.indexOf(firstSignificantToken);
33
+ var start = firstSignificantTokenIndex, end = lastSignificantTokenIndex + 1;
34
+ tokens = tokens.slice(start, end);
35
+ tokens.forEach(function(token) {
36
+ var tokenContent = tokenContentFromToken(token);
37
+ content += tokenContent;
38
+ });
39
+ return content;
40
+ }
41
+ function contentFromNodes(nodes, augmentLeft, augmentRight, context) {
27
42
  var content = _constants.EMPTY_STRING;
28
43
  var tokens = context.tokens;
29
- var markdownNodesLength = markdownNodes.length, firstMarkdownNode = first(markdownNodes), lastMarkdownNode = markdownNodesLength === 1 ? firstMarkdownNode : last(markdownNodes), firstSignificantToken = firstMarkdownNode.getFirstSignificantToken(), lastSignificantToken = lastMarkdownNode.getLastSignificantToken(), firstSignificantTokenIndex = tokens.indexOf(firstSignificantToken), lastSignificantTokenIndex = tokens.indexOf(lastSignificantToken);
44
+ var lastNode = last(nodes), firstNode = first(nodes), lastSignificantToken = lastNode.getLastSignificantToken(), firstSignificantToken = firstNode.getFirstSignificantToken(), lastSignificantTokenIndex = tokens.indexOf(lastSignificantToken), firstSignificantTokenIndex = tokens.indexOf(firstSignificantToken);
30
45
  var firstTokenIndex = firstSignificantTokenIndex, lastTokenIndex = lastSignificantTokenIndex; ///
31
- if (!leftTrimmed) {
46
+ if (augmentLeft) {
32
47
  var previousTokenIndex = firstTokenIndex - 1;
33
48
  if (previousTokenIndex > -1) {
34
49
  var previousToken = tokens[previousTokenIndex], previousTokenSignificant = previousToken.isSignificant();
@@ -37,7 +52,7 @@ function contentFromMarkdownNodes(markdownNodes, context, leftTrimmed, rightTrim
37
52
  }
38
53
  }
39
54
  }
40
- if (!rightTrimmed) {
55
+ if (augmentRight) {
41
56
  var tokensLength = tokens.length, nextTokenIndex = lastTokenIndex + 1;
42
57
  if (nextTokenIndex < tokensLength) {
43
58
  var nextToken = tokens[nextTokenIndex], nextTokenSignificant = nextToken.isSignificant(), nextTokenEndOfLineToken = nextToken.isEndOfLineToken();
@@ -56,8 +71,8 @@ function contentFromMarkdownNodes(markdownNodes, context, leftTrimmed, rightTrim
56
71
  }
57
72
  function contentFromNodeAndTokens(node, tokens) {
58
73
  var offset = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0;
59
- var firstSignificantToken = node.getFirstSignificantToken(), lastSignificantToken = node.getLastSignificantToken(), firstToken = firstSignificantToken, lastToken = lastSignificantToken, firstTokenIndex = tokens.indexOf(firstToken) + offset, lastTokenIndex = tokens.indexOf(lastToken);
60
74
  var content = _constants.EMPTY_STRING;
75
+ var firstSignificantToken = node.getFirstSignificantToken(), lastSignificantToken = node.getLastSignificantToken(), firstToken = firstSignificantToken, lastToken = lastSignificantToken, firstTokenIndex = tokens.indexOf(firstToken) + offset, lastTokenIndex = tokens.indexOf(lastToken);
61
76
  for(var index = firstTokenIndex; index <= lastTokenIndex; index++){
62
77
  var token = tokens[index], tokenContent = token.getContent();
63
78
  content += tokenContent;
@@ -78,4 +93,4 @@ function tokenContentFromToken(token) {
78
93
  return tokenContent;
79
94
  }
80
95
 
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29udGVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEVTQ0FQRURfVE9LRU5fVFlQRSB9IGZyb20gXCIuLi90b2tlblR5cGVzXCI7XG5cbmNvbnN0IHsgZmlyc3QsIGxhc3QgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gY29udGVudEZyb21NYXJrZG93bk5vZGVzKG1hcmtkb3duTm9kZXMsIGNvbnRleHQsIGxlZnRUcmltbWVkLCByaWdodFRyaW1tZWQpIHtcbiAgbGV0IGNvbnRlbnQgPSBFTVBUWV9TVFJJTkc7XG5cbiAgbGV0IHsgdG9rZW5zIH0gPSBjb250ZXh0O1xuXG4gIGNvbnN0IG1hcmtkb3duTm9kZXNMZW5ndGggPSBtYXJrZG93bk5vZGVzLmxlbmd0aCxcbiAgICAgICAgZmlyc3RNYXJrZG93bk5vZGUgPSBmaXJzdChtYXJrZG93bk5vZGVzKSxcbiAgICAgICAgbGFzdE1hcmtkb3duTm9kZSA9IChtYXJrZG93bk5vZGVzTGVuZ3RoID09PSAxKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RNYXJrZG93bk5vZGUgOiAvLy9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3QobWFya2Rvd25Ob2RlcyksXG4gICAgICAgIGZpcnN0U2lnbmlmaWNhbnRUb2tlbiA9IGZpcnN0TWFya2Rvd25Ob2RlLmdldEZpcnN0U2lnbmlmaWNhbnRUb2tlbigpLFxuICAgICAgICBsYXN0U2lnbmlmaWNhbnRUb2tlbiA9IGxhc3RNYXJrZG93bk5vZGUuZ2V0TGFzdFNpZ25pZmljYW50VG9rZW4oKSxcbiAgICAgICAgZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXggPSB0b2tlbnMuaW5kZXhPZihmaXJzdFNpZ25pZmljYW50VG9rZW4pLFxuICAgICAgICBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gdG9rZW5zLmluZGV4T2YobGFzdFNpZ25pZmljYW50VG9rZW4pO1xuXG4gIGxldCBmaXJzdFRva2VuSW5kZXggPSBmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCwgIC8vL1xuICAgICAgbGFzdFRva2VuSW5kZXggPSBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4OyAvLy9cblxuICBpZiAoIWxlZnRUcmltbWVkKSB7XG4gICAgY29uc3QgcHJldmlvdXNUb2tlbkluZGV4ID0gZmlyc3RUb2tlbkluZGV4IC0gMTtcblxuICAgIGlmIChwcmV2aW91c1Rva2VuSW5kZXggPiAtMSkge1xuICAgICAgY29uc3QgcHJldmlvdXNUb2tlbiA9IHRva2Vuc1twcmV2aW91c1Rva2VuSW5kZXhdLFxuICAgICAgICAgICAgcHJldmlvdXNUb2tlblNpZ25pZmljYW50ID0gcHJldmlvdXNUb2tlbi5pc1NpZ25pZmljYW50KCk7XG5cbiAgICAgIGlmICghcHJldmlvdXNUb2tlblNpZ25pZmljYW50KSB7XG4gICAgICAgIGZpcnN0VG9rZW5JbmRleC0tO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmICghcmlnaHRUcmltbWVkKSB7XG4gICAgY29uc3QgdG9rZW5zTGVuZ3RoID0gdG9rZW5zLmxlbmd0aCxcbiAgICAgICAgICBuZXh0VG9rZW5JbmRleCA9IGxhc3RUb2tlbkluZGV4ICsgMTtcblxuICAgIGlmIChuZXh0VG9rZW5JbmRleCA8IHRva2Vuc0xlbmd0aCkge1xuICAgICAgY29uc3QgbmV4dFRva2VuID0gdG9rZW5zW25leHRUb2tlbkluZGV4XSxcbiAgICAgICAgICAgIG5leHRUb2tlblNpZ25pZmljYW50ID0gbmV4dFRva2VuLmlzU2lnbmlmaWNhbnQoKSxcbiAgICAgICAgICAgIG5leHRUb2tlbkVuZE9mTGluZVRva2VuID0gbmV4dFRva2VuLmlzRW5kT2ZMaW5lVG9rZW4oKTtcblxuICAgICAgaWYgKG5leHRUb2tlbkVuZE9mTGluZVRva2VuIHx8ICFuZXh0VG9rZW5TaWduaWZpY2FudCkge1xuICAgICAgICBsYXN0VG9rZW5JbmRleCsrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHN0YXJ0ID0gZmlyc3RUb2tlbkluZGV4LCAgLy8vXG4gICAgICAgIGVuZCA9IGxhc3RUb2tlbkluZGV4ICsgMTtcblxuICB0b2tlbnMgPSB0b2tlbnMuc2xpY2Uoc3RhcnQsIGVuZCk7XG5cbiAgdG9rZW5zLmZvckVhY2goKHRva2VuKSA9PiB7XG4gICAgY29uc3QgdG9rZW5Db250ZW50ID0gdG9rZW5Db250ZW50RnJvbVRva2VuKHRva2VuKTtcblxuICAgIGNvbnRlbnQgKz0gdG9rZW5Db250ZW50O1xuICB9KTtcblxuICByZXR1cm4gY29udGVudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRlbnRGcm9tTm9kZUFuZFRva2Vucyhub2RlLCB0b2tlbnMsIG9mZnNldCA9IDApIHtcbiAgY29uc3QgZmlyc3RTaWduaWZpY2FudFRva2VuID0gbm9kZS5nZXRGaXJzdFNpZ25pZmljYW50VG9rZW4oKSxcbiAgICAgICAgbGFzdFNpZ25pZmljYW50VG9rZW4gPSBub2RlLmdldExhc3RTaWduaWZpY2FudFRva2VuKCksXG4gICAgICAgIGZpcnN0VG9rZW4gPSBmaXJzdFNpZ25pZmljYW50VG9rZW4sIC8vL1xuICAgICAgICBsYXN0VG9rZW4gPSBsYXN0U2lnbmlmaWNhbnRUb2tlbiwgLy8vXG4gICAgICAgIGZpcnN0VG9rZW5JbmRleCA9IHRva2Vucy5pbmRleE9mKGZpcnN0VG9rZW4pICsgb2Zmc2V0LCAgLy8vXG4gICAgICAgIGxhc3RUb2tlbkluZGV4ID0gdG9rZW5zLmluZGV4T2YobGFzdFRva2VuKTtcblxuICBsZXQgY29udGVudCA9IEVNUFRZX1NUUklORztcblxuICBmb3IgKGxldCBpbmRleCA9IGZpcnN0VG9rZW5JbmRleDsgaW5kZXggPD0gbGFzdFRva2VuSW5kZXg7IGluZGV4KyspIHtcbiAgICBjb25zdCB0b2tlbiA9IHRva2Vuc1tpbmRleF0sXG4gICAgICAgICAgdG9rZW5Db250ZW50ID0gdG9rZW4uZ2V0Q29udGVudCgpO1xuXG4gICAgY29udGVudCArPSB0b2tlbkNvbnRlbnQ7XG4gIH1cblxuICByZXR1cm4gY29udGVudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbWFpbmluZ0NvbnRlbnRGcm9tTm9kZVRva2Vuc0FuZE9mZnNldChub2RlLCB0b2tlbnMsIG9mZnNldCkge1xuICBjb25zdCBjb250ZW50ID0gY29udGVudEZyb21Ob2RlQW5kVG9rZW5zKG5vZGUsIHRva2Vucywgb2Zmc2V0KSxcbiAgICAgICAgcmVtYWluaW5nQ29udGVudCA9IGNvbnRlbnQ7IC8vL1xuXG4gIHJldHVybiByZW1haW5pbmdDb250ZW50O1xufVxuXG5mdW5jdGlvbiB0b2tlbkNvbnRlbnRGcm9tVG9rZW4odG9rZW4pIHtcbiAgbGV0IHRva2VuQ29udGVudCA9IHRva2VuLmdldENvbnRlbnQoKTtcblxuICBjb25zdCB0eXBlID0gdG9rZW4uZ2V0VHlwZSgpO1xuXG4gIGlmICh0eXBlID09PSBFU0NBUEVEX1RPS0VOX1RZUEUpIHtcbiAgICBjb25zdCBzdGFydCA9IDE7XG5cbiAgICB0b2tlbkNvbnRlbnQgPSB0b2tlbkNvbnRlbnQuc3Vic3RyaW5nKHN0YXJ0KTtcbiAgfVxuXG4gIHJldHVybiB0b2tlbkNvbnRlbnQ7XG59XG4iXSwibmFtZXMiOlsiY29udGVudEZyb21NYXJrZG93bk5vZGVzIiwiY29udGVudEZyb21Ob2RlQW5kVG9rZW5zIiwicmVtYWluaW5nQ29udGVudEZyb21Ob2RlVG9rZW5zQW5kT2Zmc2V0IiwiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsImxhc3QiLCJtYXJrZG93bk5vZGVzIiwiY29udGV4dCIsImxlZnRUcmltbWVkIiwicmlnaHRUcmltbWVkIiwiY29udGVudCIsIkVNUFRZX1NUUklORyIsInRva2VucyIsIm1hcmtkb3duTm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJmaXJzdE1hcmtkb3duTm9kZSIsImxhc3RNYXJrZG93bk5vZGUiLCJmaXJzdFNpZ25pZmljYW50VG9rZW4iLCJnZXRGaXJzdFNpZ25pZmljYW50VG9rZW4iLCJsYXN0U2lnbmlmaWNhbnRUb2tlbiIsImdldExhc3RTaWduaWZpY2FudFRva2VuIiwiZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgiLCJpbmRleE9mIiwibGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsImZpcnN0VG9rZW5JbmRleCIsImxhc3RUb2tlbkluZGV4IiwicHJldmlvdXNUb2tlbkluZGV4IiwicHJldmlvdXNUb2tlbiIsInByZXZpb3VzVG9rZW5TaWduaWZpY2FudCIsImlzU2lnbmlmaWNhbnQiLCJ0b2tlbnNMZW5ndGgiLCJuZXh0VG9rZW5JbmRleCIsIm5leHRUb2tlbiIsIm5leHRUb2tlblNpZ25pZmljYW50IiwibmV4dFRva2VuRW5kT2ZMaW5lVG9rZW4iLCJpc0VuZE9mTGluZVRva2VuIiwic3RhcnQiLCJlbmQiLCJzbGljZSIsImZvckVhY2giLCJ0b2tlbiIsInRva2VuQ29udGVudCIsInRva2VuQ29udGVudEZyb21Ub2tlbiIsIm5vZGUiLCJvZmZzZXQiLCJmaXJzdFRva2VuIiwibGFzdFRva2VuIiwiaW5kZXgiLCJnZXRDb250ZW50IiwicmVtYWluaW5nQ29udGVudCIsInR5cGUiLCJnZXRUeXBlIiwiRVNDQVBFRF9UT0tFTl9UWVBFIiwic3Vic3RyaW5nIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBU2dCQSx3QkFBd0I7ZUFBeEJBOztJQTREQUMsd0JBQXdCO2VBQXhCQTs7SUFvQkFDLHVDQUF1QztlQUF2Q0E7Ozt5QkF2RmU7eUJBRUY7MEJBQ007QUFFbkMsSUFBUUMsUUFBZ0JDLHlC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
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29udGVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEVTQ0FQRURfVE9LRU5fVFlQRSB9IGZyb20gXCIuLi90b2tlblR5cGVzXCI7XG5cbmNvbnN0IHsgZmlyc3QsIGxhc3QgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gY29udGVudEZyb21Ob2RlKG5vZGUsIGNvbnRleHQpIHtcbiAgbGV0IGNvbnRlbnQgPSBFTVBUWV9TVFJJTkc7XG5cbiAgbGV0IHsgdG9rZW5zIH0gPSBjb250ZXh0O1xuXG4gIGNvbnN0IGxhc3RTaWduaWZpY2FudFRva2VuID0gbm9kZS5nZXRMYXN0U2lnbmlmaWNhbnRUb2tlbigpLFxuICAgICAgICBmaXJzdFNpZ25pZmljYW50VG9rZW4gPSBub2RlLmdldEZpcnN0U2lnbmlmaWNhbnRUb2tlbigpLFxuICAgICAgICBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gdG9rZW5zLmluZGV4T2YobGFzdFNpZ25pZmljYW50VG9rZW4pLFxuICAgICAgICBmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCA9IHRva2Vucy5pbmRleE9mKGZpcnN0U2lnbmlmaWNhbnRUb2tlbik7XG5cbiAgY29uc3Qgc3RhcnQgPSBmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCwgIC8vL1xuICAgICAgICBlbmQgPSBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ICsgMTtcblxuICB0b2tlbnMgPSB0b2tlbnMuc2xpY2Uoc3RhcnQsIGVuZCk7XG5cbiAgdG9rZW5zLmZvckVhY2goKHRva2VuKSA9PiB7XG4gICAgY29uc3QgdG9rZW5Db250ZW50ID0gdG9rZW5Db250ZW50RnJvbVRva2VuKHRva2VuKTtcblxuICAgIGNvbnRlbnQgKz0gdG9rZW5Db250ZW50O1xuICB9KTtcblxuICByZXR1cm4gY29udGVudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRlbnRGcm9tTm9kZXMobm9kZXMsIGF1Z21lbnRMZWZ0LCBhdWdtZW50UmlnaHQsIGNvbnRleHQpIHtcbiAgbGV0IGNvbnRlbnQgPSBFTVBUWV9TVFJJTkc7XG5cbiAgbGV0IHsgdG9rZW5zIH0gPSBjb250ZXh0O1xuXG4gIGNvbnN0IGxhc3ROb2RlID0gbGFzdChub2RlcyksXG4gICAgICAgIGZpcnN0Tm9kZSA9IGZpcnN0KG5vZGVzKSxcbiAgICAgICAgbGFzdFNpZ25pZmljYW50VG9rZW4gPSBsYXN0Tm9kZS5nZXRMYXN0U2lnbmlmaWNhbnRUb2tlbigpLFxuICAgICAgICBmaXJzdFNpZ25pZmljYW50VG9rZW4gPSBmaXJzdE5vZGUuZ2V0Rmlyc3RTaWduaWZpY2FudFRva2VuKCksXG4gICAgICAgIGxhc3RTaWduaWZpY2FudFRva2VuSW5kZXggPSB0b2tlbnMuaW5kZXhPZihsYXN0U2lnbmlmaWNhbnRUb2tlbiksXG4gICAgICAgIGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gdG9rZW5zLmluZGV4T2YoZmlyc3RTaWduaWZpY2FudFRva2VuKTtcblxuICBsZXQgZmlyc3RUb2tlbkluZGV4ID0gZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgsICAvLy9cbiAgICAgIGxhc3RUb2tlbkluZGV4ID0gbGFzdFNpZ25pZmljYW50VG9rZW5JbmRleDsgLy8vXG5cbiAgaWYgKGF1Z21lbnRMZWZ0KSB7XG4gICAgY29uc3QgcHJldmlvdXNUb2tlbkluZGV4ID0gZmlyc3RUb2tlbkluZGV4IC0gMTtcblxuICAgIGlmIChwcmV2aW91c1Rva2VuSW5kZXggPiAtMSkge1xuICAgICAgY29uc3QgcHJldmlvdXNUb2tlbiA9IHRva2Vuc1twcmV2aW91c1Rva2VuSW5kZXhdLFxuICAgICAgICAgICAgcHJldmlvdXNUb2tlblNpZ25pZmljYW50ID0gcHJldmlvdXNUb2tlbi5pc1NpZ25pZmljYW50KCk7XG5cbiAgICAgIGlmICghcHJldmlvdXNUb2tlblNpZ25pZmljYW50KSB7XG4gICAgICAgIGZpcnN0VG9rZW5JbmRleC0tO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChhdWdtZW50UmlnaHQpIHtcbiAgICBjb25zdCB0b2tlbnNMZW5ndGggPSB0b2tlbnMubGVuZ3RoLFxuICAgICAgICAgIG5leHRUb2tlbkluZGV4ID0gbGFzdFRva2VuSW5kZXggKyAxO1xuXG4gICAgaWYgKG5leHRUb2tlbkluZGV4IDwgdG9rZW5zTGVuZ3RoKSB7XG4gICAgICBjb25zdCBuZXh0VG9rZW4gPSB0b2tlbnNbbmV4dFRva2VuSW5kZXhdLFxuICAgICAgICAgICAgbmV4dFRva2VuU2lnbmlmaWNhbnQgPSBuZXh0VG9rZW4uaXNTaWduaWZpY2FudCgpLFxuICAgICAgICAgICAgbmV4dFRva2VuRW5kT2ZMaW5lVG9rZW4gPSBuZXh0VG9rZW4uaXNFbmRPZkxpbmVUb2tlbigpO1xuXG4gICAgICBpZiAobmV4dFRva2VuRW5kT2ZMaW5lVG9rZW4gfHwgIW5leHRUb2tlblNpZ25pZmljYW50KSB7XG4gICAgICAgIGxhc3RUb2tlbkluZGV4Kys7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3Qgc3RhcnQgPSBmaXJzdFRva2VuSW5kZXgsICAvLy9cbiAgICAgICAgZW5kID0gbGFzdFRva2VuSW5kZXggKyAxO1xuXG4gIHRva2VucyA9IHRva2Vucy5zbGljZShzdGFydCwgZW5kKTtcblxuICB0b2tlbnMuZm9yRWFjaCgodG9rZW4pID0+IHtcbiAgICBjb25zdCB0b2tlbkNvbnRlbnQgPSB0b2tlbkNvbnRlbnRGcm9tVG9rZW4odG9rZW4pO1xuXG4gICAgY29udGVudCArPSB0b2tlbkNvbnRlbnQ7XG4gIH0pO1xuXG4gIHJldHVybiBjb250ZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udGVudEZyb21Ob2RlQW5kVG9rZW5zKG5vZGUsIHRva2Vucywgb2Zmc2V0ID0gMCkge1xuICBsZXQgY29udGVudCA9IEVNUFRZX1NUUklORztcblxuICBjb25zdCBmaXJzdFNpZ25pZmljYW50VG9rZW4gPSBub2RlLmdldEZpcnN0U2lnbmlmaWNhbnRUb2tlbigpLFxuICAgICAgICBsYXN0U2lnbmlmaWNhbnRUb2tlbiA9IG5vZGUuZ2V0TGFzdFNpZ25pZmljYW50VG9rZW4oKSxcbiAgICAgICAgZmlyc3RUb2tlbiA9IGZpcnN0U2lnbmlmaWNhbnRUb2tlbiwgLy8vXG4gICAgICAgIGxhc3RUb2tlbiA9IGxhc3RTaWduaWZpY2FudFRva2VuLCAvLy9cbiAgICAgICAgZmlyc3RUb2tlbkluZGV4ID0gdG9rZW5zLmluZGV4T2YoZmlyc3RUb2tlbikgKyBvZmZzZXQsICAvLy9cbiAgICAgICAgbGFzdFRva2VuSW5kZXggPSB0b2tlbnMuaW5kZXhPZihsYXN0VG9rZW4pO1xuXG4gIGZvciAobGV0IGluZGV4ID0gZmlyc3RUb2tlbkluZGV4OyBpbmRleCA8PSBsYXN0VG9rZW5JbmRleDsgaW5kZXgrKykge1xuICAgIGNvbnN0IHRva2VuID0gdG9rZW5zW2luZGV4XSxcbiAgICAgICAgICB0b2tlbkNvbnRlbnQgPSB0b2tlbi5nZXRDb250ZW50KCk7XG5cbiAgICBjb250ZW50ICs9IHRva2VuQ29udGVudDtcbiAgfVxuXG4gIHJldHVybiBjb250ZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtYWluaW5nQ29udGVudEZyb21Ob2RlVG9rZW5zQW5kT2Zmc2V0KG5vZGUsIHRva2Vucywgb2Zmc2V0KSB7XG4gIGNvbnN0IGNvbnRlbnQgPSBjb250ZW50RnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zLCBvZmZzZXQpLFxuICAgICAgICByZW1haW5pbmdDb250ZW50ID0gY29udGVudDsgLy8vXG5cbiAgcmV0dXJuIHJlbWFpbmluZ0NvbnRlbnQ7XG59XG5cbmZ1bmN0aW9uIHRva2VuQ29udGVudEZyb21Ub2tlbih0b2tlbikge1xuICBsZXQgdG9rZW5Db250ZW50ID0gdG9rZW4uZ2V0Q29udGVudCgpO1xuXG4gIGNvbnN0IHR5cGUgPSB0b2tlbi5nZXRUeXBlKCk7XG5cbiAgaWYgKHR5cGUgPT09IEVTQ0FQRURfVE9LRU5fVFlQRSkge1xuICAgIGNvbnN0IHN0YXJ0ID0gMTtcblxuICAgIHRva2VuQ29udGVudCA9IHRva2VuQ29udGVudC5zdWJzdHJpbmcoc3RhcnQpO1xuICB9XG5cbiAgcmV0dXJuIHRva2VuQ29udGVudDtcbn1cbiJdLCJuYW1lcyI6WyJjb250ZW50RnJvbU5vZGUiLCJjb250ZW50RnJvbU5vZGVBbmRUb2tlbnMiLCJjb250ZW50RnJvbU5vZGVzIiwicmVtYWluaW5nQ29udGVudEZyb21Ob2RlVG9rZW5zQW5kT2Zmc2V0IiwiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsImxhc3QiLCJub2RlIiwiY29udGV4dCIsImNvbnRlbnQiLCJFTVBUWV9TVFJJTkciLCJ0b2tlbnMiLCJsYXN0U2lnbmlmaWNhbnRUb2tlbiIsImdldExhc3RTaWduaWZpY2FudFRva2VuIiwiZmlyc3RTaWduaWZpY2FudFRva2VuIiwiZ2V0Rmlyc3RTaWduaWZpY2FudFRva2VuIiwibGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsImluZGV4T2YiLCJmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsInN0YXJ0IiwiZW5kIiwic2xpY2UiLCJmb3JFYWNoIiwidG9rZW4iLCJ0b2tlbkNvbnRlbnQiLCJ0b2tlbkNvbnRlbnRGcm9tVG9rZW4iLCJub2RlcyIsImF1Z21lbnRMZWZ0IiwiYXVnbWVudFJpZ2h0IiwibGFzdE5vZGUiLCJmaXJzdE5vZGUiLCJmaXJzdFRva2VuSW5kZXgiLCJsYXN0VG9rZW5JbmRleCIsInByZXZpb3VzVG9rZW5JbmRleCIsInByZXZpb3VzVG9rZW4iLCJwcmV2aW91c1Rva2VuU2lnbmlmaWNhbnQiLCJpc1NpZ25pZmljYW50IiwidG9rZW5zTGVuZ3RoIiwibGVuZ3RoIiwibmV4dFRva2VuSW5kZXgiLCJuZXh0VG9rZW4iLCJuZXh0VG9rZW5TaWduaWZpY2FudCIsIm5leHRUb2tlbkVuZE9mTGluZVRva2VuIiwiaXNFbmRPZkxpbmVUb2tlbiIsIm9mZnNldCIsImZpcnN0VG9rZW4iLCJsYXN0VG9rZW4iLCJpbmRleCIsImdldENvbnRlbnQiLCJyZW1haW5pbmdDb250ZW50IiwidHlwZSIsImdldFR5cGUiLCJFU0NBUEVEX1RPS0VOX1RZUEUiLCJzdWJzdHJpbmciXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFTZ0JBLGVBQWU7ZUFBZkE7O0lBaUZBQyx3QkFBd0I7ZUFBeEJBOztJQXpEQUMsZ0JBQWdCO2VBQWhCQTs7SUE2RUFDLHVDQUF1QztlQUF2Q0E7Ozt5QkE1R2U7eUJBRUY7MEJBQ007QUFFbkMsSUFBUUMsUUFBZ0JDLHlCQUFjLENBQTlCRCxPQUFPRSxPQUFTRCx5QkFBYyxDQUF2QkM7QUFFUixTQUFTTixnQkFBZ0JPLElBQUksRUFBRUMsT0FBTztJQUMzQyxJQUFJQyxVQUFVQyx1QkFBWTtJQUUxQixJQUFJLEFBQUVDLFNBQVdILFFBQVhHO0lBRU4sSUFBTUMsdUJBQXVCTCxLQUFLTSx1QkFBdUIsSUFDbkRDLHdCQUF3QlAsS0FBS1Esd0JBQXdCLElBQ3JEQyw0QkFBNEJMLE9BQU9NLE9BQU8sQ0FBQ0wsdUJBQzNDTSw2QkFBNkJQLE9BQU9NLE9BQU8sQ0FBQ0g7SUFFbEQsSUFBTUssUUFBUUQsNEJBQ1JFLE1BQU1KLDRCQUE0QjtJQUV4Q0wsU0FBU0EsT0FBT1UsS0FBSyxDQUFDRixPQUFPQztJQUU3QlQsT0FBT1csT0FBTyxDQUFDLFNBQUNDO1FBQ2QsSUFBTUMsZUFBZUMsc0JBQXNCRjtRQUUzQ2QsV0FBV2U7SUFDYjtJQUVBLE9BQU9mO0FBQ1Q7QUFFTyxTQUFTUCxpQkFBaUJ3QixLQUFLLEVBQUVDLFdBQVcsRUFBRUMs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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": "0.0.335",
4
+ "version": "0.0.337",
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.",
@@ -193,7 +193,9 @@ class View extends Element {
193
193
  static initialMarkdownStyle = `min-height: initial;
194
194
  `;
195
195
 
196
- static initialMarkdown = `\`\`\`
196
+ static initialMarkdown = `# Heading
197
+
198
+ \`\`\`
197
199
  Line 1
198
200
 
199
201
  Line 2
package/src/index.js CHANGED
@@ -12,6 +12,7 @@ export { default as MarkdownParser } from "./markdown/parser";
12
12
  export { default as queryUtilities } from "./utilities/query";
13
13
  export { default as MarkdownStyleLexer } from "./markdownStyle/lexer";
14
14
  export { default as MarkdownStyleParser } from "./markdownStyle/parser";
15
+ export { default as childNodesUtilities } from "./utilities/childNodes";
15
16
  export { default as MarkdownStyleElement } from "./styleElement/markdown";
16
17
  export { default as defaultMarkdownStyle } from "./defaultMarkdownStyle";
17
18
  export { default as DefaultMarkdownStyleElement } from "./styleElement/markdown/default";
@@ -84,7 +84,7 @@ const bnf = `
84
84
  unorderedList ::= unorderedListItem ( endOfLine unorderedListItem )* ;
85
85
 
86
86
 
87
- blockListing ::= blockListingStart <END_OF_LINE> blockLine+ blockListingEnd ;
87
+ blockListing ::= blockListingStart ( blockLine | endOfLine )+ blockListingEnd ;
88
88
 
89
89
 
90
90
  paragraph ::= line ( endOfLine line )* ;
@@ -123,7 +123,7 @@ const bnf = `
123
123
  unorderedListItem ::= [bullet] line ( endOfLine line )* ;
124
124
 
125
125
 
126
- blockListingStart ::= [backticks] className? ;
126
+ blockListingStart ::= [backticks] className? <END_OF_LINE> ;
127
127
 
128
128
 
129
129
  blockListingEnd ::= [backticks] ;
@@ -202,7 +202,7 @@ const bnf = `
202
202
 
203
203
  | [dashes]
204
204
 
205
- | [vertical-bar] )* <END_OF_LINE> ;
205
+ | [vertical-bar] )* ;
206
206
 
207
207
 
208
208
  inlineText ::= plainText+ ;
@@ -1,13 +1,10 @@
1
1
  "use strict";
2
2
 
3
- import { contentFromMarkdownNodes } from "../utilities/content";
3
+ import { contentFromNode } from "../utilities/content";
4
4
 
5
- function content(context, leftTrimmed = true, rightTrimmed = true) {
6
- const markdownNode = this, ///
7
- markdownNodes = [
8
- markdownNode
9
- ],
10
- content = contentFromMarkdownNodes(markdownNodes, context, leftTrimmed, rightTrimmed);
5
+ function content(context) {
6
+ const node = this, ///
7
+ content = contentFromNode(node, context);
11
8
 
12
9
  return content;
13
10
  }
@@ -5,17 +5,45 @@ import MarkdownNode from "../../node/markdown";
5
5
  import { htmlFromChildNodes, domElementsFromChildNodes } from "../../utilities/childNodes";
6
6
 
7
7
  export default class BlockLineMarkdownNode extends MarkdownNode {
8
- childNodesAsHTML(indent, context, leftTrimmed = false) {
8
+ asHTML(indent, context) {
9
+ indent = this.adjustIndent(indent);
10
+
11
+ const childNodesHTML = this.childNodesAsHTML(indent, context),
12
+ startingTag = this.startingTag(context),
13
+ closingTag = this.closingTag(context),
14
+ html = `${indent}${startingTag}${childNodesHTML}${closingTag}
15
+ `;
16
+
17
+ return html;
18
+ }
19
+
20
+ createDOMElement(context) {
21
+ const tagName = this.tagName(context),
22
+ className = this.className(context),
23
+ domElement = document.createElement(tagName);
24
+
25
+ Object.assign(domElement, {
26
+ className
27
+ });
28
+
29
+ this.setDOMElement(domElement);
30
+
31
+ this.createChildNodeDOMElements(context);
32
+
33
+ return domElement;
34
+ }
35
+
36
+ childNodesAsHTML(indent, context) {
9
37
  const childNodes = this.getChildNodes(),
10
- html = htmlFromChildNodes(childNodes, context, leftTrimmed);
38
+ html = htmlFromChildNodes(childNodes, context);
11
39
 
12
40
  return html;
13
41
  }
14
42
 
15
- createChildNodeDOMElements(context, leftTrimmed = false) {
43
+ createChildNodeDOMElements(context) {
16
44
  const domElement = this.getDOMElement(),
17
45
  childNodes = this.getChildNodes(),
18
- domElements = domElementsFromChildNodes(childNodes, context, leftTrimmed),
46
+ domElements = domElementsFromChildNodes(childNodes, context),
19
47
  parentDOMElement = domElement, ///
20
48
  childNodeDOMElements = domElements; ///
21
49
 
@@ -9,18 +9,6 @@ import { CONTENTS } from "../../../constants";
9
9
  const { last } = arrayUtilities;
10
10
 
11
11
  export default class ContentsDirectiveMarkdownNode extends MarkdownNode {
12
- asHTML(indent, context) {
13
- const html = null;
14
-
15
- return html;
16
- }
17
-
18
- createDOMElement(context) {
19
- const domElement = null;
20
-
21
- return domElement;
22
- }
23
-
24
12
  maximumLevel(context) {
25
13
  let maximumLevel = 1;
26
14
 
@@ -3,17 +3,5 @@
3
3
  import MarkdownNode from "../../../node/markdown";
4
4
 
5
5
  export default class FootnotesDirectiveMarkdownNode extends MarkdownNode {
6
- asHTML(indent, context) {
7
- const html = null;
8
-
9
- return html;
10
- }
11
-
12
- createDOMElement(context) {
13
- const domElement = null;
14
-
15
- return domElement;
16
- }
17
-
18
6
  static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(FootnotesDirectiveMarkdownNode, ruleName, childNodes, opacity); }
19
7
  }
@@ -18,8 +18,8 @@ class ErrorMarkdownNode extends MarkdownNode {
18
18
 
19
19
  createDOMElement(context) {
20
20
  const tagName = this.tagName(context),
21
- className = this.className(context),
22
- domElement = document.createElement(tagName);
21
+ className = this.className(context),
22
+ domElement = document.createElement(tagName);
23
23
 
24
24
  Object.assign(domElement, {
25
25
  className
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
 
3
+ import { arrayUtilities } from "necessary";
4
+
3
5
  import MarkdownNode from "../../node/markdown";
4
6
  import AnchorMarkdownNode from "../../node/markdown/anchor";
5
7
 
6
8
  import { plainTextFromChildNodes } from "../../utilities/childNodes";
7
9
  import { replaceSpacesWithHyphens, removedLeadingWhitespace, removeNonAlphabeticAndSpaceCharacters } from "../../utilities/string";
8
10
 
11
+ const { second } = arrayUtilities;
12
+
9
13
  export default class HeadingMarkdownNode extends MarkdownNode {
10
14
  getLevel() {
11
15
  const { level } = this.constructor;
@@ -23,8 +27,7 @@ export default class HeadingMarkdownNode extends MarkdownNode {
23
27
 
24
28
  identifier(context) {
25
29
  const childNodes = this.getChildNodes(),
26
- leftTrimmed = true,
27
- plainText = plainTextFromChildNodes(childNodes, context, leftTrimmed),
30
+ plainText = plainTextFromChildNodes(childNodes, context),
28
31
  identifier = identifierFromPlainText(plainText);
29
32
 
30
33
  return identifier;
@@ -39,6 +42,26 @@ export default class HeadingMarkdownNode extends MarkdownNode {
39
42
  return position;
40
43
  }
41
44
 
45
+ childNodesAsHTML(indent, context) {
46
+ const childNodes = this.getChildNodes(),
47
+ secondChildNode = second(childNodes),
48
+ lineMarkdownNode = secondChildNode, ///
49
+ lineMarkdownNodeHTML = lineMarkdownNode.asHTML(indent, context),
50
+ childNodesHTML = lineMarkdownNodeHTML; ///
51
+
52
+ return childNodesHTML;
53
+ }
54
+
55
+ createChildNodeDOMElements(context) {
56
+ const childNodes = this.getChildNodes(),
57
+ secondChildNode = second(childNodes),
58
+ lineMarkdownNodeHTML = secondChildNode, ///
59
+ lineMarkdownNodeHTMLDOMElement = lineMarkdownNodeHTML.createDOMElement(context),
60
+ domElement = lineMarkdownNodeHTMLDOMElement; ///
61
+
62
+ this.addDOMElement(domElement);
63
+ }
64
+
42
65
  static fromRuleNameChildNodesAndOpacity(Class, ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(Class, ruleName, childNodes, opacity); }
43
66
  }
44
67
 
@@ -5,17 +5,45 @@ import MarkdownNode from "../../node/markdown";
5
5
  import { htmlFromChildNodes, domElementsFromChildNodes } from "../../utilities/childNodes";
6
6
 
7
7
  export default class LineMarkdownNode extends MarkdownNode {
8
- childNodesAsHTML(indent, context, leftTrimmed = false) {
8
+ asHTML(indent, context) {
9
+ indent = this.adjustIndent(indent);
10
+
11
+ const childNodesHTML = this.childNodesAsHTML(indent, context),
12
+ startingTag = this.startingTag(context),
13
+ closingTag = this.closingTag(context),
14
+ html = `${indent}${startingTag}${childNodesHTML}${closingTag}
15
+ `;
16
+
17
+ return html;
18
+ }
19
+
20
+ createDOMElement(context) {
21
+ const tagName = this.tagName(context),
22
+ className = this.className(context),
23
+ domElement = document.createElement(tagName);
24
+
25
+ Object.assign(domElement, {
26
+ className
27
+ });
28
+
29
+ this.setDOMElement(domElement);
30
+
31
+ this.createChildNodeDOMElements(context);
32
+
33
+ return domElement;
34
+ }
35
+
36
+ childNodesAsHTML(indent, context) {
9
37
  const childNodes = this.getChildNodes(),
10
- html = htmlFromChildNodes(childNodes, context, leftTrimmed);
38
+ html = htmlFromChildNodes(childNodes, context);
11
39
 
12
40
  return html;
13
41
  }
14
42
 
15
- createChildNodeDOMElements(context, leftTrimmed = false) {
43
+ createChildNodeDOMElements(context) {
16
44
  const domElement = this.getDOMElement(),
17
45
  childNodes = this.getChildNodes(),
18
- domElements = domElementsFromChildNodes(childNodes, context, leftTrimmed),
46
+ domElements = domElementsFromChildNodes(childNodes, context),
19
47
  parentDOMElement = domElement, ///
20
48
  childNodeDOMElements = domElements; ///
21
49
 
@@ -2,17 +2,17 @@
2
2
 
3
3
  import MarkdownNode from "../../node/markdown";
4
4
 
5
- import { EMPTY_STRING } from "../../constants";
5
+ import { CARRIAGE_RETURN } from "../../constants";
6
6
 
7
7
  export default class VerticalSpaceMarkdownNode extends MarkdownNode {
8
8
  asHTML(indent, context) {
9
- const html = EMPTY_STRING; ///
9
+ const html = CARRIAGE_RETURN; ///
10
10
 
11
11
  return html;
12
12
  }
13
13
 
14
14
  createDOMElement(context) {
15
- const content = EMPTY_STRING, ///
15
+ const content = CARRIAGE_RETURN, ///
16
16
  textNode = document.createTextNode(content),
17
17
  domElement = textNode; ///
18
18