highmark-markdown 0.0.56 → 0.0.60

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.
Files changed (52) hide show
  1. package/example.js +137 -204
  2. package/lib/example/view.js +2 -2
  3. package/lib/markdown/bnf.js +2 -2
  4. package/lib/markdown/entries.js +2 -2
  5. package/lib/markdown/lexer.js +2 -2
  6. package/lib/mixins/content.js +3 -3
  7. package/lib/node/markdown/address.js +3 -2
  8. package/lib/node/markdown/blockListing.js +1 -8
  9. package/lib/node/markdown/blockText.js +4 -4
  10. package/lib/node/markdown/division.js +1 -2
  11. package/lib/node/markdown/emphasisedText.js +2 -2
  12. package/lib/node/markdown/endOfLine.js +5 -9
  13. package/lib/node/markdown/error.js +7 -13
  14. package/lib/node/markdown/hyperlink.js +24 -24
  15. package/lib/node/markdown/image.js +15 -22
  16. package/lib/node/markdown/inlineText.js +2 -2
  17. package/lib/node/markdown/line.js +4 -3
  18. package/lib/node/markdown/mailToLink.js +24 -24
  19. package/lib/node/markdown/strongText.js +2 -2
  20. package/lib/node/markdown/stronglyEmphasisedText.js +2 -2
  21. package/lib/node/markdown/tableCell.js +7 -43
  22. package/lib/node/markdown/text.js +2 -12
  23. package/lib/node/markdown/url.js +3 -2
  24. package/lib/node/markdown/verticalSpace.js +12 -14
  25. package/lib/node/markdown.js +15 -15
  26. package/lib/utilities/content.js +15 -12
  27. package/package.json +1 -1
  28. package/src/example/view.js +5 -1
  29. package/src/markdown/bnf.js +2 -2
  30. package/src/markdown/entries.js +1 -1
  31. package/src/markdown/lexer.js +1 -2
  32. package/src/mixins/content.js +3 -2
  33. package/src/node/markdown/address.js +3 -1
  34. package/src/node/markdown/blockListing.js +0 -9
  35. package/src/node/markdown/blockText.js +6 -5
  36. package/src/node/markdown/division.js +0 -1
  37. package/src/node/markdown/emphasisedText.js +1 -2
  38. package/src/node/markdown/endOfLine.js +6 -9
  39. package/src/node/markdown/error.js +7 -18
  40. package/src/node/markdown/hyperlink.js +30 -30
  41. package/src/node/markdown/image.js +22 -28
  42. package/src/node/markdown/inlineText.js +1 -2
  43. package/src/node/markdown/line.js +1 -4
  44. package/src/node/markdown/mailToLink.js +28 -28
  45. package/src/node/markdown/strongText.js +1 -2
  46. package/src/node/markdown/stronglyEmphasisedText.js +1 -2
  47. package/src/node/markdown/tableCell.js +6 -51
  48. package/src/node/markdown/text.js +0 -13
  49. package/src/node/markdown/url.js +3 -1
  50. package/src/node/markdown/verticalSpace.js +19 -16
  51. package/src/node/markdown.js +12 -12
  52. package/src/utilities/content.js +17 -15
@@ -166,20 +166,6 @@ var MarkdownNode = /*#__PURE__*/ function(NonTerminalNode) {
166
166
  return className;
167
167
  }
168
168
  },
169
- {
170
- key: "attributeName",
171
- value: function attributeName(context) {
172
- var attributeName = null;
173
- return attributeName;
174
- }
175
- },
176
- {
177
- key: "attributeValue",
178
- value: function attributeValue(context) {
179
- var attributeValue = null;
180
- return attributeValue;
181
- }
182
- },
183
169
  {
184
170
  key: "asHTML",
185
171
  value: function asHTML(indent, context) {
@@ -251,6 +237,20 @@ var MarkdownNode = /*#__PURE__*/ function(NonTerminalNode) {
251
237
  return indent;
252
238
  }
253
239
  },
240
+ {
241
+ key: "attributeName",
242
+ value: function attributeName(context) {
243
+ var attributeName = null;
244
+ return attributeName;
245
+ }
246
+ },
247
+ {
248
+ key: "attributeValue",
249
+ value: function attributeValue(context) {
250
+ var attributeValue = null;
251
+ return attributeValue;
252
+ }
253
+ },
254
254
  {
255
255
  key: "childNodesAsHTML",
256
256
  value: function childNodesAsHTML(indent, context) {
@@ -338,4 +338,4 @@ Object.assign(MarkdownNode.prototype, _node.default);
338
338
  Object.assign(MarkdownNode.prototype, _element.default);
339
339
  var _default = MarkdownNode;
340
340
 
341
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL21hcmtkb3duLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBOb25UZXJtaW5hbE5vZGUgfSBmcm9tIFwib2NjYW0tcGFyc2Vyc1wiO1xuXG5pbXBvcnQgbm9kZU1peGlucyBmcm9tIFwiLi4vbWl4aW5zL25vZGVcIjtcbmltcG9ydCBlbGVtZW50TWl4aW5zIGZyb20gXCIuLi9taXhpbnMvZWxlbWVudFwiO1xuaW1wb3J0IHJ1bGVOYW1lVG9IVE1MTWFwIGZyb20gXCIuLi9ydWxlTmFtZVRvSFRNTE1hcFwiO1xuXG5pbXBvcnQgeyB0cmltIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuY2xhc3MgTWFya2Rvd25Ob2RlIGV4dGVuZHMgTm9uVGVybWluYWxOb2RlIHtcbiAgY29uc3RydWN0b3IocnVsZU5hbWUsIGNoaWxkTm9kZXMsIHByZWNlZGVuY2UsIG9wYWNpdHksIGRvbUVsZW1lbnQpIHtcbiAgICBzdXBlcihydWxlTmFtZSwgY2hpbGROb2RlcywgcHJlY2VkZW5jZSwgb3BhY2l0eSk7XG5cbiAgICB0aGlzLmRvbUVsZW1lbnQgPSBkb21FbGVtZW50O1xuICB9XG5cbiAgZ2V0RE9NRWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5kb21FbGVtZW50O1xuICB9XG5cbiAgc2V0RE9NRWxlbWVudChkb21FbGVtZW50KSB7XG4gICAgdGhpcy5kb21FbGVtZW50ID0gZG9tRWxlbWVudDtcbiAgfVxuXG4gIHRhZ05hbWUoY29udGV4dCkge1xuICAgIGNvbnN0IHsgdGFnTmFtZSB9ID0gcnVsZU5hbWVUb0hUTUxNYXBbdGhpcy5ydWxlTmFtZV07XG5cbiAgICByZXR1cm4gdGFnTmFtZTtcbiAgfVxuXG4gIGNsYXNzTmFtZShjb250ZXh0KSB7XG4gICAgY29uc3QgeyBjbGFzc05hbWUgfSA9IHJ1bGVOYW1lVG9IVE1MTWFwW3RoaXMucnVsZU5hbWVdO1xuXG4gICAgcmV0dXJuIGNsYXNzTmFtZTtcbiAgfVxuXG4gIGF0dHJpYnV0ZU5hbWUoY29udGV4dCkge1xuICAgIGNvbnN0IGF0dHJpYnV0ZU5hbWUgPSBudWxsO1xuXG4gICAgcmV0dXJuIGF0dHJpYnV0ZU5hbWU7XG4gIH1cblxuICBhdHRyaWJ1dGVWYWx1ZShjb250ZXh0KSB7XG4gICAgY29uc3QgYXR0cmlidXRlVmFsdWUgPSBudWxsO1xuXG4gICAgcmV0dXJuIGF0dHJpYnV0ZVZhbHVlO1xuICB9XG5cbiAgYXNIVE1MKGluZGVudCwgY29udGV4dCkge1xuICAgIGlmIChjb250ZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnRleHQgPSBpbmRlbnQ7IC8vL1xuXG4gICAgICBpbmRlbnQgPSBFTVBUWV9TVFJJTkc7XG4gICAgfVxuXG4gICAgY29uc3QgdGFnTmFtZSA9IHRoaXMudGFnTmFtZShjb250ZXh0KTtcblxuICAgIGxldCBodG1sID0gbnVsbDtcblxuICAgIGlmICh0YWdOYW1lICE9PSBudWxsKSB7XG4gICAgICBpbmRlbnQgPSB0aGlzLmFkanVzdEluZGVudChpbmRlbnQpO1xuXG4gICAgICBjb25zdCBjaGlsZE5vZGVzSFRNTCA9IHRoaXMuY2hpbGROb2Rlc0FzSFRNTChpbmRlbnQsIGNvbnRleHQpO1xuXG4gICAgICBpZiAoY2hpbGROb2Rlc0hUTUwgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3Qgc3RhcnRpbmdUYWcgPSB0aGlzLnN0YXJ0aW5nVGFnKGNvbnRleHQpLFxuICAgICAgICAgICAgICBjbG9zaW5nVGFnID0gdGhpcy5jbG9zaW5nVGFnKGNvbnRleHQpO1xuXG4gICAgICAgIGh0bWwgPSAoaW5kZW50ID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgYCR7c3RhcnRpbmdUYWd9JHt0cmltKGNoaWxkTm9kZXNIVE1MKX0ke2Nsb3NpbmdUYWd9YCA6XG4gICAgICAgICAgICAgICAgICBgJHtpbmRlbnR9JHtzdGFydGluZ1RhZ31cbiR7dHJpbShjaGlsZE5vZGVzSFRNTCl9XG4ke2luZGVudH0ke2Nsb3NpbmdUYWd9XG5gO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc2VsZkNsb3NpbmdUYWcgPSB0aGlzLnNlbGZDbG9zaW5nVGFnKGNvbnRleHQpO1xuXG4gICAgICAgIGh0bWwgPSAoaW5kZW50ID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgc2VsZkNsb3NpbmdUYWcgOiAgLy8vXG4gICAgICAgICAgICAgICAgIGAke2luZGVudH0ke3NlbGZDbG9zaW5nVGFnfVxuYDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gaHRtbDtcbiAgfVxuXG4gIGNsb3NpbmdUYWcoY29udGV4dCkge1xuICAgIGNvbnN0IHRhZ05hbWUgPSB0aGlzLnRhZ05hbWUoY29udGV4dCksXG4gICAgICAgICAgY2xvc2luZ1RhZyA9IGA8XFxcXCR7dGFnTmFtZX0+YDtcblxuICAgIHJldHVybiBjbG9zaW5nVGFnO1xuICB9XG5cbiAgc3RhcnRpbmdUYWcoY29udGV4dCkge1xuICAgIGNvbnN0IHRhZ05hbWUgPSB0aGlzLnRhZ05hbWUoY29udGV4dCksXG4gICAgICAgICAgY2xhc3NOYW1lID0gdGhpcy5jbGFzc05hbWUoY29udGV4dCksXG4gICAgICAgICAgYXR0cmlidXRlTmFtZSA9IHRoaXMuYXR0cmlidXRlTmFtZShjb250ZXh0KTtcblxuICAgIGxldCBjbGFzc0hUTUwgPSBFTVBUWV9TVFJJTkcsXG4gICAgICAgIGF0dHJpYnV0ZUhUTUwgPSBFTVBUWV9TVFJJTkc7XG5cbiAgICBpZiAoY2xhc3NOYW1lICE9PSBudWxsKSB7XG4gICAgICBjbGFzc0hUTUwgPSBgIGNsYXNzPVwiJHtjbGFzc05hbWV9XCJgO1xuICAgIH1cblxuICAgIGlmIChhdHRyaWJ1dGVOYW1lICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBhdHRyaWJ1dGVWYWx1ZSA9IHRoaXMuYXR0cmlidXRlVmFsdWUoY29udGV4dCk7XG5cbiAgICAgIGF0dHJpYnV0ZUhUTUwgPSBgICR7YXR0cmlidXRlTmFtZX09XCIke2F0dHJpYnV0ZVZhbHVlfVwiYDtcbiAgICB9XG5cbiAgICBjb25zdCBzdGFydGluZ1RhZyA9IGA8JHt0YWdOYW1lfSR7Y2xhc3NIVE1MfSR7YXR0cmlidXRlSFRNTH0+YDtcblxuICAgIHJldHVybiBzdGFydGluZ1RhZztcbiAgfVxuXG4gIHNlbGZDbG9zaW5nVGFnKGNvbnRleHQpIHtcbiAgICBjb25zdCB0YWdOYW1lID0gdGhpcy50YWdOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGNsYXNzTmFtZSA9IHRoaXMuY2xhc3NOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGF0dHJpYnV0ZU5hbWUgPSB0aGlzLmF0dHJpYnV0ZU5hbWUoY29udGV4dCk7XG5cbiAgICBsZXQgY2xhc3NIVE1MID0gRU1QVFlfU1RSSU5HLFxuICAgICAgICBhdHRyaWJ1dGVIVE1MID0gRU1QVFlfU1RSSU5HO1xuXG4gICAgaWYgKGNsYXNzTmFtZSAhPT0gbnVsbCkge1xuICAgICAgY2xhc3NIVE1MID0gYCBjbGFzcz1cIiR7Y2xhc3NOYW1lfVwiYDtcbiAgICB9XG5cbiAgICBpZiAoYXR0cmlidXRlTmFtZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgYXR0cmlidXRlVmFsdWUgPSB0aGlzLmF0dHJpYnV0ZVZhbHVlKGNvbnRleHQpO1xuXG4gICAgICBhdHRyaWJ1dGVIVE1MID0gYCAke2F0dHJpYnV0ZU5hbWV9PVwiJHthdHRyaWJ1dGVWYWx1ZX1cImA7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VsZkNsb3NpbmdUYWcgPSBgPCR7dGFnTmFtZX0ke2NsYXNzSFRNTH0ke2F0dHJpYnV0ZUhUTUx9Lz5gO1xuXG4gICAgcmV0dXJuIHNlbGZDbG9zaW5nVGFnO1xuICB9XG5cbiAgYWRqdXN0SW5kZW50KGluZGVudCkge1xuICAgIGlmIChpbmRlbnQgIT09IG51bGwpIHtcbiAgICAgIGluZGVudCA9IGAgICR7aW5kZW50fWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGluZGVudDtcbiAgfVxuXG4gIGNoaWxkTm9kZXNBc0hUTUwoaW5kZW50LCBjb250ZXh0KSB7XG4gICAgY29uc3QgY2hpbGROb2RlcyA9IHRoaXMuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIGNoaWxkTm9kZXNIVE1MID0gY2hpbGROb2Rlcy5yZWR1Y2UoKGNoaWxkTm9kZXNIVE1MLCBjaGlsZE5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgICAgICAgICBpZiAoY2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGNoaWxkTm9kZUhUTUwgPSBjaGlsZE5vZGUuYXNIVE1MKGluZGVudCwgY29udGV4dCk7XG5cbiAgICAgICAgICAgICAgaWYgKGNoaWxkTm9kZUhUTUwgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBjaGlsZE5vZGVzSFRNTCA9IChjaGlsZE5vZGVzSFRNTCA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZE5vZGVIVE1MIDogIC8vL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7Y2hpbGROb2Rlc0hUTUx9JHtjaGlsZE5vZGVIVE1MfWA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkTm9kZXNIVE1MO1xuICAgICAgICAgIH0sIG51bGwpO1xuXG4gICAgcmV0dXJuIGNoaWxkTm9kZXNIVE1MO1xuICB9XG5cbiAgY3JlYXRlRE9NRWxlbWVudChjb250ZXh0KSB7XG4gICAgbGV0IGRvbUVsZW1lbnQgPSBudWxsO1xuXG4gICAgY29uc3QgdGFnTmFtZSA9IHRoaXMudGFnTmFtZShjb250ZXh0KTtcblxuICAgIGlmICh0YWdOYW1lICE9PSBudWxsKSB7XG4gICAgICBkb21FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTtcblxuICAgICAgdGhpcy5zZXRET01FbGVtZW50KGRvbUVsZW1lbnQpO1xuXG4gICAgICBjb25zdCBjbGFzc05hbWUgPSB0aGlzLmNsYXNzTmFtZShjb250ZXh0KSxcbiAgICAgICAgICAgIGF0dHJpYnV0ZU5hbWUgPSB0aGlzLmF0dHJpYnV0ZU5hbWUoY29udGV4dCk7XG5cbiAgICAgIGlmIChjbGFzc05hbWUgIT09IG51bGwpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihkb21FbGVtZW50LCB7XG4gICAgICAgICAgY2xhc3NOYW1lXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAoYXR0cmlidXRlTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGVWYWx1ZSA9IHRoaXMuYXR0cmlidXRlVmFsdWUoY29udGV4dCk7XG5cbiAgICAgICAgZG9tRWxlbWVudC5zZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwgYXR0cmlidXRlVmFsdWUpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmNyZWF0ZUNoaWxkTm9kZURPTUVsZW1lbnRzKGNvbnRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiBkb21FbGVtZW50O1xuICB9XG5cbiAgY3JlYXRlQ2hpbGROb2RlRE9NRWxlbWVudHMoY29udGV4dCkge1xuICAgIGNvbnN0IGNoaWxkTm9kZXMgPSB0aGlzLmdldENoaWxkTm9kZXMoKTtcblxuICAgIGNoaWxkTm9kZXMuZm9yRWFjaCgoY2hpbGROb2RlKSA9PiB7XG4gICAgICBjb25zdCBjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgICAgaWYgKGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgICBjb25zdCBjaGlsZE5vZGVET01FbGVtZW50ID0gY2hpbGROb2RlLmNyZWF0ZURPTUVsZW1lbnQoY29udGV4dCk7XG5cbiAgICAgICAgaWYgKGNoaWxkTm9kZURPTUVsZW1lbnQgIT09IG51bGwpIHtcbiAgICAgICAgICB0aGlzLmluc2VydERPTUVsZW1lbnQoY2hpbGROb2RlRE9NRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGluc2VydERPTUVsZW1lbnQoZG9tRWxlbWVudCkge1xuICAgIGNvbnN0IHBhcmVudERPTUVsZW1lbnQgPSB0aGlzLmRvbUVsZW1lbnQsICAvLy9cbiAgICAgICAgICBzaWJsaW5nRE9NRWxlbWVudCA9IG51bGw7XG5cbiAgICBwYXJlbnRET01FbGVtZW50Lmluc2VydEJlZm9yZShkb21FbGVtZW50LCBzaWJsaW5nRE9NRWxlbWVudCk7XG4gIH1cblxuICBzdGF0aWMgZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkoQ2xhc3MsIHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBkb21FbGVtZW50ID0gbnVsbCxcbiAgICAgICAgICBtYXJrZG93bk5vZGUgPSBOb25UZXJtaW5hbE5vZGUuZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkoQ2xhc3MsIHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBkb21FbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgcmV0dXJuIG1hcmtkb3duTm9kZTtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKE1hcmtkb3duTm9kZS5wcm90b3R5cGUsIG5vZGVNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihNYXJrZG93bk5vZGUucHJvdG90eXBlLCBlbGVtZW50TWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgTWFya2Rvd25Ob2RlO1xuIl0sIm5hbWVzIjpbIk1hcmtkb3duTm9kZSIsInJ1bGVOYW1lIiwiY2hpbGROb2RlcyIsInByZWNlZGVuY2UiLCJvcGFjaXR5IiwiZG9tRWxlbWVudCIsImdldERPTUVsZW1lbnQiLCJzZXRET01FbGVtZW50IiwidGFnTmFtZSIsImNvbnRleHQiLCJydWxlTmFtZVRvSFRNTE1hcCIsImNsYXNzTmFtZSIsImF0dHJpYnV0ZU5hbWUiLCJhdHRyaWJ1dGVWYWx1ZSIsImFzSFRNTCIsImluZGVudCIsInVuZGVmaW5lZCIsIkVNUFRZX1NUUklORyIsImh0bWwiLCJhZGp1c3RJbmRlbnQiLCJjaGlsZE5vZGVzSFRNTCIsImNoaWxkTm9kZXNBc0hUTUwiLCJzdGFydGluZ1RhZyIsImNsb3NpbmdUYWciLCJ0cmltIiwic2VsZkNsb3NpbmdUYWciLCJjbGFzc0hUTUwiLCJhdHRyaWJ1dGVIVE1MIiwiZ2V0Q2hpbGROb2RlcyIsInJlZHVjZSIsImNoaWxkTm9kZSIsImNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwiY2hpbGROb2RlSFRNTCIsImNyZWF0ZURPTUVsZW1lbnQiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJzZXRBdHRyaWJ1dGUiLCJjcmVhdGVDaGlsZE5vZGVET01FbGVtZW50cyIsImZvckVhY2giLCJjaGlsZE5vZGVET01FbGVtZW50IiwiaW5zZXJ0RE9NRWxlbWVudCIsInBhcmVudERPTUVsZW1lbnQiLCJzaWJsaW5nRE9NRWxlbWVudCIsImluc2VydEJlZm9yZSIsImZyb21SdWxlTmFtZUNoaWxkTm9kZXNBbmRPcGFjaXR5IiwiQ2xhc3MiLCJyZW1haW5pbmdBcmd1bWVudHMiLCJOb25UZXJtaW5hbE5vZGUiLCJtYXJrZG93bk5vZGUiLCJwcm90b3R5cGUiLCJub2RlTWl4aW5zIiwiZWxlbWVudE1peGlucyJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
341
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL21hcmtkb3duLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBOb25UZXJtaW5hbE5vZGUgfSBmcm9tIFwib2NjYW0tcGFyc2Vyc1wiO1xuXG5pbXBvcnQgbm9kZU1peGlucyBmcm9tIFwiLi4vbWl4aW5zL25vZGVcIjtcbmltcG9ydCBlbGVtZW50TWl4aW5zIGZyb20gXCIuLi9taXhpbnMvZWxlbWVudFwiO1xuaW1wb3J0IHJ1bGVOYW1lVG9IVE1MTWFwIGZyb20gXCIuLi9ydWxlTmFtZVRvSFRNTE1hcFwiO1xuXG5pbXBvcnQgeyB0cmltIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuY2xhc3MgTWFya2Rvd25Ob2RlIGV4dGVuZHMgTm9uVGVybWluYWxOb2RlIHtcbiAgY29uc3RydWN0b3IocnVsZU5hbWUsIGNoaWxkTm9kZXMsIHByZWNlZGVuY2UsIG9wYWNpdHksIGRvbUVsZW1lbnQpIHtcbiAgICBzdXBlcihydWxlTmFtZSwgY2hpbGROb2RlcywgcHJlY2VkZW5jZSwgb3BhY2l0eSk7XG5cbiAgICB0aGlzLmRvbUVsZW1lbnQgPSBkb21FbGVtZW50O1xuICB9XG5cbiAgZ2V0RE9NRWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5kb21FbGVtZW50O1xuICB9XG5cbiAgc2V0RE9NRWxlbWVudChkb21FbGVtZW50KSB7XG4gICAgdGhpcy5kb21FbGVtZW50ID0gZG9tRWxlbWVudDtcbiAgfVxuXG4gIHRhZ05hbWUoY29udGV4dCkge1xuICAgIGNvbnN0IHsgdGFnTmFtZSB9ID0gcnVsZU5hbWVUb0hUTUxNYXBbdGhpcy5ydWxlTmFtZV07XG5cbiAgICByZXR1cm4gdGFnTmFtZTtcbiAgfVxuXG4gIGNsYXNzTmFtZShjb250ZXh0KSB7XG4gICAgY29uc3QgeyBjbGFzc05hbWUgfSA9IHJ1bGVOYW1lVG9IVE1MTWFwW3RoaXMucnVsZU5hbWVdO1xuXG4gICAgcmV0dXJuIGNsYXNzTmFtZTtcbiAgfVxuXG4gIGFzSFRNTChpbmRlbnQsIGNvbnRleHQpIHtcbiAgICBpZiAoY29udGV4dCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb250ZXh0ID0gaW5kZW50OyAvLy9cblxuICAgICAgaW5kZW50ID0gRU1QVFlfU1RSSU5HO1xuICAgIH1cblxuICAgIGNvbnN0IHRhZ05hbWUgPSB0aGlzLnRhZ05hbWUoY29udGV4dCk7XG5cbiAgICBsZXQgaHRtbCA9IG51bGw7XG5cbiAgICBpZiAodGFnTmFtZSAhPT0gbnVsbCkge1xuICAgICAgaW5kZW50ID0gdGhpcy5hZGp1c3RJbmRlbnQoaW5kZW50KTtcblxuICAgICAgY29uc3QgY2hpbGROb2Rlc0hUTUwgPSB0aGlzLmNoaWxkTm9kZXNBc0hUTUwoaW5kZW50LCBjb250ZXh0KTtcblxuICAgICAgaWYgKGNoaWxkTm9kZXNIVE1MICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0aW5nVGFnID0gdGhpcy5zdGFydGluZ1RhZyhjb250ZXh0KSxcbiAgICAgICAgICAgICAgY2xvc2luZ1RhZyA9IHRoaXMuY2xvc2luZ1RhZyhjb250ZXh0KTtcblxuICAgICAgICBodG1sID0gKGluZGVudCA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgIGAke3N0YXJ0aW5nVGFnfSR7dHJpbShjaGlsZE5vZGVzSFRNTCl9JHtjbG9zaW5nVGFnfWAgOlxuICAgICAgICAgICAgICAgICAgYCR7aW5kZW50fSR7c3RhcnRpbmdUYWd9XG4ke3RyaW0oY2hpbGROb2Rlc0hUTUwpfVxuJHtpbmRlbnR9JHtjbG9zaW5nVGFnfVxuYDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHNlbGZDbG9zaW5nVGFnID0gdGhpcy5zZWxmQ2xvc2luZ1RhZyhjb250ZXh0KTtcblxuICAgICAgICBodG1sID0gKGluZGVudCA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgIHNlbGZDbG9zaW5nVGFnIDogIC8vL1xuICAgICAgICAgICAgICAgICBgJHtpbmRlbnR9JHtzZWxmQ2xvc2luZ1RhZ31cbmA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGh0bWw7XG4gIH1cblxuICBjbG9zaW5nVGFnKGNvbnRleHQpIHtcbiAgICBjb25zdCB0YWdOYW1lID0gdGhpcy50YWdOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGNsb3NpbmdUYWcgPSBgPFxcXFwke3RhZ05hbWV9PmA7XG5cbiAgICByZXR1cm4gY2xvc2luZ1RhZztcbiAgfVxuXG4gIHN0YXJ0aW5nVGFnKGNvbnRleHQpIHtcbiAgICBjb25zdCB0YWdOYW1lID0gdGhpcy50YWdOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGNsYXNzTmFtZSA9IHRoaXMuY2xhc3NOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGF0dHJpYnV0ZU5hbWUgPSB0aGlzLmF0dHJpYnV0ZU5hbWUoY29udGV4dCk7XG5cbiAgICBsZXQgY2xhc3NIVE1MID0gRU1QVFlfU1RSSU5HLFxuICAgICAgICBhdHRyaWJ1dGVIVE1MID0gRU1QVFlfU1RSSU5HO1xuXG4gICAgaWYgKGNsYXNzTmFtZSAhPT0gbnVsbCkge1xuICAgICAgY2xhc3NIVE1MID0gYCBjbGFzcz1cIiR7Y2xhc3NOYW1lfVwiYDtcbiAgICB9XG5cbiAgICBpZiAoYXR0cmlidXRlTmFtZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgYXR0cmlidXRlVmFsdWUgPSB0aGlzLmF0dHJpYnV0ZVZhbHVlKGNvbnRleHQpO1xuXG4gICAgICBhdHRyaWJ1dGVIVE1MID0gYCAke2F0dHJpYnV0ZU5hbWV9PVwiJHthdHRyaWJ1dGVWYWx1ZX1cImA7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnRpbmdUYWcgPSBgPCR7dGFnTmFtZX0ke2NsYXNzSFRNTH0ke2F0dHJpYnV0ZUhUTUx9PmA7XG5cbiAgICByZXR1cm4gc3RhcnRpbmdUYWc7XG4gIH1cblxuICBzZWxmQ2xvc2luZ1RhZyhjb250ZXh0KSB7XG4gICAgY29uc3QgdGFnTmFtZSA9IHRoaXMudGFnTmFtZShjb250ZXh0KSxcbiAgICAgICAgICBjbGFzc05hbWUgPSB0aGlzLmNsYXNzTmFtZShjb250ZXh0KSxcbiAgICAgICAgICBhdHRyaWJ1dGVOYW1lID0gdGhpcy5hdHRyaWJ1dGVOYW1lKGNvbnRleHQpO1xuXG4gICAgbGV0IGNsYXNzSFRNTCA9IEVNUFRZX1NUUklORyxcbiAgICAgICAgYXR0cmlidXRlSFRNTCA9IEVNUFRZX1NUUklORztcblxuICAgIGlmIChjbGFzc05hbWUgIT09IG51bGwpIHtcbiAgICAgIGNsYXNzSFRNTCA9IGAgY2xhc3M9XCIke2NsYXNzTmFtZX1cImA7XG4gICAgfVxuXG4gICAgaWYgKGF0dHJpYnV0ZU5hbWUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGF0dHJpYnV0ZVZhbHVlID0gdGhpcy5hdHRyaWJ1dGVWYWx1ZShjb250ZXh0KTtcblxuICAgICAgYXR0cmlidXRlSFRNTCA9IGAgJHthdHRyaWJ1dGVOYW1lfT1cIiR7YXR0cmlidXRlVmFsdWV9XCJgO1xuICAgIH1cblxuICAgIGNvbnN0IHNlbGZDbG9zaW5nVGFnID0gYDwke3RhZ05hbWV9JHtjbGFzc0hUTUx9JHthdHRyaWJ1dGVIVE1MfS8+YDtcblxuICAgIHJldHVybiBzZWxmQ2xvc2luZ1RhZztcbiAgfVxuXG4gIGFkanVzdEluZGVudChpbmRlbnQpIHtcbiAgICBpZiAoaW5kZW50ICE9PSBudWxsKSB7XG4gICAgICBpbmRlbnQgPSBgICAke2luZGVudH1gO1xuICAgIH1cblxuICAgIHJldHVybiBpbmRlbnQ7XG4gIH1cblxuICBhdHRyaWJ1dGVOYW1lKGNvbnRleHQpIHtcbiAgICBjb25zdCBhdHRyaWJ1dGVOYW1lID0gbnVsbDtcblxuICAgIHJldHVybiBhdHRyaWJ1dGVOYW1lO1xuICB9XG5cbiAgYXR0cmlidXRlVmFsdWUoY29udGV4dCkge1xuICAgIGNvbnN0IGF0dHJpYnV0ZVZhbHVlID0gbnVsbDtcblxuICAgIHJldHVybiBhdHRyaWJ1dGVWYWx1ZTtcbiAgfVxuXG4gIGNoaWxkTm9kZXNBc0hUTUwoaW5kZW50LCBjb250ZXh0KSB7XG4gICAgY29uc3QgY2hpbGROb2RlcyA9IHRoaXMuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIGNoaWxkTm9kZXNIVE1MID0gY2hpbGROb2Rlcy5yZWR1Y2UoKGNoaWxkTm9kZXNIVE1MLCBjaGlsZE5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgICAgICAgICBpZiAoY2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGNoaWxkTm9kZUhUTUwgPSBjaGlsZE5vZGUuYXNIVE1MKGluZGVudCwgY29udGV4dCk7XG5cbiAgICAgICAgICAgICAgaWYgKGNoaWxkTm9kZUhUTUwgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBjaGlsZE5vZGVzSFRNTCA9IChjaGlsZE5vZGVzSFRNTCA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZE5vZGVIVE1MIDogIC8vL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7Y2hpbGROb2Rlc0hUTUx9JHtjaGlsZE5vZGVIVE1MfWA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkTm9kZXNIVE1MO1xuICAgICAgICAgIH0sIG51bGwpO1xuXG4gICAgcmV0dXJuIGNoaWxkTm9kZXNIVE1MO1xuICB9XG5cbiAgY3JlYXRlRE9NRWxlbWVudChjb250ZXh0KSB7XG4gICAgbGV0IGRvbUVsZW1lbnQgPSBudWxsO1xuXG4gICAgY29uc3QgdGFnTmFtZSA9IHRoaXMudGFnTmFtZShjb250ZXh0KTtcblxuICAgIGlmICh0YWdOYW1lICE9PSBudWxsKSB7XG4gICAgICBkb21FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTtcblxuICAgICAgdGhpcy5zZXRET01FbGVtZW50KGRvbUVsZW1lbnQpO1xuXG4gICAgICBjb25zdCBjbGFzc05hbWUgPSB0aGlzLmNsYXNzTmFtZShjb250ZXh0KSxcbiAgICAgICAgICAgIGF0dHJpYnV0ZU5hbWUgPSB0aGlzLmF0dHJpYnV0ZU5hbWUoY29udGV4dCk7XG5cbiAgICAgIGlmIChjbGFzc05hbWUgIT09IG51bGwpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihkb21FbGVtZW50LCB7XG4gICAgICAgICAgY2xhc3NOYW1lXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAoYXR0cmlidXRlTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGVWYWx1ZSA9IHRoaXMuYXR0cmlidXRlVmFsdWUoY29udGV4dCk7XG5cbiAgICAgICAgZG9tRWxlbWVudC5zZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwgYXR0cmlidXRlVmFsdWUpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmNyZWF0ZUNoaWxkTm9kZURPTUVsZW1lbnRzKGNvbnRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiBkb21FbGVtZW50O1xuICB9XG5cbiAgY3JlYXRlQ2hpbGROb2RlRE9NRWxlbWVudHMoY29udGV4dCkge1xuICAgIGNvbnN0IGNoaWxkTm9kZXMgPSB0aGlzLmdldENoaWxkTm9kZXMoKTtcblxuICAgIGNoaWxkTm9kZXMuZm9yRWFjaCgoY2hpbGROb2RlKSA9PiB7XG4gICAgICBjb25zdCBjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgICAgaWYgKGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgICBjb25zdCBjaGlsZE5vZGVET01FbGVtZW50ID0gY2hpbGROb2RlLmNyZWF0ZURPTUVsZW1lbnQoY29udGV4dCk7XG5cbiAgICAgICAgaWYgKGNoaWxkTm9kZURPTUVsZW1lbnQgIT09IG51bGwpIHtcbiAgICAgICAgICB0aGlzLmluc2VydERPTUVsZW1lbnQoY2hpbGROb2RlRE9NRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGluc2VydERPTUVsZW1lbnQoZG9tRWxlbWVudCkge1xuICAgIGNvbnN0IHBhcmVudERPTUVsZW1lbnQgPSB0aGlzLmRvbUVsZW1lbnQsICAvLy9cbiAgICAgICAgICBzaWJsaW5nRE9NRWxlbWVudCA9IG51bGw7XG5cbiAgICBwYXJlbnRET01FbGVtZW50Lmluc2VydEJlZm9yZShkb21FbGVtZW50LCBzaWJsaW5nRE9NRWxlbWVudCk7XG4gIH1cblxuICBzdGF0aWMgZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkoQ2xhc3MsIHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBkb21FbGVtZW50ID0gbnVsbCxcbiAgICAgICAgICBtYXJrZG93bk5vZGUgPSBOb25UZXJtaW5hbE5vZGUuZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkoQ2xhc3MsIHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBkb21FbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgcmV0dXJuIG1hcmtkb3duTm9kZTtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKE1hcmtkb3duTm9kZS5wcm90b3R5cGUsIG5vZGVNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihNYXJrZG93bk5vZGUucHJvdG90eXBlLCBlbGVtZW50TWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgTWFya2Rvd25Ob2RlO1xuIl0sIm5hbWVzIjpbIk1hcmtkb3duTm9kZSIsInJ1bGVOYW1lIiwiY2hpbGROb2RlcyIsInByZWNlZGVuY2UiLCJvcGFjaXR5IiwiZG9tRWxlbWVudCIsImdldERPTUVsZW1lbnQiLCJzZXRET01FbGVtZW50IiwidGFnTmFtZSIsImNvbnRleHQiLCJydWxlTmFtZVRvSFRNTE1hcCIsImNsYXNzTmFtZSIsImFzSFRNTCIsImluZGVudCIsInVuZGVmaW5lZCIsIkVNUFRZX1NUUklORyIsImh0bWwiLCJhZGp1c3RJbmRlbnQiLCJjaGlsZE5vZGVzSFRNTCIsImNoaWxkTm9kZXNBc0hUTUwiLCJzdGFydGluZ1RhZyIsImNsb3NpbmdUYWciLCJ0cmltIiwic2VsZkNsb3NpbmdUYWciLCJhdHRyaWJ1dGVOYW1lIiwiY2xhc3NIVE1MIiwiYXR0cmlidXRlSFRNTCIsImF0dHJpYnV0ZVZhbHVlIiwiZ2V0Q2hpbGROb2RlcyIsInJlZHVjZSIsImNoaWxkTm9kZSIsImNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwiY2hpbGROb2RlSFRNTCIsImNyZWF0ZURPTUVsZW1lbnQiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJzZXRBdHRyaWJ1dGUiLCJjcmVhdGVDaGlsZE5vZGVET01FbGVtZW50cyIsImZvckVhY2giLCJjaGlsZE5vZGVET01FbGVtZW50IiwiaW5zZXJ0RE9NRWxlbWVudCIsInBhcmVudERPTUVsZW1lbnQiLCJzaWJsaW5nRE9NRWxlbWVudCIsImluc2VydEJlZm9yZSIsImZyb21SdWxlTmFtZUNoaWxkTm9kZXNBbmRPcGFjaXR5IiwiQ2xhc3MiLCJyZW1haW5pbmdBcmd1bWVudHMiLCJOb25UZXJtaW5hbE5vZGUiLCJtYXJrZG93bk5vZGUiLCJwcm90b3R5cGUiLCJub2RlTWl4aW5zIiwiZWxlbWVudE1peGlucyJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
@@ -13,22 +13,25 @@ var _constants = require("../constants");
13
13
  var _tokenTypes = require("../tokenTypes");
14
14
  var first = _necessary.arrayUtilities.first, last = _necessary.arrayUtilities.last;
15
15
  function contentFromMarkdownNodes(markdownNodes, context) {
16
+ var trimmed = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
16
17
  var content = _constants.EMPTY_STRING;
17
18
  var tokens = context.tokens;
18
19
  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);
19
20
  var firstTokenIndex = firstSignificantTokenIndex, lastTokenIndex = lastSignificantTokenIndex; ///
20
- var previousTokenIndex = firstTokenIndex - 1, nextTokenIndex = lastTokenIndex + 1;
21
- if (previousTokenIndex > -1) {
22
- var previousToken = tokens[previousTokenIndex], previousTokenSignificant = previousToken.isSignificant();
23
- if (!previousTokenSignificant) {
24
- firstTokenIndex--;
21
+ if (!trimmed) {
22
+ var previousTokenIndex = firstTokenIndex - 1, nextTokenIndex = lastTokenIndex + 1;
23
+ if (previousTokenIndex > -1) {
24
+ var previousToken = tokens[previousTokenIndex], previousTokenSignificant = previousToken.isSignificant();
25
+ if (!previousTokenSignificant) {
26
+ firstTokenIndex--;
27
+ }
25
28
  }
26
- }
27
- var tokensLength = tokens.length;
28
- if (nextTokenIndex < tokensLength) {
29
- var nextToken = tokens[nextTokenIndex], nextTokenSignificant = nextToken.isSignificant();
30
- if (!nextTokenSignificant) {
31
- lastTokenIndex++;
29
+ var tokensLength = tokens.length;
30
+ if (nextTokenIndex < tokensLength) {
31
+ var nextToken = tokens[nextTokenIndex], nextTokenSignificant = nextToken.isSignificant();
32
+ if (!nextTokenSignificant) {
33
+ lastTokenIndex++;
34
+ }
32
35
  }
33
36
  }
34
37
  var start = firstTokenIndex, end = lastTokenIndex + 1;
@@ -49,4 +52,4 @@ function tokenContentFromToken(token) {
49
52
  return tokenContent;
50
53
  }
51
54
 
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29udGVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEVTQ0FQRURfVE9LRU5fVFlQRSB9IGZyb20gXCIuLi90b2tlblR5cGVzXCI7XG5cbmNvbnN0IHsgZmlyc3QsIGxhc3QgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gY29udGVudEZyb21NYXJrZG93bk5vZGVzKG1hcmtkb3duTm9kZXMsIGNvbnRleHQpIHtcbiAgbGV0IGNvbnRlbnQgPSBFTVBUWV9TVFJJTkc7XG5cbiAgbGV0IHsgdG9rZW5zIH0gPSBjb250ZXh0O1xuXG4gIGNvbnN0IG1hcmtkb3duTm9kZXNMZW5ndGggPSBtYXJrZG93bk5vZGVzLmxlbmd0aCxcbiAgICAgICAgZmlyc3RNYXJrZG93bk5vZGUgPSBmaXJzdChtYXJrZG93bk5vZGVzKSxcbiAgICAgICAgbGFzdE1hcmtkb3duTm9kZSA9IChtYXJrZG93bk5vZGVzTGVuZ3RoID09PSAxKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RNYXJrZG93bk5vZGUgOiAvLy9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3QobWFya2Rvd25Ob2RlcyksXG4gICAgICAgIGZpcnN0U2lnbmlmaWNhbnRUb2tlbiA9IGZpcnN0TWFya2Rvd25Ob2RlLmdldEZpcnN0U2lnbmlmaWNhbnRUb2tlbigpLFxuICAgICAgICBsYXN0U2lnbmlmaWNhbnRUb2tlbiA9IGxhc3RNYXJrZG93bk5vZGUuZ2V0TGFzdFNpZ25pZmljYW50VG9rZW4oKSxcbiAgICAgICAgZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXggPSB0b2tlbnMuaW5kZXhPZihmaXJzdFNpZ25pZmljYW50VG9rZW4pLFxuICAgICAgICBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gdG9rZW5zLmluZGV4T2YobGFzdFNpZ25pZmljYW50VG9rZW4pO1xuXG4gIGxldCBmaXJzdFRva2VuSW5kZXggPSBmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCwgIC8vL1xuICAgICAgbGFzdFRva2VuSW5kZXggPSBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4OyAvLy9cblxuICBjb25zdCBwcmV2aW91c1Rva2VuSW5kZXggPSBmaXJzdFRva2VuSW5kZXggLSAxLFxuICAgICAgICBuZXh0VG9rZW5JbmRleCA9IGxhc3RUb2tlbkluZGV4ICsgMTtcblxuICBpZiAocHJldmlvdXNUb2tlbkluZGV4ID4gLTEpIHtcbiAgICBjb25zdCBwcmV2aW91c1Rva2VuID0gdG9rZW5zW3ByZXZpb3VzVG9rZW5JbmRleF0sXG4gICAgICAgICAgcHJldmlvdXNUb2tlblNpZ25pZmljYW50ID0gcHJldmlvdXNUb2tlbi5pc1NpZ25pZmljYW50KCk7XG5cbiAgICBpZiAoIXByZXZpb3VzVG9rZW5TaWduaWZpY2FudCkge1xuICAgICAgZmlyc3RUb2tlbkluZGV4LS07XG4gICAgfVxuICB9XG5cbiAgY29uc3QgdG9rZW5zTGVuZ3RoID0gdG9rZW5zLmxlbmd0aDtcblxuICBpZiAobmV4dFRva2VuSW5kZXggPCB0b2tlbnNMZW5ndGgpIHtcbiAgICBjb25zdCBuZXh0VG9rZW4gPSB0b2tlbnNbbmV4dFRva2VuSW5kZXhdLFxuICAgICAgICAgIG5leHRUb2tlblNpZ25pZmljYW50ID0gbmV4dFRva2VuLmlzU2lnbmlmaWNhbnQoKTtcblxuICAgIGlmICghbmV4dFRva2VuU2lnbmlmaWNhbnQpIHtcbiAgICAgIGxhc3RUb2tlbkluZGV4Kys7XG4gICAgfVxuICB9XG5cbiAgY29uc3Qgc3RhcnQgPSBmaXJzdFRva2VuSW5kZXgsICAvLy9cbiAgICAgICAgZW5kID0gbGFzdFRva2VuSW5kZXggKyAxO1xuXG4gIHRva2VucyA9IHRva2Vucy5zbGljZShzdGFydCwgZW5kKTtcblxuICB0b2tlbnMuZm9yRWFjaCgodG9rZW4pID0+IHtcbiAgICBjb25zdCB0b2tlbkNvbnRlbnQgPSB0b2tlbkNvbnRlbnRGcm9tVG9rZW4odG9rZW4pO1xuXG4gICAgY29udGVudCArPSB0b2tlbkNvbnRlbnQ7XG4gIH0pO1xuXG4gIHJldHVybiBjb250ZW50O1xufVxuXG5mdW5jdGlvbiB0b2tlbkNvbnRlbnRGcm9tVG9rZW4odG9rZW4pIHtcbiAgbGV0IHRva2VuQ29udGVudCA9IHRva2VuLmdldENvbnRlbnQoKTtcblxuICBjb25zdCB0eXBlID0gdG9rZW4uZ2V0VHlwZSgpO1xuXG4gIGlmICh0eXBlID09PSBFU0NBUEVEX1RPS0VOX1RZUEUpIHtcbiAgICBjb25zdCBzdGFydCA9IDE7XG5cbiAgICB0b2tlbkNvbnRlbnQgPSB0b2tlbkNvbnRlbnQuc3Vic3RyaW5nKHN0YXJ0KTtcbiAgfVxuXG4gIHJldHVybiB0b2tlbkNvbnRlbnQ7XG59XG4iXSwibmFtZXMiOlsiY29udGVudEZyb21NYXJrZG93bk5vZGVzIiwiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsImxhc3QiLCJtYXJrZG93bk5vZGVzIiwiY29udGV4dCIsImNvbnRlbnQiLCJFTVBUWV9TVFJJTkciLCJ0b2tlbnMiLCJtYXJrZG93bk5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiZmlyc3RNYXJrZG93bk5vZGUiLCJsYXN0TWFya2Rvd25Ob2RlIiwiZmlyc3RTaWduaWZpY2FudFRva2VuIiwiZ2V0Rmlyc3RTaWduaWZpY2FudFRva2VuIiwibGFzdFNpZ25pZmljYW50VG9rZW4iLCJnZXRMYXN0U2lnbmlmaWNhbnRUb2tlbiIsImZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4IiwiaW5kZXhPZiIsImxhc3RTaWduaWZpY2FudFRva2VuSW5kZXgiLCJmaXJzdFRva2VuSW5kZXgiLCJsYXN0VG9rZW5JbmRleCIsInByZXZpb3VzVG9rZW5JbmRleCIsIm5leHRUb2tlbkluZGV4IiwicHJldmlvdXNUb2tlbiIsInByZXZpb3VzVG9rZW5TaWduaWZpY2FudCIsImlzU2lnbmlmaWNhbnQiLCJ0b2tlbnNMZW5ndGgiLCJuZXh0VG9rZW4iLCJuZXh0VG9rZW5TaWduaWZpY2FudCIsInN0YXJ0IiwiZW5kIiwic2xpY2UiLCJmb3JFYWNoIiwidG9rZW4iLCJ0b2tlbkNvbnRlbnQiLCJ0b2tlbkNvbnRlbnRGcm9tVG9rZW4iLCJnZXRDb250ZW50IiwidHlwZSIsImdldFR5cGUiLCJFU0NBUEVEX1RPS0VOX1RZUEUiLCJzdWJzdHJpbmciXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBU2dCQTs7O2VBQUFBOzs7eUJBUGU7eUJBRUY7MEJBQ007QUFFbkMsSUFBUUMsUUFBZ0JDLHlCQUFjLENBQTlCRCxPQUFPRSxPQUFTRCx5QkFBYyxDQUF2QkM7QUFFUixTQUFTSCx5QkFBeUJJLGFBQWEsRUFBRUMsT0FBTztJQUM3RCxJQUFJQyxVQUFVQyx1QkFBWTtJQUUxQixJQUFJLEFBQUVDLFNBQVdILFFBQVhHO0lBRU4sSUFBTUMsc0JBQXNCTCxjQUFjTSxNQUFNLEVBQzFDQyxvQkFBb0JWLE1BQU1HLGdCQUMxQlEsbUJBQW1CLEFBQUNILHdCQUF3QixJQUNyQkUsb0JBQ0VSLEtBQUtDLGdCQUM5QlMsd0JBQXdCRixrQkFBa0JHLHdCQUF3QixJQUNsRUMsdUJBQXVCSCxpQkFBaUJJLHVCQUF1QixJQUMvREMsNkJBQTZCVCxPQUFPVSxPQUFPLENBQUNMLHdCQUM1Q00sNEJBQTRCWCxPQUFPVSxPQUFPLENBQUNIO0lBRWpELElBQUlLLGtCQUFrQkgsNEJBQ2xCSSxpQkFBaUJGLDJCQUEyQixHQUFHO0lBRW5ELElBQU1HLHFCQUFxQkYsa0JBQWtCLEdBQ3ZDRyxpQkFBaUJGLGlCQUFpQjtJQUV4QyxJQUFJQyxxQkFBcUIsQ0FBQyxHQUFHO1FBQzNCLElBQU1FLGdCQUFnQmhCLE1BQU0sQ0FBQ2MsbUJBQW1CLEVBQzFDRywyQkFBMkJELGNBQWNFLGFBQWE7UUFFNUQsSUFBSSxDQUFDRCwwQkFBMEI7WUFDN0JMO1FBQ0Y7SUFDRjtJQUVBLElBQU1PLGVBQWVuQixPQUFPRSxNQUFNO0lBRWxDLElBQUlhLGlCQUFpQkksY0FBYztRQUNqQyxJQUFNQyxZQUFZcEIsTUFBTSxDQUFDZSxlQUFlLEVBQ2xDTSx1QkFBdUJELFVBQVVGLGFBQWE7UUFFcEQsSUFBSSxDQUFDRyxzQkFBc0I7WUFDekJSO1FBQ0Y7SUFDRjtJQUVBLElBQU1TLFFBQVFWLGlCQUNSVyxNQUFNVixpQkFBaUI7SUFFN0JiLFNBQVNBLE9BQU93QixLQUFLLENBQUNGLE9BQU9DO0lBRTdCdkIsT0FBT3lCLE9BQU8sQ0FBQyxTQUFDQztRQUNkLElBQU1DLGVBQWVDLHNCQUFzQkY7UUFFM0M1QixXQUFXNkI7SUFDYjtJQUVBLE9BQU83QjtBQUNUO0FBRUEsU0FBUzhCLHNCQUFzQkYsS0FBSztJQUNsQyxJQUFJQyxlQUFlRCxNQUFNRyxVQUFVO0lBRW5DLElBQU1DLE9BQU9KLE1BQU1LLE9BQU87SUFFMUIsSUFBSUQsU0FBU0UsOEJBQWtCLEVBQUU7UUFDL0IsSUFBTVYsUUFBUTtRQUVkSyxlQUFlQSxhQUFhTSxTQUFTLENBQUNYO0lBQ3hDO0lBRUEsT0FBT0s7QUFDVCJ9
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29udGVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEVTQ0FQRURfVE9LRU5fVFlQRSB9IGZyb20gXCIuLi90b2tlblR5cGVzXCI7XG5cbmNvbnN0IHsgZmlyc3QsIGxhc3QgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gY29udGVudEZyb21NYXJrZG93bk5vZGVzKG1hcmtkb3duTm9kZXMsIGNvbnRleHQsIHRyaW1tZWQgPSBmYWxzZSkge1xuICBsZXQgY29udGVudCA9IEVNUFRZX1NUUklORztcblxuICBsZXQgeyB0b2tlbnMgfSA9IGNvbnRleHQ7XG5cbiAgY29uc3QgbWFya2Rvd25Ob2Rlc0xlbmd0aCA9IG1hcmtkb3duTm9kZXMubGVuZ3RoLFxuICAgICAgICBmaXJzdE1hcmtkb3duTm9kZSA9IGZpcnN0KG1hcmtkb3duTm9kZXMpLFxuICAgICAgICBsYXN0TWFya2Rvd25Ob2RlID0gKG1hcmtkb3duTm9kZXNMZW5ndGggPT09IDEpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXJzdE1hcmtkb3duTm9kZSA6IC8vL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdChtYXJrZG93bk5vZGVzKSxcbiAgICAgICAgZmlyc3RTaWduaWZpY2FudFRva2VuID0gZmlyc3RNYXJrZG93bk5vZGUuZ2V0Rmlyc3RTaWduaWZpY2FudFRva2VuKCksXG4gICAgICAgIGxhc3RTaWduaWZpY2FudFRva2VuID0gbGFzdE1hcmtkb3duTm9kZS5nZXRMYXN0U2lnbmlmaWNhbnRUb2tlbigpLFxuICAgICAgICBmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCA9IHRva2Vucy5pbmRleE9mKGZpcnN0U2lnbmlmaWNhbnRUb2tlbiksXG4gICAgICAgIGxhc3RTaWduaWZpY2FudFRva2VuSW5kZXggPSB0b2tlbnMuaW5kZXhPZihsYXN0U2lnbmlmaWNhbnRUb2tlbik7XG5cbiAgbGV0IGZpcnN0VG9rZW5JbmRleCA9IGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4LCAgLy8vXG4gICAgICBsYXN0VG9rZW5JbmRleCA9IGxhc3RTaWduaWZpY2FudFRva2VuSW5kZXg7IC8vL1xuXG4gIGlmICghdHJpbW1lZCkge1xuICAgIGNvbnN0IHByZXZpb3VzVG9rZW5JbmRleCA9IGZpcnN0VG9rZW5JbmRleCAtIDEsXG4gICAgICAgICAgbmV4dFRva2VuSW5kZXggPSBsYXN0VG9rZW5JbmRleCArIDE7XG5cbiAgICBpZiAocHJldmlvdXNUb2tlbkluZGV4ID4gLTEpIHtcbiAgICAgIGNvbnN0IHByZXZpb3VzVG9rZW4gPSB0b2tlbnNbcHJldmlvdXNUb2tlbkluZGV4XSxcbiAgICAgICAgICAgIHByZXZpb3VzVG9rZW5TaWduaWZpY2FudCA9IHByZXZpb3VzVG9rZW4uaXNTaWduaWZpY2FudCgpO1xuXG4gICAgICBpZiAoIXByZXZpb3VzVG9rZW5TaWduaWZpY2FudCkge1xuICAgICAgICBmaXJzdFRva2VuSW5kZXgtLTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB0b2tlbnNMZW5ndGggPSB0b2tlbnMubGVuZ3RoO1xuXG4gICAgaWYgKG5leHRUb2tlbkluZGV4IDwgdG9rZW5zTGVuZ3RoKSB7XG4gICAgICBjb25zdCBuZXh0VG9rZW4gPSB0b2tlbnNbbmV4dFRva2VuSW5kZXhdLFxuICAgICAgICAgICAgbmV4dFRva2VuU2lnbmlmaWNhbnQgPSBuZXh0VG9rZW4uaXNTaWduaWZpY2FudCgpO1xuXG4gICAgICBpZiAoIW5leHRUb2tlblNpZ25pZmljYW50KSB7XG4gICAgICAgIGxhc3RUb2tlbkluZGV4Kys7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3Qgc3RhcnQgPSBmaXJzdFRva2VuSW5kZXgsICAvLy9cbiAgICAgICAgZW5kID0gbGFzdFRva2VuSW5kZXggKyAxO1xuXG4gIHRva2VucyA9IHRva2Vucy5zbGljZShzdGFydCwgZW5kKTtcblxuICB0b2tlbnMuZm9yRWFjaCgodG9rZW4pID0+IHtcbiAgICBjb25zdCB0b2tlbkNvbnRlbnQgPSB0b2tlbkNvbnRlbnRGcm9tVG9rZW4odG9rZW4pO1xuXG4gICAgY29udGVudCArPSB0b2tlbkNvbnRlbnQ7XG4gIH0pO1xuXG4gIHJldHVybiBjb250ZW50O1xufVxuXG5mdW5jdGlvbiB0b2tlbkNvbnRlbnRGcm9tVG9rZW4odG9rZW4pIHtcbiAgbGV0IHRva2VuQ29udGVudCA9IHRva2VuLmdldENvbnRlbnQoKTtcblxuICBjb25zdCB0eXBlID0gdG9rZW4uZ2V0VHlwZSgpO1xuXG4gIGlmICh0eXBlID09PSBFU0NBUEVEX1RPS0VOX1RZUEUpIHtcbiAgICBjb25zdCBzdGFydCA9IDE7XG5cbiAgICB0b2tlbkNvbnRlbnQgPSB0b2tlbkNvbnRlbnQuc3Vic3RyaW5nKHN0YXJ0KTtcbiAgfVxuXG4gIHJldHVybiB0b2tlbkNvbnRlbnQ7XG59XG4iXSwibmFtZXMiOlsiY29udGVudEZyb21NYXJrZG93bk5vZGVzIiwiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsImxhc3QiLCJtYXJrZG93bk5vZGVzIiwiY29udGV4dCIsInRyaW1tZWQiLCJjb250ZW50IiwiRU1QVFlfU1RSSU5HIiwidG9rZW5zIiwibWFya2Rvd25Ob2Rlc0xlbmd0aCIsImxlbmd0aCIsImZpcnN0TWFya2Rvd25Ob2RlIiwibGFzdE1hcmtkb3duTm9kZSIsImZpcnN0U2lnbmlmaWNhbnRUb2tlbiIsImdldEZpcnN0U2lnbmlmaWNhbnRUb2tlbiIsImxhc3RTaWduaWZpY2FudFRva2VuIiwiZ2V0TGFzdFNpZ25pZmljYW50VG9rZW4iLCJmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsImluZGV4T2YiLCJsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4IiwiZmlyc3RUb2tlbkluZGV4IiwibGFzdFRva2VuSW5kZXgiLCJwcmV2aW91c1Rva2VuSW5kZXgiLCJuZXh0VG9rZW5JbmRleCIsInByZXZpb3VzVG9rZW4iLCJwcmV2aW91c1Rva2VuU2lnbmlmaWNhbnQiLCJpc1NpZ25pZmljYW50IiwidG9rZW5zTGVuZ3RoIiwibmV4dFRva2VuIiwibmV4dFRva2VuU2lnbmlmaWNhbnQiLCJzdGFydCIsImVuZCIsInNsaWNlIiwiZm9yRWFjaCIsInRva2VuIiwidG9rZW5Db250ZW50IiwidG9rZW5Db250ZW50RnJvbVRva2VuIiwiZ2V0Q29udGVudCIsInR5cGUiLCJnZXRUeXBlIiwiRVNDQVBFRF9UT0tFTl9UWVBFIiwic3Vic3RyaW5nIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNnQkE7OztlQUFBQTs7O3lCQVBlO3lCQUVGOzBCQUNNO0FBRW5DLElBQVFDLFFBQWdCQyx5QkFBYyxDQUE5QkQsT0FBT0UsT0FBU0QseUJBQWMsQ0FBdkJDO0FBRVIsU0FBU0gseUJBQXlCSSxhQUFhLEVBQUVDLE9BQU87UUFBRUMsVUFBQUEsaUVBQVU7SUFDekUsSUFBSUMsVUFBVUMsdUJBQVk7SUFFMUIsSUFBSSxBQUFFQyxTQUFXSixRQUFYSTtJQUVOLElBQU1DLHNCQUFzQk4sY0FBY08sTUFBTSxFQUMxQ0Msb0JBQW9CWCxNQUFNRyxnQkFDMUJTLG1CQUFtQixBQUFDSCx3QkFBd0IsSUFDckJFLG9CQUNFVCxLQUFLQyxnQkFDOUJVLHdCQUF3QkYsa0JBQWtCRyx3QkFBd0IsSUFDbEVDLHVCQUF1QkgsaUJBQWlCSSx1QkFBdUIsSUFDL0RDLDZCQUE2QlQsT0FBT1UsT0FBTyxDQUFDTCx3QkFDNUNNLDRCQUE0QlgsT0FBT1UsT0FBTyxDQUFDSDtJQUVqRCxJQUFJSyxrQkFBa0JILDRCQUNsQkksaUJBQWlCRiwyQkFBMkIsR0FBRztJQUVuRCxJQUFJLENBQUNkLFNBQVM7UUFDWixJQUFNaUIscUJBQXFCRixrQkFBa0IsR0FDdkNHLGlCQUFpQkYsaUJBQWlCO1FBRXhDLElBQUlDLHFCQUFxQixDQUFDLEdBQUc7WUFDM0IsSUFBTUUsZ0JBQWdCaEIsTUFBTSxDQUFDYyxtQkFBbUIsRUFDMUNHLDJCQUEyQkQsY0FBY0UsYUFBYTtZQUU1RCxJQUFJLENBQUNELDBCQUEwQjtnQkFDN0JMO1lBQ0Y7UUFDRjtRQUVBLElBQU1PLGVBQWVuQixPQUFPRSxNQUFNO1FBRWxDLElBQUlhLGlCQUFpQkksY0FBYztZQUNqQyxJQUFNQyxZQUFZcEIsTUFBTSxDQUFDZSxlQUFlLEVBQ2xDTSx1QkFBdUJELFVBQVVGLGFBQWE7WUFFcEQsSUFBSSxDQUFDRyxzQkFBc0I7Z0JBQ3pCUjtZQUNGO1FBQ0Y7SUFDRjtJQUVBLElBQU1TLFFBQVFWLGlCQUNSVyxNQUFNVixpQkFBaUI7SUFFN0JiLFNBQVNBLE9BQU93QixLQUFLLENBQUNGLE9BQU9DO0lBRTdCdkIsT0FBT3lCLE9BQU8sQ0FBQyxTQUFDQztRQUNkLElBQU1DLGVBQWVDLHNCQUFzQkY7UUFFM0M1QixXQUFXNkI7SUFDYjtJQUVBLE9BQU83QjtBQUNUO0FBRUEsU0FBUzhCLHNCQUFzQkYsS0FBSztJQUNsQyxJQUFJQyxlQUFlRCxNQUFNRyxVQUFVO0lBRW5DLElBQU1DLE9BQU9KLE1BQU1LLE9BQU87SUFFMUIsSUFBSUQsU0FBU0UsOEJBQWtCLEVBQUU7UUFDL0IsSUFBTVYsUUFBUTtRQUVkSyxlQUFlQSxhQUFhTSxTQUFTLENBQUNYO0lBQ3hDO0lBRUEsT0FBT0s7QUFDVCJ9
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "highmark-markdown",
3
3
  "author": "James Smith",
4
- "version": "0.0.56",
4
+ "version": "0.0.60",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/highmark-markdown",
7
7
  "description": "Highmark's Markdown.",
@@ -110,7 +110,11 @@ class View extends Element {
110
110
  }
111
111
 
112
112
  static initialMarkdown = `
113
- - james.smith@djalbat.com
113
+
114
+ 1. Regular expressions[^regular-expressions].
115
+
116
+ [^regular-expressions]: A footnote about regular expressions.
117
+
114
118
  `;
115
119
 
116
120
  static tagName = "div";
@@ -82,10 +82,10 @@ const bnf = `
82
82
  footnoteItem ::= anchor paragraph ;
83
83
 
84
84
 
85
- orderedListItem ::= [number]<NO_WHITESPACE>"." line ;
85
+ orderedListItem. ::= [number]<NO_WHITESPACE>"." line ;
86
86
 
87
87
 
88
- unorderedListItem ::= ( [single-dash] | [single-asterisk] ) line ;
88
+ unorderedListItem. ::= ( [single-dash] | [single-asterisk] ) line ;
89
89
 
90
90
 
91
91
  tableHead ::= tableHeadRow ;
@@ -47,7 +47,7 @@ const entries = [
47
47
  "number": "^[1-9][0-9]*"
48
48
  },
49
49
  {
50
- "path": "^\\/(?:[A-Za-z\\-]+\\/)*(?:[A-Za-z\\-]+(?:\\.[A-Za-z\\-]+)?)?"
50
+ "path": "^\\/(?:[A-Za-z_\\-]+\\/)*(?:[A-Za-z_\\-]+(?:\\.[A-Za-z_\\-]+)?)?"
51
51
  },
52
52
  {
53
53
  "domain": "^[a-z]+(?:-[a-z]+)*(?:\\.[a-z]+(?:-[a-z]+)*)+"
@@ -2,7 +2,6 @@
2
2
 
3
3
  import { CommonLexer } from "occam-lexers";
4
4
  import { WhitespaceToken,
5
- RegularExpressionToken,
6
5
  EndOfLineSignificantToken,
7
6
  CStyleSingleLineCommentToken,
8
7
  SinglyQuotedStringLiteralToken,
@@ -25,7 +24,7 @@ export default class MarkdownLexer extends CommonLexer {
25
24
 
26
25
  static SingleLineCommentToken = CStyleSingleLineCommentToken; ///
27
26
 
28
- static RegularExpressionToken = RegularExpressionToken;
27
+ static RegularExpressionToken = null;
29
28
 
30
29
  static EndOfMultiLineCommentToken = CStyleEndOfMultiLineCommentToken; ///
31
30
 
@@ -3,11 +3,12 @@
3
3
  import { contentFromMarkdownNodes } from "../utilities/content";
4
4
 
5
5
  function content(context) {
6
- const markdownNode = this, ///
6
+ const trimmed = true,
7
+ markdownNode = this, ///
7
8
  markdownNodes = [
8
9
  markdownNode
9
10
  ],
10
- content = contentFromMarkdownNodes(markdownNodes, context);
11
+ content = contentFromMarkdownNodes(markdownNodes, context, trimmed);
11
12
 
12
13
  return content;
13
14
  }
@@ -3,7 +3,7 @@
3
3
  import MarkdownNode from "../../node/markdown";
4
4
  import contentMixins from "../../mixins/content";
5
5
 
6
- export default class AddressMarkdownNode extends MarkdownNode {
6
+ class AddressMarkdownNode extends MarkdownNode {
7
7
  asHTML(indent, context) {
8
8
  const content = this.content(context),
9
9
  html = content; ///
@@ -24,3 +24,5 @@ export default class AddressMarkdownNode extends MarkdownNode {
24
24
  }
25
25
 
26
26
  Object.assign(AddressMarkdownNode.prototype, contentMixins);
27
+
28
+ export default AddressMarkdownNode;
@@ -7,15 +7,6 @@ import MarkdownNode from "../../node/markdown";
7
7
  const { first, second } = arrayUtilities;
8
8
 
9
9
  export default class BlockListingMarkdownNode extends MarkdownNode {
10
- content(context) {
11
- const childNodes = this.getChildNodes(),
12
- secondChildNode = second(childNodes),
13
- blockTextMarkdownNode = secondChildNode, ///
14
- content = blockTextMarkdownNode.content(context);
15
-
16
- return content;
17
- }
18
-
19
10
  className(context) {
20
11
  let className = super.className(context);
21
12
 
@@ -1,20 +1,21 @@
1
1
  "use strict";
2
2
 
3
- import contentMixins from "../../mixins/content";
4
-
5
3
  import MarkdownNode from "../markdown";
4
+ import contentMixins from "../../mixins/content";
6
5
 
7
6
  class BlockTextMarkdownNode extends MarkdownNode {
8
7
  asHTML(indent, context) {
9
- const content = this.content(context),
8
+ const trimmed = false,
9
+ content = this.content(context, trimmed),
10
10
  html = content; ///
11
11
 
12
12
  return html;
13
13
  }
14
14
 
15
15
  createDOMElement(context) {
16
- const content = this.content(context),
17
- domElement = document.createTextNode(content);
16
+ const trimmed = false,
17
+ content = this.content(context),
18
+ domElement = document.createTextNode(content, trimmed);
18
19
 
19
20
  this.setDOMElement(domElement);
20
21
 
@@ -5,7 +5,6 @@ import FootnotesListMarkdownNode from "../../node/markdown/footnotesList";
5
5
 
6
6
  import { EMPTY_STRING } from "../../constants";
7
7
  import { renumberLinkMarkdownNodes, renumberLinkMarkdownNodesHTML } from "../../utilities/link";
8
- import ruleNameToHTMLMap from "../../ruleNameToHTMLMap";
9
8
 
10
9
  export default class DivisionMarkdownNode extends MarkdownNode {
11
10
  className(context) {
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
 
3
- import contentMixins from "../../mixins/content";
4
-
5
3
  import MarkdownNode from "../markdown";
4
+ import contentMixins from "../../mixins/content";
6
5
 
7
6
  class EmphasisedTextMarkdownNode extends MarkdownNode {
8
7
  static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(EmphasisedTextMarkdownNode, ruleName, childNodes, opacity); }
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  import MarkdownNode from "../../node/markdown";
4
+ import contentMixins from "../../mixins/content";
4
5
 
5
- export default class EndOfLineMarkdownNode extends MarkdownNode {
6
+ class EndOfLineMarkdownNode extends MarkdownNode {
6
7
  asHTML(indent, context) {
7
8
  const content = this.content(context),
8
9
  html = content; ///
@@ -19,13 +20,9 @@ export default class EndOfLineMarkdownNode extends MarkdownNode {
19
20
  return domElement;
20
21
  }
21
22
 
22
- content(context) {
23
- const firstSignificantToken = this.getFirstSignificantToken(),
24
- endOfLineToken = firstSignificantToken, ///
25
- content = endOfLineToken.getContent();
26
-
27
- return content;
28
- }
29
-
30
23
  static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(EndOfLineMarkdownNode, ruleName, childNodes, opacity); }
31
24
  }
25
+
26
+ Object.assign(EndOfLineMarkdownNode.prototype, contentMixins);
27
+
28
+ export default EndOfLineMarkdownNode;
@@ -1,12 +1,9 @@
1
1
  "use strict";
2
2
 
3
- import { arrayUtilities } from "necessary";
4
-
5
3
  import MarkdownNode from "../../node/markdown";
4
+ import contentMixins from "../../mixins/content";
6
5
 
7
- const { first } = arrayUtilities;
8
-
9
- export default class ErrorMarkdownNode extends MarkdownNode {
6
+ class ErrorMarkdownNode extends MarkdownNode {
10
7
  childNodesAsHTML(indent, context) {
11
8
  const content = this.content(context),
12
9
  childNodesHTML = content; ///
@@ -16,22 +13,14 @@ export default class ErrorMarkdownNode extends MarkdownNode {
16
13
 
17
14
  createChildNodeDOMElements(context) {
18
15
  const content = this.content(context),
19
- domElement = this.getDOMElement(),
20
- parentDOMElement = domElement, ///
21
- siblingDOMElement = null,
22
16
  childNodeDOMElement = document.createTextNode(content);
23
17
 
24
- parentDOMElement.insertBefore(childNodeDOMElement, siblingDOMElement);
18
+ this.insertDOMElement(childNodeDOMElement);
25
19
  }
26
20
 
27
- content(context) {
28
- const childNodes = this.getChildNodes(),
29
- firstChildNode = first(childNodes),
30
- terminalNode = firstChildNode, ///
31
- content = terminalNode.getContent();
21
+ static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(ErrorMarkdownNode, ruleName, childNodes, opacity); }
22
+ }
32
23
 
33
- return content;
34
- }
24
+ Object.assign(ErrorMarkdownNode.prototype, contentMixins);
35
25
 
36
- static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(ErrorMarkdownNode, ruleName, childNodes, opacity); }
37
- }
26
+ export default ErrorMarkdownNode;
@@ -9,11 +9,39 @@ import { HREF_ATTRIBUTE_NAME } from "../../attributeNames";
9
9
  const { first, second, secondLast } = arrayUtilities;
10
10
 
11
11
  export default class HyperlinkMarkdownNode extends MarkdownNode {
12
+ attributeName(context) {
13
+ const attributeName = HREF_ATTRIBUTE_NAME;
14
+
15
+ return attributeName;
16
+ }
17
+
18
+ attributeValue(context) {
19
+ const childNodes = this.getChildNodes(),
20
+ childNodesLength = childNodes.length;
21
+
22
+ let urlMarkdownNode;
23
+
24
+ if (childNodesLength === 1) {
25
+ const firstChildNode = first(childNodes);
26
+
27
+ urlMarkdownNode = firstChildNode; ///
28
+ } else {
29
+ const secondLastChildNode = secondLast(childNodes);
30
+
31
+ urlMarkdownNode = secondLastChildNode; ///
32
+ }
33
+
34
+ const urlMarkdownNodeContent = urlMarkdownNode.content(context),
35
+ attributeValue = urlMarkdownNodeContent; ///
36
+
37
+ return attributeValue;
38
+ }
39
+
12
40
  childNodesAsHTML(indent, context) {
13
41
  let childNodesHTML;
14
42
 
15
43
  const childNodes = this.getChildNodes(),
16
- childNodesLength = childNodes.length;
44
+ childNodesLength = childNodes.length;
17
45
 
18
46
  if (childNodesLength === 1) {
19
47
  const firstChildNode = first(childNodes),
@@ -34,7 +62,7 @@ export default class HyperlinkMarkdownNode extends MarkdownNode {
34
62
 
35
63
  createChildNodeDOMElements(context) {
36
64
  const childNodes = this.getChildNodes(),
37
- childNodesLength = childNodes.length;
65
+ childNodesLength = childNodes.length;
38
66
 
39
67
  if (childNodesLength === 1) {
40
68
  const firstChildNode = first(childNodes),
@@ -51,33 +79,5 @@ export default class HyperlinkMarkdownNode extends MarkdownNode {
51
79
  }
52
80
  }
53
81
 
54
- attributeName(context) {
55
- const attributeName = HREF_ATTRIBUTE_NAME;
56
-
57
- return attributeName;
58
- }
59
-
60
- attributeValue(context) {
61
- const childNodes = this.getChildNodes(),
62
- childNodesLength = childNodes.length;
63
-
64
- let urlMarkdownNode;
65
-
66
- if (childNodesLength === 1) {
67
- const firstChildNode = first(childNodes);
68
-
69
- urlMarkdownNode = firstChildNode; ///
70
- } else {
71
- const secondLastChildNode = secondLast(childNodes);
72
-
73
- urlMarkdownNode = secondLastChildNode; ///
74
- }
75
-
76
- const urlMarkdownNodeContent = urlMarkdownNode.content(context),
77
- attributeValue = urlMarkdownNodeContent; ///
78
-
79
- return attributeValue;
80
- }
81
-
82
82
  static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(HyperlinkMarkdownNode, ruleName, childNodes, opacity); }
83
83
  }
@@ -9,32 +9,6 @@ import { SRC_ATTRIBUTE_NAME } from "../../attributeNames";
9
9
  const { second, secondLast } = arrayUtilities;
10
10
 
11
11
  export default class ImageMarkdownNode extends MarkdownNode {
12
- childNodesAsHTML(indent, context) {
13
- const content = this.content(context),
14
- childNodesHTML = content; ///
15
-
16
- return childNodesHTML;
17
- }
18
-
19
- createChildNodeDOMElements(context) {
20
- const content = this.content(context),
21
- domElement = this.getDOMElement(),
22
- parentDOMElement = domElement, ///
23
- siblingDOMElement = null,
24
- childNodeDOMElement = document.createTextNode(content);
25
-
26
- parentDOMElement.insertBefore(childNodeDOMElement, siblingDOMElement);
27
- }
28
-
29
- content(context) {
30
- const childNodes = this.getChildNodes(),
31
- secondChildNode = second(childNodes),
32
- inlineTextMarkdownNode = secondChildNode, ///
33
- content = inlineTextMarkdownNode.content(context);
34
-
35
- return content;
36
- }
37
-
38
12
  attributeName(context) {
39
13
  const attributeName = SRC_ATTRIBUTE_NAME;
40
14
 
@@ -49,12 +23,32 @@ export default class ImageMarkdownNode extends MarkdownNode {
49
23
  pathTerminalNodeContent = pathTerminalNode.getContent(),
50
24
  path = pathTerminalNodeContent, ///
51
25
  imageURL = (pathToURL === null) ?
52
- path : ///
53
- pathToURL(path),
26
+ path : ///
27
+ pathToURL(path),
54
28
  attributeValue = imageURL; ///
55
29
 
56
30
  return attributeValue;
57
31
  }
58
32
 
33
+ childNodesAsHTML(indent, context) {
34
+ const childNodes = this.getChildNodes(),
35
+ secondChildNode = second(childNodes),
36
+ inlineTextMarkdownNode = secondChildNode, ///
37
+ content = inlineTextMarkdownNode.content(context),
38
+ childNodesHTML = content; ///
39
+
40
+ return childNodesHTML;
41
+ }
42
+
43
+ createChildNodeDOMElements(context) {
44
+ const childNodes = this.getChildNodes(),
45
+ secondChildNode = second(childNodes),
46
+ inlineTextMarkdownNode = secondChildNode, ///
47
+ content = inlineTextMarkdownNode.content(context),
48
+ childNodeDOMElement = document.createTextNode(content);
49
+
50
+ this.insertDOMElement(childNodeDOMElement);
51
+ }
52
+
59
53
  static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(ImageMarkdownNode, ruleName, childNodes, opacity); }
60
54
  }
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
 
3
- import contentMixins from "../../mixins/content";
4
-
5
3
  import MarkdownNode from "../markdown";
4
+ import contentMixins from "../../mixins/content";
6
5
 
7
6
  class InlineTextMarkdownNode extends MarkdownNode {
8
7
  asHTML(indent, context) {
@@ -14,14 +14,11 @@ export default class LineMarkdownNode extends MarkdownNode {
14
14
 
15
15
  createChildNodeDOMElements(context) {
16
16
  const childNodes = this.getChildNodes(),
17
- domElement = this.getDOMElement(),
18
17
  domElements = domElementsFromChildNodes(childNodes, context),
19
- parentDOMElement = domElement, ///
20
- siblingDOMElement = null,
21
18
  childNodeDOMElements = domElements; ///
22
19
 
23
20
  childNodeDOMElements.forEach((childNodeDOMElement) => {
24
- parentDOMElement.insertBefore(childNodeDOMElement, siblingDOMElement);
21
+ this.insertDOMElement(childNodeDOMElement);
25
22
  });
26
23
  }
27
24