highmark-markdown 0.0.206 → 0.0.210
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/example.js +9011 -7223
- package/lib/constants.js +13 -1
- package/lib/defaultMarkdownStyle.js +14 -0
- package/lib/elementMap.js +6 -3
- package/lib/example/constants.js +5 -1
- package/lib/example/view/div/preview.js +5 -3
- package/lib/example/view/div/sizeable/left.js +2 -2
- package/lib/example/view/textarea/{bnf.js → css.js} +17 -17
- package/lib/example/view/textarea/{lexicalEntries.js → markdownStyle.js} +25 -19
- package/lib/example/view/xmp.js +2 -2
- package/lib/example/view.js +31 -22
- package/lib/example.js +9 -2
- package/lib/index.js +25 -1
- package/lib/markdown/bnf.js +2 -2
- package/lib/markdownStyle/bnf.js +14 -0
- package/lib/markdownStyle/entries.js +50 -0
- package/lib/markdownStyle/lexer.js +162 -0
- package/lib/{example/view/div/sizeable/right.js → markdownStyle/parser.js} +46 -34
- package/lib/node/markdown/division.js +14 -7
- package/lib/node/markdown/footnotes.js +135 -0
- package/lib/nodeMap.js +3 -2
- package/lib/ruleNames.js +8 -3
- package/lib/style/declaration.js +72 -0
- package/lib/style/declarations.js +89 -0
- package/lib/style/division.js +83 -0
- package/lib/style/ruleSet.js +85 -0
- package/lib/style/ruleSets.js +89 -0
- package/lib/style/selector.js +131 -0
- package/lib/style/selectors.js +134 -0
- package/lib/style/selectorsList.js +128 -0
- package/lib/styleElement/markdown/default.js +163 -0
- package/lib/styleElement/markdown.js +195 -0
- package/lib/styleElement.js +100 -0
- package/lib/utilities/content.js +29 -4
- package/lib/utilities/css.js +51 -0
- package/lib/utilities/entries.js +24 -0
- package/lib/utilities/footnotes.js +3 -3
- package/lib/utilities/query.js +39 -4
- package/package.json +1 -1
- package/src/constants.js +3 -0
- package/src/defaultMarkdownStyle.js +143 -0
- package/src/elementMap.js +8 -3
- package/src/example/constants.js +1 -0
- package/src/example/view/div/preview.js +5 -2
- package/src/example/view/div/sizeable/left.js +1 -1
- package/src/example/view/textarea/{bnf.js → css.js} +10 -10
- package/src/example/view/textarea/markdownStyle.js +41 -0
- package/src/example/view/xmp.js +0 -3
- package/src/example/view.js +55 -50
- package/src/example.js +10 -1
- package/src/index.js +6 -0
- package/src/markdown/bnf.js +5 -0
- package/src/markdownStyle/bnf.js +81 -0
- package/src/markdownStyle/entries.js +39 -0
- package/src/markdownStyle/lexer.js +43 -0
- package/src/markdownStyle/parser.js +15 -0
- package/src/node/markdown/division.js +25 -9
- package/src/node/markdown/footnotes.js +19 -0
- package/src/nodeMap.js +5 -2
- package/src/ruleNames.js +4 -2
- package/src/style/declaration.js +42 -0
- package/src/style/declarations.js +64 -0
- package/src/style/division.js +46 -0
- package/src/style/ruleSet.js +48 -0
- package/src/style/ruleSets.js +57 -0
- package/src/style/selector.js +126 -0
- package/src/style/selectors.js +121 -0
- package/src/style/selectorsList.js +95 -0
- package/src/styleElement/markdown/default.js +28 -0
- package/src/styleElement/markdown.js +48 -0
- package/src/styleElement.js +49 -0
- package/src/utilities/content.js +27 -0
- package/src/utilities/css.js +41 -0
- package/src/utilities/entries.js +23 -0
- package/src/utilities/footnotes.js +2 -2
- package/src/utilities/query.js +40 -3
- package/lib/example/view/textarea/parseTree.js +0 -183
- package/src/example/view/div/sizeable/right.js +0 -19
- package/src/example/view/textarea/lexicalEntries.js +0 -36
- package/src/example/view/textarea/parseTree.js +0 -50
|
@@ -0,0 +1,85 @@
|
|
|
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 RuleSet;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _declarations = /*#__PURE__*/ _interop_require_default(require("./declarations"));
|
|
12
|
+
var _selectorsList = /*#__PURE__*/ _interop_require_default(require("./selectorsList"));
|
|
13
|
+
var _constants = require("../constants");
|
|
14
|
+
function _class_call_check(instance, Constructor) {
|
|
15
|
+
if (!(instance instanceof Constructor)) {
|
|
16
|
+
throw new TypeError("Cannot call a class as a function");
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function _defineProperties(target, props) {
|
|
20
|
+
for(var i = 0; i < props.length; i++){
|
|
21
|
+
var descriptor = props[i];
|
|
22
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
23
|
+
descriptor.configurable = true;
|
|
24
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
25
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
29
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
30
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
31
|
+
return Constructor;
|
|
32
|
+
}
|
|
33
|
+
function _interop_require_default(obj) {
|
|
34
|
+
return obj && obj.__esModule ? obj : {
|
|
35
|
+
default: obj
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
var RuleSet = /*#__PURE__*/ function() {
|
|
39
|
+
function RuleSet(ruleSets, declarations, selectorsList) {
|
|
40
|
+
_class_call_check(this, RuleSet);
|
|
41
|
+
this.ruleSets = ruleSets;
|
|
42
|
+
this.declarations = declarations;
|
|
43
|
+
this.selectorsList = selectorsList;
|
|
44
|
+
}
|
|
45
|
+
_create_class(RuleSet, [
|
|
46
|
+
{
|
|
47
|
+
key: "getRuleSets",
|
|
48
|
+
value: function getRuleSets() {
|
|
49
|
+
return this.ruleSets;
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
key: "getDeclarations",
|
|
54
|
+
value: function getDeclarations() {
|
|
55
|
+
return this.declarations;
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
key: "getSelectorsList",
|
|
60
|
+
value: function getSelectorsList() {
|
|
61
|
+
return this.selectorsList;
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
key: "asCSS",
|
|
66
|
+
value: function asCSS(selectorsList) {
|
|
67
|
+
var outermost = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
|
|
68
|
+
selectorsList = selectorsList.combine(this.selectorsList, outermost); ///
|
|
69
|
+
var declarationsCSS = this.declarations.asCSS(selectorsList), ruleSetsCSS = this.ruleSets.asCSS(selectorsList), css = declarationsCSS === _constants.EMPTY_STRING ? ruleSetsCSS : "".concat(declarationsCSS, "\n").concat(ruleSetsCSS);
|
|
70
|
+
return css;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
], [
|
|
74
|
+
{
|
|
75
|
+
key: "fromRuleSetsNodeAndTokens",
|
|
76
|
+
value: function fromRuleSetsNodeAndTokens(RuleSets, node, tokens) {
|
|
77
|
+
var ruleSets = RuleSets.fromNodeAndTokens(node, tokens), declarations = _declarations.default.fromNodeAndTokens(node, tokens), selectorsList = _selectorsList.default.fromNodeAndTokens(node, tokens), ruleSet = new RuleSet(ruleSets, declarations, selectorsList);
|
|
78
|
+
return ruleSet;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
]);
|
|
82
|
+
return RuleSet;
|
|
83
|
+
}();
|
|
84
|
+
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHlsZS9ydWxlU2V0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgRGVjbGFyYXRpb25zIGZyb20gXCIuL2RlY2xhcmF0aW9uc1wiO1xuaW1wb3J0IFNlbGVjdG9yc0xpc3QgZnJvbSBcIi4vc2VsZWN0b3JzTGlzdFwiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJ1bGVTZXQge1xuICBjb25zdHJ1Y3RvcihydWxlU2V0cywgZGVjbGFyYXRpb25zLCBzZWxlY3RvcnNMaXN0KSB7XG4gICAgdGhpcy5ydWxlU2V0cyA9IHJ1bGVTZXRzO1xuICAgIHRoaXMuZGVjbGFyYXRpb25zID0gZGVjbGFyYXRpb25zO1xuICAgIHRoaXMuc2VsZWN0b3JzTGlzdCA9IHNlbGVjdG9yc0xpc3Q7XG4gIH1cblxuICBnZXRSdWxlU2V0cygpIHtcbiAgICByZXR1cm4gdGhpcy5ydWxlU2V0cztcbiAgfVxuXG4gIGdldERlY2xhcmF0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5kZWNsYXJhdGlvbnM7XG4gIH1cblxuICBnZXRTZWxlY3RvcnNMaXN0KCkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdG9yc0xpc3Q7XG4gIH1cblxuICBhc0NTUyhzZWxlY3RvcnNMaXN0LCBvdXRlcm1vc3QgPSBmYWxzZSkge1xuICAgIHNlbGVjdG9yc0xpc3QgPSBzZWxlY3RvcnNMaXN0LmNvbWJpbmUodGhpcy5zZWxlY3RvcnNMaXN0LCBvdXRlcm1vc3QpOyAgLy8vXG5cbiAgICBjb25zdCBkZWNsYXJhdGlvbnNDU1MgPSB0aGlzLmRlY2xhcmF0aW9ucy5hc0NTUyhzZWxlY3RvcnNMaXN0KSxcbiAgICAgICAgICBydWxlU2V0c0NTUyA9IHRoaXMucnVsZVNldHMuYXNDU1Moc2VsZWN0b3JzTGlzdCksXG4gICAgICAgICAgY3NzID0gKGRlY2xhcmF0aW9uc0NTUyA9PT0gRU1QVFlfU1RSSU5HKSA/XG4gICAgICAgICAgICAgICAgICBydWxlU2V0c0NTUyA6IC8vL1xuICAgICAgICAgICAgICAgICAgICBgJHtkZWNsYXJhdGlvbnNDU1N9XG4ke3J1bGVTZXRzQ1NTfWA7XG5cbiAgICByZXR1cm4gY3NzO1xuICB9XG5cbiAgc3RhdGljIGZyb21SdWxlU2V0c05vZGVBbmRUb2tlbnMoUnVsZVNldHMsIG5vZGUsIHRva2Vucykge1xuICAgIGNvbnN0IHJ1bGVTZXRzID0gUnVsZVNldHMuZnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zKSxcbiAgICAgICAgICBkZWNsYXJhdGlvbnMgPSBEZWNsYXJhdGlvbnMuZnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zKSxcbiAgICAgICAgICBzZWxlY3RvcnNMaXN0ID0gU2VsZWN0b3JzTGlzdC5mcm9tTm9kZUFuZFRva2Vucyhub2RlLCB0b2tlbnMpLFxuICAgICAgICAgIHJ1bGVTZXQgPSBuZXcgUnVsZVNldChydWxlU2V0cywgZGVjbGFyYXRpb25zLCBzZWxlY3RvcnNMaXN0KTtcblxuICAgIHJldHVybiBydWxlU2V0O1xuICB9XG59XG4iXSwibmFtZXMiOlsiUnVsZVNldCIsInJ1bGVTZXRzIiwiZGVjbGFyYXRpb25zIiwic2VsZWN0b3JzTGlzdCIsImdldFJ1bGVTZXRzIiwiZ2V0RGVjbGFyYXRpb25zIiwiZ2V0U2VsZWN0b3JzTGlzdCIsImFzQ1NTIiwib3V0ZXJtb3N0IiwiY29tYmluZSIsImRlY2xhcmF0aW9uc0NTUyIsInJ1bGVTZXRzQ1NTIiwiY3NzIiwiRU1QVFlfU1RSSU5HIiwiZnJvbVJ1bGVTZXRzTm9kZUFuZFRva2VucyIsIlJ1bGVTZXRzIiwibm9kZSIsInRva2VucyIsImZyb21Ob2RlQW5kVG9rZW5zIiwiRGVjbGFyYXRpb25zIiwiU2VsZWN0b3JzTGlzdCIsInJ1bGVTZXQiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQU9xQkE7OzttRUFMSTtvRUFDQzt5QkFFRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVkLElBQUEsQUFBTUEsd0JBQUQsQUFBTDthQUFNQSxRQUNQQyxRQUFRLEVBQUVDLFlBQVksRUFBRUMsYUFBYTtnQ0FEOUJIO1FBRWpCLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLFlBQVksR0FBR0E7UUFDcEIsSUFBSSxDQUFDQyxhQUFhLEdBQUdBOztrQkFKSkg7O1lBT25CSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILFFBQVE7WUFDdEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILFlBQVk7WUFDMUI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILGFBQWE7WUFDM0I7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsTUFBTUosYUFBYTtvQkFBRUssWUFBQUEsaUVBQVk7Z0JBQy9CTCxnQkFBZ0JBLGNBQWNNLE9BQU8sQ0FBQyxJQUFJLENBQUNOLGFBQWEsRUFBRUssWUFBYSxHQUFHO2dCQUUxRSxJQUFNRSxrQkFBa0IsSUFBSSxDQUFDUixZQUFZLENBQUNLLEtBQUssQ0FBQ0osZ0JBQzFDUSxjQUFjLElBQUksQ0FBQ1YsUUFBUSxDQUFDTSxLQUFLLENBQUNKLGdCQUNsQ1MsTUFBTSxBQUFDRixvQkFBb0JHLHVCQUFZLEdBQy9CRixjQUNFLEFBQUMsR0FDbkJBLE9BRHFCRCxpQkFBZ0IsTUFDekIsT0FBWkM7Z0JBRUUsT0FBT0M7WUFDVDs7OztZQUVPRSxLQUFBQTttQkFBUCxTQUFPQSwwQkFBMEJDLFFBQVEsRUFBRUMsSUFBSSxFQUFFQyxNQUFNO2dCQUNyRCxJQUFNaEIsV0FBV2MsU0FBU0csaUJBQWlCLENBQUNGLE1BQU1DLFNBQzVDZixlQUFlaUIscUJBQVksQ0FBQ0QsaUJBQWlCLENBQUNGLE1BQU1DLFNBQ3BEZCxnQkFBZ0JpQixzQkFBYSxDQUFDRixpQkFBaUIsQ0FBQ0YsTUFBTUMsU0FDdERJLFVBQVUsSUFwQ0NyQixRQW9DV0MsVUFBVUMsY0FBY0M7Z0JBRXBELE9BQU9rQjtZQUNUOzs7V0F2Q21CckIifQ==
|
|
@@ -0,0 +1,89 @@
|
|
|
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 RuleSets;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _ruleSet = /*#__PURE__*/ _interop_require_default(require("./ruleSet"));
|
|
12
|
+
var _query = require("../utilities/query");
|
|
13
|
+
var _constants = require("../constants");
|
|
14
|
+
function _class_call_check(instance, Constructor) {
|
|
15
|
+
if (!(instance instanceof Constructor)) {
|
|
16
|
+
throw new TypeError("Cannot call a class as a function");
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function _defineProperties(target, props) {
|
|
20
|
+
for(var i = 0; i < props.length; i++){
|
|
21
|
+
var descriptor = props[i];
|
|
22
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
23
|
+
descriptor.configurable = true;
|
|
24
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
25
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
29
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
30
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
31
|
+
return Constructor;
|
|
32
|
+
}
|
|
33
|
+
function _interop_require_default(obj) {
|
|
34
|
+
return obj && obj.__esModule ? obj : {
|
|
35
|
+
default: obj
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
var ruleSetNonTerminalNodesQuery = (0, _query.nodesQuery)("/*/ruleSet");
|
|
39
|
+
var RuleSets = /*#__PURE__*/ function() {
|
|
40
|
+
function RuleSets(array) {
|
|
41
|
+
_class_call_check(this, RuleSets);
|
|
42
|
+
this.array = array;
|
|
43
|
+
}
|
|
44
|
+
_create_class(RuleSets, [
|
|
45
|
+
{
|
|
46
|
+
key: "getLength",
|
|
47
|
+
value: function getLength() {
|
|
48
|
+
return this.array.length;
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
key: "asCSS",
|
|
53
|
+
value: function asCSS(selectorsList) {
|
|
54
|
+
var outermost = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
|
|
55
|
+
var css = _constants.EMPTY_STRING;
|
|
56
|
+
var length = this.getLength(), selectorsListLength = selectorsList.getLength();
|
|
57
|
+
if (length > 0 && selectorsListLength > 0) {
|
|
58
|
+
css = this.array.reduce(function(css, ruleSet) {
|
|
59
|
+
var ruleSetCSS = ruleSet.asCSS(selectorsList, outermost);
|
|
60
|
+
css = css === null ? ruleSetCSS : "".concat(css).concat(ruleSetCSS);
|
|
61
|
+
return css;
|
|
62
|
+
}, null);
|
|
63
|
+
}
|
|
64
|
+
return css;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
], [
|
|
68
|
+
{
|
|
69
|
+
key: "fromNothing",
|
|
70
|
+
value: function fromNothing() {
|
|
71
|
+
var array = [], ruleSets = new RuleSets(array);
|
|
72
|
+
return ruleSets;
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
key: "fromNodeAndTokens",
|
|
77
|
+
value: function fromNodeAndTokens(node, tokens) {
|
|
78
|
+
var ruleSetNonTerminalNodes = ruleSetNonTerminalNodesQuery(node), array = ruleSetNonTerminalNodes.map(function(ruleSetNonTerminalNode) {
|
|
79
|
+
var _$node = ruleSetNonTerminalNode, ruleSet = _ruleSet.default.fromRuleSetsNodeAndTokens(RuleSets, _$node, tokens);
|
|
80
|
+
return ruleSet;
|
|
81
|
+
}), ruleSets = new RuleSets(array);
|
|
82
|
+
return ruleSets;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
]);
|
|
86
|
+
return RuleSets;
|
|
87
|
+
}();
|
|
88
|
+
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHlsZS9ydWxlU2V0cy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFJ1bGVTZXQgZnJvbSBcIi4vcnVsZVNldFwiO1xuXG5pbXBvcnQgeyBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5jb25zdCBydWxlU2V0Tm9uVGVybWluYWxOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi8qL3J1bGVTZXRcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJ1bGVTZXRzIHtcbiAgY29uc3RydWN0b3IoYXJyYXkpIHtcbiAgICB0aGlzLmFycmF5ID0gYXJyYXk7XG4gIH1cblxuICBnZXRMZW5ndGgoKSB7IHJldHVybiB0aGlzLmFycmF5Lmxlbmd0aDsgfVxuXG4gIGFzQ1NTKHNlbGVjdG9yc0xpc3QsIG91dGVybW9zdCA9IGZhbHNlKSB7XG4gICAgbGV0IGNzcyA9IEVNUFRZX1NUUklORztcblxuICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMuZ2V0TGVuZ3RoKCksXG4gICAgICAgICAgc2VsZWN0b3JzTGlzdExlbmd0aCA9IHNlbGVjdG9yc0xpc3QuZ2V0TGVuZ3RoKCk7XG5cbiAgICBpZiAoKGxlbmd0aCA+IDApICYmIChzZWxlY3RvcnNMaXN0TGVuZ3RoID4gMCkpIHtcbiAgICAgIGNzcyA9IHRoaXMuYXJyYXkucmVkdWNlKChjc3MsIHJ1bGVTZXQpID0+IHtcbiAgICAgICAgY29uc3QgcnVsZVNldENTUyA9IHJ1bGVTZXQuYXNDU1Moc2VsZWN0b3JzTGlzdCwgb3V0ZXJtb3N0KTtcblxuICAgICAgICBjc3MgPSAoY3NzID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgcnVsZVNldENTUyA6ICAvLy9cbiAgICAgICAgICAgICAgICAgIGAke2Nzc30ke3J1bGVTZXRDU1N9YDtcblxuICAgICAgICByZXR1cm4gY3NzO1xuICAgICAgfSwgbnVsbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNzcztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCBhcnJheSA9IFtdLFxuICAgICAgICAgIHJ1bGVTZXRzID0gbmV3IFJ1bGVTZXRzKGFycmF5KTtcblxuICAgIHJldHVybiBydWxlU2V0cztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm9kZUFuZFRva2Vucyhub2RlLCB0b2tlbnMpIHtcbiAgICBjb25zdCBydWxlU2V0Tm9uVGVybWluYWxOb2RlcyA9IHJ1bGVTZXROb25UZXJtaW5hbE5vZGVzUXVlcnkobm9kZSksXG4gICAgICAgICAgYXJyYXkgPSBydWxlU2V0Tm9uVGVybWluYWxOb2Rlcy5tYXAoKHJ1bGVTZXROb25UZXJtaW5hbE5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBydWxlU2V0Tm9uVGVybWluYWxOb2RlLCAvLy9cbiAgICAgICAgICAgICAgICAgIHJ1bGVTZXQgPSBSdWxlU2V0LmZyb21SdWxlU2V0c05vZGVBbmRUb2tlbnMoUnVsZVNldHMsIG5vZGUsIHRva2Vucyk7XG5cbiAgICAgICAgICAgIHJldHVybiBydWxlU2V0O1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHJ1bGVTZXRzID0gbmV3IFJ1bGVTZXRzKGFycmF5KTtcblxuICAgIHJldHVybiBydWxlU2V0cztcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlJ1bGVTZXRzIiwicnVsZVNldE5vblRlcm1pbmFsTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJhcnJheSIsImdldExlbmd0aCIsImxlbmd0aCIsImFzQ1NTIiwic2VsZWN0b3JzTGlzdCIsIm91dGVybW9zdCIsImNzcyIsIkVNUFRZX1NUUklORyIsInNlbGVjdG9yc0xpc3RMZW5ndGgiLCJyZWR1Y2UiLCJydWxlU2V0IiwicnVsZVNldENTUyIsImZyb21Ob3RoaW5nIiwicnVsZVNldHMiLCJmcm9tTm9kZUFuZFRva2VucyIsIm5vZGUiLCJ0b2tlbnMiLCJydWxlU2V0Tm9uVGVybWluYWxOb2RlcyIsIm1hcCIsInJ1bGVTZXROb25UZXJtaW5hbE5vZGUiLCJSdWxlU2V0IiwiZnJvbVJ1bGVTZXRzTm9kZUFuZFRva2VucyJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVNxQkE7Ozs4REFQRDtxQkFFTzt5QkFDRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU3QixJQUFNQywrQkFBK0JDLElBQUFBLGlCQUFVLEVBQUM7QUFFakMsSUFBQSxBQUFNRix5QkFBRCxBQUFMO2FBQU1BLFNBQ1BHLEtBQUs7Z0NBREVIO1FBRWpCLElBQUksQ0FBQ0csS0FBSyxHQUFHQTs7a0JBRklIOztZQUtuQkksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUFjLE9BQU8sSUFBSSxDQUFDRCxLQUFLLENBQUNFLE1BQU07WUFBRTs7O1lBRXhDQyxLQUFBQTttQkFBQUEsU0FBQUEsTUFBTUMsYUFBYTtvQkFBRUMsWUFBQUEsaUVBQVk7Z0JBQy9CLElBQUlDLE1BQU1DLHVCQUFZO2dCQUV0QixJQUFNTCxTQUFTLElBQUksQ0FBQ0QsU0FBUyxJQUN2Qk8sc0JBQXNCSixjQUFjSCxTQUFTO2dCQUVuRCxJQUFJLEFBQUNDLFNBQVMsS0FBT00sc0JBQXNCLEdBQUk7b0JBQzdDRixNQUFNLElBQUksQ0FBQ04sS0FBSyxDQUFDUyxNQUFNLENBQUMsU0FBQ0gsS0FBS0k7d0JBQzVCLElBQU1DLGFBQWFELFFBQVFQLEtBQUssQ0FBQ0MsZUFBZUM7d0JBRWhEQyxNQUFNLEFBQUNBLFFBQVEsT0FDUEssYUFDRSxBQUFDLEdBQVFBLE9BQU5MLEtBQWlCLE9BQVhLO3dCQUVuQixPQUFPTDtvQkFDVCxHQUFHO2dCQUNMO2dCQUVBLE9BQU9BO1lBQ1Q7Ozs7WUFFT00sS0FBQUE7bUJBQVAsU0FBT0E7Z0JBQ0wsSUFBTVosUUFBUSxFQUFFLEVBQ1ZhLFdBQVcsSUE5QkFoQixTQThCYUc7Z0JBRTlCLE9BQU9hO1lBQ1Q7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxrQkFBa0JDLElBQUksRUFBRUMsTUFBTTtnQkFDbkMsSUFBTUMsMEJBQTBCbkIsNkJBQTZCaUIsT0FDdkRmLFFBQVFpQix3QkFBd0JDLEdBQUcsQ0FBQyxTQUFDQztvQkFDbkMsSUFBTUosU0FBT0ksd0JBQ1BULFVBQVVVLGdCQUFPLENBQUNDLHlCQUF5QixDQXZDeEN4QixVQXVDbURrQixRQUFNQztvQkFFbEUsT0FBT047Z0JBQ1QsSUFDQUcsV0FBVyxJQTNDQWhCLFNBMkNhRztnQkFFOUIsT0FBT2E7WUFDVDs7O1dBOUNtQmhCIn0=
|
|
@@ -0,0 +1,131 @@
|
|
|
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 Selector;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _ruleNames = /*#__PURE__*/ _interop_require_default(require("../ruleNames"));
|
|
12
|
+
var _elementMap = /*#__PURE__*/ _interop_require_default(require("../elementMap"));
|
|
13
|
+
var _query = require("../utilities/query");
|
|
14
|
+
var _constants = require("../constants");
|
|
15
|
+
var _content = require("../utilities/content");
|
|
16
|
+
function _class_call_check(instance, Constructor) {
|
|
17
|
+
if (!(instance instanceof Constructor)) {
|
|
18
|
+
throw new TypeError("Cannot call a class as a function");
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function _defineProperties(target, props) {
|
|
22
|
+
for(var i = 0; i < props.length; i++){
|
|
23
|
+
var descriptor = props[i];
|
|
24
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
25
|
+
descriptor.configurable = true;
|
|
26
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
27
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
31
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
32
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
33
|
+
return Constructor;
|
|
34
|
+
}
|
|
35
|
+
function _interop_require_default(obj) {
|
|
36
|
+
return obj && obj.__esModule ? obj : {
|
|
37
|
+
default: obj
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
var DIVISION_RULE_NAME = _ruleNames.default.DIVISION_RULE_NAME, STRONG_TEXT_RULE_NAME = _ruleNames.default.STRONG_TEXT_RULE_NAME, ORDERED_LIST_RULE_NAME = _ruleNames.default.ORDERED_LIST_RULE_NAME, UNORDERED_LIST_RULE_NAME = _ruleNames.default.UNORDERED_LIST_RULE_NAME, ORDERED_LIST_ITEM_RULE_NAME = _ruleNames.default.ORDERED_LIST_ITEM_RULE_NAME, UNORDERED_LIST_ITEM_RULE_NAME = _ruleNames.default.UNORDERED_LIST_ITEM_RULE_NAME, STRONGLY_EMPHASISED_TEXT_RULE_NAME = _ruleNames.default.STRONGLY_EMPHASISED_TEXT_RULE_NAME, _elementMap_STRONG_TEXT_RULE_NAME = _elementMap.default[STRONG_TEXT_RULE_NAME], strongTextTagName = _elementMap_STRONG_TEXT_RULE_NAME.tagName, _elementMap_ORDERED_LIST_RULE_NAME = _elementMap.default[ORDERED_LIST_RULE_NAME], orderedListTagName = _elementMap_ORDERED_LIST_RULE_NAME.tagName, _elementMap_UNORDERED_LIST_RULE_NAME = _elementMap.default[UNORDERED_LIST_RULE_NAME], unorderedListTagName = _elementMap_UNORDERED_LIST_RULE_NAME.tagName;
|
|
41
|
+
var ruleNameValues = Object.values(_ruleNames.default), ruleNameTerminalNodeQuery = (0, _query.nodeQuery)("/selector/@rule-name");
|
|
42
|
+
var Selector = /*#__PURE__*/ function() {
|
|
43
|
+
function Selector(content, whitespace) {
|
|
44
|
+
_class_call_check(this, Selector);
|
|
45
|
+
this.content = content;
|
|
46
|
+
this.whitespace = whitespace;
|
|
47
|
+
}
|
|
48
|
+
_create_class(Selector, [
|
|
49
|
+
{
|
|
50
|
+
key: "getContent",
|
|
51
|
+
value: function getContent() {
|
|
52
|
+
return this.content;
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
key: "hasWhitespace",
|
|
57
|
+
value: function hasWhitespace() {
|
|
58
|
+
return this.whitespace;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
], [
|
|
62
|
+
{
|
|
63
|
+
key: "fromNodeAndTokens",
|
|
64
|
+
value: function fromNodeAndTokens(node, tokens) {
|
|
65
|
+
var selector = null;
|
|
66
|
+
var content = contentFromNodeAndTokens(node, tokens);
|
|
67
|
+
if (content !== null) {
|
|
68
|
+
var whitespace = whitespaceFromNode(node);
|
|
69
|
+
selector = new Selector(content, whitespace);
|
|
70
|
+
}
|
|
71
|
+
return selector;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
]);
|
|
75
|
+
return Selector;
|
|
76
|
+
}();
|
|
77
|
+
function whitespaceFromNode(node) {
|
|
78
|
+
var ruleNameTerminalNode = ruleNameTerminalNodeQuery(node), whitespace = ruleNameTerminalNode !== null;
|
|
79
|
+
return whitespace;
|
|
80
|
+
}
|
|
81
|
+
function contentFromNodeAndTokens(node, tokens) {
|
|
82
|
+
var content;
|
|
83
|
+
var ruleNameTerminalNode = ruleNameTerminalNodeQuery(node);
|
|
84
|
+
if (ruleNameTerminalNode !== null) {
|
|
85
|
+
content = _constants.EMPTY_STRING;
|
|
86
|
+
var ruleNameTerminalNodeContent = ruleNameTerminalNode.getContent(), ruleName = ruleNameTerminalNodeContent, ruleNameValuesIncludesRuleName = ruleNameValues.includes(ruleName);
|
|
87
|
+
if (ruleNameValuesIncludesRuleName) {
|
|
88
|
+
var _elementMap_ruleName = _elementMap.default[ruleName], tagName = _elementMap_ruleName.tagName, className = _elementMap_ruleName.className;
|
|
89
|
+
if (tagName !== null) {
|
|
90
|
+
content = "".concat(content).concat(tagName);
|
|
91
|
+
}
|
|
92
|
+
switch(ruleName){
|
|
93
|
+
case DIVISION_RULE_NAME:
|
|
94
|
+
{
|
|
95
|
+
content = null;
|
|
96
|
+
break;
|
|
97
|
+
}
|
|
98
|
+
case ORDERED_LIST_ITEM_RULE_NAME:
|
|
99
|
+
{
|
|
100
|
+
content = "".concat(orderedListTagName, " > ").concat(content);
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
case UNORDERED_LIST_ITEM_RULE_NAME:
|
|
104
|
+
{
|
|
105
|
+
content = "".concat(unorderedListTagName, " > ").concat(content);
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
case STRONGLY_EMPHASISED_TEXT_RULE_NAME:
|
|
109
|
+
{
|
|
110
|
+
content = "".concat(content, " > ").concat(strongTextTagName);
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
if (className !== null) {
|
|
115
|
+
content = "".concat(content, ".").concat(className);
|
|
116
|
+
}
|
|
117
|
+
if (ruleName === DIVISION_RULE_NAME) {
|
|
118
|
+
content = null;
|
|
119
|
+
} else {
|
|
120
|
+
var offset = 1, remainingContent = (0, _content.remainingContentFromNodeTokensAndOffset)(node, tokens, offset);
|
|
121
|
+
content = "".concat(content).concat(remainingContent);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
} else {
|
|
125
|
+
var offset1 = 0, remainingContent1 = (0, _content.remainingContentFromNodeTokensAndOffset)(node, tokens, offset1);
|
|
126
|
+
content = remainingContent1; ///
|
|
127
|
+
}
|
|
128
|
+
return content;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHlsZS9zZWxlY3Rvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHJ1bGVOYW1lcyBmcm9tIFwiLi4vcnVsZU5hbWVzXCI7XG5pbXBvcnQgZWxlbWVudE1hcCBmcm9tIFwiLi4vZWxlbWVudE1hcFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyByZW1haW5pbmdDb250ZW50RnJvbU5vZGVUb2tlbnNBbmRPZmZzZXQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2NvbnRlbnRcIjtcblxuY29uc3QgeyBESVZJU0lPTl9SVUxFX05BTUUsXG4gICAgICAgIFNUUk9OR19URVhUX1JVTEVfTkFNRSxcbiAgICAgICAgT1JERVJFRF9MSVNUX1JVTEVfTkFNRSxcbiAgICAgICAgVU5PUkRFUkVEX0xJU1RfUlVMRV9OQU1FLFxuICAgICAgICBPUkRFUkVEX0xJU1RfSVRFTV9SVUxFX05BTUUsXG4gICAgICAgIFVOT1JERVJFRF9MSVNUX0lURU1fUlVMRV9OQU1FLFxuICAgICAgICBTVFJPTkdMWV9FTVBIQVNJU0VEX1RFWFRfUlVMRV9OQU1FIH0gPSBydWxlTmFtZXMsXG4gICAgICB7IHRhZ05hbWU6IHN0cm9uZ1RleHRUYWdOYW1lIH0gPSBlbGVtZW50TWFwW1NUUk9OR19URVhUX1JVTEVfTkFNRV0sXG4gICAgICB7IHRhZ05hbWU6IG9yZGVyZWRMaXN0VGFnTmFtZSB9ID0gZWxlbWVudE1hcFtPUkRFUkVEX0xJU1RfUlVMRV9OQU1FXSxcbiAgICAgIHsgdGFnTmFtZTogdW5vcmRlcmVkTGlzdFRhZ05hbWUgfSA9IGVsZW1lbnRNYXBbVU5PUkRFUkVEX0xJU1RfUlVMRV9OQU1FXTtcblxuY29uc3QgcnVsZU5hbWVWYWx1ZXMgPSBPYmplY3QudmFsdWVzKHJ1bGVOYW1lcyksXG4gICAgICBydWxlTmFtZVRlcm1pbmFsTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3NlbGVjdG9yL0BydWxlLW5hbWVcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNlbGVjdG9yIHtcbiAgY29uc3RydWN0b3IoY29udGVudCwgd2hpdGVzcGFjZSkge1xuICAgIHRoaXMuY29udGVudCA9IGNvbnRlbnQ7XG4gICAgdGhpcy53aGl0ZXNwYWNlID0gd2hpdGVzcGFjZTtcbiAgfVxuXG4gIGdldENvbnRlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGVudDtcbiAgfVxuXG4gIGhhc1doaXRlc3BhY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMud2hpdGVzcGFjZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm9kZUFuZFRva2Vucyhub2RlLCB0b2tlbnMpIHtcbiAgICBsZXQgc2VsZWN0b3IgPSBudWxsO1xuXG4gICAgY29uc3QgY29udGVudCA9IGNvbnRlbnRGcm9tTm9kZUFuZFRva2Vucyhub2RlLCB0b2tlbnMpO1xuXG4gICAgaWYgKGNvbnRlbnQgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHdoaXRlc3BhY2UgPSB3aGl0ZXNwYWNlRnJvbU5vZGUobm9kZSk7XG5cbiAgICAgIHNlbGVjdG9yID0gbmV3IFNlbGVjdG9yKGNvbnRlbnQsIHdoaXRlc3BhY2UpO1xuICAgIH1cblxuICAgIHJldHVybiBzZWxlY3RvcjtcbiAgfVxufVxuXG5mdW5jdGlvbiB3aGl0ZXNwYWNlRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBydWxlTmFtZVRlcm1pbmFsTm9kZSA9IHJ1bGVOYW1lVGVybWluYWxOb2RlUXVlcnkobm9kZSksXG4gICAgICAgIHdoaXRlc3BhY2UgPSAocnVsZU5hbWVUZXJtaW5hbE5vZGUgIT09IG51bGwpO1xuXG4gIHJldHVybiB3aGl0ZXNwYWNlO1xufVxuXG5mdW5jdGlvbiBjb250ZW50RnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zKSB7XG4gIGxldCBjb250ZW50O1xuXG4gIGNvbnN0IHJ1bGVOYW1lVGVybWluYWxOb2RlID0gcnVsZU5hbWVUZXJtaW5hbE5vZGVRdWVyeShub2RlKTtcblxuICBpZiAocnVsZU5hbWVUZXJtaW5hbE5vZGUgIT09IG51bGwpIHtcbiAgICBjb250ZW50ID0gRU1QVFlfU1RSSU5HO1xuXG4gICAgY29uc3QgcnVsZU5hbWVUZXJtaW5hbE5vZGVDb250ZW50ID0gcnVsZU5hbWVUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICAgIHJ1bGVOYW1lID0gcnVsZU5hbWVUZXJtaW5hbE5vZGVDb250ZW50LCAvLy9cbiAgICAgICAgICBydWxlTmFtZVZhbHVlc0luY2x1ZGVzUnVsZU5hbWUgPSBydWxlTmFtZVZhbHVlcy5pbmNsdWRlcyhydWxlTmFtZSk7XG5cbiAgICBpZiAocnVsZU5hbWVWYWx1ZXNJbmNsdWRlc1J1bGVOYW1lKSB7XG4gICAgICBjb25zdCB7IHRhZ05hbWUsIGNsYXNzTmFtZSB9ID0gZWxlbWVudE1hcFtydWxlTmFtZV07XG5cbiAgICAgIGlmICh0YWdOYW1lICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnRlbnQgPSBgJHtjb250ZW50fSR7dGFnTmFtZX1gO1xuICAgICAgfVxuXG4gICAgICBzd2l0Y2ggKHJ1bGVOYW1lKSB7XG4gICAgICAgIGNhc2UgRElWSVNJT05fUlVMRV9OQU1FOiB7XG4gICAgICAgICAgY29udGVudCA9IG51bGw7XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgT1JERVJFRF9MSVNUX0lURU1fUlVMRV9OQU1FOiB7XG4gICAgICAgICAgY29udGVudCA9IGAke29yZGVyZWRMaXN0VGFnTmFtZX0gPiAke2NvbnRlbnR9YDtcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBVTk9SREVSRURfTElTVF9JVEVNX1JVTEVfTkFNRToge1xuICAgICAgICAgIGNvbnRlbnQgPSBgJHt1bm9yZGVyZWRMaXN0VGFnTmFtZX0gPiAke2NvbnRlbnR9YDtcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBTVFJPTkdMWV9FTVBIQVNJU0VEX1RFWFRfUlVMRV9OQU1FOiB7XG4gICAgICAgICAgY29udGVudCA9IGAke2NvbnRlbnR9ID4gJHtzdHJvbmdUZXh0VGFnTmFtZX1gO1xuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGNsYXNzTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICBjb250ZW50ID0gYCR7Y29udGVudH0uJHtjbGFzc05hbWV9YDtcbiAgICAgIH1cblxuICAgICAgaWYgKHJ1bGVOYW1lID09PSBESVZJU0lPTl9SVUxFX05BTUUpIHtcbiAgICAgICAgY29udGVudCA9IG51bGw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBvZmZzZXQgPSAxLFxuICAgICAgICAgICAgICByZW1haW5pbmdDb250ZW50ID0gcmVtYWluaW5nQ29udGVudEZyb21Ob2RlVG9rZW5zQW5kT2Zmc2V0KG5vZGUsIHRva2Vucywgb2Zmc2V0KTtcblxuICAgICAgICBjb250ZW50ID0gYCR7Y29udGVudH0ke3JlbWFpbmluZ0NvbnRlbnR9YDtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgY29uc3Qgb2Zmc2V0ID0gMCxcbiAgICAgICAgICByZW1haW5pbmdDb250ZW50ID0gcmVtYWluaW5nQ29udGVudEZyb21Ob2RlVG9rZW5zQW5kT2Zmc2V0KG5vZGUsIHRva2Vucywgb2Zmc2V0KTtcblxuICAgIGNvbnRlbnQgPSByZW1haW5pbmdDb250ZW50OyAvLy9cbiAgfVxuXG4gIHJldHVybiBjb250ZW50O1xufVxuIl0sIm5hbWVzIjpbIlNlbGVjdG9yIiwiRElWSVNJT05fUlVMRV9OQU1FIiwicnVsZU5hbWVzIiwiU1RST05HX1RFWFRfUlVMRV9OQU1FIiwiT1JERVJFRF9MSVNUX1JVTEVfTkFNRSIsIlVOT1JERVJFRF9MSVNUX1JVTEVfTkFNRSIsIk9SREVSRURfTElTVF9JVEVNX1JVTEVfTkFNRSIsIlVOT1JERVJFRF9MSVNUX0lURU1fUlVMRV9OQU1FIiwiU1RST05HTFlfRU1QSEFTSVNFRF9URVhUX1JVTEVfTkFNRSIsImVsZW1lbnRNYXAiLCJ0YWdOYW1lIiwic3Ryb25nVGV4dFRhZ05hbWUiLCJvcmRlcmVkTGlzdFRhZ05hbWUiLCJ1bm9yZGVyZWRMaXN0VGFnTmFtZSIsInJ1bGVOYW1lVmFsdWVzIiwiT2JqZWN0IiwidmFsdWVzIiwicnVsZU5hbWVUZXJtaW5hbE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImNvbnRlbnQiLCJ3aGl0ZXNwYWNlIiwiZ2V0Q29udGVudCIsImhhc1doaXRlc3BhY2UiLCJmcm9tTm9kZUFuZFRva2VucyIsIm5vZGUiLCJ0b2tlbnMiLCJzZWxlY3RvciIsImNvbnRlbnRGcm9tTm9kZUFuZFRva2VucyIsIndoaXRlc3BhY2VGcm9tTm9kZSIsInJ1bGVOYW1lVGVybWluYWxOb2RlIiwiRU1QVFlfU1RSSU5HIiwicnVsZU5hbWVUZXJtaW5hbE5vZGVDb250ZW50IiwicnVsZU5hbWUiLCJydWxlTmFtZVZhbHVlc0luY2x1ZGVzUnVsZU5hbWUiLCJpbmNsdWRlcyIsImNsYXNzTmFtZSIsIm9mZnNldCIsInJlbWFpbmluZ0NvbnRlbnQiLCJyZW1haW5pbmdDb250ZW50RnJvbU5vZGVUb2tlbnNBbmRPZmZzZXQiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBdUJxQkE7OztnRUFyQkM7aUVBQ0M7cUJBRUc7eUJBQ0c7dUJBQzJCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXhELElBQVFDLHFCQU11Q0Msa0JBQVMsQ0FOaERELG9CQUNBRSx3QkFLdUNELGtCQUFT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
|
|
@@ -0,0 +1,134 @@
|
|
|
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 Selectors;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _necessary = require("necessary");
|
|
12
|
+
var _selector = /*#__PURE__*/ _interop_require_default(require("./selector"));
|
|
13
|
+
var _query = require("../utilities/query");
|
|
14
|
+
function _class_call_check(instance, Constructor) {
|
|
15
|
+
if (!(instance instanceof Constructor)) {
|
|
16
|
+
throw new TypeError("Cannot call a class as a function");
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function _defineProperties(target, props) {
|
|
20
|
+
for(var i = 0; i < props.length; i++){
|
|
21
|
+
var descriptor = props[i];
|
|
22
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
23
|
+
descriptor.configurable = true;
|
|
24
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
25
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
29
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
30
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
31
|
+
return Constructor;
|
|
32
|
+
}
|
|
33
|
+
function _interop_require_default(obj) {
|
|
34
|
+
return obj && obj.__esModule ? obj : {
|
|
35
|
+
default: obj
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
var selectorNonTerminalNodesQuery = (0, _query.nodesQuery)("/selectors/selector");
|
|
39
|
+
var first = _necessary.arrayUtilities.first;
|
|
40
|
+
var Selectors = /*#__PURE__*/ function() {
|
|
41
|
+
function Selectors(content, whitespace) {
|
|
42
|
+
_class_call_check(this, Selectors);
|
|
43
|
+
this.content = content;
|
|
44
|
+
this.whitespace = whitespace;
|
|
45
|
+
}
|
|
46
|
+
_create_class(Selectors, [
|
|
47
|
+
{
|
|
48
|
+
key: "getContent",
|
|
49
|
+
value: function getContent() {
|
|
50
|
+
return this.content;
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
key: "hasWhitespace",
|
|
55
|
+
value: function hasWhitespace() {
|
|
56
|
+
return this.whitespace;
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
key: "combine",
|
|
61
|
+
value: function combine(selectors) {
|
|
62
|
+
var outermost = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
|
|
63
|
+
if (selectors !== null) {
|
|
64
|
+
var outerSelectors = this, innerSelectors = selectors, outerSelectorsContent = outerSelectors.getContent(), innerSelectorsContent = innerSelectors.getContent(), outerSelectorsWhitespace = outerSelectors.hasWhitespace(), innerSelectorsWhitespace = innerSelectors.hasWhitespace();
|
|
65
|
+
selectors = null;
|
|
66
|
+
if (outermost && !innerSelectorsWhitespace) {
|
|
67
|
+
///
|
|
68
|
+
} else {
|
|
69
|
+
if (outerSelectorsContent !== null && innerSelectorsContent !== null) {
|
|
70
|
+
var content = "".concat(outerSelectorsContent).concat(innerSelectorsContent), whitespace = outerSelectorsWhitespace;
|
|
71
|
+
selectors = Selectors.fromContentAndWhitespace(content, whitespace);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return selectors;
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
key: "asCSS",
|
|
80
|
+
value: function asCSS() {
|
|
81
|
+
var css = this.content; ///
|
|
82
|
+
return css;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
], [
|
|
86
|
+
{
|
|
87
|
+
key: "fromNodeAndTokens",
|
|
88
|
+
value: function fromNodeAndTokens(node, tokens) {
|
|
89
|
+
var selectors = selectorsFromNodeAndTokens(node, tokens);
|
|
90
|
+
return selectors;
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
key: "fromSelectorsString",
|
|
95
|
+
value: function fromSelectorsString(selectorsString) {
|
|
96
|
+
var content = selectorsString, whitespace = false, selectors = new Selectors(content, whitespace);
|
|
97
|
+
return selectors;
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
key: "fromContentAndWhitespace",
|
|
102
|
+
value: function fromContentAndWhitespace(content, whitespace) {
|
|
103
|
+
var selectors = new Selectors(content, whitespace);
|
|
104
|
+
return selectors;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
]);
|
|
108
|
+
return Selectors;
|
|
109
|
+
}();
|
|
110
|
+
function selectorsFromNodeAndTokens(node, tokens) {
|
|
111
|
+
var selectors = null;
|
|
112
|
+
var selectorNonTerminalNodes = selectorNonTerminalNodesQuery(node), selectorArray = selectorNonTerminalNodes.reduce(function(selectorArray, selectorNonTerminalNode) {
|
|
113
|
+
var _$node = selectorNonTerminalNode, selector = _selector.default.fromNodeAndTokens(_$node, tokens);
|
|
114
|
+
if (selector !== null) {
|
|
115
|
+
selectorArray.push(selector);
|
|
116
|
+
}
|
|
117
|
+
return selectorArray;
|
|
118
|
+
}, []), selectorsArrayLength = selectorArray.length;
|
|
119
|
+
if (selectorsArrayLength > 0) {
|
|
120
|
+
var firstSelector = first(selectorArray), selector = firstSelector, content = selectorArray.reduce(function(content, selector) {
|
|
121
|
+
var selectorContent = selector.getContent(), selectorWhitespace = selector.hasWhitespace();
|
|
122
|
+
if (content === null) {
|
|
123
|
+
content = selectorWhitespace ? " ".concat(selectorContent) : "".concat(selectorContent);
|
|
124
|
+
} else {
|
|
125
|
+
content = selectorWhitespace ? "".concat(content, " ").concat(selectorContent) : "".concat(content).concat(selectorContent);
|
|
126
|
+
}
|
|
127
|
+
return content;
|
|
128
|
+
}, null), whitespace = selector.hasWhitespace();
|
|
129
|
+
selectors = new Selectors(content, whitespace);
|
|
130
|
+
}
|
|
131
|
+
return selectors;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHlsZS9zZWxlY3RvcnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgU2VsZWN0b3IgZnJvbSBcIi4vc2VsZWN0b3JcIjtcblxuaW1wb3J0IHsgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3Qgc2VsZWN0b3JOb25UZXJtaW5hbE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL3NlbGVjdG9ycy9zZWxlY3RvclwiKTtcblxuY29uc3QgeyBmaXJzdCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNlbGVjdG9ycyB7XG4gIGNvbnN0cnVjdG9yKGNvbnRlbnQsIHdoaXRlc3BhY2UpIHtcbiAgICB0aGlzLmNvbnRlbnQgPSBjb250ZW50O1xuICAgIHRoaXMud2hpdGVzcGFjZSA9IHdoaXRlc3BhY2U7XG4gIH1cblxuICBnZXRDb250ZW50KCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnQ7XG4gIH1cblxuICBoYXNXaGl0ZXNwYWNlKCkge1xuICAgIHJldHVybiB0aGlzLndoaXRlc3BhY2U7XG4gIH1cblxuICBjb21iaW5lKHNlbGVjdG9ycywgb3V0ZXJtb3N0ID0gZmFsc2UpIHtcbiAgICBpZiAoc2VsZWN0b3JzICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBvdXRlclNlbGVjdG9ycyA9IHRoaXMsICAvLy9cbiAgICAgICAgICAgIGlubmVyU2VsZWN0b3JzID0gc2VsZWN0b3JzLCAvLy9cbiAgICAgICAgICAgIG91dGVyU2VsZWN0b3JzQ29udGVudCA9IG91dGVyU2VsZWN0b3JzLmdldENvbnRlbnQoKSxcbiAgICAgICAgICAgIGlubmVyU2VsZWN0b3JzQ29udGVudCA9IGlubmVyU2VsZWN0b3JzLmdldENvbnRlbnQoKSxcbiAgICAgICAgICAgIG91dGVyU2VsZWN0b3JzV2hpdGVzcGFjZSA9IG91dGVyU2VsZWN0b3JzLmhhc1doaXRlc3BhY2UoKSxcbiAgICAgICAgICAgIGlubmVyU2VsZWN0b3JzV2hpdGVzcGFjZSA9IGlubmVyU2VsZWN0b3JzLmhhc1doaXRlc3BhY2UoKTtcblxuICAgICAgc2VsZWN0b3JzID0gbnVsbDtcblxuICAgICAgaWYgKG91dGVybW9zdCAmJiAhaW5uZXJTZWxlY3RvcnNXaGl0ZXNwYWNlKSB7XG4gICAgICAgIC8vL1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKChvdXRlclNlbGVjdG9yc0NvbnRlbnQgIT09IG51bGwpICYmIChpbm5lclNlbGVjdG9yc0NvbnRlbnQgIT09IG51bGwpKSB7XG4gICAgICAgICAgY29uc3QgY29udGVudCA9IGAke291dGVyU2VsZWN0b3JzQ29udGVudH0ke2lubmVyU2VsZWN0b3JzQ29udGVudH1gLFxuICAgICAgICAgICAgICAgIHdoaXRlc3BhY2UgPSBvdXRlclNlbGVjdG9yc1doaXRlc3BhY2U7XG5cbiAgICAgICAgICBzZWxlY3RvcnMgPSBTZWxlY3RvcnMuZnJvbUNvbnRlbnRBbmRXaGl0ZXNwYWNlKGNvbnRlbnQsIHdoaXRlc3BhY2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlbGVjdG9ycztcbiAgfVxuXG4gIGFzQ1NTKCkge1xuICAgIGNvbnN0IGNzcyA9IHRoaXMuY29udGVudDsgLy8vXG5cbiAgICByZXR1cm4gY3NzO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob2RlQW5kVG9rZW5zKG5vZGUsIHRva2Vucykge1xuICAgIGNvbnN0IHNlbGVjdG9ycyA9IHNlbGVjdG9yc0Zyb21Ob2RlQW5kVG9rZW5zKG5vZGUsIHRva2Vucyk7XG5cbiAgICByZXR1cm4gc2VsZWN0b3JzO1xuICB9XG5cbiAgc3RhdGljIGZyb21TZWxlY3RvcnNTdHJpbmcoc2VsZWN0b3JzU3RyaW5nKSB7XG4gICAgY29uc3QgY29udGVudCA9IHNlbGVjdG9yc1N0cmluZyxcbiAgICAgICAgICB3aGl0ZXNwYWNlID0gZmFsc2UsXG4gICAgICAgICAgc2VsZWN0b3JzID0gbmV3IFNlbGVjdG9ycyhjb250ZW50LCB3aGl0ZXNwYWNlKTtcblxuICAgIHJldHVybiBzZWxlY3RvcnM7XG4gIH1cblxuICBzdGF0aWMgZnJvbUNvbnRlbnRBbmRXaGl0ZXNwYWNlKGNvbnRlbnQsIHdoaXRlc3BhY2UpIHtcbiAgICBjb25zdCBzZWxlY3RvcnMgPSBuZXcgU2VsZWN0b3JzKGNvbnRlbnQsIHdoaXRlc3BhY2UpO1xuXG4gICAgcmV0dXJuIHNlbGVjdG9ycztcbiAgfVxufVxuXG5mdW5jdGlvbiBzZWxlY3RvcnNGcm9tTm9kZUFuZFRva2Vucyhub2RlLCB0b2tlbnMpIHtcbiAgbGV0IHNlbGVjdG9ycyA9IG51bGw7XG5cbiAgY29uc3Qgc2VsZWN0b3JOb25UZXJtaW5hbE5vZGVzID0gc2VsZWN0b3JOb25UZXJtaW5hbE5vZGVzUXVlcnkobm9kZSksXG4gICAgICAgIHNlbGVjdG9yQXJyYXkgPSBzZWxlY3Rvck5vblRlcm1pbmFsTm9kZXMucmVkdWNlKChzZWxlY3RvckFycmF5LCBzZWxlY3Rvck5vblRlcm1pbmFsTm9kZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5vZGUgPSBzZWxlY3Rvck5vblRlcm1pbmFsTm9kZSwgIC8vL1xuICAgICAgICAgICAgICAgIHNlbGVjdG9yID0gU2VsZWN0b3IuZnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zKTtcblxuICAgICAgICAgIGlmIChzZWxlY3RvciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgc2VsZWN0b3JBcnJheS5wdXNoKHNlbGVjdG9yKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gc2VsZWN0b3JBcnJheTtcbiAgICAgICAgfSwgW10pLFxuICAgICAgICBzZWxlY3RvcnNBcnJheUxlbmd0aCA9IHNlbGVjdG9yQXJyYXkubGVuZ3RoO1xuXG4gIGlmIChzZWxlY3RvcnNBcnJheUxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBmaXJzdFNlbGVjdG9yID0gZmlyc3Qoc2VsZWN0b3JBcnJheSksXG4gICAgICAgICAgc2VsZWN0b3IgPSBmaXJzdFNlbGVjdG9yLCAvLy9cbiAgICAgICAgICBjb250ZW50ID0gc2VsZWN0b3JBcnJheS5yZWR1Y2UoKGNvbnRlbnQsIHNlbGVjdG9yKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RvckNvbnRlbnQgPSBzZWxlY3Rvci5nZXRDb250ZW50KCksXG4gICAgICAgICAgICAgICAgICBzZWxlY3RvcldoaXRlc3BhY2UgPSBzZWxlY3Rvci5oYXNXaGl0ZXNwYWNlKCk7XG5cbiAgICAgICAgICAgIGlmIChjb250ZW50ID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQgPSBzZWxlY3RvcldoaXRlc3BhY2UgP1xuICAgICAgICAgICAgICAgICAgICAgICAgIGAgJHtzZWxlY3RvckNvbnRlbnR9YCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtzZWxlY3RvckNvbnRlbnR9YDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQgPSBzZWxlY3RvcldoaXRlc3BhY2UgP1xuICAgICAgICAgICAgICAgICAgICAgICAgIGAke2NvbnRlbnR9ICR7c2VsZWN0b3JDb250ZW50fWAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7Y29udGVudH0ke3NlbGVjdG9yQ29udGVudH1gO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICAgICAgICB9LCBudWxsKSxcbiAgICAgICAgICB3aGl0ZXNwYWNlID0gc2VsZWN0b3IuaGFzV2hpdGVzcGFjZSgpO1xuXG4gICAgc2VsZWN0b3JzID0gbmV3IFNlbGVjdG9ycyhjb250ZW50LCB3aGl0ZXNwYWNlKTtcbiAgfVxuXG4gIHJldHVybiBzZWxlY3RvcnM7XG59XG4iXSwibmFtZXMiOlsiU2VsZWN0b3JzIiwic2VsZWN0b3JOb25UZXJtaW5hbE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsImNvbnRlbnQiLCJ3aGl0ZXNwYWNlIiwiZ2V0Q29udGVudCIsImhhc1doaXRlc3BhY2UiLCJjb21iaW5lIiwic2VsZWN0b3JzIiwib3V0ZXJtb3N0Iiwib3V0ZXJTZWxlY3RvcnMiLCJpbm5lclNlbGVjdG9ycyIsIm91dGVyU2VsZWN0b3JzQ29udGVudCIsImlubmVyU2VsZWN0b3JzQ29udGVudCIsIm91dGVyU2VsZWN0b3JzV2hpdGVzcGFjZSIsImlubmVyU2VsZWN0b3JzV2hpdGVzcGFjZSIsImZyb21Db250ZW50QW5kV2hpdGVzcGFjZSIsImFzQ1NTIiwiY3NzIiwiZnJvbU5vZGVBbmRUb2tlbnMiLCJub2RlIiwidG9rZW5zIiwic2VsZWN0b3JzRnJvbU5vZGVBbmRUb2tlbnMiLCJmcm9tU2VsZWN0b3JzU3RyaW5nIiwic2VsZWN0b3JzU3RyaW5nIiwic2VsZWN0b3JOb25UZXJtaW5hbE5vZGVzIiwic2VsZWN0b3JBcnJheSIsInJlZHVjZSIsInNlbGVjdG9yTm9uVGVybWluYWxOb2RlIiwic2VsZWN0b3IiLCJTZWxlY3RvciIsInB1c2giLCJzZWxlY3RvcnNBcnJheUxlbmd0aCIsImxlbmd0aCIsImZpcnN0U2VsZWN0b3IiLCJzZWxlY3RvckNvbnRlbnQiLCJzZWxlY3RvcldoaXRlc3BhY2UiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBWXFCQTs7O3lCQVZVOytEQUVWO3FCQUVNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTNCLElBQU1DLGdDQUFnQ0MsSUFBQUEsaUJBQVUsRUFBQztBQUVqRCxJQUFNLEFBQUVDLFFB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
|
|
@@ -0,0 +1,128 @@
|
|
|
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 SelectorsList;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _selectors = /*#__PURE__*/ _interop_require_default(require("./selectors"));
|
|
12
|
+
var _constants = require("../constants");
|
|
13
|
+
var _query = require("../utilities/query");
|
|
14
|
+
function _class_call_check(instance, Constructor) {
|
|
15
|
+
if (!(instance instanceof Constructor)) {
|
|
16
|
+
throw new TypeError("Cannot call a class as a function");
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function _defineProperties(target, props) {
|
|
20
|
+
for(var i = 0; i < props.length; i++){
|
|
21
|
+
var descriptor = props[i];
|
|
22
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
23
|
+
descriptor.configurable = true;
|
|
24
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
25
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
29
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
30
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
31
|
+
return Constructor;
|
|
32
|
+
}
|
|
33
|
+
function _interop_require_default(obj) {
|
|
34
|
+
return obj && obj.__esModule ? obj : {
|
|
35
|
+
default: obj
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
var selectorsNonTerminalNodesQuery = (0, _query.nodesQuery)("/selectorsList/selectors"), selectorsListNonTerminalNodeQuery = (0, _query.nodeQuery)("/ruleSet/selectorsList");
|
|
39
|
+
var SelectorsList = /*#__PURE__*/ function() {
|
|
40
|
+
function SelectorsList(array) {
|
|
41
|
+
_class_call_check(this, SelectorsList);
|
|
42
|
+
this.array = array;
|
|
43
|
+
}
|
|
44
|
+
_create_class(SelectorsList, [
|
|
45
|
+
{
|
|
46
|
+
key: "getLength",
|
|
47
|
+
value: function getLength() {
|
|
48
|
+
return this.array.length;
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
key: "reduceSelectors",
|
|
53
|
+
value: function reduceSelectors(callback, initialValue) {
|
|
54
|
+
return this.array.reduce(callback, initialValue);
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
key: "forEachSelectors",
|
|
59
|
+
value: function forEachSelectors(callback) {
|
|
60
|
+
this.array.forEach(callback);
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
key: "combine",
|
|
65
|
+
value: function combine(selectorsList) {
|
|
66
|
+
var outermost = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
|
|
67
|
+
var outerSelectorsList = SelectorsList.fromArray(this.array), innerSelectorsList = selectorsList, array = outerSelectorsList.reduceSelectors(function(array, outerSelectors) {
|
|
68
|
+
innerSelectorsList.forEachSelectors(function(innerSelectors) {
|
|
69
|
+
var selectors = outerSelectors.combine(innerSelectors, outermost);
|
|
70
|
+
if (selectors !== null) {
|
|
71
|
+
array.push(selectors);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
return array;
|
|
75
|
+
}, []);
|
|
76
|
+
selectorsList = SelectorsList.fromArray(array);
|
|
77
|
+
return selectorsList;
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
key: "asCSS",
|
|
82
|
+
value: function asCSS() {
|
|
83
|
+
var css = _constants.EMPTY_STRING;
|
|
84
|
+
var length = this.getLength();
|
|
85
|
+
if (length > 0) {
|
|
86
|
+
css = this.array.reduce(function(css, selectors) {
|
|
87
|
+
var selectorsCSS = selectors.asCSS();
|
|
88
|
+
css = css === null ? selectorsCSS : "".concat(css, ",\n").concat(selectorsCSS);
|
|
89
|
+
return css;
|
|
90
|
+
}, null);
|
|
91
|
+
}
|
|
92
|
+
return css;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
], [
|
|
96
|
+
{
|
|
97
|
+
key: "fromArray",
|
|
98
|
+
value: function fromArray(array) {
|
|
99
|
+
var selectorsList = new SelectorsList(array);
|
|
100
|
+
return selectorsList;
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
key: "fromNodeAndTokens",
|
|
105
|
+
value: function fromNodeAndTokens(node, tokens) {
|
|
106
|
+
var selectorsListNonTerminalNode = selectorsListNonTerminalNodeQuery(node);
|
|
107
|
+
node = selectorsListNonTerminalNode; ///
|
|
108
|
+
var selectorsNonTerminalNodes = selectorsNonTerminalNodesQuery(node), array = selectorsNonTerminalNodes.map(function(selectorsNonTerminalNode) {
|
|
109
|
+
var _$node = selectorsNonTerminalNode, selectors = _selectors.default.fromNodeAndTokens(_$node, tokens);
|
|
110
|
+
return selectors;
|
|
111
|
+
}), selectorsList = new SelectorsList(array);
|
|
112
|
+
return selectorsList;
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
key: "fromSelectorsString",
|
|
117
|
+
value: function fromSelectorsString(selectorsString) {
|
|
118
|
+
var selectors = _selectors.default.fromSelectorsString(selectorsString), array = [
|
|
119
|
+
selectors
|
|
120
|
+
], selectorsList = new SelectorsList(array);
|
|
121
|
+
return selectorsList;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
]);
|
|
125
|
+
return SelectorsList;
|
|
126
|
+
}();
|
|
127
|
+
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHlsZS9zZWxlY3RvcnNMaXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgU2VsZWN0b3JzIGZyb20gXCIuL3NlbGVjdG9yc1wiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHNlbGVjdG9yc05vblRlcm1pbmFsTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvc2VsZWN0b3JzTGlzdC9zZWxlY3RvcnNcIiksXG4gICAgICBzZWxlY3RvcnNMaXN0Tm9uVGVybWluYWxOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcnVsZVNldC9zZWxlY3RvcnNMaXN0XCIpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTZWxlY3RvcnNMaXN0IHtcbiAgY29uc3RydWN0b3IoYXJyYXkpIHtcbiAgICB0aGlzLmFycmF5ID0gYXJyYXk7XG4gIH1cblxuICBnZXRMZW5ndGgoKSB7IHJldHVybiB0aGlzLmFycmF5Lmxlbmd0aDsgfVxuXG4gIHJlZHVjZVNlbGVjdG9ycyhjYWxsYmFjaywgaW5pdGlhbFZhbHVlKSB7IHJldHVybiB0aGlzLmFycmF5LnJlZHVjZShjYWxsYmFjaywgaW5pdGlhbFZhbHVlKTsgfVxuXG4gIGZvckVhY2hTZWxlY3RvcnMoY2FsbGJhY2spIHsgdGhpcy5hcnJheS5mb3JFYWNoKGNhbGxiYWNrKTsgfVxuXG4gIGNvbWJpbmUoc2VsZWN0b3JzTGlzdCwgb3V0ZXJtb3N0ID0gZmFsc2UpIHtcbiAgICBjb25zdCBvdXRlclNlbGVjdG9yc0xpc3QgPSBTZWxlY3RvcnNMaXN0LmZyb21BcnJheSh0aGlzLmFycmF5KSwgLy8vXG4gICAgICAgICAgaW5uZXJTZWxlY3RvcnNMaXN0ID0gc2VsZWN0b3JzTGlzdCwgLy8vXG4gICAgICAgICAgYXJyYXkgPSBvdXRlclNlbGVjdG9yc0xpc3QucmVkdWNlU2VsZWN0b3JzKChhcnJheSwgb3V0ZXJTZWxlY3RvcnMpID0+IHtcbiAgICAgICAgICAgICAgICAgIGlubmVyU2VsZWN0b3JzTGlzdC5mb3JFYWNoU2VsZWN0b3JzKChpbm5lclNlbGVjdG9ycykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RvcnMgPSBvdXRlclNlbGVjdG9ycy5jb21iaW5lKGlubmVyU2VsZWN0b3JzLCBvdXRlcm1vc3QpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChzZWxlY3RvcnMgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICBhcnJheS5wdXNoKHNlbGVjdG9ycyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gYXJyYXk7XG4gICAgICAgICAgfSwgW10pO1xuXG4gICAgc2VsZWN0b3JzTGlzdCA9IFNlbGVjdG9yc0xpc3QuZnJvbUFycmF5KGFycmF5KTtcblxuICAgIHJldHVybiBzZWxlY3RvcnNMaXN0O1xuICB9XG5cbiAgYXNDU1MoKSB7XG4gICAgbGV0IGNzcyA9IEVNUFRZX1NUUklORztcblxuICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMuZ2V0TGVuZ3RoKCk7XG5cbiAgICBpZiAobGVuZ3RoID4gMCkge1xuICAgICAgY3NzID0gdGhpcy5hcnJheS5yZWR1Y2UoKGNzcywgc2VsZWN0b3JzKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdG9yc0NTUyA9IHNlbGVjdG9ycy5hc0NTUygpO1xuXG4gICAgICAgIGNzcyA9IChjc3MgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgICBzZWxlY3RvcnNDU1MgOiAvLy9cbiAgICAgICAgICAgICAgICAgIGAke2Nzc30sXG4ke3NlbGVjdG9yc0NTU31gO1xuXG4gICAgICAgIHJldHVybiBjc3M7XG4gICAgICB9LCBudWxsKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY3NzO1xuICB9XG5cbiAgc3RhdGljIGZyb21BcnJheShhcnJheSkge1xuICAgIGNvbnN0IHNlbGVjdG9yc0xpc3QgPSBuZXcgU2VsZWN0b3JzTGlzdChhcnJheSk7XG5cbiAgICByZXR1cm4gc2VsZWN0b3JzTGlzdDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm9kZUFuZFRva2Vucyhub2RlLCB0b2tlbnMpIHtcbiAgICBjb25zdCBzZWxlY3RvcnNMaXN0Tm9uVGVybWluYWxOb2RlID0gc2VsZWN0b3JzTGlzdE5vblRlcm1pbmFsTm9kZVF1ZXJ5KG5vZGUpO1xuXG4gICAgbm9kZSA9IHNlbGVjdG9yc0xpc3ROb25UZXJtaW5hbE5vZGU7ICAvLy9cblxuICAgIGNvbnN0IHNlbGVjdG9yc05vblRlcm1pbmFsTm9kZXMgPSBzZWxlY3RvcnNOb25UZXJtaW5hbE5vZGVzUXVlcnkobm9kZSksXG4gICAgICAgICAgYXJyYXkgPSBzZWxlY3RvcnNOb25UZXJtaW5hbE5vZGVzLm1hcCgoc2VsZWN0b3JzTm9uVGVybWluYWxOb2RlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBub2RlID0gc2VsZWN0b3JzTm9uVGVybWluYWxOb2RlLCAgLy8vXG4gICAgICAgICAgICAgICAgICBzZWxlY3RvcnMgPSBTZWxlY3RvcnMuZnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zKTtcblxuICAgICAgICAgICAgcmV0dXJuIHNlbGVjdG9ycztcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBzZWxlY3RvcnNMaXN0ID0gbmV3IFNlbGVjdG9yc0xpc3QoYXJyYXkpO1xuXG4gICAgcmV0dXJuIHNlbGVjdG9yc0xpc3Q7XG4gIH1cblxuICBzdGF0aWMgZnJvbVNlbGVjdG9yc1N0cmluZyhzZWxlY3RvcnNTdHJpbmcpIHtcbiAgICBjb25zdCBzZWxlY3RvcnMgPSBTZWxlY3RvcnMuZnJvbVNlbGVjdG9yc1N0cmluZyhzZWxlY3RvcnNTdHJpbmcpLFxuICAgICAgICAgIGFycmF5ID0gW1xuICAgICAgICAgICAgc2VsZWN0b3JzXG4gICAgICAgICAgXSxcbiAgICAgICAgICBzZWxlY3RvcnNMaXN0ID0gbmV3IFNlbGVjdG9yc0xpc3QoYXJyYXkpO1xuXG4gICAgcmV0dXJuIHNlbGVjdG9yc0xpc3Q7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTZWxlY3RvcnNMaXN0Iiwic2VsZWN0b3JzTm9uVGVybWluYWxOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInNlbGVjdG9yc0xpc3ROb25UZXJtaW5hbE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImFycmF5IiwiZ2V0TGVuZ3RoIiwibGVuZ3RoIiwicmVkdWNlU2VsZWN0b3JzIiwiY2FsbGJhY2siLCJpbml0aWFsVmFsdWUiLCJyZWR1Y2UiLCJmb3JFYWNoU2VsZWN0b3JzIiwiZm9yRWFjaCIsImNvbWJpbmUiLCJzZWxlY3RvcnNMaXN0Iiwib3V0ZXJtb3N0Iiwib3V0ZXJTZWxlY3RvcnNMaXN0IiwiZnJvbUFycmF5IiwiaW5uZXJTZWxlY3RvcnNMaXN0Iiwib3V0ZXJTZWxlY3RvcnMiLCJpbm5lclNlbGVjdG9ycyIsInNlbGVjdG9ycyIsInB1c2giLCJhc0NTUyIsImNzcyIsIkVNUFRZX1NUUklORyIsInNlbGVjdG9yc0NTUyIsImZyb21Ob2RlQW5kVG9rZW5zIiwibm9kZSIsInRva2VucyIsInNlbGVjdG9yc0xpc3ROb25UZXJtaW5hbE5vZGUiLCJzZWxlY3RvcnNOb25UZXJtaW5hbE5vZGVzIiwibWFwIiwic2VsZWN0b3JzTm9uVGVybWluYWxOb2RlIiwiU2VsZWN0b3JzIiwiZnJvbVNlbGVjdG9yc1N0cmluZyIsInNlbGVjdG9yc1N0cmluZyJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVVxQkE7OztnRUFSQzt5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
|