highmark-markdown 0.0.156 → 0.0.158

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 (71) hide show
  1. package/example.js +1504 -1162
  2. package/index.html +1 -0
  3. package/lib/constants.js +13 -4
  4. package/lib/example/constants.js +1 -5
  5. package/lib/example/view/div/sizeable/left.js +2 -2
  6. package/lib/example/view.js +3 -13
  7. package/lib/markdown/bnf.js +2 -2
  8. package/lib/markdown/entries.js +2 -2
  9. package/lib/markdown/parser.js +5 -5
  10. package/lib/mixins/content.js +3 -3
  11. package/lib/node/markdown/blockText.js +3 -3
  12. package/lib/node/markdown/contentsItem.js +13 -20
  13. package/lib/node/markdown/contentsLink.js +214 -0
  14. package/lib/node/markdown/contentsList.js +32 -12
  15. package/lib/node/markdown/division.js +25 -67
  16. package/lib/node/markdown/emailLink.js +2 -3
  17. package/lib/node/markdown/endOfLine.js +2 -2
  18. package/lib/node/markdown/error.js +2 -2
  19. package/lib/node/markdown/footnotesList.js +22 -23
  20. package/lib/node/markdown/heading.js +25 -1
  21. package/lib/node/markdown/hyperlink.js +2 -3
  22. package/lib/node/markdown/inlineListing.js +2 -2
  23. package/lib/node/markdown/inlineText.js +2 -2
  24. package/lib/node/markdown/line.js +4 -4
  25. package/lib/node/markdown/lineBreak.js +16 -2
  26. package/lib/node/markdown/markedText.js +5 -6
  27. package/lib/node/markdown.js +8 -1
  28. package/lib/ruleNameToHTMLMap.js +4 -1
  29. package/lib/ruleNames.js +6 -1
  30. package/lib/utilities/childNodes.js +60 -35
  31. package/lib/utilities/content.js +7 -6
  32. package/lib/utilities/contents.js +172 -0
  33. package/lib/utilities/node.js +31 -0
  34. package/lib/utilities/parser.js +21 -0
  35. package/lib/utilities/tokens.js +2 -2
  36. package/package.json +2 -2
  37. package/src/constants.js +1 -0
  38. package/src/example/constants.js +0 -1
  39. package/src/example/view/div/sizeable/left.js +1 -1
  40. package/src/example/view.js +7 -29
  41. package/src/markdown/bnf.js +1 -1
  42. package/src/markdown/entries.js +1 -1
  43. package/src/markdown/parser.js +1 -1
  44. package/src/mixins/content.js +2 -2
  45. package/src/node/markdown/blockText.js +8 -5
  46. package/src/node/markdown/contentsItem.js +14 -26
  47. package/src/node/markdown/contentsLink.js +162 -0
  48. package/src/node/markdown/contentsList.js +53 -15
  49. package/src/node/markdown/division.js +31 -87
  50. package/src/node/markdown/emailLink.js +3 -3
  51. package/src/node/markdown/endOfLine.js +2 -1
  52. package/src/node/markdown/error.js +2 -1
  53. package/src/node/markdown/footnotesList.js +33 -34
  54. package/src/node/markdown/heading.js +33 -0
  55. package/src/node/markdown/hyperlink.js +3 -3
  56. package/src/node/markdown/inlineListing.js +2 -1
  57. package/src/node/markdown/inlineText.js +2 -1
  58. package/src/node/markdown/line.js +4 -4
  59. package/src/node/markdown/lineBreak.js +10 -0
  60. package/src/node/markdown/markedText.js +6 -7
  61. package/src/node/markdown.js +6 -0
  62. package/src/ruleNameToHTMLMap.js +5 -0
  63. package/src/ruleNames.js +2 -0
  64. package/src/utilities/childNodes.js +81 -41
  65. package/src/utilities/content.js +7 -5
  66. package/src/utilities/node.js +29 -0
  67. package/src/utilities/tokens.js +2 -1
  68. package/lib/utilities/nodes.js +0 -21
  69. package/lib/utilities/tree.js +0 -172
  70. /package/src/utilities/{tree.js → contents.js} +0 -0
  71. /package/src/utilities/{nodes.js → parser.js} +0 -0
@@ -1,172 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "nestNodes", {
6
- enumerable: true,
7
- get: function() {
8
- return nestNodes;
9
- }
10
- });
11
- var _necessary = require("necessary");
12
- function _class_call_check(instance, Constructor) {
13
- if (!(instance instanceof Constructor)) {
14
- throw new TypeError("Cannot call a class as a function");
15
- }
16
- }
17
- function _defineProperties(target, props) {
18
- for(var i = 0; i < props.length; i++){
19
- var descriptor = props[i];
20
- descriptor.enumerable = descriptor.enumerable || false;
21
- descriptor.configurable = true;
22
- if ("value" in descriptor) descriptor.writable = true;
23
- Object.defineProperty(target, descriptor.key, descriptor);
24
- }
25
- }
26
- function _create_class(Constructor, protoProps, staticProps) {
27
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
28
- if (staticProps) _defineProperties(Constructor, staticProps);
29
- return Constructor;
30
- }
31
- var first = _necessary.arrayUtilities.first, last = _necessary.arrayUtilities.last;
32
- function nestNodes(nodes) {
33
- var nestedNodesStack = NestedNodeStack.fromNothing();
34
- nodes.forEach(function(node) {
35
- var level = node.getLevel();
36
- var nestedNodesStackLevel = nestedNodesStack.getLevel();
37
- while(nestedNodesStackLevel < level){
38
- nestedNodesStackLevel = nestedNodesStack.increment();
39
- }
40
- while(nestedNodesStackLevel > level){
41
- nestedNodesStackLevel = nestedNodesStack.decrement();
42
- }
43
- var nestedNode = NestedNode.fromNode(node);
44
- nestedNodesStack.addNestedNode(nestedNode);
45
- });
46
- var nestedNode = nestedNodesStack.getNestedNode();
47
- return nestedNode;
48
- }
49
- var NestedNode = /*#__PURE__*/ function() {
50
- function NestedNode(node, childNestedNodes) {
51
- _class_call_check(this, NestedNode);
52
- this.node = node;
53
- this.childNestedNodes = childNestedNodes;
54
- }
55
- _create_class(NestedNode, [
56
- {
57
- key: "getNode",
58
- value: function getNode() {
59
- return this.node;
60
- }
61
- },
62
- {
63
- key: "getChildNestedNodes",
64
- value: function getChildNestedNodes() {
65
- return this.childNestedNodes;
66
- }
67
- },
68
- {
69
- key: "addNestedNode",
70
- value: function addNestedNode(nestedNode) {
71
- var childNestedNode = nestedNode; ///
72
- this.childNestedNodes.push(childNestedNode);
73
- }
74
- }
75
- ], [
76
- {
77
- key: "fromNode",
78
- value: function fromNode(node) {
79
- var childNestedNodes = [], nestedNode = new NestedNode(node, childNestedNodes);
80
- return nestedNode;
81
- }
82
- },
83
- {
84
- key: "fromNothing",
85
- value: function fromNothing() {
86
- var node = null, childNestedNodes = [], nestedNode = new NestedNode(node, childNestedNodes);
87
- return nestedNode;
88
- }
89
- }
90
- ]);
91
- return NestedNode;
92
- }();
93
- var NestedNodeStack = /*#__PURE__*/ function() {
94
- function NestedNodeStack(nestedNodes) {
95
- _class_call_check(this, NestedNodeStack);
96
- this.nestedNodes = nestedNodes;
97
- }
98
- _create_class(NestedNodeStack, [
99
- {
100
- key: "getNestedNodes",
101
- value: function getNestedNodes() {
102
- return this.nestedNodes;
103
- }
104
- },
105
- {
106
- key: "getLastNestedNode",
107
- value: function getLastNestedNode() {
108
- var lastNestedNode = last(this.nestedNodes);
109
- return lastNestedNode;
110
- }
111
- },
112
- {
113
- key: "getNestedNode",
114
- value: function getNestedNode() {
115
- var firstNestedNode = first(this.nestedNodes), nestedNode = firstNestedNode; ///
116
- return nestedNode;
117
- }
118
- },
119
- {
120
- key: "getLevel",
121
- value: function getLevel() {
122
- var nestedNodesLength = this.nestedNodes.length, level = nestedNodesLength; ///
123
- return level;
124
- }
125
- },
126
- {
127
- key: "increment",
128
- value: function increment() {
129
- var nestedNode = NestedNode.fromNothing();
130
- this.addNestedNode(nestedNode);
131
- var level = this.getLevel();
132
- return level;
133
- }
134
- },
135
- {
136
- key: "decrement",
137
- value: function decrement() {
138
- this.removeNestedNode();
139
- var level = this.getLevel();
140
- return level;
141
- }
142
- },
143
- {
144
- key: "addNestedNode",
145
- value: function addNestedNode(nestedNode) {
146
- var lastNestedNode = this.getLastNestedNode();
147
- lastNestedNode.addNestedNode(nestedNode);
148
- this.nestedNodes.push(nestedNode);
149
- }
150
- },
151
- {
152
- key: "removeNestedNode",
153
- value: function removeNestedNode() {
154
- var nestedNode = this.nestedNodes.pop();
155
- return nestedNode;
156
- }
157
- }
158
- ], [
159
- {
160
- key: "fromNothing",
161
- value: function fromNothing() {
162
- var nestedNode = NestedNode.fromNothing(), nestedNodes = [
163
- nestedNode
164
- ], nestedNodesStack = new NestedNodeStack(nestedNodes);
165
- return nestedNodesStack;
166
- }
167
- }
168
- ]);
169
- return NestedNodeStack;
170
- }();
171
-
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdHJlZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmNvbnN0IHsgZmlyc3QsIGxhc3QgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gbmVzdE5vZGVzKG5vZGVzKSB7XG4gIGNvbnN0IG5lc3RlZE5vZGVzU3RhY2sgPSBOZXN0ZWROb2RlU3RhY2suZnJvbU5vdGhpbmcoKTtcblxuICBub2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgY29uc3QgbGV2ZWwgPSBub2RlLmdldExldmVsKCk7XG5cbiAgICBsZXQgbmVzdGVkTm9kZXNTdGFja0xldmVsID0gbmVzdGVkTm9kZXNTdGFjay5nZXRMZXZlbCgpXG5cbiAgICB3aGlsZSAobmVzdGVkTm9kZXNTdGFja0xldmVsIDwgbGV2ZWwpIHtcbiAgICAgIG5lc3RlZE5vZGVzU3RhY2tMZXZlbCA9IG5lc3RlZE5vZGVzU3RhY2suaW5jcmVtZW50KCk7XG4gICAgfVxuXG4gICAgd2hpbGUgKG5lc3RlZE5vZGVzU3RhY2tMZXZlbCA+IGxldmVsKSB7XG4gICAgICBuZXN0ZWROb2Rlc1N0YWNrTGV2ZWwgPSBuZXN0ZWROb2Rlc1N0YWNrLmRlY3JlbWVudCgpO1xuICAgIH1cblxuICAgIGNvbnN0IG5lc3RlZE5vZGUgPSBOZXN0ZWROb2RlLmZyb21Ob2RlKG5vZGUpO1xuXG4gICAgbmVzdGVkTm9kZXNTdGFjay5hZGROZXN0ZWROb2RlKG5lc3RlZE5vZGUpO1xuICB9KTtcblxuICBjb25zdCBuZXN0ZWROb2RlID0gbmVzdGVkTm9kZXNTdGFjay5nZXROZXN0ZWROb2RlKCk7XG5cbiAgcmV0dXJuIG5lc3RlZE5vZGU7XG59XG5cbmNsYXNzIE5lc3RlZE5vZGUge1xuICBjb25zdHJ1Y3Rvcihub2RlLCBjaGlsZE5lc3RlZE5vZGVzKSB7XG4gICAgdGhpcy5ub2RlID0gbm9kZTtcbiAgICB0aGlzLmNoaWxkTmVzdGVkTm9kZXMgPSBjaGlsZE5lc3RlZE5vZGVzO1xuICB9XG5cbiAgZ2V0Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlO1xuICB9XG5cbiAgZ2V0Q2hpbGROZXN0ZWROb2RlcygpIHtcbiAgICByZXR1cm4gdGhpcy5jaGlsZE5lc3RlZE5vZGVzO1xuICB9XG5cbiAgYWRkTmVzdGVkTm9kZShuZXN0ZWROb2RlKSB7XG4gICAgY29uc3QgY2hpbGROZXN0ZWROb2RlID0gbmVzdGVkTm9kZTsgLy8vXG5cbiAgICB0aGlzLmNoaWxkTmVzdGVkTm9kZXMucHVzaChjaGlsZE5lc3RlZE5vZGUpO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob2RlKG5vZGUpIHtcbiAgICBjb25zdCBjaGlsZE5lc3RlZE5vZGVzID0gW10sXG4gICAgICAgICAgbmVzdGVkTm9kZSA9IG5ldyBOZXN0ZWROb2RlKG5vZGUsIGNoaWxkTmVzdGVkTm9kZXMpO1xuXG4gICAgcmV0dXJuIG5lc3RlZE5vZGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7XG4gICAgY29uc3Qgbm9kZSA9IG51bGwsXG4gICAgICAgICAgY2hpbGROZXN0ZWROb2RlcyA9IFtdLFxuICAgICAgICAgIG5lc3RlZE5vZGUgPSBuZXcgTmVzdGVkTm9kZShub2RlLCBjaGlsZE5lc3RlZE5vZGVzKTtcblxuICAgIHJldHVybiBuZXN0ZWROb2RlO1xuICB9XG59XG5cbmNsYXNzIE5lc3RlZE5vZGVTdGFjayB7XG4gIGNvbnN0cnVjdG9yKG5lc3RlZE5vZGVzKSB7XG4gICAgdGhpcy5uZXN0ZWROb2RlcyA9IG5lc3RlZE5vZGVzO1xuICB9XG5cbiAgZ2V0TmVzdGVkTm9kZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMubmVzdGVkTm9kZXM7XG4gIH1cblxuICBnZXRMYXN0TmVzdGVkTm9kZSgpIHtcbiAgICBjb25zdCBsYXN0TmVzdGVkTm9kZSA9IGxhc3QodGhpcy5uZXN0ZWROb2Rlcyk7XG5cbiAgICByZXR1cm4gbGFzdE5lc3RlZE5vZGU7XG4gIH1cblxuICBnZXROZXN0ZWROb2RlKCkge1xuICAgIGNvbnN0IGZpcnN0TmVzdGVkTm9kZSA9IGZpcnN0KHRoaXMubmVzdGVkTm9kZXMpLFxuICAgICAgICAgIG5lc3RlZE5vZGUgPSBmaXJzdE5lc3RlZE5vZGU7ICAvLy9cblxuICAgIHJldHVybiBuZXN0ZWROb2RlO1xuICB9XG5cbiAgZ2V0TGV2ZWwoKSB7XG4gICAgY29uc3QgbmVzdGVkTm9kZXNMZW5ndGggPSB0aGlzLm5lc3RlZE5vZGVzLmxlbmd0aCxcbiAgICAgICAgICBsZXZlbCA9IG5lc3RlZE5vZGVzTGVuZ3RoOyAgLy8vXG5cbiAgICByZXR1cm4gbGV2ZWw7XG4gIH1cblxuICBpbmNyZW1lbnQoKSB7XG4gICAgY29uc3QgbmVzdGVkTm9kZSA9IE5lc3RlZE5vZGUuZnJvbU5vdGhpbmcoKTtcblxuICAgIHRoaXMuYWRkTmVzdGVkTm9kZShuZXN0ZWROb2RlKTtcblxuICAgIGNvbnN0IGxldmVsID0gdGhpcy5nZXRMZXZlbCgpO1xuXG4gICAgcmV0dXJuIGxldmVsO1xuICB9XG5cbiAgZGVjcmVtZW50KCkge1xuICAgIHRoaXMucmVtb3ZlTmVzdGVkTm9kZSgpO1xuXG4gICAgY29uc3QgbGV2ZWwgPSB0aGlzLmdldExldmVsKCk7XG5cbiAgICByZXR1cm4gbGV2ZWw7XG4gIH1cblxuICBhZGROZXN0ZWROb2RlKG5lc3RlZE5vZGUpIHtcbiAgICBjb25zdCBsYXN0TmVzdGVkTm9kZSA9IHRoaXMuZ2V0TGFzdE5lc3RlZE5vZGUoKTtcblxuICAgIGxhc3ROZXN0ZWROb2RlLmFkZE5lc3RlZE5vZGUobmVzdGVkTm9kZSk7XG5cbiAgICB0aGlzLm5lc3RlZE5vZGVzLnB1c2gobmVzdGVkTm9kZSk7XG4gIH1cblxuICByZW1vdmVOZXN0ZWROb2RlKCkge1xuICAgIGNvbnN0IG5lc3RlZE5vZGUgPSB0aGlzLm5lc3RlZE5vZGVzLnBvcCgpO1xuXG4gICAgcmV0dXJuIG5lc3RlZE5vZGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7XG4gICAgY29uc3QgbmVzdGVkTm9kZSA9IE5lc3RlZE5vZGUuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBuZXN0ZWROb2RlcyA9IFtcbiAgICAgICAgICAgIG5lc3RlZE5vZGVcbiAgICAgICAgICBdLFxuICAgICAgICAgIG5lc3RlZE5vZGVzU3RhY2sgPSBuZXcgTmVzdGVkTm9kZVN0YWNrKG5lc3RlZE5vZGVzKTtcblxuICAgIHJldHVybiBuZXN0ZWROb2Rlc1N0YWNrO1xuICB9XG59XG4iXSwibmFtZXMiOlsibmVzdE5vZGVzIiwiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsImxhc3QiLCJub2RlcyIsIm5lc3RlZE5vZGVzU3RhY2siLCJOZXN0ZWROb2RlU3RhY2siLCJmcm9tTm90aGluZyIsImZvckVhY2giLCJub2RlIiwibGV2ZWwiLCJnZXRMZXZlbCIsIm5lc3RlZE5vZGVzU3RhY2tMZXZlbCIsImluY3JlbWVudCIsImRlY3JlbWVudCIsIm5lc3RlZE5vZGUiLCJOZXN0ZWROb2RlIiwiZnJvbU5vZGUiLCJhZGROZXN0ZWROb2RlIiwiZ2V0TmVzdGVkTm9kZSIsImNoaWxkTmVzdGVkTm9kZXMiLCJnZXROb2RlIiwiZ2V0Q2hpbGROZXN0ZWROb2RlcyIsImNoaWxkTmVzdGVkTm9kZSIsInB1c2giLCJuZXN0ZWROb2RlcyIsImdldE5lc3RlZE5vZGVzIiwiZ2V0TGFzdE5lc3RlZE5vZGUiLCJsYXN0TmVzdGVkTm9kZSIsImZpcnN0TmVzdGVkTm9kZSIsIm5lc3RlZE5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwicmVtb3ZlTmVzdGVkTm9kZSIsInBvcCJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
File without changes
File without changes