highmark-markdown 1.2.130 → 1.2.132
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/attributeNames.js +38 -0
- package/lib/constants.js +86 -0
- package/lib/example/constants.js +38 -0
- package/lib/example/customEventTypes.js +46 -0
- package/lib/example/importer.js +100 -0
- package/lib/example/indexOptions.js +45 -0
- package/lib/example/view/button/page.js +54 -0
- package/lib/example/view/button/tab/css.js +33 -0
- package/lib/example/view/button/tab/html.js +33 -0
- package/lib/example/view/button/tab/markdown.js +33 -0
- package/lib/example/view/button/tab/markdownStyle.js +33 -0
- package/lib/example/view/button/tab/plainText.js +33 -0
- package/lib/example/view/button/tab/preview.js +33 -0
- package/lib/example/view/button/tab.js +56 -0
- package/lib/example/view/div/container/css.js +35 -0
- package/lib/example/view/div/container/html.js +37 -0
- package/lib/example/view/div/container/markdown.js +56 -0
- package/lib/example/view/div/container/markdownStyle.js +57 -0
- package/lib/example/view/div/container/plainText.js +35 -0
- package/lib/example/view/div/container/preview.js +41 -0
- package/lib/example/view/div/container.js +39 -0
- package/lib/example/view/div/html.js +37 -0
- package/lib/example/view/div/pageButtons.js +86 -0
- package/lib/example/view/div/preview.js +83 -0
- package/lib/example/view/div/sizeable/left.js +31 -0
- package/lib/example/view/div/tabButtons/left.js +61 -0
- package/lib/example/view/div/tabButtons/right.js +95 -0
- package/lib/example/view/div/tabButtons.js +34 -0
- package/lib/example/view/textarea/css.js +47 -0
- package/lib/example/view/textarea/markdown.js +47 -0
- package/lib/example/view/textarea/markdownStyle.js +47 -0
- package/lib/example/view/textarea/parseTree/css.js +39 -0
- package/lib/example/view/textarea/parseTree/html.js +39 -0
- package/lib/example/view/textarea/parseTree/markdown.js +36 -0
- package/lib/example/view/textarea/parseTree/markdownStyle.js +36 -0
- package/lib/example/view/textarea/parseTree.js +40 -0
- package/lib/example/view/textarea/plainText.js +50 -0
- package/lib/example/view/textarea.js +33 -0
- package/lib/example/view/xmp.js +49 -0
- package/lib/example/view.js +309 -0
- package/lib/example.js +26 -0
- package/lib/index/item.js +40 -0
- package/lib/index/list.js +55 -0
- package/lib/index/match.js +37 -0
- package/lib/index.js +147 -0
- package/lib/letters.js +41 -0
- package/lib/map/className.js +19 -0
- package/lib/map/node/css.js +76 -0
- package/lib/map/node/html.js +142 -0
- package/lib/map/nonTerminalNode/markdown.js +89 -0
- package/lib/map/nonTerminalNode/markdownStyle.js +63 -0
- package/lib/map/tagName.js +19 -0
- package/lib/markdown/bnf.js +362 -0
- package/lib/markdown/entries.js +81 -0
- package/lib/markdown/lexer.js +41 -0
- package/lib/markdown/parser.js +36 -0
- package/lib/markdownStyle/bnf.js +89 -0
- package/lib/markdownStyle/entries.js +53 -0
- package/lib/markdownStyle/lexer.js +41 -0
- package/lib/markdownStyle/parser.js +36 -0
- package/lib/mixins/node.js +145 -0
- package/lib/mixins/token.js +43 -0
- package/lib/node/css/amount.js +34 -0
- package/lib/node/css/argument.js +26 -0
- package/lib/node/css/arguments.js +32 -0
- package/lib/node/css/class.js +32 -0
- package/lib/node/css/colour.js +34 -0
- package/lib/node/css/content.js +30 -0
- package/lib/node/css/declaration.js +37 -0
- package/lib/node/css/identifier.js +34 -0
- package/lib/node/css/name.js +32 -0
- package/lib/node/css/pseudoClass.js +32 -0
- package/lib/node/css/ruleName.js +65 -0
- package/lib/node/css/ruleSet.js +65 -0
- package/lib/node/css/selector.js +26 -0
- package/lib/node/css/selectors.js +37 -0
- package/lib/node/css/selectorsList.js +40 -0
- package/lib/node/css/string.js +34 -0
- package/lib/node/css/target.js +26 -0
- package/lib/node/css/topmost.js +93 -0
- package/lib/node/css/value.js +31 -0
- package/lib/node/css/values.js +34 -0
- package/lib/node/css/verbatim.js +38 -0
- package/lib/node/css.js +89 -0
- package/lib/node/html/anchor/contents.js +26 -0
- package/lib/node/html/anchor/footnote.js +26 -0
- package/lib/node/html/anchor/index.js +26 -0
- package/lib/node/html/anchor.js +56 -0
- package/lib/node/html/container.js +43 -0
- package/lib/node/html/directive/contents.js +26 -0
- package/lib/node/html/directive/footnotes.js +26 -0
- package/lib/node/html/directive/index.js +26 -0
- package/lib/node/html/directive/pageNumber.js +26 -0
- package/lib/node/html/directive.js +41 -0
- package/lib/node/html/division.js +149 -0
- package/lib/node/html/error.js +59 -0
- package/lib/node/html/footnote.js +58 -0
- package/lib/node/html/heading/index.js +81 -0
- package/lib/node/html/heading/primary.js +30 -0
- package/lib/node/html/heading/quaternary.js +30 -0
- package/lib/node/html/heading/secondary.js +30 -0
- package/lib/node/html/heading/tertiary.js +30 -0
- package/lib/node/html/heading.js +56 -0
- package/lib/node/html/image.js +95 -0
- package/lib/node/html/item/contents.js +38 -0
- package/lib/node/html/item/footnote.js +39 -0
- package/lib/node/html/item/index.js +57 -0
- package/lib/node/html/item/ordered.js +41 -0
- package/lib/node/html/item/unordered.js +28 -0
- package/lib/node/html/line/block.js +33 -0
- package/lib/node/html/line.js +113 -0
- package/lib/node/html/link/contents.js +54 -0
- package/lib/node/html/link/email.js +111 -0
- package/lib/node/html/link/footnote.js +114 -0
- package/lib/node/html/link/hyper.js +111 -0
- package/lib/node/html/link/index.js +88 -0
- package/lib/node/html/list/contents.js +38 -0
- package/lib/node/html/list/footnotes.js +58 -0
- package/lib/node/html/list/index.js +38 -0
- package/lib/node/html/list/ordered.js +28 -0
- package/lib/node/html/list/unordered.js +28 -0
- package/lib/node/html/listing/block.js +55 -0
- package/lib/node/html/listing/inline.js +55 -0
- package/lib/node/html/pageNumber.js +86 -0
- package/lib/node/html/paragraph.js +28 -0
- package/lib/node/html/reference.js +28 -0
- package/lib/node/html/table.js +28 -0
- package/lib/node/html/tableBody.js +28 -0
- package/lib/node/html/tableBodyCell.js +28 -0
- package/lib/node/html/tableBodyRow.js +28 -0
- package/lib/node/html/tableHead.js +28 -0
- package/lib/node/html/tableHeadCell.js +28 -0
- package/lib/node/html/tableHeadRow.js +28 -0
- package/lib/node/html/text/block.js +28 -0
- package/lib/node/html/text/comma.js +39 -0
- package/lib/node/html/text/emphasised.js +32 -0
- package/lib/node/html/text/index.js +46 -0
- package/lib/node/html/text/inline.js +52 -0
- package/lib/node/html/text/plain.js +28 -0
- package/lib/node/html/text/strong.js +32 -0
- package/lib/node/html/text/stronglyEmphasised.js +87 -0
- package/lib/node/html/text/xml.js +34 -0
- package/lib/node/html/text.js +42 -0
- package/lib/node/html/topmost.js +125 -0
- package/lib/node/html/xmlElement/complex.js +35 -0
- package/lib/node/html/xmlElement/simple.js +34 -0
- package/lib/node/html/xmlElement.js +125 -0
- package/lib/node/html.js +282 -0
- package/lib/node/markdown/blockEnd.js +23 -0
- package/lib/node/markdown/blockStart.js +49 -0
- package/lib/node/markdown/className.js +30 -0
- package/lib/node/markdown/container.js +36 -0
- package/lib/node/markdown/directive/embed.js +60 -0
- package/lib/node/markdown/directive/include.js +59 -0
- package/lib/node/markdown/division.js +91 -0
- package/lib/node/markdown/document.js +62 -0
- package/lib/node/markdown/error.js +30 -0
- package/lib/node/markdown/footnote.js +30 -0
- package/lib/node/markdown/hyperlink.js +58 -0
- package/lib/node/markdown/image.js +30 -0
- package/lib/node/markdown/item/ordered.js +36 -0
- package/lib/node/markdown/languageName.js +30 -0
- package/lib/node/markdown/link/email.js +58 -0
- package/lib/node/markdown/link/footnote.js +32 -0
- package/lib/node/markdown/listng/block.js +37 -0
- package/lib/node/markdown/listng/inline.js +36 -0
- package/lib/node/markdown/path.js +30 -0
- package/lib/node/markdown/reference.js +36 -0
- package/lib/node/markdown/releaseName.js +30 -0
- package/lib/node/markdown/subDivision.js +53 -0
- package/lib/node/markdown/text/block.js +23 -0
- package/lib/node/markdown/text/plain.js +23 -0
- package/lib/node/markdown/text/xml.js +23 -0
- package/lib/node/markdown/text.js +66 -0
- package/lib/node/markdown/xmlAttribute.js +45 -0
- package/lib/node/markdown/xmlAttributeName.js +32 -0
- package/lib/node/markdown/xmlAttributeValue.js +31 -0
- package/lib/node/markdown/xmlElement/complex.js +23 -0
- package/lib/node/markdown/xmlElement/simple.js +23 -0
- package/lib/node/markdown/xmlElement.js +51 -0
- package/lib/node/markdown/xmlTag/complete.js +23 -0
- package/lib/node/markdown/xmlTag/end.js +35 -0
- package/lib/node/markdown/xmlTag/start.js +23 -0
- package/lib/node/markdown/xmlTag.js +57 -0
- package/lib/node/markdown/xmlTagName.js +32 -0
- package/lib/node/markdown.js +67 -0
- package/lib/node/markdownStyle/amount.js +31 -0
- package/lib/node/markdownStyle/argument.js +23 -0
- package/lib/node/markdownStyle/arguments.js +23 -0
- package/lib/node/markdownStyle/colour.js +30 -0
- package/lib/node/markdownStyle/content.js +39 -0
- package/lib/node/markdownStyle/declaration.js +23 -0
- package/lib/node/markdownStyle/document.js +23 -0
- package/lib/node/markdownStyle/error.js +23 -0
- package/lib/node/markdownStyle/identifier.js +31 -0
- package/lib/node/markdownStyle/name.js +23 -0
- package/lib/node/markdownStyle/nonsense.js +23 -0
- package/lib/node/markdownStyle/pseudoClass.js +23 -0
- package/lib/node/markdownStyle/ruleName.js +30 -0
- package/lib/node/markdownStyle/ruleSet.js +23 -0
- package/lib/node/markdownStyle/selector.js +23 -0
- package/lib/node/markdownStyle/selectors.js +23 -0
- package/lib/node/markdownStyle/selectorsList.js +23 -0
- package/lib/node/markdownStyle/string.js +30 -0
- package/lib/node/markdownStyle/value.js +23 -0
- package/lib/node/markdownStyle/values.js +23 -0
- package/lib/node/markdownStyle/verbatim.js +23 -0
- package/lib/node/markdownStyle.js +36 -0
- package/lib/prepends.js +26 -0
- package/lib/queries/markdown.js +20 -0
- package/lib/queries/markdownStyle.js +20 -0
- package/lib/ruleNames/markdown.js +435 -0
- package/lib/ruleNames/markdownStyle.js +135 -0
- package/lib/style/defaultMarkdown.js +258 -0
- package/lib/style/font.js +65 -0
- package/lib/styleElement/markdown/default.js +36 -0
- package/lib/styleElement/markdown.js +86 -0
- package/lib/styleElement.js +56 -0
- package/lib/tokenTypes.js +110 -0
- package/lib/transform/css/ruleSet.js +33 -0
- package/lib/transform/css/selectors.js +35 -0
- package/lib/transform/css/selectorsList.js +51 -0
- package/lib/transform/css.js +57 -0
- package/lib/transform/html/anchor/index.js +29 -0
- package/lib/transform/html/division.js +36 -0
- package/lib/transform/html/footnote.js +43 -0
- package/lib/transform/html/heading/index.js +25 -0
- package/lib/transform/html/index.js +64 -0
- package/lib/transform/html/item/contents.js +42 -0
- package/lib/transform/html/item/footnote.js +29 -0
- package/lib/transform/html/item/index.js +29 -0
- package/lib/transform/html/line.js +28 -0
- package/lib/transform/html/link/contents.js +39 -0
- package/lib/transform/html/link/footnote.js +54 -0
- package/lib/transform/html/list/contents.js +66 -0
- package/lib/transform/html/list/footnotes.js +38 -0
- package/lib/transform/html/list/index.js +34 -0
- package/lib/transform/html/pageNumber.js +33 -0
- package/lib/transform/html.js +44 -0
- package/lib/transform/markdown/directive/embed.js +28 -0
- package/lib/transform/markdown/directive/ignore.js +24 -0
- package/lib/transform/markdown/directive/include.js +34 -0
- package/lib/transform/markdown/subDivision.js +24 -0
- package/lib/transform/markdown.js +21 -0
- package/lib/utilities/contents.js +101 -0
- package/lib/utilities/css.js +53 -0
- package/lib/utilities/dom.js +58 -0
- package/lib/utilities/element.js +26 -0
- package/lib/utilities/entities.js +17 -0
- package/lib/utilities/entries.js +24 -0
- package/lib/utilities/grammar.js +160 -0
- package/lib/utilities/html.js +86 -0
- package/lib/utilities/index.js +250 -0
- package/lib/utilities/jsx.js +59 -0
- package/lib/utilities/markdown.js +61 -0
- package/lib/utilities/markdownStyle.js +13 -0
- package/lib/utilities/object.js +65 -0
- package/lib/utilities/query.js +64 -0
- package/lib/utilities/string.js +51 -0
- package/lib/utilities/stringLiteral.js +16 -0
- package/package.json +6 -6
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "indexMapFromIndexDirectiveHTMLNodeAndDivisionHTMLNodes", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return indexMapFromIndexDirectiveHTMLNodeAndDivisionHTMLNodes;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _occamdom = require("occam-dom");
|
|
12
|
+
const _necessary = require("necessary");
|
|
13
|
+
const _match = /*#__PURE__*/ _interop_require_default(require("../index/match"));
|
|
14
|
+
const _object = require("../utilities/object");
|
|
15
|
+
const _constants = require("../constants");
|
|
16
|
+
function _interop_require_default(obj) {
|
|
17
|
+
return obj && obj.__esModule ? obj : {
|
|
18
|
+
default: obj
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
const { compress } = _necessary.arrayUtilities, { isLessThan, isAncestorOf } = _occamdom.nodeUtilities;
|
|
22
|
+
function indexMapFromIndexDirectiveHTMLNodeAndDivisionHTMLNodes(indexDirectiveHTMLNode, divisionHTMLNodes, context) {
|
|
23
|
+
const indexMap = createIndexMap(indexDirectiveHTMLNode, divisionHTMLNodes, context);
|
|
24
|
+
removeIgnoredWords(indexMap, context);
|
|
25
|
+
adjustMixedPlurals(indexMap, context);
|
|
26
|
+
adjustPluralPlurals(indexMap, context);
|
|
27
|
+
adjustSingularPlurals(indexMap, context);
|
|
28
|
+
adjustProperNouns(indexMap, context);
|
|
29
|
+
adjustAcronyms(indexMap, context);
|
|
30
|
+
compressPageNumbers(indexMap);
|
|
31
|
+
return indexMap;
|
|
32
|
+
}
|
|
33
|
+
function createIndexMap(indexDirectiveHTMLNode, divisionHTMLNodes, context) {
|
|
34
|
+
const indexMap = {};
|
|
35
|
+
const { phrases = [] } = context, indexMatches = phrases.map((phrase)=>{
|
|
36
|
+
const indexMatch = _match.default.fromPhrase(phrase);
|
|
37
|
+
return indexMatch;
|
|
38
|
+
});
|
|
39
|
+
divisionHTMLNodes.forEach((divisionHTMLNode)=>{
|
|
40
|
+
const divisionHTMLNodeLessThanIndexDirectiveHTMLNode = isLessThan(divisionHTMLNode, indexDirectiveHTMLNode);
|
|
41
|
+
if (divisionHTMLNodeLessThanIndexDirectiveHTMLNode) {
|
|
42
|
+
const divisionHTMLNodeAncestorOfIndexDirectiveHTMLNode = isAncestorOf(divisionHTMLNode, indexDirectiveHTMLNode);
|
|
43
|
+
if (!divisionHTMLNodeAncestorOfIndexDirectiveHTMLNode) {
|
|
44
|
+
const pageNumber = divisionHTMLNode.pageNumber(context);
|
|
45
|
+
if (pageNumber !== null) {
|
|
46
|
+
const plainText = divisionHTMLNode.asPlainText(context), wordsOrPhrases = wordsOrPhrasesFromPlainTextAndIndexMatches(plainText, indexMatches);
|
|
47
|
+
wordsOrPhrases.forEach((wordOrPhrase)=>{
|
|
48
|
+
const pageNumbers = indexMap.hasOwnProperty(wordOrPhrase) ? indexMap[wordOrPhrase] : [];
|
|
49
|
+
indexMap[wordOrPhrase] = pageNumbers;
|
|
50
|
+
pageNumbers.push(pageNumber);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
return indexMap;
|
|
57
|
+
}
|
|
58
|
+
function wordsOrPhrasesFromPlainTextAndIndexMatches(plainText, indexMatches) {
|
|
59
|
+
let wordsOrPhrases;
|
|
60
|
+
plainText = preparePlainText(plainText); ///
|
|
61
|
+
indexMatches.forEach((indexMatch)=>{
|
|
62
|
+
plainText = indexMatch.replace(plainText);
|
|
63
|
+
});
|
|
64
|
+
wordsOrPhrases = plainText.split(_constants.SINGLE_SPACE);
|
|
65
|
+
wordsOrPhrases = wordsOrPhrases.map((wordOrPhrase)=>{
|
|
66
|
+
wordOrPhrase = _match.default.revert(wordOrPhrase); ///
|
|
67
|
+
return wordOrPhrase;
|
|
68
|
+
});
|
|
69
|
+
return wordsOrPhrases;
|
|
70
|
+
}
|
|
71
|
+
function compressPageNumbers(indexMap) {
|
|
72
|
+
(0, _object.mapValues)(indexMap, (wordOrPhrase, pageNumbers)=>{
|
|
73
|
+
compress(pageNumbers, (pageNumberA, pageNumberB)=>{
|
|
74
|
+
if (pageNumberA !== pageNumberB) {
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
pageNumbers.sort((pageNumberB, pageNumberA)=>{
|
|
79
|
+
pageNumberA = Number(pageNumberA); ///
|
|
80
|
+
pageNumberB = Number(pageNumberB); ///
|
|
81
|
+
const difference = pageNumberB - pageNumberA;
|
|
82
|
+
return difference;
|
|
83
|
+
});
|
|
84
|
+
return pageNumbers;
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
function removeIgnoredWords(indexMap, context) {
|
|
88
|
+
const { ignoredWords = [] } = context;
|
|
89
|
+
ignoredWords.forEach((ignoredWord)=>{
|
|
90
|
+
delete indexMap[ignoredWord];
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
function adjustProperNouns(indexMap, context) {
|
|
94
|
+
const { properNouns = [] } = context, lowerCaseProperNouns = properNouns.map((properNoun)=>{
|
|
95
|
+
const lowerCaseProperNoun = properNoun.toLowerCase();
|
|
96
|
+
return lowerCaseProperNoun;
|
|
97
|
+
});
|
|
98
|
+
(0, _object.mapKeys)(indexMap, (wordOrPhrase)=>{
|
|
99
|
+
const index = lowerCaseProperNouns.findIndex((lowerCaseProperName)=>{
|
|
100
|
+
if (lowerCaseProperName === wordOrPhrase) {
|
|
101
|
+
return true;
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
if (index > -1) {
|
|
105
|
+
const properNoun = properNouns[index];
|
|
106
|
+
wordOrPhrase = properNoun; ///
|
|
107
|
+
}
|
|
108
|
+
return wordOrPhrase;
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
function preparePlainText(plainText) {
|
|
112
|
+
plainText = plainText.toLowerCase(); ///
|
|
113
|
+
plainText = plainText.replace(/[^a-z0-9\- ]/g, _constants.SINGLE_SPACE);
|
|
114
|
+
plainText = plainText.replace(/\s+/g, _constants.SINGLE_SPACE);
|
|
115
|
+
plainText = plainText.replace(/^\s+|\s+$/g, _constants.EMPTY_STRING);
|
|
116
|
+
return plainText;
|
|
117
|
+
}
|
|
118
|
+
function adjustAcronyms(indexMap, context) {
|
|
119
|
+
const { acronyms = [] } = context, lowerCaseAcronyms = acronyms.map((acronym)=>{
|
|
120
|
+
const lowerCaseAcronym = acronym.toLowerCase();
|
|
121
|
+
return lowerCaseAcronym;
|
|
122
|
+
});
|
|
123
|
+
(0, _object.mapKeys)(indexMap, (wordOrPhrase)=>{
|
|
124
|
+
const index = lowerCaseAcronyms.findIndex((lowerCaseProperName)=>{
|
|
125
|
+
if (lowerCaseProperName === wordOrPhrase) {
|
|
126
|
+
return true;
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
if (index > -1) {
|
|
130
|
+
const acronym = acronyms[index];
|
|
131
|
+
wordOrPhrase = acronym; ///
|
|
132
|
+
}
|
|
133
|
+
return wordOrPhrase;
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
function adjustMixedPlurals(indexMap, context) {
|
|
137
|
+
const { plurals = [] } = context, mixedPlurals = reducePlurals(plurals, isMixed), pluralPlurals = mapPlurals(mixedPlurals, mixedToPlural), singularPlurals = mapPlurals(mixedPlurals, mixedToSingular);
|
|
138
|
+
(0, _object.forEach)(indexMap, (wordOrPhrase, pageNumbers)=>{
|
|
139
|
+
const singularPluralsIncludesWordOrPhrase = singularPlurals.includes(wordOrPhrase);
|
|
140
|
+
if (singularPluralsIncludesWordOrPhrase) {
|
|
141
|
+
const singularWordOrPhrase = wordOrPhrase, singularPageNumbers = pageNumbers, mixedWordOrPhrase = singularToMixed(singularWordOrPhrase), mixedPageNumbers = indexMap[mixedWordOrPhrase] || [];
|
|
142
|
+
pageNumbers = [
|
|
143
|
+
...singularPageNumbers,
|
|
144
|
+
...mixedPageNumbers
|
|
145
|
+
];
|
|
146
|
+
delete indexMap[singularWordOrPhrase];
|
|
147
|
+
indexMap[mixedWordOrPhrase] = pageNumbers;
|
|
148
|
+
}
|
|
149
|
+
const pluralPluralsIncludesWordOrPhrase = pluralPlurals.includes(wordOrPhrase);
|
|
150
|
+
if (pluralPluralsIncludesWordOrPhrase) {
|
|
151
|
+
const pluralWordOrPhrase = wordOrPhrase, pluralPageNumbers = pageNumbers, mixedWordOrPhrase = pluralToMixed(pluralWordOrPhrase), mixedPageNumbers = indexMap[mixedWordOrPhrase] || [];
|
|
152
|
+
pageNumbers = [
|
|
153
|
+
...pluralPageNumbers,
|
|
154
|
+
...mixedPageNumbers
|
|
155
|
+
];
|
|
156
|
+
delete indexMap[pluralWordOrPhrase];
|
|
157
|
+
indexMap[mixedWordOrPhrase] = pageNumbers;
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
function adjustPluralPlurals(indexMap, context) {
|
|
162
|
+
const { plurals = [] } = context, pluralPlurals = reducePlurals(plurals, isPlural), singularPlurals = mapPlurals(pluralPlurals, pluralToSingular);
|
|
163
|
+
(0, _object.forEach)(indexMap, (wordOrPhrase, pageNumbers)=>{
|
|
164
|
+
const singularPluralsIncludesWordOrPhrase = singularPlurals.includes(wordOrPhrase);
|
|
165
|
+
if (singularPluralsIncludesWordOrPhrase) {
|
|
166
|
+
const singularWordOrPhrase = wordOrPhrase, singularPageNumbers = pageNumbers, pluralWordOrPhrase = singularToPlural(wordOrPhrase), pluralPageNumbers = indexMap[pluralWordOrPhrase] || [];
|
|
167
|
+
pageNumbers = [
|
|
168
|
+
...singularPageNumbers,
|
|
169
|
+
...pluralPageNumbers
|
|
170
|
+
];
|
|
171
|
+
delete indexMap[singularWordOrPhrase];
|
|
172
|
+
indexMap[pluralWordOrPhrase] = pageNumbers;
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
function adjustSingularPlurals(indexMap, context) {
|
|
177
|
+
const { plurals = [] } = context, singularPlurals = reducePlurals(plurals, isSingular), pluralPlurals = mapPlurals(singularPlurals, singularToPlural);
|
|
178
|
+
(0, _object.forEach)(indexMap, (wordOrPhrase, pageNumbers)=>{
|
|
179
|
+
const pluralPluralsIncludesWordOrPhrase = pluralPlurals.includes(wordOrPhrase);
|
|
180
|
+
if (pluralPluralsIncludesWordOrPhrase) {
|
|
181
|
+
const singularWordOrPhrase = pluralToSingular(wordOrPhrase), singularPageNumbers = indexMap[singularWordOrPhrase] || [], pluralWordOrPhrase = wordOrPhrase, pluralPageNumbers = pageNumbers; ///
|
|
182
|
+
pageNumbers = [
|
|
183
|
+
...singularPageNumbers,
|
|
184
|
+
...pluralPageNumbers
|
|
185
|
+
];
|
|
186
|
+
delete indexMap[pluralWordOrPhrase];
|
|
187
|
+
indexMap[singularWordOrPhrase] = pageNumbers;
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
function reducePlurals(plurals, callback) {
|
|
192
|
+
plurals = plurals.reduce((plurals, plural)=>{
|
|
193
|
+
const result = callback(plural);
|
|
194
|
+
if (result) {
|
|
195
|
+
plurals.push(plural);
|
|
196
|
+
}
|
|
197
|
+
return plurals;
|
|
198
|
+
}, []);
|
|
199
|
+
return plurals;
|
|
200
|
+
}
|
|
201
|
+
function mapPlurals(plurals, callback) {
|
|
202
|
+
plurals = plurals.map((plural)=>{
|
|
203
|
+
plural = callback(plural);
|
|
204
|
+
return plural;
|
|
205
|
+
});
|
|
206
|
+
return plurals;
|
|
207
|
+
}
|
|
208
|
+
function isSingular(text) {
|
|
209
|
+
const indexMatches = /[^s)]$/.test(text), singular = indexMatches; ///
|
|
210
|
+
return singular;
|
|
211
|
+
}
|
|
212
|
+
function isPlural(text) {
|
|
213
|
+
const indexMatches = /(ies|s)$/.test(text), plural = indexMatches; ///
|
|
214
|
+
return plural;
|
|
215
|
+
}
|
|
216
|
+
function isMixed(text) {
|
|
217
|
+
const indexMatches = /\(s\)$/.test(text), mixed = indexMatches; ///
|
|
218
|
+
return mixed;
|
|
219
|
+
}
|
|
220
|
+
function mixedToPlural(text) {
|
|
221
|
+
text = text ///
|
|
222
|
+
.replace(/\(s\)$/, _constants.S_STRING);
|
|
223
|
+
return text;
|
|
224
|
+
}
|
|
225
|
+
function pluralToMixed(text) {
|
|
226
|
+
text = text ///
|
|
227
|
+
.replace(/s$/, _constants.PARENTHESISED_S_STRING);
|
|
228
|
+
return text;
|
|
229
|
+
}
|
|
230
|
+
function mixedToSingular(text) {
|
|
231
|
+
text = text ///
|
|
232
|
+
.replace(/\(s\)$/, _constants.EMPTY_STRING);
|
|
233
|
+
return text;
|
|
234
|
+
}
|
|
235
|
+
function singularToMixed(text) {
|
|
236
|
+
text = `${text}(s)`;
|
|
237
|
+
return text;
|
|
238
|
+
}
|
|
239
|
+
function singularToPlural(text) {
|
|
240
|
+
text = `${text}s` ///
|
|
241
|
+
.replace(/ys$/, _constants.IES_STRING);
|
|
242
|
+
return text;
|
|
243
|
+
}
|
|
244
|
+
function pluralToSingular(text) {
|
|
245
|
+
text = text ///
|
|
246
|
+
.replace(/ies$/, _constants.Y_STRING).replace(/s$/, _constants.EMPTY_STRING);
|
|
247
|
+
return text;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG5vZGVVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tZG9tXCJcbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgSW5kZXhNYXRjaCBmcm9tIFwiLi4vaW5kZXgvbWF0Y2hcIjtcblxuaW1wb3J0IHsgZm9yRWFjaCwgbWFwS2V5cywgbWFwVmFsdWVzIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9vYmplY3RcIjtcbmltcG9ydCB7IFlfU1RSSU5HLCBTX1NUUklORywgSUVTX1NUUklORywgRU1QVFlfU1RSSU5HLCBTSU5HTEVfU1BBQ0UsIFBBUkVOVEhFU0lTRURfU19TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmNvbnN0IHsgY29tcHJlc3MgfSA9IGFycmF5VXRpbGl0aWVzLFxuICAgICAgeyBpc0xlc3NUaGFuLCBpc0FuY2VzdG9yT2YgfSA9IG5vZGVVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmRleE1hcEZyb21JbmRleERpcmVjdGl2ZUhUTUxOb2RlQW5kRGl2aXNpb25IVE1MTm9kZXMoaW5kZXhEaXJlY3RpdmVIVE1MTm9kZSwgZGl2aXNpb25IVE1MTm9kZXMsIGNvbnRleHQpIHtcbiAgY29uc3QgaW5kZXhNYXAgPSBjcmVhdGVJbmRleE1hcChpbmRleERpcmVjdGl2ZUhUTUxOb2RlLCBkaXZpc2lvbkhUTUxOb2RlcywgY29udGV4dCk7XG5cbiAgcmVtb3ZlSWdub3JlZFdvcmRzKGluZGV4TWFwLCBjb250ZXh0KTtcblxuICBhZGp1c3RNaXhlZFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdFBsdXJhbFBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdFNpbmd1bGFyUGx1cmFscyhpbmRleE1hcCwgY29udGV4dCk7XG5cbiAgYWRqdXN0UHJvcGVyTm91bnMoaW5kZXhNYXAsIGNvbnRleHQpO1xuXG4gIGFkanVzdEFjcm9ueW1zKGluZGV4TWFwLCBjb250ZXh0KTtcblxuICBjb21wcmVzc1BhZ2VOdW1iZXJzKGluZGV4TWFwKTtcblxuICByZXR1cm4gaW5kZXhNYXA7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUluZGV4TWFwKGluZGV4RGlyZWN0aXZlSFRNTE5vZGUsIGRpdmlzaW9uSFRNTE5vZGVzLCBjb250ZXh0KSB7XG4gIGNvbnN0IGluZGV4TWFwID0ge307XG5cbiAgY29uc3QgeyBwaHJhc2VzID0gW10gfSA9IGNvbnRleHQsXG4gICAgICAgIGluZGV4TWF0Y2hlcyA9IHBocmFzZXMubWFwKChwaHJhc2UpID0+IHtcbiAgICAgICAgICBjb25zdCBpbmRleE1hdGNoID0gSW5kZXhNYXRjaC5mcm9tUGhyYXNlKHBocmFzZSk7XG5cbiAgICAgICAgICByZXR1cm4gaW5kZXhNYXRjaDtcbiAgICAgICAgfSk7XG5cbiAgZGl2aXNpb25IVE1MTm9kZXMuZm9yRWFjaCgoZGl2aXNpb25IVE1MTm9kZSkgPT4ge1xuICAgIGNvbnN0IGRpdmlzaW9uSFRNTE5vZGVMZXNzVGhhbkluZGV4RGlyZWN0aXZlSFRNTE5vZGUgPSBpc0xlc3NUaGFuKGRpdmlzaW9uSFRNTE5vZGUsIGluZGV4RGlyZWN0aXZlSFRNTE5vZGUpO1xuXG4gICAgaWYgKGRpdmlzaW9uSFRNTE5vZGVMZXNzVGhhbkluZGV4RGlyZWN0aXZlSFRNTE5vZGUpIHtcbiAgICAgIGNvbnN0IGRpdmlzaW9uSFRNTE5vZGVBbmNlc3Rvck9mSW5kZXhEaXJlY3RpdmVIVE1MTm9kZSA9IGlzQW5jZXN0b3JPZihkaXZpc2lvbkhUTUxOb2RlLCBpbmRleERpcmVjdGl2ZUhUTUxOb2RlKTtcblxuICAgICAgaWYgKCFkaXZpc2lvbkhUTUxOb2RlQW5jZXN0b3JPZkluZGV4RGlyZWN0aXZlSFRNTE5vZGUpIHtcbiAgICAgICAgY29uc3QgcGFnZU51bWJlciA9IGRpdmlzaW9uSFRNTE5vZGUucGFnZU51bWJlcihjb250ZXh0KTtcblxuICAgICAgICBpZiAocGFnZU51bWJlciAhPT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IHBsYWluVGV4dCA9IGRpdmlzaW9uSFRNTE5vZGUuYXNQbGFpblRleHQoY29udGV4dCksXG4gICAgICAgICAgICAgICAgd29yZHNPclBocmFzZXMgPSB3b3Jkc09yUGhyYXNlc0Zyb21QbGFpblRleHRBbmRJbmRleE1hdGNoZXMocGxhaW5UZXh0LCBpbmRleE1hdGNoZXMpO1xuXG4gICAgICAgICAgd29yZHNPclBocmFzZXMuZm9yRWFjaCgod29yZE9yUGhyYXNlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwYWdlTnVtYmVycyA9IGluZGV4TWFwLmhhc093blByb3BlcnR5KHdvcmRPclBocmFzZSkgP1xuICAgICAgICAgICAgICAgICAgICBpbmRleE1hcFt3b3JkT3JQaHJhc2VdIDpcbiAgICAgICAgICAgICAgICAgICAgICBbXTtcblxuICAgICAgICAgICAgaW5kZXhNYXBbd29yZE9yUGhyYXNlXSA9IHBhZ2VOdW1iZXJzO1xuXG4gICAgICAgICAgICBwYWdlTnVtYmVycy5wdXNoKHBhZ2VOdW1iZXIpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gaW5kZXhNYXA7XG59XG5cbmZ1bmN0aW9uIHdvcmRzT3JQaHJhc2VzRnJvbVBsYWluVGV4dEFuZEluZGV4TWF0Y2hlcyhwbGFpblRleHQsIGluZGV4TWF0Y2hlcykge1xuICBsZXQgd29yZHNPclBocmFzZXM7XG5cbiAgcGxhaW5UZXh0ID0gcHJlcGFyZVBsYWluVGV4dChwbGFpblRleHQpOyAgLy8vXG5cbiAgaW5kZXhNYXRjaGVzLmZvckVhY2goKGluZGV4TWF0Y2gpID0+IHtcbiAgICBwbGFpblRleHQgPSBpbmRleE1hdGNoLnJlcGxhY2UocGxhaW5UZXh0KTtcbiAgfSk7XG5cbiAgd29yZHNPclBocmFzZXMgPSBwbGFpblRleHQuc3BsaXQoU0lOR0xFX1NQQUNFKTtcblxuICB3b3Jkc09yUGhyYXNlcyA9IHdvcmRzT3JQaHJhc2VzLm1hcCgod29yZE9yUGhyYXNlKSA9PiB7XG4gICAgd29yZE9yUGhyYXNlID0gSW5kZXhNYXRjaC5yZXZlcnQod29yZE9yUGhyYXNlKTsgIC8vL1xuXG4gICAgcmV0dXJuIHdvcmRPclBocmFzZTtcbiAgfSk7XG5cbiAgcmV0dXJuIHdvcmRzT3JQaHJhc2VzO1xufVxuXG5mdW5jdGlvbiBjb21wcmVzc1BhZ2VOdW1iZXJzKGluZGV4TWFwKSB7XG4gIG1hcFZhbHVlcyhpbmRleE1hcCwgKHdvcmRPclBocmFzZSwgcGFnZU51bWJlcnMpID0+IHtcbiAgICBjb21wcmVzcyhwYWdlTnVtYmVycywgKHBhZ2VOdW1iZXJBLCBwYWdlTnVtYmVyQikgPT4ge1xuICAgICAgaWYgKHBhZ2VOdW1iZXJBICE9PSBwYWdlTnVtYmVyQikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHBhZ2VOdW1iZXJzLnNvcnQoKHBhZ2VOdW1iZXJCLCBwYWdlTnVtYmVyQSkgPT4ge1xuICAgICAgcGFnZU51bWJlckEgPSBOdW1iZXIocGFnZU51bWJlckEpOyAgLy8vXG5cbiAgICAgIHBhZ2VOdW1iZXJCID0gTnVtYmVyKHBhZ2VOdW1iZXJCKTsgIC8vL1xuXG4gICAgICBjb25zdCBkaWZmZXJlbmNlID0gcGFnZU51bWJlckIgLSBwYWdlTnVtYmVyQTtcblxuICAgICAgcmV0dXJuIGRpZmZlcmVuY2U7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGFnZU51bWJlcnM7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZW1vdmVJZ25vcmVkV29yZHMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBpZ25vcmVkV29yZHMgPSBbXSB9ID0gY29udGV4dDtcblxuICBpZ25vcmVkV29yZHMuZm9yRWFjaCgoaWdub3JlZFdvcmQpID0+IHtcbiAgICBkZWxldGUgaW5kZXhNYXBbaWdub3JlZFdvcmRdO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gYWRqdXN0UHJvcGVyTm91bnMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBwcm9wZXJOb3VucyA9IFtdIH0gPSBjb250ZXh0LFxuICAgICAgICBsb3dlckNhc2VQcm9wZXJOb3VucyA9IHByb3Blck5vdW5zLm1hcCgocHJvcGVyTm91bikgPT4ge1xuICAgICAgICAgIGNvbnN0IGxvd2VyQ2FzZVByb3Blck5vdW4gPSBwcm9wZXJOb3VuLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgICByZXR1cm4gbG93ZXJDYXNlUHJvcGVyTm91bjtcbiAgICAgICAgfSk7XG5cbiAgbWFwS2V5cyhpbmRleE1hcCwgKHdvcmRPclBocmFzZSkgPT4ge1xuICAgIGNvbnN0IGluZGV4ID0gbG93ZXJDYXNlUHJvcGVyTm91bnMuZmluZEluZGV4KChsb3dlckNhc2VQcm9wZXJOYW1lKSA9PiB7XG4gICAgICBpZiAobG93ZXJDYXNlUHJvcGVyTmFtZSA9PT0gd29yZE9yUGhyYXNlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgIGNvbnN0IHByb3Blck5vdW4gPSBwcm9wZXJOb3Vuc1tpbmRleF07XG5cbiAgICAgIHdvcmRPclBocmFzZSA9IHByb3Blck5vdW47ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gd29yZE9yUGhyYXNlO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gcHJlcGFyZVBsYWluVGV4dChwbGFpblRleHQpIHtcbiAgcGxhaW5UZXh0ID0gcGxhaW5UZXh0LnRvTG93ZXJDYXNlKCk7ICAvLy9cblxuICBwbGFpblRleHQgPSBwbGFpblRleHQucmVwbGFjZSgvW15hLXowLTlcXC0gXS9nLCBTSU5HTEVfU1BBQ0UpO1xuXG4gIHBsYWluVGV4dCA9IHBsYWluVGV4dC5yZXBsYWNlKC9cXHMrL2csIFNJTkdMRV9TUEFDRSk7XG5cbiAgcGxhaW5UZXh0ID0gcGxhaW5UZXh0LnJlcGxhY2UoL15cXHMrfFxccyskL2csIEVNUFRZX1NUUklORyk7XG5cbiAgcmV0dXJuIHBsYWluVGV4dDtcbn1cblxuZnVuY3Rpb24gYWRqdXN0QWNyb255bXMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBhY3JvbnltcyA9IFtdIH0gPSBjb250ZXh0LFxuICAgICAgICBsb3dlckNhc2VBY3JvbnltcyA9IGFjcm9ueW1zLm1hcCgoYWNyb255bSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGxvd2VyQ2FzZUFjcm9ueW0gPSBhY3JvbnltLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgICByZXR1cm4gbG93ZXJDYXNlQWNyb255bTtcbiAgICAgICAgfSk7XG5cbiAgbWFwS2V5cyhpbmRleE1hcCwgKHdvcmRPclBocmFzZSkgPT4ge1xuICAgIGNvbnN0IGluZGV4ID0gbG93ZXJDYXNlQWNyb255bXMuZmluZEluZGV4KChsb3dlckNhc2VQcm9wZXJOYW1lKSA9PiB7XG4gICAgICBpZiAobG93ZXJDYXNlUHJvcGVyTmFtZSA9PT0gd29yZE9yUGhyYXNlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgIGNvbnN0IGFjcm9ueW0gPSBhY3Jvbnltc1tpbmRleF07XG5cbiAgICAgIHdvcmRPclBocmFzZSA9IGFjcm9ueW07ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gd29yZE9yUGhyYXNlO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gYWRqdXN0TWl4ZWRQbHVyYWxzKGluZGV4TWFwLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgcGx1cmFscyA9IFtdIH0gPSBjb250ZXh0LFxuICAgICAgICBtaXhlZFBsdXJhbHMgPSByZWR1Y2VQbHVyYWxzKHBsdXJhbHMsIGlzTWl4ZWQpLFxuICAgICAgICBwbHVyYWxQbHVyYWxzID0gbWFwUGx1cmFscyhtaXhlZFBsdXJhbHMsIG1peGVkVG9QbHVyYWwpLFxuICAgICAgICBzaW5ndWxhclBsdXJhbHMgPSBtYXBQbHVyYWxzKG1peGVkUGx1cmFscywgbWl4ZWRUb1Npbmd1bGFyKTtcblxuICBmb3JFYWNoKGluZGV4TWFwLCAod29yZE9yUGhyYXNlLCBwYWdlTnVtYmVycykgPT4ge1xuICAgIGNvbnN0IHNpbmd1bGFyUGx1cmFsc0luY2x1ZGVzV29yZE9yUGhyYXNlID0gc2luZ3VsYXJQbHVyYWxzLmluY2x1ZGVzKHdvcmRPclBocmFzZSk7XG5cbiAgICBpZiAoc2luZ3VsYXJQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UpIHtcbiAgICAgIGNvbnN0IHNpbmd1bGFyV29yZE9yUGhyYXNlID0gd29yZE9yUGhyYXNlLCAgLy8vXG4gICAgICAgICAgICBzaW5ndWxhclBhZ2VOdW1iZXJzID0gcGFnZU51bWJlcnMsICAvLy9cbiAgICAgICAgICAgIG1peGVkV29yZE9yUGhyYXNlID0gc2luZ3VsYXJUb01peGVkKHNpbmd1bGFyV29yZE9yUGhyYXNlKSxcbiAgICAgICAgICAgIG1peGVkUGFnZU51bWJlcnMgPSBpbmRleE1hcFttaXhlZFdvcmRPclBocmFzZV0gfHwgW107XG5cbiAgICAgIHBhZ2VOdW1iZXJzID0gW1xuICAgICAgICAuLi5zaW5ndWxhclBhZ2VOdW1iZXJzLFxuICAgICAgICAuLi5taXhlZFBhZ2VOdW1iZXJzXG4gICAgICBdO1xuXG4gICAgICBkZWxldGUgaW5kZXhNYXBbc2luZ3VsYXJXb3JkT3JQaHJhc2VdO1xuXG4gICAgICBpbmRleE1hcFttaXhlZFdvcmRPclBocmFzZV0gPSBwYWdlTnVtYmVycztcbiAgICB9XG5cbiAgICBjb25zdCBwbHVyYWxQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UgPSBwbHVyYWxQbHVyYWxzLmluY2x1ZGVzKHdvcmRPclBocmFzZSk7XG5cbiAgICBpZiAocGx1cmFsUGx1cmFsc0luY2x1ZGVzV29yZE9yUGhyYXNlKSB7XG4gICAgICBjb25zdCBwbHVyYWxXb3JkT3JQaHJhc2UgPSB3b3JkT3JQaHJhc2UsICAvLy9cbiAgICAgICAgICAgIHBsdXJhbFBhZ2VOdW1iZXJzID0gcGFnZU51bWJlcnMsICAvLy9cbiAgICAgICAgICAgIG1peGVkV29yZE9yUGhyYXNlID0gcGx1cmFsVG9NaXhlZChwbHVyYWxXb3JkT3JQaHJhc2UpLFxuICAgICAgICAgICAgbWl4ZWRQYWdlTnVtYmVycyA9IGluZGV4TWFwW21peGVkV29yZE9yUGhyYXNlXSB8fCBbXTtcblxuICAgICAgcGFnZU51bWJlcnMgPSBbXG4gICAgICAgIC4uLnBsdXJhbFBhZ2VOdW1iZXJzLFxuICAgICAgICAuLi5taXhlZFBhZ2VOdW1iZXJzXG4gICAgICBdO1xuXG4gICAgICBkZWxldGUgaW5kZXhNYXBbcGx1cmFsV29yZE9yUGhyYXNlXTtcblxuICAgICAgaW5kZXhNYXBbbWl4ZWRXb3JkT3JQaHJhc2VdID0gcGFnZU51bWJlcnM7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gYWRqdXN0UGx1cmFsUGx1cmFscyhpbmRleE1hcCwgY29udGV4dCkge1xuICBjb25zdCB7IHBsdXJhbHMgPSBbXSB9ID0gY29udGV4dCxcbiAgICAgICAgcGx1cmFsUGx1cmFscyA9IHJlZHVjZVBsdXJhbHMocGx1cmFscywgaXNQbHVyYWwpLFxuICAgICAgICBzaW5ndWxhclBsdXJhbHMgPSBtYXBQbHVyYWxzKHBsdXJhbFBsdXJhbHMsIHBsdXJhbFRvU2luZ3VsYXIpO1xuXG4gIGZvckVhY2goaW5kZXhNYXAsICh3b3JkT3JQaHJhc2UsIHBhZ2VOdW1iZXJzKSA9PiB7XG4gICAgY29uc3Qgc2luZ3VsYXJQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UgPSBzaW5ndWxhclBsdXJhbHMuaW5jbHVkZXMod29yZE9yUGhyYXNlKTtcblxuICAgIGlmIChzaW5ndWxhclBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSkge1xuICAgICAgY29uc3Qgc2luZ3VsYXJXb3JkT3JQaHJhc2UgPSB3b3JkT3JQaHJhc2UsICAvLy9cbiAgICAgICAgICAgIHNpbmd1bGFyUGFnZU51bWJlcnMgPSBwYWdlTnVtYmVycywgIC8vL1xuICAgICAgICAgICAgcGx1cmFsV29yZE9yUGhyYXNlID0gc2luZ3VsYXJUb1BsdXJhbCh3b3JkT3JQaHJhc2UpLFxuICAgICAgICAgICAgcGx1cmFsUGFnZU51bWJlcnMgPSBpbmRleE1hcFtwbHVyYWxXb3JkT3JQaHJhc2VdIHx8IFtdO1xuXG4gICAgICBwYWdlTnVtYmVycyA9IFtcbiAgICAgICAgLi4uc2luZ3VsYXJQYWdlTnVtYmVycyxcbiAgICAgICAgLi4ucGx1cmFsUGFnZU51bWJlcnNcbiAgICAgIF07XG5cbiAgICAgIGRlbGV0ZSBpbmRleE1hcFtzaW5ndWxhcldvcmRPclBocmFzZV07XG5cbiAgICAgIGluZGV4TWFwW3BsdXJhbFdvcmRPclBocmFzZV0gPSBwYWdlTnVtYmVycztcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBhZGp1c3RTaW5ndWxhclBsdXJhbHMoaW5kZXhNYXAsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBwbHVyYWxzID0gW10gfSA9IGNvbnRleHQsXG4gICAgICAgIHNpbmd1bGFyUGx1cmFscyA9IHJlZHVjZVBsdXJhbHMocGx1cmFscywgaXNTaW5ndWxhciksXG4gICAgICAgIHBsdXJhbFBsdXJhbHMgPSBtYXBQbHVyYWxzKHNpbmd1bGFyUGx1cmFscywgc2luZ3VsYXJUb1BsdXJhbCk7XG5cbiAgZm9yRWFjaChpbmRleE1hcCwgKHdvcmRPclBocmFzZSwgcGFnZU51bWJlcnMpID0+IHtcbiAgICAgIGNvbnN0IHBsdXJhbFBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSA9IHBsdXJhbFBsdXJhbHMuaW5jbHVkZXMod29yZE9yUGhyYXNlKTtcblxuICAgICAgaWYgKHBsdXJhbFBsdXJhbHNJbmNsdWRlc1dvcmRPclBocmFzZSkge1xuICAgICAgICBjb25zdCBzaW5ndWxhcldvcmRPclBocmFzZSA9IHBsdXJhbFRvU2luZ3VsYXIod29yZE9yUGhyYXNlKSxcbiAgICAgICAgICAgICAgc2luZ3VsYXJQYWdlTnVtYmVycyA9IGluZGV4TWFwW3Npbmd1bGFyV29yZE9yUGhyYXNlXSB8fCBbXSxcbiAgICAgICAgICAgICAgcGx1cmFsV29yZE9yUGhyYXNlID0gd29yZE9yUGhyYXNlLCAgLy8vXG4gICAgICAgICAgICAgIHBsdXJhbFBhZ2VOdW1iZXJzID0gcGFnZU51bWJlcnM7ICAvLy9cblxuICAgICAgICBwYWdlTnVtYmVycyA9IFtcbiAgICAgICAgICAuLi5zaW5ndWxhclBhZ2VOdW1iZXJzLFxuICAgICAgICAgIC4uLnBsdXJhbFBhZ2VOdW1iZXJzXG4gICAgICAgIF07XG5cbiAgICAgICAgZGVsZXRlIGluZGV4TWFwW3BsdXJhbFdvcmRPclBocmFzZV07XG5cbiAgICAgICAgaW5kZXhNYXBbc2luZ3VsYXJXb3JkT3JQaHJhc2VdID0gcGFnZU51bWJlcnM7XG4gICAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZWR1Y2VQbHVyYWxzKHBsdXJhbHMsIGNhbGxiYWNrKSB7XG4gIHBsdXJhbHMgPSBwbHVyYWxzLnJlZHVjZSgocGx1cmFscywgcGx1cmFsKSA9PiB7IC8vL1xuICAgIGNvbnN0IHJlc3VsdCA9IGNhbGxiYWNrKHBsdXJhbCk7XG5cbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICBwbHVyYWxzLnB1c2gocGx1cmFsKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGx1cmFscztcbiAgfSwgW10pO1xuXG4gIHJldHVybiBwbHVyYWxzO1xufVxuXG5mdW5jdGlvbiBtYXBQbHVyYWxzKHBsdXJhbHMsIGNhbGxiYWNrKSB7XG4gIHBsdXJhbHMgPSBwbHVyYWxzLm1hcCgocGx1cmFsKSA9PiB7IC8vL1xuICAgIHBsdXJhbCA9IGNhbGxiYWNrKHBsdXJhbCk7XG5cbiAgICByZXR1cm4gcGx1cmFsO1xuICB9KTtcblxuICByZXR1cm4gcGx1cmFscztcbn1cblxuZnVuY3Rpb24gaXNTaW5ndWxhcih0ZXh0KSB7XG4gIGNvbnN0IGluZGV4TWF0Y2hlcyA9IC9bXnMpXSQvLnRlc3QodGV4dCksXG4gICAgICAgIHNpbmd1bGFyID0gaW5kZXhNYXRjaGVzOyAvLy9cblxuICByZXR1cm4gc2luZ3VsYXI7XG59XG5cbmZ1bmN0aW9uIGlzUGx1cmFsKHRleHQpIHtcbiAgY29uc3QgaW5kZXhNYXRjaGVzID0gLyhpZXN8cykkLy50ZXN0KHRleHQpLFxuICAgICAgICBwbHVyYWwgPSBpbmRleE1hdGNoZXM7IC8vL1xuXG4gIHJldHVybiBwbHVyYWw7XG59XG5cbmZ1bmN0aW9uIGlzTWl4ZWQodGV4dCkge1xuICBjb25zdCBpbmRleE1hdGNoZXMgPSAvXFwoc1xcKSQvLnRlc3QodGV4dCksXG4gICAgICAgIG1peGVkID0gaW5kZXhNYXRjaGVzOyAvLy9cblxuICByZXR1cm4gbWl4ZWQ7XG59XG5cbmZ1bmN0aW9uIG1peGVkVG9QbHVyYWwodGV4dCkge1xuICB0ZXh0ID0gdGV4dCAvLy9cbiAgICAgICAgICAgLnJlcGxhY2UoL1xcKHNcXCkkLywgU19TVFJJTkcpO1xuXG4gIHJldHVybiB0ZXh0O1xufVxuXG5mdW5jdGlvbiBwbHVyYWxUb01peGVkKHRleHQpIHtcbiAgdGV4dCA9IHRleHQgLy8vXG4gICAgICAgICAgIC5yZXBsYWNlKC9zJC8sIFBBUkVOVEhFU0lTRURfU19TVFJJTkcpXG5cbiAgcmV0dXJuIHRleHQ7XG59XG5cbmZ1bmN0aW9uIG1peGVkVG9TaW5ndWxhcih0ZXh0KSB7XG4gIHRleHQgPSB0ZXh0IC8vL1xuICAgICAgICAgIC5yZXBsYWNlKC9cXChzXFwpJC8sIEVNUFRZX1NUUklORyk7XG5cbiAgcmV0dXJuIHRleHQ7XG59XG5cbmZ1bmN0aW9uIHNpbmd1bGFyVG9NaXhlZCh0ZXh0KSB7XG4gIHRleHQgPSBgJHt0ZXh0fShzKWA7XG5cbiAgcmV0dXJuIHRleHQ7XG59XG5cbmZ1bmN0aW9uIHNpbmd1bGFyVG9QbHVyYWwodGV4dCkge1xuICB0ZXh0ID0gYCR7dGV4dH1zYCAvLy9cbiAgICAgICAgICAgLnJlcGxhY2UoL3lzJC8sIElFU19TVFJJTkcpO1xuXG4gIHJldHVybiB0ZXh0O1xufVxuXG5mdW5jdGlvbiBwbHVyYWxUb1Npbmd1bGFyKHRleHQpIHtcbiAgdGV4dCA9IHRleHQgLy8vXG4gICAgICAgICAgIC5yZXBsYWNlKC9pZXMkLywgWV9TVFJJTkcpXG4gICAgICAgICAgIC5yZXBsYWNlKC9zJC8sIEVNUFRZX1NUUklORyk7XG5cbiAgcmV0dXJuIHRleHQ7XG59XG4iXSwibmFtZXMiOlsiaW5kZXhNYXBGcm9tSW5kZXhEaXJlY3RpdmVIVE1MTm9kZUFuZERpdmlzaW9uSFRNTE5vZGVzIiwiY29tcHJlc3MiLCJhcnJheVV0aWxpdGllcyIsImlzTGVzc1RoYW4iLCJpc0FuY2VzdG9yT2YiLCJub2RlVXRpbGl0aWVzIiwiaW5kZXhEaXJlY3RpdmVIVE1MTm9kZSIsImRpdmlzaW9uSFRNTE5vZGVzIiwiY29udGV4dCIsImluZGV4TWFwIiwiY3JlYXRlSW5kZXhNYXAiLCJyZW1vdmVJZ25vcmVkV29yZHMiLCJhZGp1c3RNaXhlZFBsdXJhbHMiLCJhZGp1c3RQbHVyYWxQbHVyYWxzIiwiYWRqdXN0U2luZ3VsYXJQbHVyYWxzIiwiYWRqdXN0UHJvcGVyTm91bnMiLCJhZGp1c3RBY3JvbnltcyIsImNvbXByZXNzUGFnZU51bWJlcnMiLCJwaHJhc2VzIiwiaW5kZXhNYXRjaGVzIiwibWFwIiwicGhyYXNlIiwiaW5kZXhNYXRjaCIsIkluZGV4TWF0Y2giLCJmcm9tUGhyYXNlIiwiZm9yRWFjaCIsImRpdmlzaW9uSFRNTE5vZGUiLCJkaXZpc2lvbkhUTUxOb2RlTGVzc1RoYW5JbmRleERpcmVjdGl2ZUhUTUxOb2RlIiwiZGl2aXNpb25IVE1MTm9kZUFuY2VzdG9yT2ZJbmRleERpcmVjdGl2ZUhUTUxOb2RlIiwicGFnZU51bWJlciIsInBsYWluVGV4dCIsImFzUGxhaW5UZXh0Iiwid29yZHNPclBocmFzZXMiLCJ3b3Jkc09yUGhyYXNlc0Zyb21QbGFpblRleHRBbmRJbmRleE1hdGNoZXMiLCJ3b3JkT3JQaHJhc2UiLCJwYWdlTnVtYmVycyIsImhhc093blByb3BlcnR5IiwicHVzaCIsInByZXBhcmVQbGFpblRleHQiLCJyZXBsYWNlIiwic3BsaXQiLCJTSU5HTEVfU1BBQ0UiLCJyZXZlcnQiLCJtYXBWYWx1ZXMiLCJwYWdlTnVtYmVyQSIsInBhZ2VOdW1iZXJCIiwic29ydCIsIk51bWJlciIsImRpZmZlcmVuY2UiLCJpZ25vcmVkV29yZHMiLCJpZ25vcmVkV29yZCIsInByb3Blck5vdW5zIiwibG93ZXJDYXNlUHJvcGVyTm91bnMiLCJwcm9wZXJOb3VuIiwibG93ZXJDYXNlUHJvcGVyTm91biIsInRvTG93ZXJDYXNlIiwibWFwS2V5cyIsImluZGV4IiwiZmluZEluZGV4IiwibG93ZXJDYXNlUHJvcGVyTmFtZSIsIkVNUFRZX1NUUklORyIsImFjcm9ueW1zIiwibG93ZXJDYXNlQWNyb255bXMiLCJhY3JvbnltIiwibG93ZXJDYXNlQWNyb255bSIsInBsdXJhbHMiLCJtaXhlZFBsdXJhbHMiLCJyZWR1Y2VQbHVyYWxzIiwiaXNNaXhlZCIsInBsdXJhbFBsdXJhbHMiLCJtYXBQbHVyYWxzIiwibWl4ZWRUb1BsdXJhbCIsInNpbmd1bGFyUGx1cmFscyIsIm1peGVkVG9TaW5ndWxhciIsInNpbmd1bGFyUGx1cmFsc0luY2x1ZGVzV29yZE9yUGhyYXNlIiwiaW5jbHVkZXMiLCJzaW5ndWxhcldvcmRPclBocmFzZSIsInNpbmd1bGFyUGFnZU51bWJlcnMiLCJtaXhlZFdvcmRPclBocmFzZSIsInNpbmd1bGFyVG9NaXhlZCIsIm1peGVkUGFnZU51bWJlcnMiLCJwbHVyYWxQbHVyYWxzSW5jbHVkZXNXb3JkT3JQaHJhc2UiLCJwbHVyYWxXb3JkT3JQaHJhc2UiLCJwbHVyYWxQYWdlTnVtYmVycyIsInBsdXJhbFRvTWl4ZWQiLCJpc1BsdXJhbCIsInBsdXJhbFRvU2luZ3VsYXIiLCJzaW5ndWxhclRvUGx1cmFsIiwiaXNTaW5ndWxhciIsImNhbGxiYWNrIiwicmVkdWNlIiwicGx1cmFsIiwicmVzdWx0IiwidGV4dCIsInRlc3QiLCJzaW5ndWxhciIsIm1peGVkIiwiU19TVFJJTkciLCJQQVJFTlRIRVNJU0VEX1NfU1RSSU5HIiwiSUVTX1NUUklORyIsIllfU1RS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
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get findJSXElement () {
|
|
13
|
+
return findJSXElement;
|
|
14
|
+
},
|
|
15
|
+
get isTagNameJSXTagName () {
|
|
16
|
+
return isTagNameJSXTagName;
|
|
17
|
+
},
|
|
18
|
+
get mountJSXElement () {
|
|
19
|
+
return mountJSXElement;
|
|
20
|
+
},
|
|
21
|
+
get unmountJSXElement () {
|
|
22
|
+
return unmountJSXElement;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
const jsxNameRegularExpression = /^[A-Z]/;
|
|
26
|
+
function findJSXElement(tagName, context) {
|
|
27
|
+
const { JSXElements = [] } = context, JSXElement = JSXElements.find((JSXElement)=>{
|
|
28
|
+
const { defaultProperties = {} } = JSXElement, { name } = defaultProperties, nameTagName = name === tagName;
|
|
29
|
+
if (nameTagName) {
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
}) || null;
|
|
33
|
+
return JSXElement;
|
|
34
|
+
}
|
|
35
|
+
function mountJSXElement(jsxElement) {
|
|
36
|
+
const element = jsxElement, descendantElements = element.getDescendantElements(), elements = [
|
|
37
|
+
element,
|
|
38
|
+
...descendantElements
|
|
39
|
+
];
|
|
40
|
+
elements.reverse(); ///
|
|
41
|
+
elements.forEach((element)=>{
|
|
42
|
+
element.didMount && element.didMount();
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
function unmountJSXElement(jsxElement) {
|
|
46
|
+
const element = jsxElement, descendantElements = element.getDescendantElements(), elements = [
|
|
47
|
+
element,
|
|
48
|
+
...descendantElements
|
|
49
|
+
];
|
|
50
|
+
elements.forEach((element)=>{
|
|
51
|
+
element.willUnmount && element.willUnmount();
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function isTagNameJSXTagName(tagName) {
|
|
55
|
+
const tagNameJSXTagName = jsxNameRegularExpression.test(tagName); ///
|
|
56
|
+
return tagNameJSXTagName;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvanN4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBqc3hOYW1lUmVndWxhckV4cHJlc3Npb24gPSAvXltBLVpdLztcblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRKU1hFbGVtZW50KHRhZ05hbWUsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBKU1hFbGVtZW50cyA9IFtdIH0gPSBjb250ZXh0LFxuICAgICAgICBKU1hFbGVtZW50ID0gSlNYRWxlbWVudHMuZmluZCgoSlNYRWxlbWVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgZGVmYXVsdFByb3BlcnRpZXMgPSB7fSB9ID0gSlNYRWxlbWVudCxcbiAgICAgICAgICAgICAgICB7IG5hbWUgfSA9IGRlZmF1bHRQcm9wZXJ0aWVzLFxuICAgICAgICAgICAgICAgIG5hbWVUYWdOYW1lID0gKG5hbWUgPT09IHRhZ05hbWUpO1xuXG4gICAgICAgICAgaWYgKG5hbWVUYWdOYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pIHx8IG51bGw7XG5cbiAgcmV0dXJuIEpTWEVsZW1lbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb3VudEpTWEVsZW1lbnQoanN4RWxlbWVudCkge1xuICBjb25zdCBlbGVtZW50ID0ganN4RWxlbWVudCwgLy8vXG4gICAgICAgIGRlc2NlbmRhbnRFbGVtZW50cyA9IGVsZW1lbnQuZ2V0RGVzY2VuZGFudEVsZW1lbnRzKCksXG4gICAgICAgIGVsZW1lbnRzID0gW1xuICAgICAgICAgIGVsZW1lbnQsXG4gICAgICAgICAgLi4uZGVzY2VuZGFudEVsZW1lbnRzXG4gICAgICAgIF07XG5cbiAgZWxlbWVudHMucmV2ZXJzZSgpOyAvLy9cblxuICBlbGVtZW50cy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgZWxlbWVudC5kaWRNb3VudCAmJiBlbGVtZW50LmRpZE1vdW50KCk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5tb3VudEpTWEVsZW1lbnQoanN4RWxlbWVudCkge1xuICBjb25zdCBlbGVtZW50ID0ganN4RWxlbWVudCwgLy8vXG4gICAgICAgIGRlc2NlbmRhbnRFbGVtZW50cyA9IGVsZW1lbnQuZ2V0RGVzY2VuZGFudEVsZW1lbnRzKCksXG4gICAgICAgIGVsZW1lbnRzID0gW1xuICAgICAgICAgIGVsZW1lbnQsXG4gICAgICAgICAgLi4uZGVzY2VuZGFudEVsZW1lbnRzXG4gICAgICAgIF07XG5cbiAgZWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgIGVsZW1lbnQud2lsbFVubW91bnQgJiYgZWxlbWVudC53aWxsVW5tb3VudCgpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVGFnTmFtZUpTWFRhZ05hbWUodGFnTmFtZSkge1xuICBjb25zdCB0YWdOYW1lSlNYVGFnTmFtZSA9IGpzeE5hbWVSZWd1bGFyRXhwcmVzc2lvbi50ZXN0KHRhZ05hbWUpOyAvLy9cblxuICByZXR1cm4gdGFnTmFtZUpTWFRhZ05hbWU7XG59XG4iXSwibmFtZXMiOlsiZmluZEpTWEVsZW1lbnQiLCJpc1RhZ05hbWVKU1hUYWdOYW1lIiwibW91bnRKU1hFbGVtZW50IiwidW5tb3VudEpTWEVsZW1lbnQiLCJqc3hOYW1lUmVndWxhckV4cHJlc3Npb24iLCJ0YWdOYW1lIiwiY29udGV4dCIsIkpTWEVsZW1lbnRzIiwiSlNYRWxlbWVudCIsImZpbmQiLCJkZWZhdWx0UHJvcGVydGllcyIsIm5hbWUiLCJuYW1lVGFnTmFtZSIsImpzeEVsZW1lbnQiLCJlbGVtZW50IiwiZGVzY2VuZGFudEVsZW1lbnRzIiwiZ2V0RGVzY2VuZGFudEVsZW1lbnRzIiwiZWxlbWVudHMiLCJyZXZlcnNlIiwiZm9yRWFjaCIsImRpZE1vdW50Iiwid2lsbFVubW91bnQiLCJ0YWdOYW1lSlNYVGFnTmFtZSIsInRlc3QiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQUlnQkE7ZUFBQUE7O1FBMkNBQztlQUFBQTs7UUE1QkFDO2VBQUFBOztRQWVBQztlQUFBQTs7O0FBaENoQixNQUFNQywyQkFBMkI7QUFFMUIsU0FBU0osZUFBZUssT0FBTyxFQUFFQyxPQUFPO0lBQzdDLE1BQU0sRUFBRUMsY0FBYyxFQUFFLEVBQUUsR0FBR0QsU0FDdkJFLGFBQWFELFlBQVlFLElBQUksQ0FBQyxDQUFDRDtRQUM3QixNQUFNLEVBQUVFLG9CQUFvQixDQUFDLENBQUMsRUFBRSxHQUFHRixZQUM3QixFQUFFRyxJQUFJLEVBQUUsR0FBR0QsbUJBQ1hFLGNBQWVELFNBQVNOO1FBRTlCLElBQUlPLGFBQWE7WUFDZixPQUFPO1FBQ1Q7SUFDRixNQUFNO0lBRVosT0FBT0o7QUFDVDtBQUVPLFNBQVNOLGdCQUFnQlcsVUFBVTtJQUN4QyxNQUFNQyxVQUFVRCxZQUNWRSxxQkFBcUJELFFBQVFFLHFCQUFxQixJQUNsREMsV0FBVztRQUNUSDtXQUNHQztLQUNKO0lBRVBFLFNBQVNDLE9BQU8sSUFBSSxHQUFHO0lBRXZCRCxTQUFTRSxPQUFPLENBQUMsQ0FBQ0w7UUFDaEJBLFFBQVFNLFFBQVEsSUFBSU4sUUFBUU0sUUFBUTtJQUN0QztBQUNGO0FBRU8sU0FBU2pCLGtCQUFrQlUsVUFBVTtJQUMxQyxNQUFNQyxVQUFVRCxZQUNWRSxxQkFBcUJELFFBQVFFLHFCQUFxQixJQUNsREMsV0FBVztRQUNUSDtXQUNHQztLQUNKO0lBRVBFLFNBQVNFLE9BQU8sQ0FBQyxDQUFDTDtRQUNoQkEsUUFBUU8sV0FBVyxJQUFJUCxRQUFRTyxXQUFXO0lBQzVDO0FBQ0Y7QUFFTyxTQUFTcEIsb0JBQW9CSSxPQUFPO0lBQ3pDLE1BQU1pQixvQkFBb0JsQix5QkFBeUJtQixJQUFJLENBQUNsQixVQUFVLEdBQUc7SUFFckUsT0FBT2lCO0FBQ1QifQ==
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get default () {
|
|
13
|
+
return _default;
|
|
14
|
+
},
|
|
15
|
+
get embedDirectiveMarkdownNodesFromNode () {
|
|
16
|
+
return embedDirectiveMarkdownNodesFromNode;
|
|
17
|
+
},
|
|
18
|
+
get ignoreDirectiveMarkdownNodeFromNode () {
|
|
19
|
+
return ignoreDirectiveMarkdownNodeFromNode;
|
|
20
|
+
},
|
|
21
|
+
get includeDirectiveMarkdownNodesFromNode () {
|
|
22
|
+
return includeDirectiveMarkdownNodesFromNode;
|
|
23
|
+
},
|
|
24
|
+
get subDivisionMarkdownNodeFromNode () {
|
|
25
|
+
return subDivisionMarkdownNodeFromNode;
|
|
26
|
+
},
|
|
27
|
+
get subDivisionMarkdownNodesFromNode () {
|
|
28
|
+
return subDivisionMarkdownNodesFromNode;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
const _occamquery = require("occam-query");
|
|
32
|
+
const _query = require("../utilities/query");
|
|
33
|
+
const subDivisionMarkdownNodeQuery = _occamquery.Query.fromExpressionString("/division/subDivision"), ignoreDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpressionString("/division/subDivision/directives/ignoreDirective"), subDivisionMarkdownNodesQuery = _occamquery.Query.fromExpressionString("/division/subDivision"), embedDirectiveMarkdownNodesQuery = _occamquery.Query.fromExpressionString("/subDivision/directives/embedDirective"), includeDirectiveMarkdownNodesQuery = _occamquery.Query.fromExpressionString("/division/subDivision/directives/includeDirective");
|
|
34
|
+
function subDivisionMarkdownNodeFromNode(node) {
|
|
35
|
+
const subDivisionMarkdownNode = (0, _query.nodeFromNodeAndQuery)(node, subDivisionMarkdownNodeQuery);
|
|
36
|
+
return subDivisionMarkdownNode;
|
|
37
|
+
}
|
|
38
|
+
function ignoreDirectiveMarkdownNodeFromNode(node) {
|
|
39
|
+
const ignoreDirectiveMarkdownNode = (0, _query.nodeFromNodeAndQuery)(node, ignoreDirectiveMarkdownNodeQuery);
|
|
40
|
+
return ignoreDirectiveMarkdownNode;
|
|
41
|
+
}
|
|
42
|
+
function subDivisionMarkdownNodesFromNode(node, subDivisionMarkdownNodes = []) {
|
|
43
|
+
(0, _query.nodesFromNodeAndQuery)(node, subDivisionMarkdownNodesQuery, subDivisionMarkdownNodes);
|
|
44
|
+
return subDivisionMarkdownNodes;
|
|
45
|
+
}
|
|
46
|
+
function embedDirectiveMarkdownNodesFromNode(node, embedDirectiveMarkdownNodes = []) {
|
|
47
|
+
(0, _query.nodesFromNodeAndQuery)(node, embedDirectiveMarkdownNodesQuery, embedDirectiveMarkdownNodes);
|
|
48
|
+
return embedDirectiveMarkdownNodes;
|
|
49
|
+
}
|
|
50
|
+
function includeDirectiveMarkdownNodesFromNode(node, includeDirectiveMarkdownNodes = []) {
|
|
51
|
+
(0, _query.nodesFromNodeAndQuery)(node, includeDirectiveMarkdownNodesQuery, includeDirectiveMarkdownNodes);
|
|
52
|
+
return includeDirectiveMarkdownNodes;
|
|
53
|
+
}
|
|
54
|
+
const _default = {
|
|
55
|
+
subDivisionMarkdownNodeFromNode,
|
|
56
|
+
ignoreDirectiveMarkdownNodeFromNode,
|
|
57
|
+
embedDirectiveMarkdownNodesFromNode,
|
|
58
|
+
includeDirectiveMarkdownNodesFromNode
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbWFya2Rvd24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5cbmltcG9ydCB7IG5vZGVGcm9tTm9kZUFuZFF1ZXJ5LCBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhcIi9kaXZpc2lvbi9zdWJEaXZpc2lvblwiKSxcbiAgICAgIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoXCIvZGl2aXNpb24vc3ViRGl2aXNpb24vZGlyZWN0aXZlcy9pZ25vcmVEaXJlY3RpdmVcIiksXG4gICAgICBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKFwiL2RpdmlzaW9uL3N1YkRpdmlzaW9uXCIpLFxuICAgICAgZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhcIi9zdWJEaXZpc2lvbi9kaXJlY3RpdmVzL2VtYmVkRGlyZWN0aXZlXCIpLFxuICAgICAgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uU3RyaW5nKFwiL2RpdmlzaW9uL3N1YkRpdmlzaW9uL2RpcmVjdGl2ZXMvaW5jbHVkZURpcmVjdGl2ZVwiKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSA9IG5vZGVGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlUXVlcnkpO1xuXG4gIHJldHVybiBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlKG5vZGUpIHtcbiAgY29uc3QgaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlID0gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkpO1xuXG4gIHJldHVybiBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzUXVlcnksIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUsIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSwgZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzKTtcblxuICByZXR1cm4gZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5LCBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlRnJvbU5vZGUsXG4gIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlLFxuICBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZVxufTtcbiJdLCJuYW1lcyI6WyJlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSIsImlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlIiwiaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSIsInN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlRnJvbU5vZGUiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZSIsInN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlUXVlcnkiLCJRdWVyeSIsImZyb21FeHByZXNzaW9uU3RyaW5nIiwiaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNRdWVyeSIsImVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5IiwiaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSIsIm5vZGUiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSIsIm5vZGVGcm9tTm9kZUFuZFF1ZXJ5IiwiaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlIiwic3ViRGl2aXNpb25NYXJrZG93bk5vZGVzIiwibm9kZXNGcm9tTm9kZUFuZFF1ZXJ5IiwiZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzIiwiaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQTBDQTtlQUFBOztRQVpnQkE7ZUFBQUE7O1FBWkFDO2VBQUFBOztRQWtCQUM7ZUFBQUE7O1FBeEJBQztlQUFBQTs7UUFZQUM7ZUFBQUE7Ozs0QkF0Qk07dUJBRXNDO0FBRTVELE1BQU1DLCtCQUErQkMsaUJBQUssQ0FBQ0Msb0JBQW9CLENBQUMsMEJBQzFEQyxtQ0FBbUNGLGlCQUFLLENBQUNDLG9CQUFvQixDQUFDLHFEQUM5REUsZ0NBQWdDSCxpQkFBSyxDQUFDQyxvQkFBb0IsQ0FBQywwQkFDM0RHLG1DQUFtQ0osaUJBQUssQ0FBQ0Msb0JBQW9CLENBQUMsMkNBQzlESSxxQ0FBcUNMLGlCQUFLLENBQUNDLG9CQUFvQixDQUFDO0FBRS9ELFNBQVNKLGdDQUFnQ1MsSUFBSTtJQUNsRCxNQUFNQywwQkFBMEJDLElBQUFBLDJCQUFvQixFQUFDRixNQUFNUDtJQUUzRCxPQUFPUTtBQUNUO0FBRU8sU0FBU1osb0NBQW9DVyxJQUFJO0lBQ3RELE1BQU1HLDhCQUE4QkQsSUFBQUEsMkJBQW9CLEVBQUNGLE1BQU1KO0lBRS9ELE9BQU9PO0FBQ1Q7QUFFTyxTQUFTWCxpQ0FBaUNRLElBQUksRUFBRUksMkJBQTJCLEVBQUU7SUFDbEZDLElBQUFBLDRCQUFxQixFQUFDTCxNQUFNSCwrQkFBK0JPO0lBRTNELE9BQU9BO0FBQ1Q7QUFFTyxTQUFTaEIsb0NBQW9DWSxJQUFJLEVBQUVNLDhCQUE4QixFQUFFO0lBQ3hGRCxJQUFBQSw0QkFBcUIsRUFBQ0wsTUFBTUYsa0NBQWtDUTtJQUU5RCxPQUFPQTtBQUNUO0FBRU8sU0FBU2hCLHNDQUFzQ1UsSUFBSSxFQUFFTyxnQ0FBZ0MsRUFBRTtJQUM1RkYsSUFBQUEsNEJBQXFCLEVBQUNMLE1BQU1ELG9DQUFvQ1E7SUFFaEUsT0FBT0E7QUFDVDtNQUVBLFdBQWU7SUFDYmhCO0lBQ0FGO0lBQ0FEO0lBQ0FFO0FBQ0YifQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
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 _default;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _default = {};
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbWFya2Rvd25TdHlsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGRlZmF1bHQge307XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRUE7OztlQUFBOzs7TUFBQSxXQUFlLENBQUMifQ==
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get filter () {
|
|
13
|
+
return filter;
|
|
14
|
+
},
|
|
15
|
+
get forEach () {
|
|
16
|
+
return forEach;
|
|
17
|
+
},
|
|
18
|
+
get mapKeys () {
|
|
19
|
+
return mapKeys;
|
|
20
|
+
},
|
|
21
|
+
get mapValues () {
|
|
22
|
+
return mapValues;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
function forEach(object, callback) {
|
|
26
|
+
const keys = Object.keys(object);
|
|
27
|
+
keys.forEach((key)=>{
|
|
28
|
+
const value = object[key];
|
|
29
|
+
callback(key, value);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function filter(object, callback) {
|
|
33
|
+
const keys = Object.keys(object);
|
|
34
|
+
keys.forEach((key)=>{
|
|
35
|
+
const value = object[key], result = callback(key, value);
|
|
36
|
+
if (!result) {
|
|
37
|
+
delete object[key];
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
function mapKeys(object, callback) {
|
|
42
|
+
let keys = Object.keys(object);
|
|
43
|
+
const values = [];
|
|
44
|
+
keys = keys.map((key)=>{
|
|
45
|
+
const value = object[key];
|
|
46
|
+
delete object[key];
|
|
47
|
+
key = callback(key, value); ///
|
|
48
|
+
values.push(value);
|
|
49
|
+
return key;
|
|
50
|
+
});
|
|
51
|
+
keys.forEach((key, index)=>{
|
|
52
|
+
const value = values[index];
|
|
53
|
+
object[key] = value;
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
function mapValues(object, callback) {
|
|
57
|
+
const keys = Object.keys(object);
|
|
58
|
+
keys.forEach((key)=>{
|
|
59
|
+
let value = object[key];
|
|
60
|
+
value = callback(key, value); ///
|
|
61
|
+
object[key] = value;
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvb2JqZWN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gZm9yRWFjaChvYmplY3QsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpO1xuXG4gIGtleXMuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSBvYmplY3Rba2V5XTtcblxuICAgIGNhbGxiYWNrKGtleSwgdmFsdWUpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlcihvYmplY3QsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpO1xuXG4gIGtleXMuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSBvYmplY3Rba2V5XSxcbiAgICAgICAgICByZXN1bHQgPSBjYWxsYmFjayhrZXksIHZhbHVlKTtcblxuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICBkZWxldGUgb2JqZWN0W2tleV07XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hcEtleXMob2JqZWN0LCBjYWxsYmFjaykge1xuICBsZXQga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7XG5cbiAgY29uc3QgdmFsdWVzID0gW107XG5cbiAga2V5cyA9IGtleXMubWFwKChrZXkpID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9IG9iamVjdFtrZXldO1xuXG4gICAgZGVsZXRlIG9iamVjdFtrZXldO1xuXG4gICAga2V5ID0gY2FsbGJhY2soa2V5LCB2YWx1ZSk7IC8vL1xuXG4gICAgdmFsdWVzLnB1c2godmFsdWUpO1xuXG4gICAgcmV0dXJuIGtleTtcbiAgfSk7XG5cbiAga2V5cy5mb3JFYWNoKChrZXksIGluZGV4KSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSB2YWx1ZXNbaW5kZXhdO1xuXG4gICAgb2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXBWYWx1ZXMob2JqZWN0LCBjYWxsYmFjaykge1xuICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTtcblxuICBrZXlzLmZvckVhY2goKGtleSkgPT4ge1xuICAgIGxldCB2YWx1ZSA9IG9iamVjdFtrZXldO1xuXG4gICAgdmFsdWUgPSBjYWxsYmFjayhrZXksIHZhbHVlKTsgLy8vXG5cbiAgICBvYmplY3Rba2V5XSA9IHZhbHVlO1xuICB9KTtcbn0iXSwibmFtZXMiOlsiZmlsdGVyIiwiZm9yRWFjaCIsIm1hcEtleXMiLCJtYXBWYWx1ZXMiLCJvYmplY3QiLCJjYWxsYmFjayIsImtleXMiLCJPYmplY3QiLCJrZXkiLCJ2YWx1ZSIsInJlc3VsdCIsInZhbHVlcyIsIm1hcCIsInB1c2giLCJpbmRleCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBWWdCQTtlQUFBQTs7UUFWQUM7ZUFBQUE7O1FBdUJBQztlQUFBQTs7UUF3QkFDO2VBQUFBOzs7QUEvQ1QsU0FBU0YsUUFBUUcsTUFBTSxFQUFFQyxRQUFRO0lBQ3RDLE1BQU1DLE9BQU9DLE9BQU9ELElBQUksQ0FBQ0Y7SUFFekJFLEtBQUtMLE9BQU8sQ0FBQyxDQUFDTztRQUNaLE1BQU1DLFFBQVFMLE1BQU0sQ0FBQ0ksSUFBSTtRQUV6QkgsU0FBU0csS0FBS0M7SUFDaEI7QUFDRjtBQUVPLFNBQVNULE9BQU9JLE1BQU0sRUFBRUMsUUFBUTtJQUNyQyxNQUFNQyxPQUFPQyxPQUFPRCxJQUFJLENBQUNGO0lBRXpCRSxLQUFLTCxPQUFPLENBQUMsQ0FBQ087UUFDWixNQUFNQyxRQUFRTCxNQUFNLENBQUNJLElBQUksRUFDbkJFLFNBQVNMLFNBQVNHLEtBQUtDO1FBRTdCLElBQUksQ0FBQ0MsUUFBUTtZQUNYLE9BQU9OLE1BQU0sQ0FBQ0ksSUFBSTtRQUNwQjtJQUNGO0FBQ0Y7QUFFTyxTQUFTTixRQUFRRSxNQUFNLEVBQUVDLFFBQVE7SUFDdEMsSUFBSUMsT0FBT0MsT0FBT0QsSUFBSSxDQUFDRjtJQUV2QixNQUFNTyxTQUFTLEVBQUU7SUFFakJMLE9BQU9BLEtBQUtNLEdBQUcsQ0FBQyxDQUFDSjtRQUNmLE1BQU1DLFFBQVFMLE1BQU0sQ0FBQ0ksSUFBSTtRQUV6QixPQUFPSixNQUFNLENBQUNJLElBQUk7UUFFbEJBLE1BQU1ILFNBQVNHLEtBQUtDLFFBQVEsR0FBRztRQUUvQkUsT0FBT0UsSUFBSSxDQUFDSjtRQUVaLE9BQU9EO0lBQ1Q7SUFFQUYsS0FBS0wsT0FBTyxDQUFDLENBQUNPLEtBQUtNO1FBQ2pCLE1BQU1MLFFBQVFFLE1BQU0sQ0FBQ0csTUFBTTtRQUUzQlYsTUFBTSxDQUFDSSxJQUFJLEdBQUdDO0lBQ2hCO0FBQ0Y7QUFFTyxTQUFTTixVQUFVQyxNQUFNLEVBQUVDLFFBQVE7SUFDeEMsTUFBTUMsT0FBT0MsT0FBT0QsSUFBSSxDQUFDRjtJQUV6QkUsS0FBS0wsT0FBTyxDQUFDLENBQUNPO1FBQ1osSUFBSUMsUUFBUUwsTUFBTSxDQUFDSSxJQUFJO1FBRXZCQyxRQUFRSixTQUFTRyxLQUFLQyxRQUFRLEdBQUc7UUFFakNMLE1BQU0sQ0FBQ0ksSUFBSSxHQUFHQztJQUNoQjtBQUNGIn0=
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get nodeFromNodeAndQuery () {
|
|
13
|
+
return nodeFromNodeAndQuery;
|
|
14
|
+
},
|
|
15
|
+
get nodeQuery () {
|
|
16
|
+
return nodeQuery;
|
|
17
|
+
},
|
|
18
|
+
get nodesFromNodeAndQueries () {
|
|
19
|
+
return nodesFromNodeAndQueries;
|
|
20
|
+
},
|
|
21
|
+
get nodesFromNodeAndQuery () {
|
|
22
|
+
return nodesFromNodeAndQuery;
|
|
23
|
+
},
|
|
24
|
+
get nodesQuery () {
|
|
25
|
+
return nodesQuery;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
const _occamquery = require("occam-query");
|
|
29
|
+
const _necessary = require("necessary");
|
|
30
|
+
const { push } = _necessary.arrayUtilities;
|
|
31
|
+
function nodeQuery(expression) {
|
|
32
|
+
const query = _occamquery.Query.fromExpressionString(expression);
|
|
33
|
+
return function(node) {
|
|
34
|
+
const nodes = query.execute(node);
|
|
35
|
+
node = nodes.shift() || null; ///
|
|
36
|
+
return node;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function nodesQuery(expression) {
|
|
40
|
+
const query = _occamquery.Query.fromExpressionString(expression);
|
|
41
|
+
return function(node) {
|
|
42
|
+
const nodes = query.execute(node);
|
|
43
|
+
return nodes;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function nodeFromNodeAndQuery(node, query) {
|
|
47
|
+
const queryNodes = query.execute(node), queryNode = queryNodes.shift() || null;
|
|
48
|
+
node = queryNode; ///
|
|
49
|
+
return node;
|
|
50
|
+
}
|
|
51
|
+
function nodesFromNodeAndQuery(node, query, nodes) {
|
|
52
|
+
const queryNodes = query.execute(node);
|
|
53
|
+
push(nodes, queryNodes);
|
|
54
|
+
return nodes;
|
|
55
|
+
}
|
|
56
|
+
function nodesFromNodeAndQueries(node, queries, nodes = []) {
|
|
57
|
+
queries.forEach((query)=>{
|
|
58
|
+
const queryNodes = query.execute(node);
|
|
59
|
+
push(nodes, queryNodes);
|
|
60
|
+
});
|
|
61
|
+
return nodes;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcXVlcnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuY29uc3QgeyBwdXNoIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIG5vZGVRdWVyeShleHByZXNzaW9uKSB7XG4gIGNvbnN0IHF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoZXhwcmVzc2lvbik7XG5cbiAgcmV0dXJuIGZ1bmN0aW9uKG5vZGUpIHtcbiAgICBjb25zdCBub2RlcyA9IHF1ZXJ5LmV4ZWN1dGUobm9kZSk7XG5cbiAgICBub2RlID0gbm9kZXMuc2hpZnQoKSB8fCBudWxsOyAvLy9cblxuICAgIHJldHVybiBub2RlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub2Rlc1F1ZXJ5KGV4cHJlc3Npb24pIHtcbiAgY29uc3QgcXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhleHByZXNzaW9uKTtcblxuICByZXR1cm4gZnVuY3Rpb24obm9kZSkge1xuICAgIGNvbnN0IG5vZGVzID0gcXVlcnkuZXhlY3V0ZShub2RlKTtcblxuICAgIHJldHVybiBub2RlcztcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgcXVlcnkpIHtcbiAgY29uc3QgcXVlcnlOb2RlcyA9IHF1ZXJ5LmV4ZWN1dGUobm9kZSksXG4gICAgICAgIHF1ZXJ5Tm9kZSA9IHF1ZXJ5Tm9kZXMuc2hpZnQoKSB8fCBudWxsO1xuXG4gIG5vZGUgPSBxdWVyeU5vZGU7ICAvLy9cblxuICByZXR1cm4gbm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBxdWVyeSwgbm9kZXMpIHtcbiAgY29uc3QgcXVlcnlOb2RlcyA9IHF1ZXJ5LmV4ZWN1dGUobm9kZSk7XG5cbiAgcHVzaChub2RlcywgcXVlcnlOb2Rlcyk7XG5cbiAgcmV0dXJuIG5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9kZXNGcm9tTm9kZUFuZFF1ZXJpZXMobm9kZSwgcXVlcmllcywgbm9kZXMgPSBbXSkge1xuICBxdWVyaWVzLmZvckVhY2goKHF1ZXJ5KSA9PiB7XG4gICAgY29uc3QgcXVlcnlOb2RlcyA9IHF1ZXJ5LmV4ZWN1dGUobm9kZSk7XG5cbiAgICBwdXNoKG5vZGVzLCBxdWVyeU5vZGVzKTtcbiAgfSk7XG5cbiAgcmV0dXJuIG5vZGVzO1xufVxuIl0sIm5hbWVzIjpbIm5vZGVGcm9tTm9kZUFuZFF1ZXJ5Iiwibm9kZVF1ZXJ5Iiwibm9kZXNGcm9tTm9kZUFuZFF1ZXJpZXMiLCJub2Rlc0Zyb21Ob2RlQW5kUXVlcnkiLCJub2Rlc1F1ZXJ5IiwicHVzaCIsImFycmF5VXRpbGl0aWVzIiwiZXhwcmVzc2lvbiIsInF1ZXJ5IiwiUXVlcnkiLCJmcm9tRXhwcmVzc2lvblN0cmluZyIsIm5vZGUiLCJub2RlcyIsImV4ZWN1dGUiLCJzaGlmdCIsInF1ZXJ5Tm9kZXMiLCJxdWVyeU5vZGUiLCJxdWVyaWVzIiwiZm9yRWFjaCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBNkJnQkE7ZUFBQUE7O1FBdEJBQztlQUFBQTs7UUF1Q0FDO2VBQUFBOztRQVJBQztlQUFBQTs7UUFuQkFDO2VBQUFBOzs7NEJBakJNOzJCQUNTO0FBRS9CLE1BQU0sRUFBRUMsSUFBSSxFQUFFLEdBQUdDLHlCQUFjO0FBRXhCLFNBQVNMLFVBQVVNLFVBQVU7SUFDbEMsTUFBTUMsUUFBUUMsaUJBQUssQ0FBQ0Msb0JBQW9CLENBQUNIO0lBRXpDLE9BQU8sU0FBU0ksSUFBSTtRQUNsQixNQUFNQyxRQUFRSixNQUFNSyxPQUFPLENBQUNGO1FBRTVCQSxPQUFPQyxNQUFNRSxLQUFLLE1BQU0sTUFBTSxHQUFHO1FBRWpDLE9BQU9IO0lBQ1Q7QUFDRjtBQUVPLFNBQVNQLFdBQVdHLFVBQVU7SUFDbkMsTUFBTUMsUUFBUUMsaUJBQUssQ0FBQ0Msb0JBQW9CLENBQUNIO0lBRXpDLE9BQU8sU0FBU0ksSUFBSTtRQUNsQixNQUFNQyxRQUFRSixNQUFNSyxPQUFPLENBQUNGO1FBRTVCLE9BQU9DO0lBQ1Q7QUFDRjtBQUVPLFNBQVNaLHFCQUFxQlcsSUFBSSxFQUFFSCxLQUFLO0lBQzlDLE1BQU1PLGFBQWFQLE1BQU1LLE9BQU8sQ0FBQ0YsT0FDM0JLLFlBQVlELFdBQVdELEtBQUssTUFBTTtJQUV4Q0gsT0FBT0ssV0FBWSxHQUFHO0lBRXRCLE9BQU9MO0FBQ1Q7QUFFTyxTQUFTUixzQkFBc0JRLElBQUksRUFBRUgsS0FBSyxFQUFFSSxLQUFLO0lBQ3RELE1BQU1HLGFBQWFQLE1BQU1LLE9BQU8sQ0FBQ0Y7SUFFakNOLEtBQUtPLE9BQU9HO0lBRVosT0FBT0g7QUFDVDtBQUVPLFNBQVNWLHdCQUF3QlMsSUFBSSxFQUFFTSxPQUFPLEVBQUVMLFFBQVEsRUFBRTtJQUMvREssUUFBUUMsT0FBTyxDQUFDLENBQUNWO1FBQ2YsTUFBTU8sYUFBYVAsTUFBTUssT0FBTyxDQUFDRjtRQUVqQ04sS0FBS08sT0FBT0c7SUFDZDtJQUVBLE9BQU9IO0FBQ1QifQ==
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get removeBackticks () {
|
|
13
|
+
return removeBackticks;
|
|
14
|
+
},
|
|
15
|
+
get removeLeadingWhitespace () {
|
|
16
|
+
return removeLeadingWhitespace;
|
|
17
|
+
},
|
|
18
|
+
get removeNonAlphabeticCharacters () {
|
|
19
|
+
return removeNonAlphabeticCharacters;
|
|
20
|
+
},
|
|
21
|
+
get removeTrailingWhitespace () {
|
|
22
|
+
return removeTrailingWhitespace;
|
|
23
|
+
},
|
|
24
|
+
get removeWhitespace () {
|
|
25
|
+
return removeWhitespace;
|
|
26
|
+
},
|
|
27
|
+
get replaceSpacesWithHyphens () {
|
|
28
|
+
return replaceSpacesWithHyphens;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
const _constants = require("../constants");
|
|
32
|
+
function removeBackticks(string) {
|
|
33
|
+
return string.replace(/^`|`$/g, _constants.EMPTY_STRING);
|
|
34
|
+
}
|
|
35
|
+
function removeWhitespace(string) {
|
|
36
|
+
return string.replace(/^[\n ]+|[\n ]+$/g, _constants.EMPTY_STRING);
|
|
37
|
+
}
|
|
38
|
+
function removeLeadingWhitespace(string) {
|
|
39
|
+
return string.replace(/^[\n ]+/, _constants.EMPTY_STRING);
|
|
40
|
+
}
|
|
41
|
+
function removeTrailingWhitespace(string) {
|
|
42
|
+
return string.replace(/[\n ]+$/, _constants.EMPTY_STRING);
|
|
43
|
+
}
|
|
44
|
+
function replaceSpacesWithHyphens(string) {
|
|
45
|
+
return string.replace(/ +/g, _constants.HYPHEN);
|
|
46
|
+
}
|
|
47
|
+
function removeNonAlphabeticCharacters(string) {
|
|
48
|
+
return string.replace(/[^a-z\-]/g, _constants.EMPTY_STRING);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBIWVBIRU4sIEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUJhY2t0aWNrcyhzdHJpbmcpIHsgcmV0dXJuIHN0cmluZy5yZXBsYWNlKC9eYHxgJC9nLCBFTVBUWV9TVFJJTkcpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVXaGl0ZXNwYWNlKHN0cmluZykgeyByZXR1cm4gc3RyaW5nLnJlcGxhY2UoL15bXFxuIF0rfFtcXG4gXSskL2csIEVNUFRZX1NUUklORykgfVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlTGVhZGluZ1doaXRlc3BhY2Uoc3RyaW5nKSB7IHJldHVybiBzdHJpbmcucmVwbGFjZSgvXltcXG4gXSsvLCBFTVBUWV9TVFJJTkcpIH1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVRyYWlsaW5nV2hpdGVzcGFjZShzdHJpbmcpIHsgcmV0dXJuIHN0cmluZy5yZXBsYWNlKC9bXFxuIF0rJC8sIEVNUFRZX1NUUklORykgfVxuXG5leHBvcnQgZnVuY3Rpb24gcmVwbGFjZVNwYWNlc1dpdGhIeXBoZW5zKHN0cmluZykgeyByZXR1cm4gc3RyaW5nLnJlcGxhY2UoLyArL2csIEhZUEhFTik7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZU5vbkFscGhhYmV0aWNDaGFyYWN0ZXJzKHN0cmluZykgeyByZXR1cm4gc3RyaW5nLnJlcGxhY2UoL1teYS16XFwtXS9nLCBFTVBUWV9TVFJJTkcpOyB9XG4iXSwibmFtZXMiOlsicmVtb3ZlQmFja3RpY2tzIiwicmVtb3ZlTGVhZGluZ1doaXRlc3BhY2UiLCJyZW1vdmVOb25BbHBoYWJldGljQ2hhcmFjdGVycyIsInJlbW92ZVRyYWlsaW5nV2hpdGVzcGFjZSIsInJlbW92ZVdoaXRlc3BhY2UiLCJyZXBsYWNlU3BhY2VzV2l0aEh5cGhlbnMiLCJzdHJpbmciLCJyZXBsYWNlIiwiRU1QVFlfU1RSSU5HIiwiSFlQSEVOIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFJZ0JBO2VBQUFBOztRQUlBQztlQUFBQTs7UUFNQUM7ZUFBQUE7O1FBSkFDO2VBQUFBOztRQUpBQztlQUFBQTs7UUFNQUM7ZUFBQUE7OzsyQkFWcUI7QUFFOUIsU0FBU0wsZ0JBQWdCTSxNQUFNO0lBQUksT0FBT0EsT0FBT0MsT0FBTyxDQUFDLFVBQVVDLHVCQUFZO0FBQUc7QUFFbEYsU0FBU0osaUJBQWlCRSxNQUFNO0lBQUksT0FBT0EsT0FBT0MsT0FBTyxDQUFDLG9CQUFvQkMsdUJBQVk7QUFBRTtBQUU1RixTQUFTUCx3QkFBd0JLLE1BQU07SUFBSSxPQUFPQSxPQUFPQyxPQUFPLENBQUMsV0FBV0MsdUJBQVk7QUFBRTtBQUUxRixTQUFTTCx5QkFBeUJHLE1BQU07SUFBSSxPQUFPQSxPQUFPQyxPQUFPLENBQUMsV0FBV0MsdUJBQVk7QUFBRTtBQUUzRixTQUFTSCx5QkFBeUJDLE1BQU07SUFBSSxPQUFPQSxPQUFPQyxPQUFPLENBQUMsT0FBT0UsaUJBQU07QUFBRztBQUVsRixTQUFTUCw4QkFBOEJJLE1BQU07SUFBSSxPQUFPQSxPQUFPQyxPQUFPLENBQUMsYUFBYUMsdUJBQVk7QUFBRyJ9
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "trim", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return trim;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _constants = require("../constants");
|
|
12
|
+
function trim(string) {
|
|
13
|
+
return string.replace(/^"|"$/g, _constants.EMPTY_STRING);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nTGl0ZXJhbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIlxuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmltKHN0cmluZykge1xuICByZXR1cm4gc3RyaW5nLnJlcGxhY2UoL15cInxcIiQvZywgRU1QVFlfU1RSSU5HKTtcbn1cbiJdLCJuYW1lcyI6WyJ0cmltIiwic3RyaW5nIiwicmVwbGFjZSIsIkVNUFRZX1NUUklORyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSWdCQTs7O2VBQUFBOzs7MkJBRmE7QUFFdEIsU0FBU0EsS0FBS0MsTUFBTTtJQUN6QixPQUFPQSxPQUFPQyxPQUFPLENBQUMsVUFBVUMsdUJBQVk7QUFDOUMifQ==
|