occam-dom 5.1.1 → 5.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -17,15 +17,19 @@ _export(exports, {
17
17
  },
18
18
  nodeUtilities: function() {
19
19
  return _node1.default;
20
+ },
21
+ transformUtilities: function() {
22
+ return _transform1.default;
20
23
  }
21
24
  });
22
25
  var _node = /*#__PURE__*/ _interop_require_default(require("./node"));
23
26
  var _transform = /*#__PURE__*/ _interop_require_default(require("./transform"));
24
27
  var _node1 = /*#__PURE__*/ _interop_require_default(require("./utilities/node"));
28
+ var _transform1 = /*#__PURE__*/ _interop_require_default(require("./utilities/transform"));
25
29
  function _interop_require_default(obj) {
26
30
  return obj && obj.__esModule ? obj : {
27
31
  default: obj
28
32
  };
29
33
  }
30
34
 
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBOb2RlIH0gZnJvbSBcIi4vbm9kZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBUcmFuc2Zvcm0gfSBmcm9tIFwiLi90cmFuc2Zvcm1cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgbm9kZVV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9ub2RlXCI7XG4iXSwibmFtZXMiOlsiTm9kZSIsIlRyYW5zZm9ybSIsIm5vZGVVdGlsaXRpZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQUVvQkEsSUFBSTtlQUFKQSxhQUFJOztJQUNKQyxTQUFTO2VBQVRBLGtCQUFTOztJQUNUQyxhQUFhO2VBQWJBLGNBQWE7OzsyREFGRDtnRUFDSzs0REFDSSJ9
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBOb2RlIH0gZnJvbSBcIi4vbm9kZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBUcmFuc2Zvcm0gfSBmcm9tIFwiLi90cmFuc2Zvcm1cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgbm9kZVV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9ub2RlXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHRyYW5zZm9ybVV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy90cmFuc2Zvcm1cIjtcbiJdLCJuYW1lcyI6WyJOb2RlIiwiVHJhbnNmb3JtIiwibm9kZVV0aWxpdGllcyIsInRyYW5zZm9ybVV0aWxpdGllcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBRW9CQSxJQUFJO2VBQUpBLGFBQUk7O0lBQ0pDLFNBQVM7ZUFBVEEsa0JBQVM7O0lBQ1RDLGFBQWE7ZUFBYkEsY0FBYTs7SUFDYkMsa0JBQWtCO2VBQWxCQSxtQkFBa0I7OzsyREFITjtnRUFDSzs0REFDSTtpRUFDSyJ9
@@ -100,39 +100,39 @@ var NodeParseTree = /*#__PURE__*/ function(VerticalBranchParseTree) {
100
100
  key: "fromNode",
101
101
  value: function fromNode(node) {
102
102
  var nodeParseTree;
103
- var childNodes = node.getChildNodes(), ruleNameParseTree = _string.default.fromNode(node), childNodesParseTree = _childNodes.default.fromChildNodes(childNodes);
103
+ var childNodes = node.getChildNodes(), stringParseTree = _string.default.fromNode(node), childNodesParseTree = _childNodes.default.fromChildNodes(childNodes);
104
104
  if (childNodesParseTree === null) {
105
- var ruleNameParseTreeDepth = ruleNameParseTree.getDepth(), ruleNameParseTreeVerticalBranchPosition = ruleNameParseTree.getVerticalBranchPosition(), verticalBranchPosition = ruleNameParseTreeVerticalBranchPosition, depth = ruleNameParseTreeDepth; ///
105
+ var ruleNameParseTreeDepth = stringParseTree.getDepth(), ruleNameParseTreeVerticalBranchPosition = stringParseTree.getVerticalBranchPosition(), verticalBranchPosition = ruleNameParseTreeVerticalBranchPosition, depth = ruleNameParseTreeDepth; ///
106
106
  nodeParseTree = _verticalBranch.default.fromDepthAndVerticalBranchPosition(NodeParseTree, depth, verticalBranchPosition);
107
- nodeParseTree.appendToRight(ruleNameParseTree);
107
+ nodeParseTree.appendToRight(stringParseTree);
108
108
  } else {
109
- var ruleNameParseTreeVerticalBranchPosition1 = ruleNameParseTree.getVerticalBranchPosition();
109
+ var ruleNameParseTreeVerticalBranchPosition1 = stringParseTree.getVerticalBranchPosition();
110
110
  var childNodesParseTreeVerticalBranchPosition = childNodesParseTree.getVerticalBranchPosition(), verticalBranchPositionsDifference = ruleNameParseTreeVerticalBranchPosition1 - childNodesParseTreeVerticalBranchPosition;
111
111
  var leftMarginWidth;
112
112
  if (false) {
113
113
  ///
114
114
  } else if (verticalBranchPositionsDifference < 0) {
115
115
  leftMarginWidth = -verticalBranchPositionsDifference;
116
- ruleNameParseTree.addLeftMargin(leftMarginWidth);
116
+ stringParseTree.addLeftMargin(leftMarginWidth);
117
117
  } else if (verticalBranchPositionsDifference > 0) {
118
118
  leftMarginWidth = +verticalBranchPositionsDifference;
119
119
  childNodesParseTree.addLeftMargin(leftMarginWidth);
120
120
  }
121
- var ruleNameParseTreeWidth = ruleNameParseTree.getWidth(), childNodesParseTreeWidth = childNodesParseTree.getWidth(), widthsDifference = ruleNameParseTreeWidth - childNodesParseTreeWidth;
121
+ var ruleNameParseTreeWidth = stringParseTree.getWidth(), childNodesParseTreeWidth = childNodesParseTree.getWidth(), widthsDifference = ruleNameParseTreeWidth - childNodesParseTreeWidth;
122
122
  var rightMarginWidth;
123
123
  if (false) {
124
124
  ///
125
125
  } else if (widthsDifference < 0) {
126
126
  rightMarginWidth = -widthsDifference;
127
- ruleNameParseTree.addRightMargin(rightMarginWidth);
127
+ stringParseTree.addRightMargin(rightMarginWidth);
128
128
  } else if (widthsDifference > 0) {
129
129
  rightMarginWidth = +widthsDifference;
130
130
  childNodesParseTree.addRightMargin(rightMarginWidth);
131
131
  }
132
- ruleNameParseTreeVerticalBranchPosition1 = ruleNameParseTree.getVerticalBranchPosition();
133
- var ruleNameParseTreeDepth1 = ruleNameParseTree.getDepth(), verticalBranchPosition1 = ruleNameParseTreeVerticalBranchPosition1, depth1 = ruleNameParseTreeDepth1; ///
132
+ ruleNameParseTreeVerticalBranchPosition1 = stringParseTree.getVerticalBranchPosition();
133
+ var ruleNameParseTreeDepth1 = stringParseTree.getDepth(), verticalBranchPosition1 = ruleNameParseTreeVerticalBranchPosition1, depth1 = ruleNameParseTreeDepth1; ///
134
134
  nodeParseTree = _verticalBranch.default.fromDepthAndVerticalBranchPosition(NodeParseTree, depth1, verticalBranchPosition1);
135
- nodeParseTree.appendToRight(ruleNameParseTree);
135
+ nodeParseTree.appendToRight(stringParseTree);
136
136
  nodeParseTree.appendToBottom(childNodesParseTree);
137
137
  }
138
138
  return nodeParseTree;
@@ -142,4 +142,4 @@ var NodeParseTree = /*#__PURE__*/ function(VerticalBranchParseTree) {
142
142
  return NodeParseTree;
143
143
  }(_verticalBranch.default);
144
144
 
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZVRyZWUvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFN0cmluZ1BhcnNlVHJlZSBmcm9tIFwiLi9zdHJpbmdcIjtcbmltcG9ydCBDaGlsZE5vZGVzUGFyc2VUcmVlIGZyb20gXCIuL2NoaWxkTm9kZXNcIjtcbmltcG9ydCBWZXJ0aWNhbEJyYW5jaFBhcnNlVHJlZSBmcm9tIFwiLi92ZXJ0aWNhbEJyYW5jaFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOb2RlUGFyc2VUcmVlIGV4dGVuZHMgVmVydGljYWxCcmFuY2hQYXJzZVRyZWUge1xuICBzdGF0aWMgZnJvbU5vZGUobm9kZSkge1xuICAgIGxldCBub2RlUGFyc2VUcmVlO1xuXG4gICAgY29uc3QgY2hpbGROb2RlcyA9IG5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIHJ1bGVOYW1lUGFyc2VUcmVlID0gU3RyaW5nUGFyc2VUcmVlLmZyb21Ob2RlKG5vZGUpLFxuICAgICAgICAgIGNoaWxkTm9kZXNQYXJzZVRyZWUgPSBDaGlsZE5vZGVzUGFyc2VUcmVlLmZyb21DaGlsZE5vZGVzKGNoaWxkTm9kZXMpO1xuXG4gICAgaWYgKGNoaWxkTm9kZXNQYXJzZVRyZWUgPT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHJ1bGVOYW1lUGFyc2VUcmVlRGVwdGggPSBydWxlTmFtZVBhcnNlVHJlZS5nZXREZXB0aCgpLFxuICAgICAgICAgICAgcnVsZU5hbWVQYXJzZVRyZWVWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uID0gcnVsZU5hbWVQYXJzZVRyZWUuZ2V0VmVydGljYWxCcmFuY2hQb3NpdGlvbigpLFxuICAgICAgICAgICAgdmVydGljYWxCcmFuY2hQb3NpdGlvbiA9IHJ1bGVOYW1lUGFyc2VUcmVlVmVydGljYWxCcmFuY2hQb3NpdGlvbiwgLy8vXG4gICAgICAgICAgICBkZXB0aCA9IHJ1bGVOYW1lUGFyc2VUcmVlRGVwdGg7IC8vL1xuXG4gICAgICBub2RlUGFyc2VUcmVlID0gVmVydGljYWxCcmFuY2hQYXJzZVRyZWUuZnJvbURlcHRoQW5kVmVydGljYWxCcmFuY2hQb3NpdGlvbihOb2RlUGFyc2VUcmVlLCBkZXB0aCwgdmVydGljYWxCcmFuY2hQb3NpdGlvbik7XG5cbiAgICAgIG5vZGVQYXJzZVRyZWUuYXBwZW5kVG9SaWdodChydWxlTmFtZVBhcnNlVHJlZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBydWxlTmFtZVBhcnNlVHJlZVZlcnRpY2FsQnJhbmNoUG9zaXRpb24gPSBydWxlTmFtZVBhcnNlVHJlZS5nZXRWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uKCk7XG5cbiAgICAgIGNvbnN0IGNoaWxkTm9kZXNQYXJzZVRyZWVWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uID0gY2hpbGROb2Rlc1BhcnNlVHJlZS5nZXRWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uKCksXG4gICAgICAgICAgICB2ZXJ0aWNhbEJyYW5jaFBvc2l0aW9uc0RpZmZlcmVuY2UgPSBydWxlTmFtZVBhcnNlVHJlZVZlcnRpY2FsQnJhbmNoUG9zaXRpb24gLSBjaGlsZE5vZGVzUGFyc2VUcmVlVmVydGljYWxCcmFuY2hQb3NpdGlvbjtcblxuICAgICAgbGV0IGxlZnRNYXJnaW5XaWR0aDtcblxuICAgICAgaWYgKGZhbHNlKSB7XG4gICAgICAgIC8vL1xuICAgICAgfSBlbHNlIGlmICh2ZXJ0aWNhbEJyYW5jaFBvc2l0aW9uc0RpZmZlcmVuY2UgPCAwKSB7XG4gICAgICAgIGxlZnRNYXJnaW5XaWR0aCA9IC12ZXJ0aWNhbEJyYW5jaFBvc2l0aW9uc0RpZmZlcmVuY2U7XG5cbiAgICAgICAgcnVsZU5hbWVQYXJzZVRyZWUuYWRkTGVmdE1hcmdpbihsZWZ0TWFyZ2luV2lkdGgpO1xuICAgICAgfSBlbHNlIGlmICh2ZXJ0aWNhbEJyYW5jaFBvc2l0aW9uc0RpZmZlcmVuY2UgPiAwKSB7XG4gICAgICAgIGxlZnRNYXJnaW5XaWR0aCA9ICt2ZXJ0aWNhbEJyYW5jaFBvc2l0aW9uc0RpZmZlcmVuY2U7XG5cbiAgICAgICAgY2hpbGROb2Rlc1BhcnNlVHJlZS5hZGRMZWZ0TWFyZ2luKGxlZnRNYXJnaW5XaWR0aCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJ1bGVOYW1lUGFyc2VUcmVlV2lkdGggPSBydWxlTmFtZVBhcnNlVHJlZS5nZXRXaWR0aCgpLFxuICAgICAgICAgICAgY2hpbGROb2Rlc1BhcnNlVHJlZVdpZHRoID0gY2hpbGROb2Rlc1BhcnNlVHJlZS5nZXRXaWR0aCgpLFxuICAgICAgICAgICAgd2lkdGhzRGlmZmVyZW5jZSA9IHJ1bGVOYW1lUGFyc2VUcmVlV2lkdGggLSBjaGlsZE5vZGVzUGFyc2VUcmVlV2lkdGg7XG5cbiAgICAgIGxldCByaWdodE1hcmdpbldpZHRoO1xuXG4gICAgICBpZiAoZmFsc2UpIHtcbiAgICAgICAgLy8vXG4gICAgICB9IGVsc2UgaWYgKHdpZHRoc0RpZmZlcmVuY2UgPCAwKSB7XG4gICAgICAgIHJpZ2h0TWFyZ2luV2lkdGggPSAtd2lkdGhzRGlmZmVyZW5jZTtcblxuICAgICAgICBydWxlTmFtZVBhcnNlVHJlZS5hZGRSaWdodE1hcmdpbihyaWdodE1hcmdpbldpZHRoKTtcbiAgICAgIH0gZWxzZSBpZiAod2lkdGhzRGlmZmVyZW5jZSA+IDApIHtcbiAgICAgICAgcmlnaHRNYXJnaW5XaWR0aCA9ICt3aWR0aHNEaWZmZXJlbmNlO1xuXG4gICAgICAgIGNoaWxkTm9kZXNQYXJzZVRyZWUuYWRkUmlnaHRNYXJnaW4ocmlnaHRNYXJnaW5XaWR0aCk7XG4gICAgICB9XG5cbiAgICAgIHJ1bGVOYW1lUGFyc2VUcmVlVmVydGljYWxCcmFuY2hQb3NpdGlvbiA9IHJ1bGVOYW1lUGFyc2VUcmVlLmdldFZlcnRpY2FsQnJhbmNoUG9zaXRpb24oKTtcblxuICAgICAgY29uc3QgcnVsZU5hbWVQYXJzZVRyZWVEZXB0aCA9IHJ1bGVOYW1lUGFyc2VUcmVlLmdldERlcHRoKCksXG4gICAgICAgICAgICB2ZXJ0aWNhbEJyYW5jaFBvc2l0aW9uID0gcnVsZU5hbWVQYXJzZVRyZWVWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uLCAvLy9cbiAgICAgICAgICAgIGRlcHRoID0gcnVsZU5hbWVQYXJzZVRyZWVEZXB0aDsgLy8vXG5cbiAgICAgIG5vZGVQYXJzZVRyZWUgPSBWZXJ0aWNhbEJyYW5jaFBhcnNlVHJlZS5mcm9tRGVwdGhBbmRWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uKE5vZGVQYXJzZVRyZWUsIGRlcHRoLCB2ZXJ0aWNhbEJyYW5jaFBvc2l0aW9uKTtcblxuICAgICAgbm9kZVBhcnNlVHJlZS5hcHBlbmRUb1JpZ2h0KHJ1bGVOYW1lUGFyc2VUcmVlKTtcblxuICAgICAgbm9kZVBhcnNlVHJlZS5hcHBlbmRUb0JvdHRvbShjaGlsZE5vZGVzUGFyc2VUcmVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbm9kZVBhcnNlVHJlZTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIk5vZGVQYXJzZVRyZWUiLCJmcm9tTm9kZSIsIm5vZGUiLCJub2RlUGFyc2VUcmVlIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJydWxlTmFtZVBhcnNlVHJlZSIsIlN0cmluZ1BhcnNlVHJlZSIsImNoaWxkTm9kZXNQYXJzZVRyZWUiLCJDaGlsZE5vZGVzUGFyc2VUcmVlIiwiZnJvbUNoaWxkTm9kZXMiLCJydWxlTmFtZVBhcnNlVHJlZURlcHRoIiwiZ2V0RGVwdGgiLCJydWxlTmFtZVBhcnNlVHJlZVZlcnRpY2FsQnJhbmNoUG9zaXRpb24iLCJnZXRWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uIiwidmVydGljYWxCcmFuY2hQb3NpdGlvbiIsImRlcHRoIiwiVmVydGljYWxCcmFuY2hQYXJzZVRyZWUiLCJmcm9tRGVwdGhBbmRWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uIiwiYXBwZW5kVG9SaWdodCIsImNoaWxkTm9kZXNQYXJzZVRyZWVWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uIiwidmVydGljYWxCcmFuY2hQb3NpdGlvbnNEaWZmZXJlbmNlIiwibGVmdE1hcmdpbldpZHRoIiwiYWRkTGVmdE1hcmdpbiIsInJ1bGVOYW1lUGFyc2VUcmVlV2lkdGgiLCJnZXRXaWR0aCIsImNoaWxkTm9kZXNQYXJzZVRyZWVXaWR0aCIsIndpZHRoc0RpZmZlcmVuY2UiLCJyaWdodE1hcmdpbldpZHRoIiwiYWRkUmlnaHRNYXJnaW4iLCJhcHBlbmRUb0JvdHRvbSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFNcUJBOzs7NkRBSk87aUVBQ0k7cUVBQ0k7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFckIsSUFBQSxBQUFNQSw4QkFBTjtjQUFNQTthQUFBQTtnQ0FBQUE7ZUFBTixrQkFBTUE7O2tCQUFBQTs7WUFDWkMsS0FBQUE7bUJBQVAsU0FBT0EsU0FBU0MsSUFBSTtnQkFDbEIsSUFBSUM7Z0JBRUosSUFBTUMsYUFBYUYsS0FBS0csYUFBYSxJQUMvQkMsb0JBQW9CQyxlQUFlLENBQUNOLFFBQVEsQ0FBQ0MsT0FDN0NNLHNCQUFzQkMsbUJBQW1CLENBQUNDLGNBQWMsQ0FBQ047Z0JBRS9ELElBQUlJLHdCQUF3QixNQUFNO29CQUNoQyxJQUFNRyx5QkFBeUJMLGtCQUFrQk0sUUFBUSxJQUNuREMsMENBQTBDUCxrQkFBa0JRLHlCQUF5QixJQUNyRkMseUJBQXlCRix5Q0FDekJHLFFBQVFMLHdCQUF3QixHQUFHO29CQUV6Q1IsZ0JBQWdCYyx1QkFBdUIsQ0FBQ0Msa0NBQWtDLENBZDNEbEIsZUFjMkVnQixPQUFPRDtvQkFFakdaLGNBQWNnQixhQUFhLENBQUNiO2dCQUM5QixPQUFPO29CQUNMLElBQUlPLDJDQUEwQ1Asa0JBQWtCUSx5QkFBeUI7b0JBRXpGLElBQU1NLDRDQUE0Q1osb0JBQW9CTSx5QkFBeUIsSUFDekZPLG9DQUFvQ1IsMkNBQTBDTztvQkFFcEYsSUFBSUU7b0JBRUosSUFBSSxPQUFPO29CQUNULEdBQUc7b0JBQ0wsT0FBTyxJQUFJRCxvQ0FBb0MsR0FBRzt3QkFDaERDLGtCQUFrQixDQUFDRDt3QkFFbkJmLGtCQUFrQmlCLGFBQWEsQ0FBQ0Q7b0JBQ2xDLE9BQU8sSUFBSUQsb0NBQW9DLEdBQUc7d0JBQ2hEQyxrQkFBa0IsQ0FBQ0Q7d0JBRW5CYixvQkFBb0JlLGFBQWEsQ0FBQ0Q7b0JBQ3BDO29CQUVBLElBQU1FLHlCQUF5QmxCLGtCQUFrQm1CLFFBQVEsSUFDbkRDLDJCQUEyQmxCLG9CQUFvQmlCLFFBQVEsSUFDdkRFLG1CQUFtQkgseUJBQXlCRTtvQkFFbEQsSUFBSUU7b0JBRUosSUFBSSxPQUFPO29CQUNULEdBQUc7b0JBQ0wsT0FBTyxJQUFJRCxtQkFBbUIsR0FBRzt3QkFDL0JDLG1CQUFtQixDQUFDRDt3QkFFcEJyQixrQkFBa0J1QixjQUFjLENBQUNEO29CQUNuQyxPQUFPLElBQUlELG1CQUFtQixHQUFHO3dCQUMvQkMsbUJBQW1CLENBQUNEO3dCQUVwQm5CLG9CQUFvQnFCLGNBQWMsQ0FBQ0Q7b0JBQ3JDO29CQUVBZiwyQ0FBMENQLGtCQUFrQlEseUJBQXlCO29CQUVyRixJQUFNSCwwQkFBeUJMLGtCQUFrQk0sUUFBUSxJQUNuREcsMEJBQXlCRiwwQ0FDekJHLFNBQVFMLHlCQUF3QixHQUFHO29CQUV6Q1IsZ0JBQWdCYyx1QkFBdUIsQ0FBQ0Msa0NBQWtDLENBN0QzRGxCLGVBNkQyRWdCLFFBQU9EO29CQUVqR1osY0FBY2dCLGFBQWEsQ0FBQ2I7b0JBRTVCSCxjQUFjMkIsY0FBYyxDQUFDdEI7Z0JBQy9CO2dCQUVBLE9BQU9MO1lBQ1Q7OztXQXJFbUJIO0VBQXNCaUIsdUJBQXVCIn0=
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZVRyZWUvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFN0cmluZ1BhcnNlVHJlZSBmcm9tIFwiLi9zdHJpbmdcIjtcbmltcG9ydCBDaGlsZE5vZGVzUGFyc2VUcmVlIGZyb20gXCIuL2NoaWxkTm9kZXNcIjtcbmltcG9ydCBWZXJ0aWNhbEJyYW5jaFBhcnNlVHJlZSBmcm9tIFwiLi92ZXJ0aWNhbEJyYW5jaFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOb2RlUGFyc2VUcmVlIGV4dGVuZHMgVmVydGljYWxCcmFuY2hQYXJzZVRyZWUge1xuICBzdGF0aWMgZnJvbU5vZGUobm9kZSkge1xuICAgIGxldCBub2RlUGFyc2VUcmVlO1xuXG4gICAgY29uc3QgY2hpbGROb2RlcyA9IG5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIHN0cmluZ1BhcnNlVHJlZSA9IFN0cmluZ1BhcnNlVHJlZS5mcm9tTm9kZShub2RlKSxcbiAgICAgICAgICBjaGlsZE5vZGVzUGFyc2VUcmVlID0gQ2hpbGROb2Rlc1BhcnNlVHJlZS5mcm9tQ2hpbGROb2RlcyhjaGlsZE5vZGVzKTtcblxuICAgIGlmIChjaGlsZE5vZGVzUGFyc2VUcmVlID09PSBudWxsKSB7XG4gICAgICBjb25zdCBydWxlTmFtZVBhcnNlVHJlZURlcHRoID0gc3RyaW5nUGFyc2VUcmVlLmdldERlcHRoKCksXG4gICAgICAgICAgICBydWxlTmFtZVBhcnNlVHJlZVZlcnRpY2FsQnJhbmNoUG9zaXRpb24gPSBzdHJpbmdQYXJzZVRyZWUuZ2V0VmVydGljYWxCcmFuY2hQb3NpdGlvbigpLFxuICAgICAgICAgICAgdmVydGljYWxCcmFuY2hQb3NpdGlvbiA9IHJ1bGVOYW1lUGFyc2VUcmVlVmVydGljYWxCcmFuY2hQb3NpdGlvbiwgLy8vXG4gICAgICAgICAgICBkZXB0aCA9IHJ1bGVOYW1lUGFyc2VUcmVlRGVwdGg7IC8vL1xuXG4gICAgICBub2RlUGFyc2VUcmVlID0gVmVydGljYWxCcmFuY2hQYXJzZVRyZWUuZnJvbURlcHRoQW5kVmVydGljYWxCcmFuY2hQb3NpdGlvbihOb2RlUGFyc2VUcmVlLCBkZXB0aCwgdmVydGljYWxCcmFuY2hQb3NpdGlvbik7XG5cbiAgICAgIG5vZGVQYXJzZVRyZWUuYXBwZW5kVG9SaWdodChzdHJpbmdQYXJzZVRyZWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgcnVsZU5hbWVQYXJzZVRyZWVWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uID0gc3RyaW5nUGFyc2VUcmVlLmdldFZlcnRpY2FsQnJhbmNoUG9zaXRpb24oKTtcblxuICAgICAgY29uc3QgY2hpbGROb2Rlc1BhcnNlVHJlZVZlcnRpY2FsQnJhbmNoUG9zaXRpb24gPSBjaGlsZE5vZGVzUGFyc2VUcmVlLmdldFZlcnRpY2FsQnJhbmNoUG9zaXRpb24oKSxcbiAgICAgICAgICAgIHZlcnRpY2FsQnJhbmNoUG9zaXRpb25zRGlmZmVyZW5jZSA9IHJ1bGVOYW1lUGFyc2VUcmVlVmVydGljYWxCcmFuY2hQb3NpdGlvbiAtIGNoaWxkTm9kZXNQYXJzZVRyZWVWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uO1xuXG4gICAgICBsZXQgbGVmdE1hcmdpbldpZHRoO1xuXG4gICAgICBpZiAoZmFsc2UpIHtcbiAgICAgICAgLy8vXG4gICAgICB9IGVsc2UgaWYgKHZlcnRpY2FsQnJhbmNoUG9zaXRpb25zRGlmZmVyZW5jZSA8IDApIHtcbiAgICAgICAgbGVmdE1hcmdpbldpZHRoID0gLXZlcnRpY2FsQnJhbmNoUG9zaXRpb25zRGlmZmVyZW5jZTtcblxuICAgICAgICBzdHJpbmdQYXJzZVRyZWUuYWRkTGVmdE1hcmdpbihsZWZ0TWFyZ2luV2lkdGgpO1xuICAgICAgfSBlbHNlIGlmICh2ZXJ0aWNhbEJyYW5jaFBvc2l0aW9uc0RpZmZlcmVuY2UgPiAwKSB7XG4gICAgICAgIGxlZnRNYXJnaW5XaWR0aCA9ICt2ZXJ0aWNhbEJyYW5jaFBvc2l0aW9uc0RpZmZlcmVuY2U7XG5cbiAgICAgICAgY2hpbGROb2Rlc1BhcnNlVHJlZS5hZGRMZWZ0TWFyZ2luKGxlZnRNYXJnaW5XaWR0aCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJ1bGVOYW1lUGFyc2VUcmVlV2lkdGggPSBzdHJpbmdQYXJzZVRyZWUuZ2V0V2lkdGgoKSxcbiAgICAgICAgICAgIGNoaWxkTm9kZXNQYXJzZVRyZWVXaWR0aCA9IGNoaWxkTm9kZXNQYXJzZVRyZWUuZ2V0V2lkdGgoKSxcbiAgICAgICAgICAgIHdpZHRoc0RpZmZlcmVuY2UgPSBydWxlTmFtZVBhcnNlVHJlZVdpZHRoIC0gY2hpbGROb2Rlc1BhcnNlVHJlZVdpZHRoO1xuXG4gICAgICBsZXQgcmlnaHRNYXJnaW5XaWR0aDtcblxuICAgICAgaWYgKGZhbHNlKSB7XG4gICAgICAgIC8vL1xuICAgICAgfSBlbHNlIGlmICh3aWR0aHNEaWZmZXJlbmNlIDwgMCkge1xuICAgICAgICByaWdodE1hcmdpbldpZHRoID0gLXdpZHRoc0RpZmZlcmVuY2U7XG5cbiAgICAgICAgc3RyaW5nUGFyc2VUcmVlLmFkZFJpZ2h0TWFyZ2luKHJpZ2h0TWFyZ2luV2lkdGgpO1xuICAgICAgfSBlbHNlIGlmICh3aWR0aHNEaWZmZXJlbmNlID4gMCkge1xuICAgICAgICByaWdodE1hcmdpbldpZHRoID0gK3dpZHRoc0RpZmZlcmVuY2U7XG5cbiAgICAgICAgY2hpbGROb2Rlc1BhcnNlVHJlZS5hZGRSaWdodE1hcmdpbihyaWdodE1hcmdpbldpZHRoKTtcbiAgICAgIH1cblxuICAgICAgcnVsZU5hbWVQYXJzZVRyZWVWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uID0gc3RyaW5nUGFyc2VUcmVlLmdldFZlcnRpY2FsQnJhbmNoUG9zaXRpb24oKTtcblxuICAgICAgY29uc3QgcnVsZU5hbWVQYXJzZVRyZWVEZXB0aCA9IHN0cmluZ1BhcnNlVHJlZS5nZXREZXB0aCgpLFxuICAgICAgICAgICAgdmVydGljYWxCcmFuY2hQb3NpdGlvbiA9IHJ1bGVOYW1lUGFyc2VUcmVlVmVydGljYWxCcmFuY2hQb3NpdGlvbiwgLy8vXG4gICAgICAgICAgICBkZXB0aCA9IHJ1bGVOYW1lUGFyc2VUcmVlRGVwdGg7IC8vL1xuXG4gICAgICBub2RlUGFyc2VUcmVlID0gVmVydGljYWxCcmFuY2hQYXJzZVRyZWUuZnJvbURlcHRoQW5kVmVydGljYWxCcmFuY2hQb3NpdGlvbihOb2RlUGFyc2VUcmVlLCBkZXB0aCwgdmVydGljYWxCcmFuY2hQb3NpdGlvbik7XG5cbiAgICAgIG5vZGVQYXJzZVRyZWUuYXBwZW5kVG9SaWdodChzdHJpbmdQYXJzZVRyZWUpO1xuXG4gICAgICBub2RlUGFyc2VUcmVlLmFwcGVuZFRvQm90dG9tKGNoaWxkTm9kZXNQYXJzZVRyZWUpO1xuICAgIH1cblxuICAgIHJldHVybiBub2RlUGFyc2VUcmVlO1xuICB9XG59XG4iXSwibmFtZXMiOlsiTm9kZVBhcnNlVHJlZSIsImZyb21Ob2RlIiwibm9kZSIsIm5vZGVQYXJzZVRyZWUiLCJjaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsInN0cmluZ1BhcnNlVHJlZSIsIlN0cmluZ1BhcnNlVHJlZSIsImNoaWxkTm9kZXNQYXJzZVRyZWUiLCJDaGlsZE5vZGVzUGFyc2VUcmVlIiwiZnJvbUNoaWxkTm9kZXMiLCJydWxlTmFtZVBhcnNlVHJlZURlcHRoIiwiZ2V0RGVwdGgiLCJydWxlTmFtZVBhcnNlVHJlZVZlcnRpY2FsQnJhbmNoUG9zaXRpb24iLCJnZXRWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uIiwidmVydGljYWxCcmFuY2hQb3NpdGlvbiIsImRlcHRoIiwiVmVydGljYWxCcmFuY2hQYXJzZVRyZWUiLCJmcm9tRGVwdGhBbmRWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uIiwiYXBwZW5kVG9SaWdodCIsImNoaWxkTm9kZXNQYXJzZVRyZWVWZXJ0aWNhbEJyYW5jaFBvc2l0aW9uIiwidmVydGljYWxCcmFuY2hQb3NpdGlvbnNEaWZmZXJlbmNlIiwibGVmdE1hcmdpbldpZHRoIiwiYWRkTGVmdE1hcmdpbiIsInJ1bGVOYW1lUGFyc2VUcmVlV2lkdGgiLCJnZXRXaWR0aCIsImNoaWxkTm9kZXNQYXJzZVRyZWVXaWR0aCIsIndpZHRoc0RpZmZlcmVuY2UiLCJyaWdodE1hcmdpbldpZHRoIiwiYWRkUmlnaHRNYXJnaW4iLCJhcHBlbmRUb0JvdHRvbSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFNcUJBOzs7NkRBSk87aUVBQ0k7cUVBQ0k7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFckIsSUFBQSxBQUFNQSw4QkFBTjtjQUFNQTthQUFBQTtnQ0FBQUE7ZUFBTixrQkFBTUE7O2tCQUFBQTs7WUFDWkMsS0FBQUE7bUJBQVAsU0FBT0EsU0FBU0MsSUFBSTtnQkFDbEIsSUFBSUM7Z0JBRUosSUFBTUMsYUFBYUYsS0FBS0csYUFBYSxJQUMvQkMsa0JBQWtCQyxlQUFlLENBQUNOLFFBQVEsQ0FBQ0MsT0FDM0NNLHNCQUFzQkMsbUJBQW1CLENBQUNDLGNBQWMsQ0FBQ047Z0JBRS9ELElBQUlJLHdCQUF3QixNQUFNO29CQUNoQyxJQUFNRyx5QkFBeUJMLGdCQUFnQk0sUUFBUSxJQUNqREMsMENBQTBDUCxnQkFBZ0JRLHlCQUF5QixJQUNuRkMseUJBQXlCRix5Q0FDekJHLFFBQVFMLHdCQUF3QixHQUFHO29CQUV6Q1IsZ0JBQWdCYyx1QkFBdUIsQ0FBQ0Msa0NBQWtDLENBZDNEbEIsZUFjMkVnQixPQUFPRDtvQkFFakdaLGNBQWNnQixhQUFhLENBQUNiO2dCQUM5QixPQUFPO29CQUNMLElBQUlPLDJDQUEwQ1AsZ0JBQWdCUSx5QkFBeUI7b0JBRXZGLElBQU1NLDRDQUE0Q1osb0JBQW9CTSx5QkFBeUIsSUFDekZPLG9DQUFvQ1IsMkNBQTBDTztvQkFFcEYsSUFBSUU7b0JBRUosSUFBSSxPQUFPO29CQUNULEdBQUc7b0JBQ0wsT0FBTyxJQUFJRCxvQ0FBb0MsR0FBRzt3QkFDaERDLGtCQUFrQixDQUFDRDt3QkFFbkJmLGdCQUFnQmlCLGFBQWEsQ0FBQ0Q7b0JBQ2hDLE9BQU8sSUFBSUQsb0NBQW9DLEdBQUc7d0JBQ2hEQyxrQkFBa0IsQ0FBQ0Q7d0JBRW5CYixvQkFBb0JlLGFBQWEsQ0FBQ0Q7b0JBQ3BDO29CQUVBLElBQU1FLHlCQUF5QmxCLGdCQUFnQm1CLFFBQVEsSUFDakRDLDJCQUEyQmxCLG9CQUFvQmlCLFFBQVEsSUFDdkRFLG1CQUFtQkgseUJBQXlCRTtvQkFFbEQsSUFBSUU7b0JBRUosSUFBSSxPQUFPO29CQUNULEdBQUc7b0JBQ0wsT0FBTyxJQUFJRCxtQkFBbUIsR0FBRzt3QkFDL0JDLG1CQUFtQixDQUFDRDt3QkFFcEJyQixnQkFBZ0J1QixjQUFjLENBQUNEO29CQUNqQyxPQUFPLElBQUlELG1CQUFtQixHQUFHO3dCQUMvQkMsbUJBQW1CLENBQUNEO3dCQUVwQm5CLG9CQUFvQnFCLGNBQWMsQ0FBQ0Q7b0JBQ3JDO29CQUVBZiwyQ0FBMENQLGdCQUFnQlEseUJBQXlCO29CQUVuRixJQUFNSCwwQkFBeUJMLGdCQUFnQk0sUUFBUSxJQUNqREcsMEJBQXlCRiwwQ0FDekJHLFNBQVFMLHlCQUF3QixHQUFHO29CQUV6Q1IsZ0JBQWdCYyx1QkFBdUIsQ0FBQ0Msa0NBQWtDLENBN0QzRGxCLGVBNkQyRWdCLFFBQU9EO29CQUVqR1osY0FBY2dCLGFBQWEsQ0FBQ2I7b0JBRTVCSCxjQUFjMkIsY0FBYyxDQUFDdEI7Z0JBQy9CO2dCQUVBLE9BQU9MO1lBQ1Q7OztXQXJFbUJIO0VBQXNCaUIsdUJBQXVCIn0=
@@ -27,6 +27,9 @@ _export(exports, {
27
27
  clonedTokensFromNodeAndTokens: function() {
28
28
  return clonedTokensFromNodeAndTokens;
29
29
  },
30
+ default: function() {
31
+ return _default;
32
+ },
30
33
  overwriteClonedNodeTokens: function() {
31
34
  return overwriteClonedNodeTokens;
32
35
  },
@@ -164,6 +167,23 @@ function clonedTokensFromNodeAndTokens(node, tokens) {
164
167
  });
165
168
  return clonedTokens;
166
169
  }
170
+ var _default = {
171
+ appendNode: appendNode,
172
+ prependNode: prependNode,
173
+ removeNode: removeNode,
174
+ removeNodes: removeNodes,
175
+ replaceNode: replaceNode,
176
+ replaceNodes: replaceNodes,
177
+ addNodeAfter: addNodeAfter,
178
+ addNodesAfter: addNodesAfter,
179
+ appendTokens: appendTokens,
180
+ prependTokens: prependTokens,
181
+ removeTokens: removeTokens,
182
+ replaceTokens: replaceTokens,
183
+ addTokensAfter: addTokensAfter,
184
+ overwriteClonedNodeTokens: overwriteClonedNodeTokens,
185
+ clonedTokensFromNodeAndTokens: clonedTokensFromNodeAndTokens
186
+ };
167
187
  function overwriteNodeTokens(node, clonedTokens, tokens, offset) {
168
188
  var nodeTerminalNode = node.isTerminalNode();
169
189
  if (nodeTerminalNode) {
@@ -192,4 +212,4 @@ function overwriteNonTerminalNodeTokens(nonTerminalNode, clonedTokens, tokens, o
192
212
  });
193
213
  }
194
214
 
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdHJhbnNmb3JtLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kTm9kZShhcHBlbmRlZE5vZGUsIHBhcmVudE5vZGUpIHtcbiAgY29uc3QgYXBwZW5kZWRDaGlsZE5vZGUgPSBhcHBlbmRlZE5vZGU7ICAvLy9cblxuICBwYXJlbnROb2RlLmFwcGVuZENoaWxkTm9kZShhcHBlbmRlZENoaWxkTm9kZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVwZW5kTm9kZShwcmVwZW5kZWROb2RlLCBwYXJlbnROb2RlKSB7XG4gIGNvbnN0IHByZXBlbmRlZENoaWxkTm9kZSA9IHByZXBlbmRlZE5vZGU7ICAvLy9cblxuICBwYXJlbnROb2RlLnByZXBlbmRDaGlsZE5vZGUocHJlcGVuZGVkQ2hpbGROb2RlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZU5vZGUocmVtb3ZlZE5vZGUsIHBhcmVudE5vZGUpIHtcbiAgY29uc3QgcmVtb3ZlZENoaWxkTm9kZSA9IHJlbW92ZWROb2RlOyAvLy9cblxuICBwYXJlbnROb2RlLnJlbW92ZUNoaWxkTm9kZShyZW1vdmVkQ2hpbGROb2RlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZU5vZGVzKHJlbW92ZWROb2RlcywgcGFyZW50Tm9kZSkge1xuICBjb25zdCByZW1vdmVkQ2hpbGROb2RlcyA9IHJlbW92ZWROb2RlczsgLy8vXG5cbiAgcGFyZW50Tm9kZS5yZW1vdmVDaGlsZE5vZGVzKHJlbW92ZWRDaGlsZE5vZGVzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2VOb2RlKHJlcGxhY2VtZW50Tm9kZSwgcmVwbGFjZWROb2RlLCBwYXJlbnROb2RlKSB7XG4gIGNvbnN0IHJlcGxhY2VkQ2hpbGROb2RlID0gcmVwbGFjZWROb2RlLCAgLy8vXG4gICAgICAgIHJlcGxhY2VtZW50Q2hpbGROb2RlID0gcmVwbGFjZW1lbnROb2RlLCAvLy9cbiAgICAgICAgcmVwbGFjZW1lbnRDaGlsZE5vZGVzID0gW1xuICAgICAgICAgIHJlcGxhY2VtZW50Q2hpbGROb2RlXG4gICAgICAgIF07XG5cbiAgcGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGROb2RlKHJlcGxhY2VkQ2hpbGROb2RlLCByZXBsYWNlbWVudENoaWxkTm9kZXMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVwbGFjZU5vZGVzKHJlcGxhY2VtZW50Tm9kZXMsIHJlcGxhY2VkTm9kZSwgcGFyZW50Tm9kZSkge1xuICBjb25zdCByZXBsYWNlZENoaWxkTm9kZSA9IHJlcGxhY2VkTm9kZSwgIC8vL1xuICAgICAgICByZXBsYWNlbWVudENoaWxkTm9kZXMgPSByZXBsYWNlbWVudE5vZGVzOyAvLy9cblxuICBwYXJlbnROb2RlLnJlcGxhY2VDaGlsZE5vZGVzKHJlcGxhY2VkQ2hpbGROb2RlLCByZXBsYWNlbWVudENoaWxkTm9kZXMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkTm9kZUFmdGVyKGV4aXN0aW5nTm9kZSwgYWRkZWROb2RlLCBwYXJlbnROb2RlKSB7XG4gIGNvbnN0IGNoaWxkTm9kZSA9IGV4aXN0aW5nTm9kZSwgLy8vXG4gICAgICAgIGluZGV4ID0gcGFyZW50Tm9kZS5pbmRleE9mQ2hpbGROb2RlKGNoaWxkTm9kZSksXG4gICAgICAgIGFkZGVkQ2hpbGROb2RlID0gYWRkZWROb2RlLCAvLy9cbiAgICAgICAgc3RhcnRJbmRleCA9IGluZGV4ICsgMTtcblxuICBwYXJlbnROb2RlLmFkZENoaWxkTm9kZShhZGRlZENoaWxkTm9kZSwgc3RhcnRJbmRleCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGROb2Rlc0FmdGVyKGV4aXN0aW5nTm9kZSwgYWRkZWROb2RlcywgcGFyZW50Tm9kZSkge1xuICBjb25zdCBjaGlsZE5vZGUgPSBleGlzdGluZ05vZGUsIC8vL1xuICAgICAgICBpbmRleCA9IHBhcmVudE5vZGUuaW5kZXhPZkNoaWxkTm9kZShjaGlsZE5vZGUpLFxuICAgICAgICBhZGRlZENoaWxkTm9kZXMgPSBhZGRlZE5vZGVzLCAvLy9cbiAgICAgICAgc3RhcnRJbmRleCA9IGluZGV4ICsgMTtcblxuICBwYXJlbnROb2RlLmFkZENoaWxkTm9kZXMoYWRkZWRDaGlsZE5vZGVzLCBzdGFydEluZGV4KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZFRva2VucyhhcHBlbmRlZFRva2VucywgcGFyZW50Tm9kZSwgdG9rZW5zKSB7XG4gIGNvbnN0IG5vZGUgPSBwYXJlbnROb2RlLCAvLy9cbiAgICAgICAgbGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCA9IG5vZGUuZ2V0TGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCh0b2tlbnMpLFxuICAgICAgICBzdGFydCA9IGxhc3RTaWduaWZpY2FudFRva2VuSW5kZXggKyAxLFxuICAgICAgICBkZWxldGVDb3VudCA9IDA7XG5cbiAgdG9rZW5zLnNwbGljZShzdGFydCwgZGVsZXRlQ291bnQsIC4uLmFwcGVuZGVkVG9rZW5zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZXBlbmRUb2tlbnMocHJlcGVuZGVkVG9rZW5zLCBwYXJlbnROb2RlLCB0b2tlbnMpIHtcbiAgY29uc3Qgbm9kZSA9IHBhcmVudE5vZGUsIC8vL1xuICAgICAgICBmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCA9IG5vZGUuZ2V0Rmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgodG9rZW5zKSxcbiAgICAgICAgc3RhcnQgPSBmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCxcbiAgICAgICAgZGVsZXRlQ291bnQgPSAwO1xuXG4gIHRva2Vucy5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50LCAuLi5wcmVwZW5kZWRUb2tlbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlVG9rZW5zKHJlbW92ZWROb2RlLCB0b2tlbnMpIHtcbiAgY29uc3Qgbm9kZSA9IHJlbW92ZWROb2RlLCAgLy8vXG4gICAgICAgIGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9kZS5nZXRGaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCh0b2tlbnMpLFxuICAgICAgICBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9kZS5nZXRMYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4KHRva2VucyksXG4gICAgICAgIHN0YXJ0ID0gZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgsIC8vL1xuICAgICAgICBlbmQgPSBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ICsgMSxcbiAgICAgICAgZGVsZXRlQ291bnQgPSBlbmQgLSBzdGFydDtcblxuICB0b2tlbnMuc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXBsYWNlVG9rZW5zKHJlcGxhY2VtZW50VG9rZW5zLCByZXBsYWNlZE5vZGUsIHRva2Vucykge1xuICBjb25zdCBub2RlID0gcmVwbGFjZWROb2RlLCAgLy8vXG4gICAgICAgIGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9kZS5nZXRGaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCh0b2tlbnMpLFxuICAgICAgICBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9kZS5nZXRMYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4KHRva2VucyksXG4gICAgICAgIHN0YXJ0ID0gZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgsIC8vL1xuICAgICAgICBlbmQgPSBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ICsgMSxcbiAgICAgICAgZGVsZXRlQ291bnQgPSBlbmQgLSBzdGFydDtcblxuICB0b2tlbnMuc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCwgLi4ucmVwbGFjZW1lbnRUb2tlbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkVG9rZW5zQWZ0ZXIoZXhpc3RpbmdOb2RlLCBhZGRlZFRva2VucywgdG9rZW5zKSB7XG4gIGNvbnN0IG5vZGUgPSBleGlzdGluZ05vZGUsICAvLy9cbiAgICAgICAgbGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCA9IG5vZGUuZ2V0TGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCh0b2tlbnMpLFxuICAgICAgICBzdGFydCA9IGxhc3RTaWduaWZpY2FudFRva2VuSW5kZXggKyAxLFxuICAgICAgICBkZWxldGVDb3VudCA9IDA7XG5cbiAgdG9rZW5zLnNwbGljZShzdGFydCwgZGVsZXRlQ291bnQsIC4uLmFkZGVkVG9rZW5zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG92ZXJ3cml0ZUNsb25lZE5vZGVUb2tlbnMoY2xvbmVkTm9kZSwgY2xvbmVkVG9rZW5zLCB0b2tlbnMsIG9mZnNldCA9IDApIHtcbiAgY29uc3Qgbm9kZSA9IGNsb25lZE5vZGU7ICAvLy9cblxuICBvdmVyd3JpdGVOb2RlVG9rZW5zKG5vZGUsIGNsb25lZFRva2VucywgdG9rZW5zLCBvZmZzZXQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xvbmVkVG9rZW5zRnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zKSB7XG4gIGNvbnN0IGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9kZS5nZXRGaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCh0b2tlbnMpLFxuICAgICAgICBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9kZS5nZXRMYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4KHRva2VucyksXG4gICAgICAgIHN0YXJ0ID0gZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgsICAvLy9cbiAgICAgICAgZW5kID0gbGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCArIDE7XG5cbiAgdG9rZW5zID0gdG9rZW5zLnNsaWNlKHN0YXJ0LCBlbmQpOyAgLy8vXG5cbiAgY29uc3QgY2xvbmVkVG9rZW5zID0gdG9rZW5zLm1hcCgodG9rZW4pID0+IHsgIC8vL1xuICAgIGNvbnN0IGNsb25lZFRva2VuID0gdG9rZW4uY2xvbmUoKTtcblxuICAgIHJldHVybiBjbG9uZWRUb2tlbjtcbiAgfSk7XG5cbiAgcmV0dXJuIGNsb25lZFRva2Vucztcbn1cblxuZnVuY3Rpb24gb3ZlcndyaXRlTm9kZVRva2Vucyhub2RlLCBjbG9uZWRUb2tlbnMsIHRva2Vucywgb2Zmc2V0KSB7XG4gIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlOyAgLy8vXG5cbiAgICBvdmVyd3JpdGVUZXJtaW5hbE5vZGVUb2tlbnModGVybWluYWxOb2RlLCBjbG9uZWRUb2tlbnMsIHRva2Vucywgb2Zmc2V0KTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlOyAgLy8vXG5cbiAgICBvdmVyd3JpdGVOb25UZXJtaW5hbE5vZGVUb2tlbnMobm9uVGVybWluYWxOb2RlLCBjbG9uZWRUb2tlbnMsIHRva2Vucywgb2Zmc2V0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBvdmVyd3JpdGVUZXJtaW5hbE5vZGVUb2tlbnModGVybWluYWxOb2RlLCBjbG9uZWRUb2tlbnMsIHRva2Vucywgb2Zmc2V0KSB7XG4gIGxldCBpbmRleCxcbiAgICAgIHNpZ25pZmljYW50VG9rZW47XG5cbiAgc2lnbmlmaWNhbnRUb2tlbiA9IHRlcm1pbmFsTm9kZS5nZXRTaWduaWZpY2FudFRva2VuKCk7XG5cbiAgaWYgKHNpZ25pZmljYW50VG9rZW4gIT09IG51bGwpIHtcbiAgICBpbmRleCA9IHRva2Vucy5pbmRleE9mKHNpZ25pZmljYW50VG9rZW4pO1xuXG4gICAgaW5kZXggLT0gb2Zmc2V0O1xuXG4gICAgY29uc3QgY2xvbmVkVG9rZW4gPSBjbG9uZWRUb2tlbnNbaW5kZXhdO1xuXG4gICAgc2lnbmlmaWNhbnRUb2tlbiA9IGNsb25lZFRva2VuOyAgLy8vXG5cbiAgICB0ZXJtaW5hbE5vZGUuc2V0U2lnbmlmaWNhbnRUb2tlbihzaWduaWZpY2FudFRva2VuKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBvdmVyd3JpdGVOb25UZXJtaW5hbE5vZGVUb2tlbnMobm9uVGVybWluYWxOb2RlLCBjbG9uZWRUb2tlbnMsIHRva2Vucywgb2Zmc2V0KSB7XG4gIG5vblRlcm1pbmFsTm9kZS5mb3JFYWNoQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgICBjb25zdCBjbG9uZWROb2RlID0gY2hpbGROb2RlOyAvLy9cblxuICAgIG92ZXJ3cml0ZU5vZGVUb2tlbnMoY2xvbmVkTm9kZSwgY2xvbmVkVG9rZW5zLCB0b2tlbnMsIG9mZnNldCk7XG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbImFkZE5vZGVBZnRlciIsImFkZE5vZGVzQWZ0ZXIiLCJhZGRUb2tlbnNBZnRlciIsImFwcGVuZE5vZGUiLCJhcHBlbmRUb2tlbnMiLCJjbG9uZWRUb2tlbnNGcm9tTm9kZUFuZFRva2VucyIsIm92ZXJ3cml0ZUNsb25lZE5vZGVUb2tlbnMiLCJwcmVwZW5kTm9kZSIsInByZXBlbmRUb2tlbnMiLCJyZW1vdmVOb2RlIiwicmVtb3ZlTm9kZXMiLCJyZW1vdmVUb2tlbnMiLCJyZXBsYWNlTm9kZSIsInJlcGxhY2VOb2RlcyIsInJlcGxhY2VUb2tlbnMiLCJhcHBlbmRlZE5vZGUiLCJwYXJlbnROb2RlIiwiYXBwZW5kZWRDaGlsZE5vZGUiLCJhcHBlbmRDaGlsZE5vZGUiLCJwcmVwZW5kZWROb2RlIiwicHJlcGVuZGVkQ2hpbGROb2RlIiwicHJlcGVuZENoaWxkTm9kZSIsInJlbW92ZWROb2RlIiwicmVtb3ZlZENoaWxkTm9kZSIsInJlbW92ZUNoaWxkTm9kZSIsInJlbW92ZWROb2RlcyIsInJlbW92ZWRDaGlsZE5vZGVzIiwicmVtb3ZlQ2hpbGROb2RlcyIsInJlcGxhY2VtZW50Tm9kZSIsInJlcGxhY2VkTm9kZSIsInJlcGxhY2VkQ2hpbGROb2RlIiwicmVwbGFjZW1lbnRDaGlsZE5vZGUiLCJyZXBsYWNlbWVudENoaWxkTm9kZXMiLCJyZXBsYWNlQ2hpbGROb2RlIiwicmVwbGFjZW1lbnROb2RlcyIsInJlcGxhY2VDaGlsZE5vZGVzIiwiZXhpc3RpbmdOb2RlIiwiYWRkZWROb2RlIiwiY2hpbGROb2RlIiwiaW5kZXgiLCJpbmRleE9mQ2hpbGROb2RlIiwiYWRkZWRDaGlsZE5vZGUiLCJzdGFydEluZGV4IiwiYWRkQ2hpbGROb2RlIiwiYWRkZWROb2RlcyIsImFkZGVkQ2hpbGROb2RlcyIsImFkZENoaWxkTm9kZXMiLCJhcHBlbmRlZFRva2VucyIsInRva2VucyIsIm5vZGUiLCJsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4IiwiZ2V0TGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsInN0YXJ0IiwiZGVsZXRlQ291bnQiLCJzcGxpY2UiLCJwcmVwZW5kZWRUb2tlbnMiLCJmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsImdldEZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4IiwiZW5kIiwicmVwbGFjZW1lbnRUb2tlbnMiLCJhZGRlZFRva2VucyIsImNsb25lZE5vZGUiLCJjbG9uZWRUb2tlbnMiLCJvZmZzZXQiLCJvdmVyd3JpdGVOb2RlVG9rZW5zIiwic2xpY2UiLCJtYXAiLCJ0b2tlbiIsImNsb25lZFRva2VuIiwiY2xvbmUiLCJub2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJvdmVyd3JpdGVUZXJtaW5hbE5vZGVUb2tlbnMiLCJub25UZXJtaW5hbE5vZGUiLCJvdmVyd3JpdGVOb25UZXJtaW5hbE5vZGVUb2tlbnMiLCJzaWduaWZpY2FudFRva2VuIiwiZ2V0U2lnbmlmaWNhbnRUb2tlbiIsImluZGV4T2YiLCJzZXRTaWduaWZpY2FudFRva2VuIiwiZm9yRWFjaENoaWxkTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBMkNnQkEsWUFBWTtlQUFaQTs7SUFTQUMsYUFBYTtlQUFiQTs7SUFpREFDLGNBQWM7ZUFBZEE7O0lBbkdBQyxVQUFVO2VBQVZBOztJQTJEQUMsWUFBWTtlQUFaQTs7SUF1REFDLDZCQUE2QjtlQUE3QkE7O0lBTkFDLHlCQUF5QjtlQUF6QkE7O0lBdEdBQyxXQUFX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
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdHJhbnNmb3JtLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kTm9kZShhcHBlbmRlZE5vZGUsIHBhcmVudE5vZGUpIHtcbiAgY29uc3QgYXBwZW5kZWRDaGlsZE5vZGUgPSBhcHBlbmRlZE5vZGU7ICAvLy9cblxuICBwYXJlbnROb2RlLmFwcGVuZENoaWxkTm9kZShhcHBlbmRlZENoaWxkTm9kZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVwZW5kTm9kZShwcmVwZW5kZWROb2RlLCBwYXJlbnROb2RlKSB7XG4gIGNvbnN0IHByZXBlbmRlZENoaWxkTm9kZSA9IHByZXBlbmRlZE5vZGU7ICAvLy9cblxuICBwYXJlbnROb2RlLnByZXBlbmRDaGlsZE5vZGUocHJlcGVuZGVkQ2hpbGROb2RlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZU5vZGUocmVtb3ZlZE5vZGUsIHBhcmVudE5vZGUpIHtcbiAgY29uc3QgcmVtb3ZlZENoaWxkTm9kZSA9IHJlbW92ZWROb2RlOyAvLy9cblxuICBwYXJlbnROb2RlLnJlbW92ZUNoaWxkTm9kZShyZW1vdmVkQ2hpbGROb2RlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZU5vZGVzKHJlbW92ZWROb2RlcywgcGFyZW50Tm9kZSkge1xuICBjb25zdCByZW1vdmVkQ2hpbGROb2RlcyA9IHJlbW92ZWROb2RlczsgLy8vXG5cbiAgcGFyZW50Tm9kZS5yZW1vdmVDaGlsZE5vZGVzKHJlbW92ZWRDaGlsZE5vZGVzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2VOb2RlKHJlcGxhY2VtZW50Tm9kZSwgcmVwbGFjZWROb2RlLCBwYXJlbnROb2RlKSB7XG4gIGNvbnN0IHJlcGxhY2VkQ2hpbGROb2RlID0gcmVwbGFjZWROb2RlLCAgLy8vXG4gICAgICAgIHJlcGxhY2VtZW50Q2hpbGROb2RlID0gcmVwbGFjZW1lbnROb2RlLCAvLy9cbiAgICAgICAgcmVwbGFjZW1lbnRDaGlsZE5vZGVzID0gW1xuICAgICAgICAgIHJlcGxhY2VtZW50Q2hpbGROb2RlXG4gICAgICAgIF07XG5cbiAgcGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGROb2RlKHJlcGxhY2VkQ2hpbGROb2RlLCByZXBsYWNlbWVudENoaWxkTm9kZXMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVwbGFjZU5vZGVzKHJlcGxhY2VtZW50Tm9kZXMsIHJlcGxhY2VkTm9kZSwgcGFyZW50Tm9kZSkge1xuICBjb25zdCByZXBsYWNlZENoaWxkTm9kZSA9IHJlcGxhY2VkTm9kZSwgIC8vL1xuICAgICAgICByZXBsYWNlbWVudENoaWxkTm9kZXMgPSByZXBsYWNlbWVudE5vZGVzOyAvLy9cblxuICBwYXJlbnROb2RlLnJlcGxhY2VDaGlsZE5vZGVzKHJlcGxhY2VkQ2hpbGROb2RlLCByZXBsYWNlbWVudENoaWxkTm9kZXMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkTm9kZUFmdGVyKGV4aXN0aW5nTm9kZSwgYWRkZWROb2RlLCBwYXJlbnROb2RlKSB7XG4gIGNvbnN0IGNoaWxkTm9kZSA9IGV4aXN0aW5nTm9kZSwgLy8vXG4gICAgICAgIGluZGV4ID0gcGFyZW50Tm9kZS5pbmRleE9mQ2hpbGROb2RlKGNoaWxkTm9kZSksXG4gICAgICAgIGFkZGVkQ2hpbGROb2RlID0gYWRkZWROb2RlLCAvLy9cbiAgICAgICAgc3RhcnRJbmRleCA9IGluZGV4ICsgMTtcblxuICBwYXJlbnROb2RlLmFkZENoaWxkTm9kZShhZGRlZENoaWxkTm9kZSwgc3RhcnRJbmRleCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGROb2Rlc0FmdGVyKGV4aXN0aW5nTm9kZSwgYWRkZWROb2RlcywgcGFyZW50Tm9kZSkge1xuICBjb25zdCBjaGlsZE5vZGUgPSBleGlzdGluZ05vZGUsIC8vL1xuICAgICAgICBpbmRleCA9IHBhcmVudE5vZGUuaW5kZXhPZkNoaWxkTm9kZShjaGlsZE5vZGUpLFxuICAgICAgICBhZGRlZENoaWxkTm9kZXMgPSBhZGRlZE5vZGVzLCAvLy9cbiAgICAgICAgc3RhcnRJbmRleCA9IGluZGV4ICsgMTtcblxuICBwYXJlbnROb2RlLmFkZENoaWxkTm9kZXMoYWRkZWRDaGlsZE5vZGVzLCBzdGFydEluZGV4KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZFRva2VucyhhcHBlbmRlZFRva2VucywgcGFyZW50Tm9kZSwgdG9rZW5zKSB7XG4gIGNvbnN0IG5vZGUgPSBwYXJlbnROb2RlLCAvLy9cbiAgICAgICAgbGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCA9IG5vZGUuZ2V0TGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCh0b2tlbnMpLFxuICAgICAgICBzdGFydCA9IGxhc3RTaWduaWZpY2FudFRva2VuSW5kZXggKyAxLFxuICAgICAgICBkZWxldGVDb3VudCA9IDA7XG5cbiAgdG9rZW5zLnNwbGljZShzdGFydCwgZGVsZXRlQ291bnQsIC4uLmFwcGVuZGVkVG9rZW5zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZXBlbmRUb2tlbnMocHJlcGVuZGVkVG9rZW5zLCBwYXJlbnROb2RlLCB0b2tlbnMpIHtcbiAgY29uc3Qgbm9kZSA9IHBhcmVudE5vZGUsIC8vL1xuICAgICAgICBmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCA9IG5vZGUuZ2V0Rmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgodG9rZW5zKSxcbiAgICAgICAgc3RhcnQgPSBmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCxcbiAgICAgICAgZGVsZXRlQ291bnQgPSAwO1xuXG4gIHRva2Vucy5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50LCAuLi5wcmVwZW5kZWRUb2tlbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlVG9rZW5zKHJlbW92ZWROb2RlLCB0b2tlbnMpIHtcbiAgY29uc3Qgbm9kZSA9IHJlbW92ZWROb2RlLCAgLy8vXG4gICAgICAgIGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9kZS5nZXRGaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCh0b2tlbnMpLFxuICAgICAgICBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9kZS5nZXRMYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4KHRva2VucyksXG4gICAgICAgIHN0YXJ0ID0gZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgsIC8vL1xuICAgICAgICBlbmQgPSBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ICsgMSxcbiAgICAgICAgZGVsZXRlQ291bnQgPSBlbmQgLSBzdGFydDtcblxuICB0b2tlbnMuc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXBsYWNlVG9rZW5zKHJlcGxhY2VtZW50VG9rZW5zLCByZXBsYWNlZE5vZGUsIHRva2Vucykge1xuICBjb25zdCBub2RlID0gcmVwbGFjZWROb2RlLCAgLy8vXG4gICAgICAgIGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9kZS5nZXRGaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCh0b2tlbnMpLFxuICAgICAgICBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9kZS5nZXRMYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4KHRva2VucyksXG4gICAgICAgIHN0YXJ0ID0gZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgsIC8vL1xuICAgICAgICBlbmQgPSBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ICsgMSxcbiAgICAgICAgZGVsZXRlQ291bnQgPSBlbmQgLSBzdGFydDtcblxuICB0b2tlbnMuc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCwgLi4ucmVwbGFjZW1lbnRUb2tlbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkVG9rZW5zQWZ0ZXIoZXhpc3RpbmdOb2RlLCBhZGRlZFRva2VucywgdG9rZW5zKSB7XG4gIGNvbnN0IG5vZGUgPSBleGlzdGluZ05vZGUsICAvLy9cbiAgICAgICAgbGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCA9IG5vZGUuZ2V0TGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCh0b2tlbnMpLFxuICAgICAgICBzdGFydCA9IGxhc3RTaWduaWZpY2FudFRva2VuSW5kZXggKyAxLFxuICAgICAgICBkZWxldGVDb3VudCA9IDA7XG5cbiAgdG9rZW5zLnNwbGljZShzdGFydCwgZGVsZXRlQ291bnQsIC4uLmFkZGVkVG9rZW5zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG92ZXJ3cml0ZUNsb25lZE5vZGVUb2tlbnMoY2xvbmVkTm9kZSwgY2xvbmVkVG9rZW5zLCB0b2tlbnMsIG9mZnNldCA9IDApIHtcbiAgY29uc3Qgbm9kZSA9IGNsb25lZE5vZGU7ICAvLy9cblxuICBvdmVyd3JpdGVOb2RlVG9rZW5zKG5vZGUsIGNsb25lZFRva2VucywgdG9rZW5zLCBvZmZzZXQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xvbmVkVG9rZW5zRnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zKSB7XG4gIGNvbnN0IGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9kZS5nZXRGaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCh0b2tlbnMpLFxuICAgICAgICBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9kZS5nZXRMYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4KHRva2VucyksXG4gICAgICAgIHN0YXJ0ID0gZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgsICAvLy9cbiAgICAgICAgZW5kID0gbGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCArIDE7XG5cbiAgdG9rZW5zID0gdG9rZW5zLnNsaWNlKHN0YXJ0LCBlbmQpOyAgLy8vXG5cbiAgY29uc3QgY2xvbmVkVG9rZW5zID0gdG9rZW5zLm1hcCgodG9rZW4pID0+IHsgIC8vL1xuICAgIGNvbnN0IGNsb25lZFRva2VuID0gdG9rZW4uY2xvbmUoKTtcblxuICAgIHJldHVybiBjbG9uZWRUb2tlbjtcbiAgfSk7XG5cbiAgcmV0dXJuIGNsb25lZFRva2Vucztcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBhcHBlbmROb2RlLFxuICBwcmVwZW5kTm9kZSxcbiAgcmVtb3ZlTm9kZSxcbiAgcmVtb3ZlTm9kZXMsXG4gIHJlcGxhY2VOb2RlLFxuICByZXBsYWNlTm9kZXMsXG4gIGFkZE5vZGVBZnRlcixcbiAgYWRkTm9kZXNBZnRlcixcbiAgYXBwZW5kVG9rZW5zLFxuICBwcmVwZW5kVG9rZW5zLFxuICByZW1vdmVUb2tlbnMsXG4gIHJlcGxhY2VUb2tlbnMsXG4gIGFkZFRva2Vuc0FmdGVyLFxuICBvdmVyd3JpdGVDbG9uZWROb2RlVG9rZW5zLFxuICBjbG9uZWRUb2tlbnNGcm9tTm9kZUFuZFRva2Vuc1xufTtcblxuZnVuY3Rpb24gb3ZlcndyaXRlTm9kZVRva2Vucyhub2RlLCBjbG9uZWRUb2tlbnMsIHRva2Vucywgb2Zmc2V0KSB7XG4gIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlOyAgLy8vXG5cbiAgICBvdmVyd3JpdGVUZXJtaW5hbE5vZGVUb2tlbnModGVybWluYWxOb2RlLCBjbG9uZWRUb2tlbnMsIHRva2Vucywgb2Zmc2V0KTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlOyAgLy8vXG5cbiAgICBvdmVyd3JpdGVOb25UZXJtaW5hbE5vZGVUb2tlbnMobm9uVGVybWluYWxOb2RlLCBjbG9uZWRUb2tlbnMsIHRva2Vucywgb2Zmc2V0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBvdmVyd3JpdGVUZXJtaW5hbE5vZGVUb2tlbnModGVybWluYWxOb2RlLCBjbG9uZWRUb2tlbnMsIHRva2Vucywgb2Zmc2V0KSB7XG4gIGxldCBpbmRleCxcbiAgICAgIHNpZ25pZmljYW50VG9rZW47XG5cbiAgc2lnbmlmaWNhbnRUb2tlbiA9IHRlcm1pbmFsTm9kZS5nZXRTaWduaWZpY2FudFRva2VuKCk7XG5cbiAgaWYgKHNpZ25pZmljYW50VG9rZW4gIT09IG51bGwpIHtcbiAgICBpbmRleCA9IHRva2Vucy5pbmRleE9mKHNpZ25pZmljYW50VG9rZW4pO1xuXG4gICAgaW5kZXggLT0gb2Zmc2V0O1xuXG4gICAgY29uc3QgY2xvbmVkVG9rZW4gPSBjbG9uZWRUb2tlbnNbaW5kZXhdO1xuXG4gICAgc2lnbmlmaWNhbnRUb2tlbiA9IGNsb25lZFRva2VuOyAgLy8vXG5cbiAgICB0ZXJtaW5hbE5vZGUuc2V0U2lnbmlmaWNhbnRUb2tlbihzaWduaWZpY2FudFRva2VuKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBvdmVyd3JpdGVOb25UZXJtaW5hbE5vZGVUb2tlbnMobm9uVGVybWluYWxOb2RlLCBjbG9uZWRUb2tlbnMsIHRva2Vucywgb2Zmc2V0KSB7XG4gIG5vblRlcm1pbmFsTm9kZS5mb3JFYWNoQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgICBjb25zdCBjbG9uZWROb2RlID0gY2hpbGROb2RlOyAvLy9cblxuICAgIG92ZXJ3cml0ZU5vZGVUb2tlbnMoY2xvbmVkTm9kZSwgY2xvbmVkVG9rZW5zLCB0b2tlbnMsIG9mZnNldCk7XG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbImFkZE5vZGVBZnRlciIsImFkZE5vZGVzQWZ0ZXIiLCJhZGRUb2tlbnNBZnRlciIsImFwcGVuZE5vZGUiLCJhcHBlbmRUb2tlbnMiLCJjbG9uZWRUb2tlbnNGcm9tTm9kZUFuZFRva2VucyIsIm92ZXJ3cml0ZUNsb25lZE5vZGVUb2tlbnMiLCJwcmVwZW5kTm9kZSIsInByZXBlbmRUb2tlbnMiLCJyZW1vdmVOb2RlIiwicmVtb3ZlTm9kZXMiLCJyZW1vdmVUb2tlbnMiLCJyZXBsYWNlTm9kZSIsInJlcGxhY2VOb2RlcyIsInJlcGxhY2VUb2tlbnMiLCJhcHBlbmRlZE5vZGUiLCJwYXJlbnROb2RlIiwiYXBwZW5kZWRDaGlsZE5vZGUiLCJhcHBlbmRDaGlsZE5vZGUiLCJwcmVwZW5kZWROb2RlIiwicHJlcGVuZGVkQ2hpbGROb2RlIiwicHJlcGVuZENoaWxkTm9kZSIsInJlbW92ZWROb2RlIiwicmVtb3ZlZENoaWxkTm9kZSIsInJlbW92ZUNoaWxkTm9kZSIsInJlbW92ZWROb2RlcyIsInJlbW92ZWRDaGlsZE5vZGVzIiwicmVtb3ZlQ2hpbGROb2RlcyIsInJlcGxhY2VtZW50Tm9kZSIsInJlcGxhY2VkTm9kZSIsInJlcGxhY2VkQ2hpbGROb2RlIiwicmVwbGFjZW1lbnRDaGlsZE5vZGUiLCJyZXBsYWNlbWVudENoaWxkTm9kZXMiLCJyZXBsYWNlQ2hpbGROb2RlIiwicmVwbGFjZW1lbnROb2RlcyIsInJlcGxhY2VDaGlsZE5vZGVzIiwiZXhpc3RpbmdOb2RlIiwiYWRkZWROb2RlIiwiY2hpbGROb2RlIiwiaW5kZXgiLCJpbmRleE9mQ2hpbGROb2RlIiwiYWRkZWRDaGlsZE5vZGUiLCJzdGFydEluZGV4IiwiYWRkQ2hpbGROb2RlIiwiYWRkZWROb2RlcyIsImFkZGVkQ2hpbGROb2RlcyIsImFkZENoaWxkTm9kZXMiLCJhcHBlbmRlZFRva2VucyIsInRva2VucyIsIm5vZGUiLCJsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4IiwiZ2V0TGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsInN0YXJ0IiwiZGVsZXRlQ291bnQiLCJzcGxpY2UiLCJwcmVwZW5kZWRUb2tlbnMiLCJmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsImdldEZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4IiwiZW5kIiwicmVwbGFjZW1lbnRUb2tlbnMiLCJhZGRlZFRva2VucyIsImNsb25lZE5vZGUiLCJjbG9uZWRUb2tlbnMiLCJvZmZzZXQiLCJvdmVyd3JpdGVOb2RlVG9rZW5zIiwic2xpY2UiLCJtYXAiLCJ0b2tlbiIsImNsb25lZFRva2VuIiwiY2xvbmUiLCJub2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJvdmVyd3JpdGVUZXJtaW5hbE5vZGVUb2tlbnMiLCJub25UZXJtaW5hbE5vZGUiLCJvdmVyd3JpdGVOb25UZXJtaW5hbE5vZGVUb2tlbnMiLCJzaWduaWZpY2FudFRva2VuIiwiZ2V0U2lnbmlmaWNhbnRUb2tlbiIsImluZGV4T2YiLCJzZXRTaWduaWZpY2FudFRva2VuIiwiZm9yRWFjaENoaWxkTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBMkNnQkEsWUFBWTtlQUFaQTs7SUFTQUMsYUFBYTtlQUFiQTs7SUFpREFDLGNBQWM7ZUFBZEE7O0lBbkdBQyxVQUFVO2VBQVZBOztJQTJEQUMsWUFBWTtlQUFaQTs7SUF1REFDLDZCQUE2QjtlQUE3QkE7O0lBaUJoQixPQWdCRTtlQWhCRjs7SUF2QmdCQyx5QkFBeUI7ZUFBekJBOztJQXRHQUMsV0FBVztlQUFYQTs7SUE4REFDLGFBQWE7ZUFBYkE7O0lBeERBQyxVQUFVO2VBQVZBOztJQU1BQyxXQUFXO2VBQVhBOztJQTJEQUMsWUFBWTtlQUFaQTs7SUFyREFDLFdBQVc7ZUFBWEE7O0lBVUFDLFlBQVk7ZUFBWkE7O0lBc0RBQyxhQUFhO2VBQWJBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBeEZULFNBQVNYLFdBQVdZLFlBQVksRUFBRUMsVUFBVTtJQUNqRCxJQUFNQyxvQkFBb0JGLGNBQWUsR0FBRztJQUU1Q0MsV0FBV0UsZUFBZSxDQUFDRDtBQUM3QjtBQUVPLFNBQVNWLFlBQVlZLGFBQWEsRUFBRUgsVUFBVTtJQUNuRCxJQUFNSSxxQkFBcUJELGVBQWdCLEdBQUc7SUFFOUNILFdBQVdLLGdCQUFnQixDQUFDRDtBQUM5QjtBQUVPLFNBQVNYLFdBQVdhLFdBQVcsRUFBRU4sVUFBVTtJQUNoRCxJQUFNTyxtQkFBbUJELGFBQWEsR0FBRztJQUV6Q04sV0FBV1EsZUFBZSxDQUFDRDtBQUM3QjtBQUVPLFNBQVNiLFlBQVllLFlBQVksRUFBRVQsVUFBVTtJQUNsRCxJQUFNVSxvQkFBb0JELGNBQWMsR0FBRztJQUUzQ1QsV0FBV1csZ0JBQWdCLENBQUNEO0FBQzlCO0FBRU8sU0FBU2QsWUFBWWdCLGVBQWUsRUFBRUMs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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-dom",
3
3
  "author": "James Smith",
4
- "version": "5.1.1",
4
+ "version": "5.2.1",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-dom",
7
7
  "description": "Occam's DOM related functionality.",
@@ -10,8 +10,8 @@
10
10
  "url": "https://github.com/djalbat/occam-dom"
11
11
  },
12
12
  "dependencies": {
13
- "occam-parsers": "^23.0.117",
14
- "occam-query": "^4.1.75"
13
+ "occam-parsers": "^23.0.120",
14
+ "occam-query": "^4.1.77"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@swc/core": "^1.5.6",
package/src/index.js CHANGED
@@ -3,3 +3,4 @@
3
3
  export { default as Node } from "./node";
4
4
  export { default as Transform } from "./transform";
5
5
  export { default as nodeUtilities } from "./utilities/node";
6
+ export { default as transformUtilities } from "./utilities/transform";
@@ -9,20 +9,20 @@ export default class NodeParseTree extends VerticalBranchParseTree {
9
9
  let nodeParseTree;
10
10
 
11
11
  const childNodes = node.getChildNodes(),
12
- ruleNameParseTree = StringParseTree.fromNode(node),
12
+ stringParseTree = StringParseTree.fromNode(node),
13
13
  childNodesParseTree = ChildNodesParseTree.fromChildNodes(childNodes);
14
14
 
15
15
  if (childNodesParseTree === null) {
16
- const ruleNameParseTreeDepth = ruleNameParseTree.getDepth(),
17
- ruleNameParseTreeVerticalBranchPosition = ruleNameParseTree.getVerticalBranchPosition(),
16
+ const ruleNameParseTreeDepth = stringParseTree.getDepth(),
17
+ ruleNameParseTreeVerticalBranchPosition = stringParseTree.getVerticalBranchPosition(),
18
18
  verticalBranchPosition = ruleNameParseTreeVerticalBranchPosition, ///
19
19
  depth = ruleNameParseTreeDepth; ///
20
20
 
21
21
  nodeParseTree = VerticalBranchParseTree.fromDepthAndVerticalBranchPosition(NodeParseTree, depth, verticalBranchPosition);
22
22
 
23
- nodeParseTree.appendToRight(ruleNameParseTree);
23
+ nodeParseTree.appendToRight(stringParseTree);
24
24
  } else {
25
- let ruleNameParseTreeVerticalBranchPosition = ruleNameParseTree.getVerticalBranchPosition();
25
+ let ruleNameParseTreeVerticalBranchPosition = stringParseTree.getVerticalBranchPosition();
26
26
 
27
27
  const childNodesParseTreeVerticalBranchPosition = childNodesParseTree.getVerticalBranchPosition(),
28
28
  verticalBranchPositionsDifference = ruleNameParseTreeVerticalBranchPosition - childNodesParseTreeVerticalBranchPosition;
@@ -34,14 +34,14 @@ export default class NodeParseTree extends VerticalBranchParseTree {
34
34
  } else if (verticalBranchPositionsDifference < 0) {
35
35
  leftMarginWidth = -verticalBranchPositionsDifference;
36
36
 
37
- ruleNameParseTree.addLeftMargin(leftMarginWidth);
37
+ stringParseTree.addLeftMargin(leftMarginWidth);
38
38
  } else if (verticalBranchPositionsDifference > 0) {
39
39
  leftMarginWidth = +verticalBranchPositionsDifference;
40
40
 
41
41
  childNodesParseTree.addLeftMargin(leftMarginWidth);
42
42
  }
43
43
 
44
- const ruleNameParseTreeWidth = ruleNameParseTree.getWidth(),
44
+ const ruleNameParseTreeWidth = stringParseTree.getWidth(),
45
45
  childNodesParseTreeWidth = childNodesParseTree.getWidth(),
46
46
  widthsDifference = ruleNameParseTreeWidth - childNodesParseTreeWidth;
47
47
 
@@ -52,22 +52,22 @@ export default class NodeParseTree extends VerticalBranchParseTree {
52
52
  } else if (widthsDifference < 0) {
53
53
  rightMarginWidth = -widthsDifference;
54
54
 
55
- ruleNameParseTree.addRightMargin(rightMarginWidth);
55
+ stringParseTree.addRightMargin(rightMarginWidth);
56
56
  } else if (widthsDifference > 0) {
57
57
  rightMarginWidth = +widthsDifference;
58
58
 
59
59
  childNodesParseTree.addRightMargin(rightMarginWidth);
60
60
  }
61
61
 
62
- ruleNameParseTreeVerticalBranchPosition = ruleNameParseTree.getVerticalBranchPosition();
62
+ ruleNameParseTreeVerticalBranchPosition = stringParseTree.getVerticalBranchPosition();
63
63
 
64
- const ruleNameParseTreeDepth = ruleNameParseTree.getDepth(),
64
+ const ruleNameParseTreeDepth = stringParseTree.getDepth(),
65
65
  verticalBranchPosition = ruleNameParseTreeVerticalBranchPosition, ///
66
66
  depth = ruleNameParseTreeDepth; ///
67
67
 
68
68
  nodeParseTree = VerticalBranchParseTree.fromDepthAndVerticalBranchPosition(NodeParseTree, depth, verticalBranchPosition);
69
69
 
70
- nodeParseTree.appendToRight(ruleNameParseTree);
70
+ nodeParseTree.appendToRight(stringParseTree);
71
71
 
72
72
  nodeParseTree.appendToBottom(childNodesParseTree);
73
73
  }
@@ -131,6 +131,24 @@ export function clonedTokensFromNodeAndTokens(node, tokens) {
131
131
  return clonedTokens;
132
132
  }
133
133
 
134
+ export default {
135
+ appendNode,
136
+ prependNode,
137
+ removeNode,
138
+ removeNodes,
139
+ replaceNode,
140
+ replaceNodes,
141
+ addNodeAfter,
142
+ addNodesAfter,
143
+ appendTokens,
144
+ prependTokens,
145
+ removeTokens,
146
+ replaceTokens,
147
+ addTokensAfter,
148
+ overwriteClonedNodeTokens,
149
+ clonedTokensFromNodeAndTokens
150
+ };
151
+
134
152
  function overwriteNodeTokens(node, clonedTokens, tokens, offset) {
135
153
  const nodeTerminalNode = node.isTerminalNode();
136
154