highmark-markdown 1.0.176 → 1.0.178

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 (120) hide show
  1. package/example.js +2834 -6275
  2. package/lib/example/importer.js +2 -2
  3. package/lib/example/view/div/preview.js +19 -19
  4. package/lib/example/view/textarea/plainText.js +3 -3
  5. package/lib/example/view/xmp.js +3 -3
  6. package/lib/example/view.js +7 -7
  7. package/lib/index.js +5 -1
  8. package/lib/map/className.js +4 -45
  9. package/lib/map/node/html.js +16 -9
  10. package/lib/map/node/markdown.js +13 -12
  11. package/lib/map/tagName.js +4 -45
  12. package/lib/markdown/bnf.js +2 -2
  13. package/lib/mixins/node.js +1 -11
  14. package/lib/node/html/{indexList.js → list/index.js} +2 -2
  15. package/lib/node/html/listing/inline.js +7 -1
  16. package/lib/node/html/topmost.js +21 -39
  17. package/lib/node/html.js +15 -1
  18. package/lib/node/markdown/directive/embee.js +28 -21
  19. package/lib/node/markdown/directive/include.js +28 -23
  20. package/lib/node/markdown/division.js +82 -249
  21. package/lib/node/markdown/{footnotesItem.js → item/footnotes.js} +5 -5
  22. package/lib/node/markdown/{contentsLink.js → link/contents.js} +3 -3
  23. package/lib/node/markdown/{emailLink.js → link/email.js} +3 -3
  24. package/lib/node/markdown/{footnoteLink.js → link/footnote.js} +3 -3
  25. package/lib/node/markdown/{indexLink.js → link/index.js} +2 -2
  26. package/lib/node/markdown/{contentsList.js → list/contents.js} +3 -3
  27. package/lib/node/markdown/{footnotesList.js → list/footnotes.js} +3 -3
  28. package/lib/node/markdown/{indexList.js → list/index.js} +3 -3
  29. package/lib/node/markdown/{blockListing.js → listng/block.js} +2 -2
  30. package/lib/node/markdown/{inlineListing.js → listng/inline.js} +21 -23
  31. package/lib/node/markdown/subDivision.js +144 -0
  32. package/lib/node/markdown/topmost.js +32 -65
  33. package/lib/queries.js +4 -3
  34. package/lib/ruleNames.js +16 -6
  35. package/lib/transform/{subDivision/contentsDirective.js → contentsDirective.js} +5 -6
  36. package/lib/transform/contentsLink.js +3 -3
  37. package/lib/transform/contentsList.js +7 -8
  38. package/lib/transform/footnote.js +2 -3
  39. package/lib/transform/{subDivision/footnote.js → footnoteIdentifier.js} +6 -7
  40. package/lib/transform/{subDivision/footnotesDirective.js → footnotesDirective.js} +5 -6
  41. package/lib/transform/footnotesItem.js +3 -3
  42. package/lib/transform/footnotesList.js +4 -5
  43. package/lib/transform/{subDivision/indexDirective.js → indexDirective.js} +5 -6
  44. package/lib/transform/indexList.js +3 -3
  45. package/lib/transform/markdown/directive/embed.js +134 -0
  46. package/lib/transform/markdown/directive/ignore.js +134 -0
  47. package/lib/transform/{embedDirective.js → markdown/directive/include.js} +20 -22
  48. package/lib/transform/markdown/subDivision.js +140 -0
  49. package/lib/transform/{subDivision/pageNumberDirective.js → pageNumberDirective.js} +5 -6
  50. package/lib/utilities/dom.js +62 -0
  51. package/lib/utilities/footnotes.js +4 -5
  52. package/lib/utilities/html.js +135 -51
  53. package/lib/utilities/index.js +5 -5
  54. package/lib/utilities/markdown.js +66 -22
  55. package/lib/utilities/query.js +17 -99
  56. package/package.json +4 -4
  57. package/src/example/importer.js +0 -1
  58. package/src/example/view/div/preview.js +16 -16
  59. package/src/example/view/textarea/plainText.js +2 -2
  60. package/src/example/view/xmp.js +3 -2
  61. package/src/example/view.js +9 -8
  62. package/src/index.js +1 -0
  63. package/src/map/className.js +3 -6
  64. package/src/map/node/html.js +18 -6
  65. package/src/map/node/markdown.js +15 -12
  66. package/src/map/tagName.js +3 -6
  67. package/src/markdown/bnf.js +33 -32
  68. package/src/mixins/node.js +0 -11
  69. package/src/node/html/{indexList.js → list/index.js} +1 -1
  70. package/src/node/html/listing/inline.js +2 -0
  71. package/src/node/html/topmost.js +16 -47
  72. package/src/node/html.js +12 -0
  73. package/src/node/markdown/directive/embee.js +37 -25
  74. package/src/node/markdown/directive/include.js +36 -27
  75. package/src/node/markdown/division.js +153 -136
  76. package/src/node/markdown/{footnotesItem.js → item/footnotes.js} +4 -4
  77. package/src/node/markdown/{contentsLink.js → link/contents.js} +2 -2
  78. package/src/node/markdown/{emailLink.js → link/email.js} +2 -2
  79. package/src/node/markdown/{footnoteLink.js → link/footnote.js} +2 -2
  80. package/src/node/markdown/{indexLink.js → link/index.js} +1 -1
  81. package/src/node/markdown/{contentsList.js → list/contents.js} +2 -2
  82. package/src/node/markdown/{footnotesList.js → list/footnotes.js} +2 -2
  83. package/src/node/markdown/{indexList.js → list/index.js} +2 -2
  84. package/src/node/markdown/{blockListing.js → listng/block.js} +1 -1
  85. package/src/node/markdown/listng/inline.js +28 -0
  86. package/src/node/markdown/subDivision.js +58 -0
  87. package/src/node/markdown/topmost.js +34 -64
  88. package/src/queries.js +5 -3
  89. package/src/ruleNames.js +6 -2
  90. package/src/transform/{subDivision/contentsDirective.js → contentsDirective.js} +1 -3
  91. package/src/transform/contentsLink.js +1 -1
  92. package/src/transform/contentsList.js +1 -2
  93. package/src/transform/footnote.js +0 -2
  94. package/src/transform/{subDivision/footnote.js → footnoteIdentifier.js} +1 -3
  95. package/src/transform/{subDivision/footnotesDirective.js → footnotesDirective.js} +1 -3
  96. package/src/transform/footnotesItem.js +1 -1
  97. package/src/transform/footnotesList.js +1 -3
  98. package/src/transform/{subDivision/indexDirective.js → indexDirective.js} +1 -3
  99. package/src/transform/indexList.js +1 -1
  100. package/src/transform/markdown/directive/embed.js +19 -0
  101. package/src/transform/markdown/directive/ignore.js +19 -0
  102. package/src/transform/markdown/directive/include.js +29 -0
  103. package/src/transform/markdown/subDivision.js +25 -0
  104. package/src/transform/{subDivision/pageNumberDirective.js → pageNumberDirective.js} +1 -3
  105. package/src/utilities/dom.js +58 -0
  106. package/src/utilities/footnotes.js +1 -3
  107. package/src/utilities/html.js +122 -52
  108. package/src/utilities/index.js +4 -4
  109. package/src/utilities/markdown.js +57 -17
  110. package/src/utilities/query.js +12 -94
  111. package/lib/transform/division.js +0 -193
  112. package/lib/transform/includeDirective.js +0 -158
  113. package/lib/transform/subDivision/embedDirectives.js +0 -147
  114. package/lib/transform/subDivision/includeDirectives.js +0 -142
  115. package/src/node/markdown/inlineListing.js +0 -28
  116. package/src/transform/division.js +0 -41
  117. package/src/transform/embedDirective.js +0 -34
  118. package/src/transform/includeDirective.js +0 -49
  119. package/src/transform/subDivision/embedDirectives.js +0 -52
  120. package/src/transform/subDivision/includeDirectives.js +0 -48
@@ -1,74 +1,144 @@
1
1
  "use strict";
2
2
 
3
- export function postProcess(divisionMarkdownNodes, context) {
4
- debugger
5
-
6
-
7
- // const footnoteReplacementMap = prepareFootnotes(divisionMarkdownNodes, context),
8
- // markdownNodes = paginate(divisionMarkdownNodes, context);
9
- //
10
- // divisionMarkdownNodes = divisionMarkdownNodesFromMarkdownNodes(markdownNodes); ///
11
- //
12
- // createFootnotes(divisionMarkdownNodes, footnoteReplacementMap, context);
13
- //
14
- // createContents(divisionMarkdownNodes, context);
15
- //
16
- // createIndex(divisionMarkdownNodes, context);
17
- }
3
+ import { Query } from "occam-query";
4
+
5
+ import { nodeFromNodeAndQuery, nodesFromNodeAndQuery } from "../utilities/query";
18
6
 
19
- function paginate(divisionMarkdownNodes, context) {
20
- const pageNumber = 1,
21
- markdownNOdes = [];
7
+ const footnoteHTMLNodeQuery = Query.fromExpressionString("/division/footnote"),
8
+ ignoreDirectiveHTMLNodeQuery = Query.fromExpressionString("/division/subDivision/directives/ignoreDirective"),
9
+ contentsDirectiveHTMLNodeQuery = Query.fromExpressionString("/division/subDivision/directives/contentsDirective"),
10
+ footnotesDirectiveHTMLNodeQuery = Query.fromExpressionString("/division/subDivision/directives/footnotesDirective"),
11
+ pageNumberDirectiveHTMLNodeQuery = Query.fromExpressionString("//directives/pageNumber"), ///
12
+ headingHTMLNodesQuery = Query.fromExpressionString("/division/primaryHeading|secondaryHeading|tertiaryHeading|quaternaryHeading"), ///
13
+ divisionHTMLNodesQuery = Query.fromExpressionString("/html/division"), ///
14
+ footnotesHTMLNodesQuery = Query.fromExpressionString("//footnote|footnoteLink|footnotesDirective"), ///
15
+ footnoteLinkHTMLNodesQuery = Query.fromExpressionString("//footnoteLink");
22
16
 
23
- Object.assign(context, {
24
- pageNumber
25
- });
17
+ export function footnoteHTMLNodeFromNode(node) {
18
+ const footnoteHTMLNode = nodeFromNodeAndQuery(node, footnoteHTMLNodeQuery);
26
19
 
27
- divisionMarkdownNodes.forEach((divisionMarkdownNode) => {
28
- divisionMarkdownNode.paginate(markdownNOdes, context);
29
- });
20
+ return footnoteHTMLNode;
21
+ }
30
22
 
31
- delete context.pageNumber;
23
+ export function contentsDirectiveHTMLNodeFromNode(node) {
24
+ const contentsDirectiveHTMLNode = nodeFromNodeAndQuery(node, contentsDirectiveHTMLNodeQuery);
32
25
 
33
- return markdownNOdes;
26
+ return contentsDirectiveHTMLNode;
34
27
  }
35
28
 
36
- function createIndex(divisionMarkdownNodes, context) {
37
- divisionMarkdownNodes.some((divisionMarkdownNode) => {
38
- const indexCreated = divisionMarkdownNode.createIndex(divisionMarkdownNodes, context);
29
+ export function footnotesDirectiveHTMLNodeFromNode(node) {
30
+ const footnotesDirectiveHTMLNode = nodeFromNodeAndQuery(node, footnotesDirectiveHTMLNodeQuery);
39
31
 
40
- if (indexCreated) {
41
- return true;
42
- }
43
- });
32
+ return footnotesDirectiveHTMLNode;
44
33
  }
45
34
 
46
- function createContents(divisionMarkdownNodes, context) {
47
- divisionMarkdownNodes.some((divisionMarkdownNode) => {
48
- const contentsCreated = divisionMarkdownNode.createContents(divisionMarkdownNodes, context);
35
+ export function pageNumberDirectiveHTMLNodeFromNode(node) {
36
+ const pageNumberDirectiveHTMLNode = nodeFromNodeAndQuery(node, pageNumberDirectiveHTMLNodeQuery);
49
37
 
50
- if (contentsCreated) {
51
- return true;
52
- }
53
- });
38
+ return pageNumberDirectiveHTMLNode;
54
39
  }
55
40
 
56
- function createFootnotes(divisionMarkdownNodes, footnoteReplacementMap, context) {
57
- divisionMarkdownNodes.forEach((divisionMarkdownNode) => {
58
- divisionMarkdownNode.createFootnotes(footnoteReplacementMap, context);
59
- });
41
+ export function headingHTMLNodesFromNode(node, headingHTMLNodes = []) {
42
+ nodesFromNodeAndQuery(node, headingHTMLNodesQuery, headingHTMLNodes);
43
+
44
+ return headingHTMLNodes;
60
45
  }
61
46
 
62
- function prepareFootnotes(divisionMarkdownNodes, context) {
63
- const footnoteReplacementMap = {};
47
+ export function divisionHTMLNodesFromNode(node, divisionHTMLNodes = []) {
48
+ nodesFromNodeAndQuery(node, divisionHTMLNodesQuery, divisionHTMLNodes);
49
+
50
+ return divisionHTMLNodes;
51
+ }
52
+
53
+ export function footnotesHTMLNodesFromNode(node, footnotesHTMLNodes = []) {
54
+ nodesFromNodeAndQuery(node, footnotesHTMLNodesQuery, footnotesHTMLNodes);
55
+
56
+ return footnotesHTMLNodes;
57
+ }
64
58
 
65
- divisionMarkdownNodes.forEach((divisionMarkdownNode) => {
66
- divisionMarkdownNode.prepareFootnotes(footnoteReplacementMap, context);
67
- });
59
+ export function footnoteLinkHTMLNodesFromNode(node, linkHTMLNodes = []) {
60
+ nodesFromNodeAndQuery(node, footnoteLinkHTMLNodesQuery, linkHTMLNodes);
68
61
 
69
- return footnoteReplacementMap;
62
+ return linkHTMLNodes;
70
63
  }
71
64
 
72
65
  export default {
73
- postProcess
74
- }
66
+ footnoteHTMLNodeFromNode,
67
+ contentsDirectiveHTMLNodeFromNode,
68
+ footnotesDirectiveHTMLNodeFromNode,
69
+ pageNumberDirectiveHTMLNodeFromNode,
70
+ headingHTMLNodesFromNode,
71
+ divisionHTMLNodesFromNode,
72
+ footnotesHTMLNodesFromNode,
73
+ footnoteLinkHTMLNodesFromNode
74
+ };
75
+
76
+ // export function postProcess(divisionHTMLNodes, context) {
77
+ // const footnoteReplacementMap = prepareFootnotes(divisionHTMLNodes, context),
78
+ // markdownNodes = paginate(divisionHTMLNodes, context);
79
+ //
80
+ // divisionHTMLNodes = divisionHTMLNodesFromHTMLNodes(markdownNodes); ///
81
+ //
82
+ // createFootnotes(divisionHTMLNodes, footnoteReplacementMap, context);
83
+ //
84
+ // createContents(divisionHTMLNodes, context);
85
+ //
86
+ // createIndex(divisionHTMLNodes, context);
87
+ // }
88
+ //
89
+ // function paginate(divisionHTMLNodes, context) {
90
+ // const pageNumber = 1,
91
+ // markdownNOdes = [];
92
+ //
93
+ // Object.assign(context, {
94
+ // pageNumber
95
+ // });
96
+ //
97
+ // divisionHTMLNodes.forEach((divisionHTMLNode) => {
98
+ // divisionHTMLNode.paginate(markdownNOdes, context);
99
+ // });
100
+ //
101
+ // delete context.pageNumber;
102
+ //
103
+ // return markdownNOdes;
104
+ // }
105
+ //
106
+ // function createIndex(divisionHTMLNodes, context) {
107
+ // divisionHTMLNodes.some((divisionHTMLNode) => {
108
+ // const indexCreated = divisionHTMLNode.createIndex(divisionHTMLNodes, context);
109
+ //
110
+ // if (indexCreated) {
111
+ // return true;
112
+ // }
113
+ // });
114
+ // }
115
+ //
116
+ // function createContents(divisionHTMLNodes, context) {
117
+ // divisionHTMLNodes.some((divisionHTMLNode) => {
118
+ // const contentsCreated = divisionHTMLNode.createContents(divisionHTMLNodes, context);
119
+ //
120
+ // if (contentsCreated) {
121
+ // return true;
122
+ // }
123
+ // });
124
+ // }
125
+ //
126
+ // function createFootnotes(divisionHTMLNodes, footnoteReplacementMap, context) {
127
+ // divisionHTMLNodes.forEach((divisionHTMLNode) => {
128
+ // divisionHTMLNode.createFootnotes(footnoteReplacementMap, context);
129
+ // });
130
+ // }
131
+ //
132
+ // function prepareFootnotes(divisionHTMLNodes, context) {
133
+ // const footnoteReplacementMap = {};
134
+ //
135
+ // divisionHTMLNodes.forEach((divisionHTMLNode) => {
136
+ // divisionHTMLNode.prepareFootnotes(footnoteReplacementMap, context);
137
+ // });
138
+ //
139
+ // return footnoteReplacementMap;
140
+ // }
141
+ //
142
+ // export default {
143
+ // postProcess
144
+ // }
@@ -124,8 +124,8 @@ function adjustProperNouns(indexMap, context) {
124
124
  });
125
125
 
126
126
  mapKeys(indexMap, (wordOrPhrase) => {
127
- const index = lowerCaseProperNouns.findIndex((lowerCaseProperNmae) => {
128
- if (lowerCaseProperNmae === wordOrPhrase) {
127
+ const index = lowerCaseProperNouns.findIndex((lowerCaseProperName) => {
128
+ if (lowerCaseProperName === wordOrPhrase) {
129
129
  return true;
130
130
  }
131
131
  });
@@ -163,8 +163,8 @@ function adjustAcronyms(indexMap, context) {
163
163
  });
164
164
 
165
165
  mapKeys(indexMap, (wordOrPhrase) => {
166
- const index = lowerCaseAcronyms.findIndex((lowerCaseProperNmae) => {
167
- if (lowerCaseProperNmae === wordOrPhrase) {
166
+ const index = lowerCaseAcronyms.findIndex((lowerCaseProperName) => {
167
+ if (lowerCaseProperName === wordOrPhrase) {
168
168
  return true;
169
169
  }
170
170
  });
@@ -1,32 +1,72 @@
1
1
  "use strict";
2
2
 
3
- export function resolveIncludes(divisionMarkdownNode, context) {
4
- const divisionMarkdownNodes = [];
3
+ import { Query } from "occam-query";
5
4
 
6
- Object.assign(context, {
7
- divisionMarkdownNodes
8
- });
5
+ import { nodeFromNodeAndQuery, nodesFromNodeAndQuery } from "../utilities/query";
9
6
 
10
- const divisionMarkdownNodeIgnored = divisionMarkdownNode.isIgnored();
7
+ const divisionMarkdownNodeQuery = Query.fromExpressionString("/markdown/division"),
8
+ subDivisionMarkdownNodeQuery = Query.fromExpressionString("/division/subDivision"),
9
+ indexDirectiveMarkdownNodeQuery = Query.fromExpressionString("/division/subDivision/directives/indexDirective"),
10
+ ignoreDirectiveMarkdownNodeQuery = Query.fromExpressionString("/division/subDivision/directives/ignoreDirective"),
11
+ divisionMarkdownNodesQuery = Query.fromExpressionString("/markdown/division"),
12
+ subDivisionMarkdownNodesQuery = Query.fromExpressionString("/division/subDivision"),
13
+ embedDirectiveMarkdownNodesQuery = Query.fromExpressionString("/subDivision/directives/embedDirective"),
14
+ includeDirectiveMarkdownNodesQuery = Query.fromExpressionString("/division/subDivision/directives/includeDirective");
11
15
 
12
- if (!divisionMarkdownNodeIgnored) {
13
- divisionMarkdownNodes.push(divisionMarkdownNode);
14
- }
16
+ export function divisionMarkdownNodeFromNode(node) {
17
+ const divisionMarkdownNode = nodeFromNodeAndQuery(node, divisionMarkdownNodeQuery);
15
18
 
16
- divisionMarkdownNode.resolveIncludes(context);
19
+ return divisionMarkdownNode;
20
+ }
21
+
22
+ export function subDivisionMarkdownNodeFromNode(node) {
23
+ const subDivisionMarkdownNode = nodeFromNodeAndQuery(node, subDivisionMarkdownNodeQuery);
24
+
25
+ return subDivisionMarkdownNode;
26
+ }
27
+
28
+ export function indexDirectiveMarkdownNodeFromNode(node) {
29
+ const indexDirectiveMarkdownNode = nodeFromNodeAndQuery(node, indexDirectiveMarkdownNodeQuery);
17
30
 
18
- delete context.divisionMarkdownNodes;
31
+ return indexDirectiveMarkdownNode;
32
+ }
33
+
34
+ export function ignoreDirectiveMarkdownNodeFromNode(node) {
35
+ const ignoreDirectiveMarkdownNode = nodeFromNodeAndQuery(node, ignoreDirectiveMarkdownNodeQuery);
36
+
37
+ return ignoreDirectiveMarkdownNode;
38
+ }
39
+
40
+ export function divisionMarkdownNodesFromNode(node, divisionMarkdownNodes = []) {
41
+ nodesFromNodeAndQuery(node, divisionMarkdownNodesQuery, divisionMarkdownNodes);
19
42
 
20
43
  return divisionMarkdownNodes;
21
44
  }
22
45
 
23
- export function resolveEmbeddings(divisionMarkdownNodes, context) {
24
- divisionMarkdownNodes.forEach((divisionMarkdownNode) => {
25
- divisionMarkdownNode.resolveEmbeddings(context);
26
- });
46
+ export function subDivisionMarkdownNodesFromNode(node, subDivisionMarkdownNodes = []) {
47
+ nodesFromNodeAndQuery(node, subDivisionMarkdownNodesQuery, subDivisionMarkdownNodes);
48
+
49
+ return subDivisionMarkdownNodes;
50
+ }
51
+
52
+ export function embedDirectiveMarkdownNodesFromNode(node, embedDirectiveMarkdownNodes = []) {
53
+ nodesFromNodeAndQuery(node, embedDirectiveMarkdownNodesQuery, embedDirectiveMarkdownNodes);
54
+
55
+ return embedDirectiveMarkdownNodes;
56
+ }
57
+
58
+ export function includeDirectiveMarkdownNodesFromNode(node, includeDirectiveMarkdownNodes = []) {
59
+ nodesFromNodeAndQuery(node, includeDirectiveMarkdownNodesQuery, includeDirectiveMarkdownNodes);
60
+
61
+ return includeDirectiveMarkdownNodes;
27
62
  }
28
63
 
29
64
  export default {
30
- resolveIncludes,
31
- resolveEmbeddings
65
+ divisionMarkdownNodeFromNode,
66
+ subDivisionMarkdownNodeFromNode,
67
+ indexDirectiveMarkdownNodeFromNode,
68
+ ignoreDirectiveMarkdownNodeFromNode,
69
+ divisionMarkdownNodesFromNode,
70
+ embedDirectiveMarkdownNodesFromNode,
71
+ includeDirectiveMarkdownNodesFromNode
32
72
  };
@@ -5,18 +5,6 @@ import { arrayUtilities } from "necessary";
5
5
 
6
6
  const { push } = arrayUtilities;
7
7
 
8
- const footnoteMarkdownNodeQuery = Query.fromExpressionString("/division/footnote"),
9
- indexDirectiveMarkdownNodeQuery = Query.fromExpressionString("/division/directives/indexDirective"),
10
- ignoreDirectiveMarkdownNodeQuery = Query.fromExpressionString("/division/directives/ignoreDirective"),
11
- contentsDirectiveMarkdownNodeQuery = Query.fromExpressionString("/division/directives/contentsDirective"),
12
- footnotesDirectiveMarkdownNodeQuery = Query.fromExpressionString("/division/directives/footnotesDirective"),
13
- pageNumberDirectiveMarkdownNodeQuery = Query.fromExpressionString("//directives/pageNumber"), ///
14
- headingMarkdownNodesQuery = Query.fromExpressionString("/division/primaryHeading|secondaryHeading|tertiaryHeading|quaternaryHeading"), ///
15
- footnotesMarkdownNodesQuery = Query.fromExpressionString("//footnote|footnoteLink|footnotesDirective"), ///
16
- footnoteLinkMarkdownNodesQuery = Query.fromExpressionString("//footnoteLink"),
17
- embedDirectiveMarkdownNodesQuery = Query.fromExpressionString("/division/directives/embedDirective"),
18
- includeDirectiveMarkdownNodesQuery = Query.fromExpressionString("/division/directives/includeDirective");
19
-
20
8
  export function nodeQuery(expression) {
21
9
  const query = Query.fromExpressionString(expression);
22
10
 
@@ -39,87 +27,7 @@ export function nodesQuery(expression) {
39
27
  }
40
28
  }
41
29
 
42
- export function footnoteMarkdownNodeFromNode(node) {
43
- const footnoteMarkdownNode = nodeFromNodeAndQuery(node, footnoteMarkdownNodeQuery);
44
-
45
- return footnoteMarkdownNode;
46
- }
47
-
48
- export function indexDirectiveMarkdownNodeFromNode(node) {
49
- const indexDirectiveMarkdownNode = nodeFromNodeAndQuery(node, indexDirectiveMarkdownNodeQuery);
50
-
51
- return indexDirectiveMarkdownNode;
52
- }
53
-
54
- export function ignoreDirectiveMarkdownNodeFromNode(node) {
55
- const ignoreDirectiveMarkdownNode = nodeFromNodeAndQuery(node, ignoreDirectiveMarkdownNodeQuery);
56
-
57
- return ignoreDirectiveMarkdownNode;
58
- }
59
-
60
- export function contentsDirectiveMarkdownNodeFromNode(node) {
61
- const contentsDirectiveMarkdownNode = nodeFromNodeAndQuery(node, contentsDirectiveMarkdownNodeQuery);
62
-
63
- return contentsDirectiveMarkdownNode;
64
- }
65
-
66
- export function footnotesDirectiveMarkdownNodeFromNode(node) {
67
- const footnotesDirectiveMarkdownNode = nodeFromNodeAndQuery(node, footnotesDirectiveMarkdownNodeQuery);
68
-
69
- return footnotesDirectiveMarkdownNode;
70
- }
71
-
72
- export function pageNumberDirectiveMarkdownNodeFromNode(node) {
73
- const pageNumberDirectiveMarkdownNode = nodeFromNodeAndQuery(node, pageNumberDirectiveMarkdownNodeQuery);
74
-
75
- return pageNumberDirectiveMarkdownNode;
76
- }
77
-
78
- export function headingMarkdownNodesFromNode(node, headingMarkdownNodes = []) {
79
- nodesFromNodeAndQuery(node, headingMarkdownNodesQuery, headingMarkdownNodes);
80
-
81
- return headingMarkdownNodes;
82
- }
83
-
84
- export function footnotesMarkdownNodesFromNode(node, footnotesMarkdownNodes = []) {
85
- nodesFromNodeAndQuery(node, footnotesMarkdownNodesQuery, footnotesMarkdownNodes);
86
-
87
- return footnotesMarkdownNodes;
88
- }
89
-
90
- export function footnoteLinkMarkdownNodesFromNode(node, linkMarkdownNodes = []) {
91
- nodesFromNodeAndQuery(node, footnoteLinkMarkdownNodesQuery, linkMarkdownNodes);
92
-
93
- return linkMarkdownNodes;
94
- }
95
-
96
- export function embedDirectiveMarkdownNodesFromNode(node, embedDirectiveMarkdownNodes = []) {
97
- nodesFromNodeAndQuery(node, embedDirectiveMarkdownNodesQuery, embedDirectiveMarkdownNodes);
98
-
99
- return embedDirectiveMarkdownNodes;
100
- }
101
-
102
- export function includeDirectiveMarkdownNodesFromNode(node, includeDirectiveMarkdownNodes = []) {
103
- nodesFromNodeAndQuery(node, includeDirectiveMarkdownNodesQuery, includeDirectiveMarkdownNodes);
104
-
105
- return includeDirectiveMarkdownNodes;
106
- }
107
-
108
- export default {
109
- footnoteMarkdownNodeFromNode,
110
- indexDirectiveMarkdownNodeFromNode,
111
- ignoreDirectiveMarkdownNodeFromNode,
112
- contentsDirectiveMarkdownNodeFromNode,
113
- footnotesDirectiveMarkdownNodeFromNode,
114
- pageNumberDirectiveMarkdownNodeFromNode,
115
- headingMarkdownNodesFromNode,
116
- footnotesMarkdownNodesFromNode,
117
- footnoteLinkMarkdownNodesFromNode,
118
- embedDirectiveMarkdownNodesFromNode,
119
- includeDirectiveMarkdownNodesFromNode
120
- };
121
-
122
- function nodeFromNodeAndQuery(node, query) {
30
+ export function nodeFromNodeAndQuery(node, query) {
123
31
  const queryNodes = query.execute(node),
124
32
  queryNode = queryNodes.shift() || null;
125
33
 
@@ -128,10 +36,20 @@ function nodeFromNodeAndQuery(node, query) {
128
36
  return node;
129
37
  }
130
38
 
131
- function nodesFromNodeAndQuery(node, query, nodes) {
39
+ export function nodesFromNodeAndQuery(node, query, nodes) {
132
40
  const queryNodes = query.execute(node);
133
41
 
134
42
  push(nodes, queryNodes);
135
43
 
136
44
  return nodes;
137
45
  }
46
+
47
+ export function nodesFromNodeAndQueries(node, queries, nodes = []) {
48
+ queries.forEach((query) => {
49
+ const queryNodes = query.execute(node);
50
+
51
+ push(nodes, queryNodes);
52
+ });
53
+
54
+ return nodes;
55
+ }
@@ -1,193 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return DivisionTransform;
9
- }
10
- });
11
- var _occamdom = require("occam-dom");
12
- function _array_like_to_array(arr, len) {
13
- if (len == null || len > arr.length) len = arr.length;
14
- for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
15
- return arr2;
16
- }
17
- function _array_without_holes(arr) {
18
- if (Array.isArray(arr)) return _array_like_to_array(arr);
19
- }
20
- function _assert_this_initialized(self) {
21
- if (self === void 0) {
22
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
23
- }
24
- return self;
25
- }
26
- function _call_super(_this, derived, args) {
27
- derived = _get_prototype_of(derived);
28
- return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
29
- }
30
- function _class_call_check(instance, Constructor) {
31
- if (!(instance instanceof Constructor)) {
32
- throw new TypeError("Cannot call a class as a function");
33
- }
34
- }
35
- function _defineProperties(target, props) {
36
- for(var i = 0; i < props.length; i++){
37
- var descriptor = props[i];
38
- descriptor.enumerable = descriptor.enumerable || false;
39
- descriptor.configurable = true;
40
- if ("value" in descriptor) descriptor.writable = true;
41
- Object.defineProperty(target, descriptor.key, descriptor);
42
- }
43
- }
44
- function _create_class(Constructor, protoProps, staticProps) {
45
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
46
- if (staticProps) _defineProperties(Constructor, staticProps);
47
- return Constructor;
48
- }
49
- function _get(target, property, receiver) {
50
- if (typeof Reflect !== "undefined" && Reflect.get) {
51
- _get = Reflect.get;
52
- } else {
53
- _get = function get(target, property, receiver) {
54
- var base = _super_prop_base(target, property);
55
- if (!base) return;
56
- var desc = Object.getOwnPropertyDescriptor(base, property);
57
- if (desc.get) {
58
- return desc.get.call(receiver || target);
59
- }
60
- return desc.value;
61
- };
62
- }
63
- return _get(target, property, receiver || target);
64
- }
65
- function _get_prototype_of(o) {
66
- _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
67
- return o.__proto__ || Object.getPrototypeOf(o);
68
- };
69
- return _get_prototype_of(o);
70
- }
71
- function _inherits(subClass, superClass) {
72
- if (typeof superClass !== "function" && superClass !== null) {
73
- throw new TypeError("Super expression must either be null or a function");
74
- }
75
- subClass.prototype = Object.create(superClass && superClass.prototype, {
76
- constructor: {
77
- value: subClass,
78
- writable: true,
79
- configurable: true
80
- }
81
- });
82
- if (superClass) _set_prototype_of(subClass, superClass);
83
- }
84
- function _iterable_to_array(iter) {
85
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
86
- }
87
- function _non_iterable_spread() {
88
- throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
89
- }
90
- function _possible_constructor_return(self, call) {
91
- if (call && (_type_of(call) === "object" || typeof call === "function")) {
92
- return call;
93
- }
94
- return _assert_this_initialized(self);
95
- }
96
- function _set_prototype_of(o, p) {
97
- _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
98
- o.__proto__ = p;
99
- return o;
100
- };
101
- return _set_prototype_of(o, p);
102
- }
103
- function _super_prop_base(object, property) {
104
- while(!Object.prototype.hasOwnProperty.call(object, property)){
105
- object = _get_prototype_of(object);
106
- if (object === null) break;
107
- }
108
- return object;
109
- }
110
- function _to_consumable_array(arr) {
111
- return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
112
- }
113
- function _type_of(obj) {
114
- "@swc/helpers - typeof";
115
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
116
- }
117
- function _unsupported_iterable_to_array(o, minLen) {
118
- if (!o) return;
119
- if (typeof o === "string") return _array_like_to_array(o, minLen);
120
- var n = Object.prototype.toString.call(o).slice(8, -1);
121
- if (n === "Object" && o.constructor) n = o.constructor.name;
122
- if (n === "Map" || n === "Set") return Array.from(n);
123
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
124
- }
125
- function _is_native_reflect_construct() {
126
- try {
127
- var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
128
- } catch (_) {}
129
- return (_is_native_reflect_construct = function() {
130
- return !!result;
131
- })();
132
- }
133
- var DivisionTransform = /*#__PURE__*/ function(Transform) {
134
- _inherits(DivisionTransform, Transform);
135
- function DivisionTransform(node, tokens, divisionMarkdownNode) {
136
- _class_call_check(this, DivisionTransform);
137
- var _this;
138
- _this = _call_super(this, DivisionTransform, [
139
- node,
140
- tokens
141
- ]);
142
- _this.divisionMarkdownNode = divisionMarkdownNode;
143
- return _this;
144
- }
145
- _create_class(DivisionTransform, [
146
- {
147
- key: "getDivisionMarkdownNode",
148
- value: function getDivisionMarkdownNode() {
149
- return this.divisionMarkdownNode;
150
- }
151
- },
152
- {
153
- key: "appendToTopmostMarkdownNode",
154
- value: function appendToTopmostMarkdownNode(topmostMarkdownNode, context) {
155
- var parentNode = topmostMarkdownNode; ///
156
- _get(_get_prototype_of(DivisionTransform.prototype), "appendTo", this).call(this, parentNode, context);
157
- }
158
- },
159
- {
160
- key: "prependToTopmostMarkdownNode",
161
- value: function prependToTopmostMarkdownNode(topmostMarkdownNode, context) {
162
- var parentNode = topmostMarkdownNode; ///
163
- _get(_get_prototype_of(DivisionTransform.prototype), "prependTo", this).call(this, parentNode, context);
164
- }
165
- },
166
- {
167
- key: "removeFromTopmostMarkdownNode",
168
- value: function removeFromTopmostMarkdownNode(topmostMarkdownNode, context) {
169
- var removedNode = this.divisionMarkdownNode, parentNode = topmostMarkdownNode;
170
- _get(_get_prototype_of(DivisionTransform.prototype), "removeFrom", this).call(this, removedNode, parentNode, context);
171
- }
172
- }
173
- ], [
174
- {
175
- key: "fromDivisionMarkdownNode",
176
- value: function fromDivisionMarkdownNode(Class, divisionMarkdownNode) {
177
- for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
178
- remainingArguments[_key - 2] = arguments[_key];
179
- }
180
- var _Transform;
181
- var node = divisionMarkdownNode, divisionTransform = (_Transform = _occamdom.Transform).fromNode.apply(_Transform, [
182
- Class,
183
- node,
184
- divisionMarkdownNode
185
- ].concat(_to_consumable_array(remainingArguments)));
186
- return divisionTransform;
187
- }
188
- }
189
- ]);
190
- return DivisionTransform;
191
- }(_occamdom.Transform);
192
-
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm0vZGl2aXNpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFRyYW5zZm9ybSB9IGZyb20gXCJvY2NhbS1kb21cIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGl2aXNpb25UcmFuc2Zvcm0gZXh0ZW5kcyBUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihub2RlLCB0b2tlbnMsIGRpdmlzaW9uTWFya2Rvd25Ob2RlKSB7XG4gICAgc3VwZXIobm9kZSwgdG9rZW5zKTtcblxuICAgIHRoaXMuZGl2aXNpb25NYXJrZG93bk5vZGUgPSBkaXZpc2lvbk1hcmtkb3duTm9kZTtcbiAgfVxuXG4gIGdldERpdmlzaW9uTWFya2Rvd25Ob2RlKCkge1xuICAgIHJldHVybiB0aGlzLmRpdmlzaW9uTWFya2Rvd25Ob2RlO1xuICB9XG5cbiAgYXBwZW5kVG9Ub3Btb3N0TWFya2Rvd25Ob2RlKHRvcG1vc3RNYXJrZG93bk5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBwYXJlbnROb2RlID0gdG9wbW9zdE1hcmtkb3duTm9kZTsgIC8vL1xuXG4gICAgc3VwZXIuYXBwZW5kVG8ocGFyZW50Tm9kZSwgY29udGV4dCk7XG4gIH1cblxuICBwcmVwZW5kVG9Ub3Btb3N0TWFya2Rvd25Ob2RlKHRvcG1vc3RNYXJrZG93bk5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBwYXJlbnROb2RlID0gdG9wbW9zdE1hcmtkb3duTm9kZTsgIC8vL1xuXG4gICAgc3VwZXIucHJlcGVuZFRvKHBhcmVudE5vZGUsIGNvbnRleHQpO1xuICB9XG5cbiAgcmVtb3ZlRnJvbVRvcG1vc3RNYXJrZG93bk5vZGUodG9wbW9zdE1hcmtkb3duTm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHJlbW92ZWROb2RlID0gdGhpcy5kaXZpc2lvbk1hcmtkb3duTm9kZSwgLy8vXG4gICAgICAgICAgcGFyZW50Tm9kZSA9IHRvcG1vc3RNYXJrZG93bk5vZGU7XG5cbiAgICBzdXBlci5yZW1vdmVGcm9tKHJlbW92ZWROb2RlLCBwYXJlbnROb2RlLCBjb250ZXh0KTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tRGl2aXNpb25NYXJrZG93bk5vZGUoQ2xhc3MsIGRpdmlzaW9uTWFya2Rvd25Ob2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBub2RlID0gZGl2aXNpb25NYXJrZG93bk5vZGUsIC8vL1xuICAgICAgICAgIGRpdmlzaW9uVHJhbnNmb3JtID0gVHJhbnNmb3JtLmZyb21Ob2RlKENsYXNzLCBub2RlLCBkaXZpc2lvbk1hcmtkb3duTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgIHJldHVybiBkaXZpc2lvblRyYW5zZm9ybTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkRpdmlzaW9uVHJhbnNmb3JtIiwibm9kZSIsInRva2VucyIsImRpdmlzaW9uTWFya2Rvd25Ob2RlIiwiZ2V0RGl2aXNpb25NYXJrZG93bk5vZGUiLCJhcHBlbmRUb1RvcG1vc3RNYXJrZG93bk5vZGUiLCJ0b3Btb3N0TWFya2Rvd25Ob2RlIiwiY29udGV4dCIsInBhcmVudE5vZGUiLCJhcHBlbmRUbyIsInByZXBlbmRUb1RvcG1vc3RNYXJrZG93bk5vZGUiLCJwcmVwZW5kVG8iLCJyZW1vdmVGcm9tVG9wbW9zdE1hcmtkb3duTm9kZSIsInJlbW92ZWROb2RlIiwicmVtb3ZlRnJvbSIsImZyb21EaXZpc2lvbk1hcmtkb3duTm9kZSIsIkNsYXNzIiwicmVtYWluaW5nQXJndW1lbnRzIiwiVHJhbnNmb3JtIiwiZGl2aXNpb25UcmFuc2Zvcm0iLCJmcm9tTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFJcUJBOzs7d0JBRks7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRVgsSUFBQSxBQUFNQSxrQ0FBTjtjQUFNQTthQUFBQSxrQkFDUEMsSUFBSSxFQUFFQyxNQUFNLEVBQUVDLG9CQUFvQjtnQ0FEM0JIOztnQkFFakIsa0JBRmlCQTtZQUVYQztZQUFNQzs7UUFFWixNQUFLQyxvQkFBb0IsR0FBR0E7OztrQkFKWEg7O1lBT25CSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNELG9CQUFvQjtZQUNsQzs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSw0QkFBNEJDLG1CQUFtQixFQUFFQyxPQUFPO2dCQUN0RCxJQUFNQyxhQUFhRixxQkFBc0IsR0FBRztnQkFFNUMsdUJBZGlCTiw4QkFjWFMsWUFBTixJQUFLLGFBQVVELFlBQVlEO1lBQzdCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLDZCQUE2QkosbUJBQW1CLEVBQUVDLE9BQU87Z0JBQ3ZELElBQU1DLGFBQWFGLHFCQUFzQixHQUFHO2dCQUU1Qyx1QkFwQmlCTiw4QkFvQlhXLGFBQU4sSUFBSyxhQUFXSCxZQUFZRDtZQUM5Qjs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQSw4QkFBOEJOLG1CQUFtQixFQUFFQyxPQUFPO2dCQUN4RCxJQUFNTSxjQUFjLElBQUksQ0FBQ1Ysb0JBQW9CLEVBQ3ZDSyxhQUFhRjtnQkFFbkIsdUJBM0JpQk4sOEJBMkJYYyxjQUFOLElBQUssYUFBWUQsYUFBYUwsWUFBWUQ7WUFDNUM7Ozs7WUFFT1EsS0FBQUE7bUJBQVAsU0FBT0EseUJBQXlCQyxLQUFLLEVBQUViLG9CQUFvQjtnQkFBRSxJQUFBLElBQUEsT0FBQSxVQUFBLFFBQUEsQUFBR2MscUJBQUgsVUFBQSxPQUFBLElBQUEsT0FBQSxRQUFBLE9BQUEsR0FBQSxPQUFBLE1BQUE7b0JBQUdBLG1CQUFILE9BQUEsS0FBQSxTQUFBLENBQUEsS0FBcUI7O29CQUV0REM7Z0JBRDFCLElBQU1qQixPQUFPRSxzQkFDUGdCLG9CQUFvQkQsQ0FBQUEsYUFBQUEsbUJBQVMsRUFBQ0UsUUFBUSxPQUFsQkYsWUFBQUE7b0JBQW1CRjtvQkFBT2Y7b0JBQU1FO2lCQUE0QyxDQUE1RWUsT0FBc0QscUJBQUdEO2dCQUVuRixPQUFPRTtZQUNUOzs7V0FuQ21CbkI7RUFBMEJrQixtQkFBUyJ9