highmark-markdown 0.0.204 → 0.0.209

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/example.js +9014 -7397
  2. package/lib/constants.js +13 -1
  3. package/lib/defaultMarkdownStyle.js +14 -0
  4. package/lib/example/constants.js +5 -1
  5. package/lib/example/view/div/preview.js +5 -3
  6. package/lib/example/view/div/sizeable/left.js +2 -2
  7. package/lib/example/view/textarea/{bnf.js → css.js} +17 -17
  8. package/lib/example/view/textarea/{lexicalEntries.js → markdownStyle.js} +25 -19
  9. package/lib/example/view/xmp.js +2 -2
  10. package/lib/example/view.js +30 -21
  11. package/lib/example.js +9 -2
  12. package/lib/index.js +25 -1
  13. package/lib/markdown/bnf.js +2 -2
  14. package/lib/markdownStyle/bnf.js +14 -0
  15. package/lib/markdownStyle/entries.js +50 -0
  16. package/lib/markdownStyle/lexer.js +162 -0
  17. package/lib/{example/view/div/sizeable/right.js → markdownStyle/parser.js} +46 -34
  18. package/lib/style/declaration.js +72 -0
  19. package/lib/style/declarations.js +89 -0
  20. package/lib/style/division.js +83 -0
  21. package/lib/style/ruleSet.js +85 -0
  22. package/lib/style/ruleSets.js +89 -0
  23. package/lib/style/selector.js +131 -0
  24. package/lib/style/selectors.js +134 -0
  25. package/lib/style/selectorsList.js +128 -0
  26. package/lib/styleElement/markdown/default.js +163 -0
  27. package/lib/styleElement/markdown.js +195 -0
  28. package/lib/styleElement.js +100 -0
  29. package/lib/utilities/content.js +29 -4
  30. package/lib/utilities/css.js +51 -0
  31. package/lib/utilities/entries.js +24 -0
  32. package/lib/utilities/query.js +27 -1
  33. package/package.json +1 -1
  34. package/src/constants.js +3 -0
  35. package/src/defaultMarkdownStyle.js +143 -0
  36. package/src/example/constants.js +1 -0
  37. package/src/example/view/div/preview.js +5 -2
  38. package/src/example/view/div/sizeable/left.js +1 -1
  39. package/src/example/view/textarea/{bnf.js → css.js} +10 -10
  40. package/src/example/view/textarea/markdownStyle.js +41 -0
  41. package/src/example/view/xmp.js +0 -3
  42. package/src/example/view.js +52 -48
  43. package/src/example.js +10 -1
  44. package/src/index.js +6 -0
  45. package/src/markdown/bnf.js +1 -1
  46. package/src/markdownStyle/bnf.js +81 -0
  47. package/src/markdownStyle/entries.js +39 -0
  48. package/src/markdownStyle/lexer.js +43 -0
  49. package/src/markdownStyle/parser.js +15 -0
  50. package/src/style/declaration.js +42 -0
  51. package/src/style/declarations.js +64 -0
  52. package/src/style/division.js +46 -0
  53. package/src/style/ruleSet.js +48 -0
  54. package/src/style/ruleSets.js +57 -0
  55. package/src/style/selector.js +126 -0
  56. package/src/style/selectors.js +121 -0
  57. package/src/style/selectorsList.js +95 -0
  58. package/src/styleElement/markdown/default.js +28 -0
  59. package/src/styleElement/markdown.js +48 -0
  60. package/src/styleElement.js +49 -0
  61. package/src/utilities/content.js +27 -0
  62. package/src/utilities/css.js +41 -0
  63. package/src/utilities/entries.js +23 -0
  64. package/src/utilities/query.js +29 -0
  65. package/lib/example/view/textarea/parseTree.js +0 -183
  66. package/src/example/view/div/sizeable/right.js +0 -19
  67. package/src/example/view/textarea/lexicalEntries.js +0 -36
  68. package/src/example/view/textarea/parseTree.js +0 -50
@@ -0,0 +1,83 @@
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 Division;
9
+ }
10
+ });
11
+ var _ruleSets = /*#__PURE__*/ _interop_require_default(require("./ruleSets"));
12
+ var _declarations = /*#__PURE__*/ _interop_require_default(require("./declarations"));
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 Division = /*#__PURE__*/ function() {
39
+ function Division(ruleSets, declarations, selectorsList) {
40
+ _class_call_check(this, Division);
41
+ this.ruleSets = ruleSets;
42
+ this.declarations = declarations;
43
+ this.selectorsList = selectorsList;
44
+ }
45
+ _create_class(Division, [
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() {
67
+ var outermost = true, ruleSetsCSS = this.ruleSets.asCSS(this.selectorsList, outermost), declarationsCSS = this.declarations.asCSS(this.selectorsList, outermost), css = declarationsCSS === _constants.EMPTY_STRING ? ruleSetsCSS : "".concat(declarationsCSS, "\n").concat(ruleSetsCSS);
68
+ return css;
69
+ }
70
+ }
71
+ ], [
72
+ {
73
+ key: "fromNodeTokensAndSelectorsList",
74
+ value: function fromNodeTokensAndSelectorsList(node, tokens, selectorsList) {
75
+ var ruleSets = _ruleSets.default.fromNodeAndTokens(node, tokens), declarations = _declarations.default.fromNodeAndTokens(node, tokens), division = new Division(ruleSets, declarations, selectorsList);
76
+ return division;
77
+ }
78
+ }
79
+ ]);
80
+ return Division;
81
+ }();
82
+
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHlsZS9kaXZpc2lvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFJ1bGVTZXRzIGZyb20gXCIuL3J1bGVTZXRzXCI7XG5pbXBvcnQgRGVjbGFyYXRpb25zIGZyb20gXCIuL2RlY2xhcmF0aW9uc1wiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERpdmlzaW9uIHtcbiAgY29uc3RydWN0b3IocnVsZVNldHMsIGRlY2xhcmF0aW9ucywgc2VsZWN0b3JzTGlzdCkge1xuICAgIHRoaXMucnVsZVNldHMgPSBydWxlU2V0cztcbiAgICB0aGlzLmRlY2xhcmF0aW9ucyA9IGRlY2xhcmF0aW9ucztcbiAgICB0aGlzLnNlbGVjdG9yc0xpc3QgPSBzZWxlY3RvcnNMaXN0O1xuICB9XG5cbiAgZ2V0UnVsZVNldHMoKSB7XG4gICAgcmV0dXJuIHRoaXMucnVsZVNldHM7XG4gIH1cblxuICBnZXREZWNsYXJhdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVjbGFyYXRpb25zO1xuICB9XG5cbiAgZ2V0U2VsZWN0b3JzTGlzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RvcnNMaXN0O1xuICB9XG5cbiAgYXNDU1MoKSB7XG4gICAgY29uc3Qgb3V0ZXJtb3N0ID0gdHJ1ZSxcbiAgICAgICAgICBydWxlU2V0c0NTUyA9IHRoaXMucnVsZVNldHMuYXNDU1ModGhpcy5zZWxlY3RvcnNMaXN0LCBvdXRlcm1vc3QpLFxuICAgICAgICAgIGRlY2xhcmF0aW9uc0NTUyA9IHRoaXMuZGVjbGFyYXRpb25zLmFzQ1NTKHRoaXMuc2VsZWN0b3JzTGlzdCwgb3V0ZXJtb3N0KSxcbiAgICAgICAgICBjc3MgPSAoZGVjbGFyYXRpb25zQ1NTID09PSBFTVBUWV9TVFJJTkcpID9cbiAgICAgICAgICAgICAgICAgIHJ1bGVTZXRzQ1NTIDogLy8vXG4gICAgICAgICAgICAgICAgICAgIGAke2RlY2xhcmF0aW9uc0NTU31cbiR7cnVsZVNldHNDU1N9YDtcblxuICAgIHJldHVybiBjc3M7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vZGVUb2tlbnNBbmRTZWxlY3RvcnNMaXN0KG5vZGUsIHRva2Vucywgc2VsZWN0b3JzTGlzdCkge1xuICAgIGNvbnN0IHJ1bGVTZXRzID0gUnVsZVNldHMuZnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zKSxcbiAgICAgICAgICBkZWNsYXJhdGlvbnMgPSBEZWNsYXJhdGlvbnMuZnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zKSxcbiAgICAgICAgICBkaXZpc2lvbiA9IG5ldyBEaXZpc2lvbihydWxlU2V0cywgZGVjbGFyYXRpb25zLCBzZWxlY3RvcnNMaXN0KTtcblxuICAgIHJldHVybiBkaXZpc2lvbjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkRpdmlzaW9uIiwicnVsZVNldHMiLCJkZWNsYXJhdGlvbnMiLCJzZWxlY3RvcnNMaXN0IiwiZ2V0UnVsZVNldHMiLCJnZXREZWNsYXJhdGlvbnMiLCJnZXRTZWxlY3RvcnNMaXN0IiwiYXNDU1MiLCJvdXRlcm1vc3QiLCJydWxlU2V0c0NTUyIsImRlY2xhcmF0aW9uc0NTUyIsImNzcyIsIkVNUFRZX1NUUklORyIsImZyb21Ob2RlVG9rZW5zQW5kU2VsZWN0b3JzTGlzdCIsIm5vZGUiLCJ0b2tlbnMiLCJSdWxlU2V0cyIsImZyb21Ob2RlQW5kVG9rZW5zIiwiRGVjbGFyYXRpb25zIiwiZGl2aXNpb24iXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFPcUJBOzs7K0RBTEE7bUVBQ0k7eUJBRUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFZCxJQUFBLEFBQU1BLHlCQUFELEFBQUw7YUFBTUEsU0FDUEMsUUFBUSxFQUFFQyxZQUFZLEVBQUVDLGFBQWE7Z0NBRDlCSDtRQUVqQixJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxZQUFZLEdBQUdBO1FBQ3BCLElBQUksQ0FBQ0MsYUFBYSxHQUFHQTs7a0JBSkpIOztZQU9uQkksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxRQUFRO1lBQ3RCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxZQUFZO1lBQzFCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxhQUFhO1lBQzNCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLFlBQVksTUFDWkMsY0FBYyxJQUFJLENBQUNSLFFBQVEsQ0FBQ00sS0FBSyxDQUFDLElBQUksQ0FBQ0osYUFBYSxFQUFFSyxZQUN0REUsa0JBQWtCLElBQUksQ0FBQ1IsWUFBWSxDQUFDSyxLQUFLLENBQUMsSUFBSSxDQUFDSixhQUFhLEVBQUVLLFlBQzlERyxNQUFNLEFBQUNELG9CQUFvQkUsdUJBQVksR0FDL0JILGNBQ0UsQUFBQyxHQUNuQkEsT0FEcUJDLGlCQUFnQixNQUN6QixPQUFaRDtnQkFFRSxPQUFPRTtZQUNUOzs7O1lBRU9FLEtBQUFBO21CQUFQLFNBQU9BLCtCQUErQkMsSUFBSSxFQUFFQyxNQUFNLEVBQUVaLGFBQWE7Z0JBQy9ELElBQU1GLFdBQVdlLGlCQUFRLENBQUNDLGlCQUFpQixDQUFDSCxNQUFNQyxTQUM1Q2IsZUFBZWdCLHFCQUFZLENBQUNELGlCQUFpQixDQUFDSCxNQUFNQyxTQUNwREksV0FBVyxJQWxDQW5CLFNBa0NhQyxVQUFVQyxjQUFjQztnQkFFdEQsT0FBT2dCO1lBQ1Q7OztXQXJDbUJuQiJ9
@@ -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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