occam-dom 5.2.7 → 5.2.9

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.
@@ -34,7 +34,7 @@ function topmostNodeFromOuterNodes(ClassFromOuterNode, outerNodes) {
34
34
  var outerNode = null, Class = ClassFromOuterNode(outerNode), topmostNode = Class.fromNothing(), outerNodeToNodeMap = new WeakMap();
35
35
  outerNodes.forEach(function(outerNode) {
36
36
  var parentNode = topmostNode; ///
37
- someAncestorNode(outerNode, function(ancestorNode) {
37
+ outerNode.someAncestorNode(function(ancestorNode) {
38
38
  var _$outerNode = ancestorNode, node = outerNodeToNodeMap.get(_$outerNode) || null;
39
39
  if (node !== null) {
40
40
  parentNode = node; ///
@@ -58,39 +58,19 @@ function orderNodes(nodes) {
58
58
  }
59
59
  function isLessThan(nodeA, nodeB) {
60
60
  var lessThan = null;
61
- var ancestorNodesA = ancestorNodesFromNode(nodeA), ancestorNodesB = ancestorNodesFromNode(nodeB), ancestorNodesALength = ancestorNodesA.length, ancestorNodesBLength = ancestorNodesB.length, minimumAncestorNodesLength = Math.min(ancestorNodesALength, ancestorNodesBLength);
61
+ var nodeAAncestorNodes = nodeA.getAncestorNodes(), nodeBAncestorNodes = nodeB.getAncestorNodes(), nodeAAncestorNodesLength = nodeAAncestorNodes.length, nodeBAncestorNodesLength = nodeBAncestorNodes.length, minimumAncestorNodesLength = Math.min(nodeAAncestorNodesLength, nodeBAncestorNodesLength);
62
62
  for(var index = 0; index < minimumAncestorNodesLength; index++){
63
- var ancestorNodeA = ancestorNodesA[index], ancestorNodeB = ancestorNodesB[index];
64
- if (ancestorNodeA !== ancestorNodeB) {
65
- var parentIndex = index - 1, ancestorNodeAParentNode = ancestorNodesA[parentIndex], parentNode = ancestorNodeAParentNode, childNodeA = ancestorNodeA, childNodeB = ancestorNodeB, indexA = parentNode.indexOfChildNode(childNodeA), indexB = parentNode.indexOfChildNode(childNodeB);
63
+ var nodeAAncestorNode = nodeAAncestorNodes[index], nodeBAncestorNode = nodeBAncestorNodes[index];
64
+ if (nodeAAncestorNode !== nodeBAncestorNode) {
65
+ var parentIndex = index - 1, nodeAAncestorNodeParentNode = nodeAAncestorNodes[parentIndex], parentNode = nodeAAncestorNodeParentNode, childNodeA = nodeAAncestorNode, childNodeB = nodeBAncestorNode, indexA = parentNode.indexOfChildNode(childNodeA), indexB = parentNode.indexOfChildNode(childNodeB);
66
66
  lessThan = indexA < indexB;
67
67
  break;
68
68
  }
69
69
  }
70
70
  if (lessThan === null) {
71
- lessThan = ancestorNodesALength < ancestorNodesBLength;
71
+ lessThan = nodeAAncestorNodesLength < nodeBAncestorNodesLength;
72
72
  }
73
73
  return lessThan;
74
74
  }
75
- function someAncestorNode(node, callback) {
76
- var result = false;
77
- var parentNode = node.getParentNode();
78
- while(parentNode !== null){
79
- var ancestorNode = parentNode; ///
80
- result = !!callback(ancestorNode); ///
81
- if (result) {
82
- break;
83
- }
84
- node = parentNode; ///
85
- parentNode = node.getParentNode();
86
- }
87
- return result;
88
- }
89
- function ancestorNodesFromNode(node) {
90
- var ancestorNodes = node.getAncestorNodes();
91
- ancestorNodes.unshift(node);
92
- ancestorNodes.reverse();
93
- return ancestorNodes;
94
- }
95
75
 
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE5vZGUgZnJvbSBcIi4uL25vZGVcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRvcG1vc3ROb2RlRnJvbU91dGVyTm9kZXMoQ2xhc3NGcm9tT3V0ZXJOb2RlLCBvdXRlck5vZGVzKSB7XG4gIGlmIChvdXRlck5vZGVzID09PSB1bmRlZmluZWQpIHtcbiAgICBvdXRlck5vZGVzID0gQ2xhc3NGcm9tT3V0ZXJOb2RlOyAvLy9cblxuICAgIENsYXNzRnJvbU91dGVyTm9kZSA9IChvdXRlck5vZGUpID0+IE5vZGU7ICAvLy9cbiAgfVxuXG4gIGNvbnN0IG5vZGVzID0gb3V0ZXJOb2RlczsgLy8vXG5cbiAgb3JkZXJOb2Rlcyhub2Rlcyk7XG5cbiAgY29uc3Qgb3V0ZXJOb2RlID0gbnVsbCxcbiAgICAgICAgQ2xhc3MgPSBDbGFzc0Zyb21PdXRlck5vZGUob3V0ZXJOb2RlKSxcbiAgICAgICAgdG9wbW9zdE5vZGUgPSBDbGFzcy5mcm9tTm90aGluZygpLFxuICAgICAgICBvdXRlck5vZGVUb05vZGVNYXAgPSBuZXcgV2Vha01hcCgpO1xuXG4gIG91dGVyTm9kZXMuZm9yRWFjaCgob3V0ZXJOb2RlKSA9PiB7XG4gICAgbGV0IHBhcmVudE5vZGUgPSB0b3Btb3N0Tm9kZTsgLy8vXG5cbiAgICBzb21lQW5jZXN0b3JOb2RlKG91dGVyTm9kZSwgKGFuY2VzdG9yTm9kZSkgPT4ge1xuICAgICAgY29uc3Qgb3V0ZXJOb2RlID0gYW5jZXN0b3JOb2RlLCAvLy9cbiAgICAgICAgICAgIG5vZGUgPSBvdXRlck5vZGVUb05vZGVNYXAuZ2V0KG91dGVyTm9kZSkgfHwgbnVsbDtcblxuICAgICAgaWYgKG5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgcGFyZW50Tm9kZSA9IG5vZGU7ICAvLy9cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IENsYXNzID0gQ2xhc3NGcm9tT3V0ZXJOb2RlKG91dGVyTm9kZSksXG4gICAgICAgICAgbm9kZSA9IENsYXNzLmZyb21PdXRlck5vZGUob3V0ZXJOb2RlKSxcbiAgICAgICAgICBhcHBlbmRlZENoaWxkTm9kZSA9IG5vZGU7IC8vL1xuXG4gICAgcGFyZW50Tm9kZS5hcHBlbmRDaGlsZE5vZGUoYXBwZW5kZWRDaGlsZE5vZGUpO1xuXG4gICAgb3V0ZXJOb2RlVG9Ob2RlTWFwLnNldChvdXRlck5vZGUsIG5vZGUpO1xuICB9KTtcblxuICByZXR1cm4gdG9wbW9zdE5vZGU7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgdG9wbW9zdE5vZGVGcm9tT3V0ZXJOb2Rlc1xufTtcblxuZnVuY3Rpb24gb3JkZXJOb2Rlcyhub2Rlcykge1xuICBub2Rlcy5zb3J0KChub2RlQSwgbm9kZUIpID0+IHtcbiAgICBjb25zdCBub2RlQUxlc3NUaGFuTm9kZUIgPSBpc0xlc3NUaGFuKG5vZGVBLCBub2RlQiksXG4gICAgICAgICAgcmVzdWx0ID0gbm9kZUFMZXNzVGhhbk5vZGVCID9cbiAgICAgICAgICAgICAgICAgICAgIC0xIDpcbiAgICAgICAgICAgICAgICAgICAgICAgKzE7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9KTtcbn1cblxuZnVuY3Rpb24gaXNMZXNzVGhhbihub2RlQSwgbm9kZUIpIHtcbiAgbGV0IGxlc3NUaGFuID0gbnVsbDtcblxuICBjb25zdCBhbmNlc3Rvck5vZGVzQSA9IGFuY2VzdG9yTm9kZXNGcm9tTm9kZShub2RlQSksXG4gICAgICAgIGFuY2VzdG9yTm9kZXNCID0gYW5jZXN0b3JOb2Rlc0Zyb21Ob2RlKG5vZGVCKSxcbiAgICAgICAgYW5jZXN0b3JOb2Rlc0FMZW5ndGggPSBhbmNlc3Rvck5vZGVzQS5sZW5ndGgsXG4gICAgICAgIGFuY2VzdG9yTm9kZXNCTGVuZ3RoID0gYW5jZXN0b3JOb2Rlc0IubGVuZ3RoLFxuICAgICAgICBtaW5pbXVtQW5jZXN0b3JOb2Rlc0xlbmd0aCA9IE1hdGgubWluKGFuY2VzdG9yTm9kZXNBTGVuZ3RoLCBhbmNlc3Rvck5vZGVzQkxlbmd0aCk7XG5cbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IG1pbmltdW1BbmNlc3Rvck5vZGVzTGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgY29uc3QgYW5jZXN0b3JOb2RlQSA9IGFuY2VzdG9yTm9kZXNBW2luZGV4XSxcbiAgICAgICAgICBhbmNlc3Rvck5vZGVCID0gYW5jZXN0b3JOb2Rlc0JbaW5kZXhdO1xuXG4gICAgaWYgKGFuY2VzdG9yTm9kZUEgIT09IGFuY2VzdG9yTm9kZUIpIHtcbiAgICAgIGNvbnN0IHBhcmVudEluZGV4ID0gaW5kZXggLSAxLFxuICAgICAgICAgICAgYW5jZXN0b3JOb2RlQVBhcmVudE5vZGUgPSBhbmNlc3Rvck5vZGVzQVtwYXJlbnRJbmRleF0sXG4gICAgICAgICAgICBwYXJlbnROb2RlID0gYW5jZXN0b3JOb2RlQVBhcmVudE5vZGUsIC8vL1xuICAgICAgICAgICAgY2hpbGROb2RlQSA9IGFuY2VzdG9yTm9kZUEsIC8vL1xuICAgICAgICAgICAgY2hpbGROb2RlQiA9IGFuY2VzdG9yTm9kZUIsIC8vL1xuICAgICAgICAgICAgaW5kZXhBID0gcGFyZW50Tm9kZS5pbmRleE9mQ2hpbGROb2RlKGNoaWxkTm9kZUEpLFxuICAgICAgICAgICAgaW5kZXhCID0gcGFyZW50Tm9kZS5pbmRleE9mQ2hpbGROb2RlKGNoaWxkTm9kZUIpO1xuXG4gICAgICBsZXNzVGhhbiA9IChpbmRleEEgPCBpbmRleEIpO1xuXG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBpZiAobGVzc1RoYW4gPT09IG51bGwpIHtcbiAgICBsZXNzVGhhbiA9IChhbmNlc3Rvck5vZGVzQUxlbmd0aCA8IGFuY2VzdG9yTm9kZXNCTGVuZ3RoKTtcbiAgfVxuXG4gIHJldHVybiBsZXNzVGhhbjtcbn1cblxuZnVuY3Rpb24gc29tZUFuY2VzdG9yTm9kZShub2RlLCBjYWxsYmFjaykge1xuICBsZXQgcmVzdWx0ID0gZmFsc2U7XG5cbiAgbGV0IHBhcmVudE5vZGUgPSBub2RlLmdldFBhcmVudE5vZGUoKTtcblxuICB3aGlsZSAocGFyZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGFuY2VzdG9yTm9kZSA9IHBhcmVudE5vZGU7ICAvLy9cblxuICAgIHJlc3VsdCA9ICEhY2FsbGJhY2soYW5jZXN0b3JOb2RlKTsgIC8vL1xuXG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgbm9kZSA9IHBhcmVudE5vZGU7ICAvLy9cblxuICAgIHBhcmVudE5vZGUgPSBub2RlLmdldFBhcmVudE5vZGUoKTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGFuY2VzdG9yTm9kZXNGcm9tTm9kZShub2RlKSB7XG4gIGNvbnN0IGFuY2VzdG9yTm9kZXMgPSBub2RlLmdldEFuY2VzdG9yTm9kZXMoKTtcblxuICBhbmNlc3Rvck5vZGVzLnVuc2hpZnQobm9kZSk7XG5cbiAgYW5jZXN0b3JOb2Rlcy5yZXZlcnNlKCk7XG5cbiAgcmV0dXJuIGFuY2VzdG9yTm9kZXM7XG59Il0sIm5hbWVzIjpbInRvcG1vc3ROb2RlRnJvbU91dGVyTm9kZXMiLCJDbGFzc0Zyb21PdXRlck5vZGUiLCJvdXRlck5vZGVzIiwidW5kZWZpbmVkIiwib3V0ZXJOb2RlIiwiTm9kZSIsIm5vZGVzIiwib3JkZXJOb2RlcyIsIkNsYXNzIiwidG9wbW9zdE5vZGUiLCJmcm9tTm90aGluZyIsIm91dGVyTm9kZVRvTm9kZU1hcCIsIldlYWtNYXAiLCJmb3JFYWNoIiwicGFyZW50Tm9kZSIsInNvbWVBbmNlc3Rvck5vZGUiLCJhbmNlc3Rvck5vZGUiLCJub2RlIiwiZ2V0IiwiZnJvbU91dGVyTm9kZSIsImFwcGVuZGVkQ2hpbGROb2RlIiwiYXBwZW5kQ2hpbGROb2RlIiwic2V0Iiwic29ydCIsIm5vZGVBIiwibm9kZUIiLCJub2RlQUxlc3NUaGFuTm9kZUIiLCJpc0xlc3NUaGFuIiwicmVzdWx0IiwibGVzc1RoYW4iLCJhbmNlc3Rvck5vZGVzQSIsImFuY2VzdG9yTm9kZXNGcm9tTm9kZSIsImFuY2VzdG9yTm9kZXNCIiwiYW5jZXN0b3JOb2Rlc0FMZW5ndGgiLCJsZW5ndGgiLCJhbmNlc3Rvck5vZGVzQkxlbmd0aCIsIm1pbmltdW1BbmNlc3Rvck5vZGVzTGVuZ3RoIiwiTWF0aCIsIm1pbiIsImluZGV4IiwiYW5jZXN0b3JOb2RlQSIsImFuY2VzdG9yTm9kZUIiLCJwYXJlbnRJbmRleCIsImFuY2VzdG9yTm9kZUFQYXJlbnROb2RlIiwiY2hpbGROb2RlQSIsImNoaWxkTm9kZUIiLCJpbmRleEEiLCJpbmRleE9mQ2hpbGROb2RlIiwiaW5kZXhCIiwiY2FsbGJhY2siLCJnZXRQYXJlbnROb2RlIiwiYW5jZXN0b3JOb2RlcyIsImdldEFuY2VzdG9yTm9kZXMiLCJ1bnNoaWZ0IiwicmV2ZXJzZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBOENBLE9BRUU7ZUFGRjs7SUExQ2dCQSx5QkFBeUI7ZUFBekJBOzs7MkRBRkM7Ozs7OztBQUVWLFNBQVNBLDBCQUEwQkMsa0JBQWtCLEVBQUVDLFVBQVU7SUFDdEUsSUFBSUEsZUFBZUMsV0FBVztRQUM1QkQsYUFBYUQsb0JBQW9CLEdBQUc7UUFFcENBLHFCQUFxQixTQUFDRzttQkFBY0MsYUFBSTtXQUFHLEdBQUc7SUFDaEQ7SUFFQSxJQUFNQyxRQUFRSixZQUFZLEdBQUc7SUFFN0JLLFdBQVdEO0lBRVgsSUFBTUYsWUFBWSxNQUNaSSxRQUFRUCxtQkFBbUJHLFlBQzNCSyxjQUFjRCxNQUFNRSxXQUFXLElBQy9CQyxxQkFBcUIsSUFBSUM7SUFFL0JWLFdBQVdXLE9BQU8sQ0FBQyxTQUFDVDtRQUNsQixJQUFJVSxhQUFhTCxhQUFhLEdBQUc7UUFFakNNLGlCQUFpQlgsV0FBVyxTQUFDWTtZQUMzQixJQUFNWixjQUFZWSxjQUNaQyxPQUFPTixtQkFBbUJPLEdBQUcsQ0FBQ2QsZ0JBQWM7WUFFbEQsSUFBSWEsU0FBUyxNQUFNO2dCQUNqQkgsYUFBYUcsTUFBTyxHQUFHO2dCQUV2QixPQUFPO1lBQ1Q7UUFDRjtRQUVBLElBQU1ULFFBQVFQLG1CQUFtQkcsWUFDM0JhLE9BQU9ULE1BQU1XLGFBQWEsQ0FBQ2YsWUFDM0JnQixvQkFBb0JILE1BQU0sR0FBRztRQUVuQ0gsV0FBV08sZUFBZSxDQUFDRDtRQUUzQlQsbUJBQW1CVyxHQUFHLENBQUNsQixXQUFXYTtJQUNwQztJQUVBLE9BQU9SO0FBQ1Q7SUFFQSxXQUFlO0lBQ2JULDJCQUFBQTtBQUNGO0FBRUEsU0FBU08sV0FBV0QsS0FBSztJQUN2QkEsTUFBTWlCLElBQUksQ0FBQyxTQUFDQyxPQUFPQztRQUNqQixJQUFNQyxxQkFBcUJDLFdBQVdILE9BQU9DLFFBQ3ZDRyxTQUFTRixxQkFDRSxDQUFDLElBQ0MsQ0FBQztRQUVwQixPQUFPRTtJQUNUO0FBQ0Y7QUFFQSxTQUFTRCxXQUFXSCxLQUFLLEVBQUVDLEtBQUs7SUFDOUIsSUFBSUksV0FBVztJQUVmLElBQU1DLGlCQUFpQkMsc0JBQXNCUCxRQUN2Q1EsaUJBQWlCRCxzQkFBc0JOLFFBQ3ZDUSx1QkFBdUJILGVBQWVJLE1BQU0sRUFDNUNDLHVCQUF1QkgsZUFBZUUsTUFBTSxFQUM1Q0UsNkJBQTZCQyxLQUFLQyxHQUFHLENBQUNMLHNCQUFzQkU7SUFFbEUsSUFBSyxJQUFJSSxRQUFRLEdBQUdBLFFBQVFILDRCQUE0QkcsUUFBUztRQUMvRCxJQUFNQyxnQkFBZ0JWLGNBQWMsQ0FBQ1MsTUFBTSxFQUNyQ0UsZ0JBQWdCVCxjQUFjLENBQUNPLE1BQU07UUFFM0MsSUFBSUMsa0JBQWtCQyxlQUFlO1lBQ25DLElBQU1DLGNBQWNILFFBQVEsR0FDdEJJLDBCQUEwQmIsY0FBYyxDQUFDWSxZQUFZLEVBQ3JENUIsYUFBYTZCLHlCQUNiQyxhQUFhSixlQUNiSyxhQUFhSixlQUNiSyxTQUFTaEMsV0FBV2lDLGdCQUFnQixDQUFDSCxhQUNyQ0ksU0FBU2xDLFdBQVdpQyxnQkFBZ0IsQ0FBQ0Y7WUFFM0NoQixXQUFZaUIsU0FBU0U7WUFFckI7UUFDRjtJQUNGO0lBRUEsSUFBSW5CLGFBQWEsTUFBTTtRQUNyQkEsV0FBWUksdUJBQXVCRTtJQUNyQztJQUVBLE9BQU9OO0FBQ1Q7QUFFQSxTQUFTZCxpQkFBaUJFLElBQUksRUFBRWdDLFFBQVE7SUFDdEMsSUFBSXJCLFNBQVM7SUFFYixJQUFJZCxhQUFhRyxLQUFLaUMsYUFBYTtJQUVuQyxNQUFPcEMsZUFBZSxLQUFNO1FBQzFCLElBQU1FLGVBQWVGLFlBQWEsR0FBRztRQUVyQ2MsU0FBUyxDQUFDLENBQUNxQixTQUFTakMsZUFBZ0IsR0FBRztRQUV2QyxJQUFJWSxRQUFRO1lBQ1Y7UUFDRjtRQUVBWCxPQUFPSCxZQUFhLEdBQUc7UUFFdkJBLGFBQWFHLEtBQUtpQyxhQUFhO0lBQ2pDO0lBRUEsT0FBT3RCO0FBQ1Q7QUFFQSxTQUFTRyxzQkFBc0JkLElBQUk7SUFDakMsSUFBTWtDLGdCQUFnQmxDLEtBQUttQyxnQkFBZ0I7SUFFM0NELGNBQWNFLE9BQU8sQ0FBQ3BDO0lBRXRCa0MsY0FBY0csT0FBTztJQUVyQixPQUFPSDtBQUNUIn0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE5vZGUgZnJvbSBcIi4uL25vZGVcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRvcG1vc3ROb2RlRnJvbU91dGVyTm9kZXMoQ2xhc3NGcm9tT3V0ZXJOb2RlLCBvdXRlck5vZGVzKSB7XG4gIGlmIChvdXRlck5vZGVzID09PSB1bmRlZmluZWQpIHtcbiAgICBvdXRlck5vZGVzID0gQ2xhc3NGcm9tT3V0ZXJOb2RlOyAvLy9cblxuICAgIENsYXNzRnJvbU91dGVyTm9kZSA9IChvdXRlck5vZGUpID0+IE5vZGU7ICAvLy9cbiAgfVxuXG4gIGNvbnN0IG5vZGVzID0gb3V0ZXJOb2RlczsgLy8vXG5cbiAgb3JkZXJOb2Rlcyhub2Rlcyk7XG5cbiAgY29uc3Qgb3V0ZXJOb2RlID0gbnVsbCxcbiAgICAgICAgQ2xhc3MgPSBDbGFzc0Zyb21PdXRlck5vZGUob3V0ZXJOb2RlKSxcbiAgICAgICAgdG9wbW9zdE5vZGUgPSBDbGFzcy5mcm9tTm90aGluZygpLFxuICAgICAgICBvdXRlck5vZGVUb05vZGVNYXAgPSBuZXcgV2Vha01hcCgpO1xuXG4gIG91dGVyTm9kZXMuZm9yRWFjaCgob3V0ZXJOb2RlKSA9PiB7XG4gICAgbGV0IHBhcmVudE5vZGUgPSB0b3Btb3N0Tm9kZTsgLy8vXG5cbiAgICBvdXRlck5vZGUuc29tZUFuY2VzdG9yTm9kZSgoYW5jZXN0b3JOb2RlKSA9PiB7XG4gICAgICBjb25zdCBvdXRlck5vZGUgPSBhbmNlc3Rvck5vZGUsIC8vL1xuICAgICAgICAgICAgbm9kZSA9IG91dGVyTm9kZVRvTm9kZU1hcC5nZXQob3V0ZXJOb2RlKSB8fCBudWxsO1xuXG4gICAgICBpZiAobm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBwYXJlbnROb2RlID0gbm9kZTsgIC8vL1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgQ2xhc3MgPSBDbGFzc0Zyb21PdXRlck5vZGUob3V0ZXJOb2RlKSxcbiAgICAgICAgICBub2RlID0gQ2xhc3MuZnJvbU91dGVyTm9kZShvdXRlck5vZGUpLFxuICAgICAgICAgIGFwcGVuZGVkQ2hpbGROb2RlID0gbm9kZTsgLy8vXG5cbiAgICBwYXJlbnROb2RlLmFwcGVuZENoaWxkTm9kZShhcHBlbmRlZENoaWxkTm9kZSk7XG5cbiAgICBvdXRlck5vZGVUb05vZGVNYXAuc2V0KG91dGVyTm9kZSwgbm9kZSk7XG4gIH0pO1xuXG4gIHJldHVybiB0b3Btb3N0Tm9kZTtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICB0b3Btb3N0Tm9kZUZyb21PdXRlck5vZGVzXG59O1xuXG5mdW5jdGlvbiBvcmRlck5vZGVzKG5vZGVzKSB7XG4gIG5vZGVzLnNvcnQoKG5vZGVBLCBub2RlQikgPT4ge1xuICAgIGNvbnN0IG5vZGVBTGVzc1RoYW5Ob2RlQiA9IGlzTGVzc1RoYW4obm9kZUEsIG5vZGVCKSxcbiAgICAgICAgICByZXN1bHQgPSBub2RlQUxlc3NUaGFuTm9kZUIgP1xuICAgICAgICAgICAgICAgICAgICAgLTEgOlxuICAgICAgICAgICAgICAgICAgICAgICArMTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBpc0xlc3NUaGFuKG5vZGVBLCBub2RlQikge1xuICBsZXQgbGVzc1RoYW4gPSBudWxsO1xuXG4gIGNvbnN0IG5vZGVBQW5jZXN0b3JOb2RlcyA9IG5vZGVBLmdldEFuY2VzdG9yTm9kZXMoKSxcbiAgICAgICAgbm9kZUJBbmNlc3Rvck5vZGVzID0gbm9kZUIuZ2V0QW5jZXN0b3JOb2RlcygpLFxuICAgICAgICBub2RlQUFuY2VzdG9yTm9kZXNMZW5ndGggPSBub2RlQUFuY2VzdG9yTm9kZXMubGVuZ3RoLFxuICAgICAgICBub2RlQkFuY2VzdG9yTm9kZXNMZW5ndGggPSBub2RlQkFuY2VzdG9yTm9kZXMubGVuZ3RoLFxuICAgICAgICBtaW5pbXVtQW5jZXN0b3JOb2Rlc0xlbmd0aCA9IE1hdGgubWluKG5vZGVBQW5jZXN0b3JOb2Rlc0xlbmd0aCwgbm9kZUJBbmNlc3Rvck5vZGVzTGVuZ3RoKTtcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbWluaW11bUFuY2VzdG9yTm9kZXNMZW5ndGg7IGluZGV4KyspIHtcbiAgICBjb25zdCBub2RlQUFuY2VzdG9yTm9kZSA9IG5vZGVBQW5jZXN0b3JOb2Rlc1tpbmRleF0sXG4gICAgICAgICAgbm9kZUJBbmNlc3Rvck5vZGUgPSBub2RlQkFuY2VzdG9yTm9kZXNbaW5kZXhdO1xuXG4gICAgaWYgKG5vZGVBQW5jZXN0b3JOb2RlICE9PSBub2RlQkFuY2VzdG9yTm9kZSkge1xuICAgICAgY29uc3QgcGFyZW50SW5kZXggPSBpbmRleCAtIDEsXG4gICAgICAgICAgICBub2RlQUFuY2VzdG9yTm9kZVBhcmVudE5vZGUgPSBub2RlQUFuY2VzdG9yTm9kZXNbcGFyZW50SW5kZXhdLFxuICAgICAgICAgICAgcGFyZW50Tm9kZSA9IG5vZGVBQW5jZXN0b3JOb2RlUGFyZW50Tm9kZSwgLy8vXG4gICAgICAgICAgICBjaGlsZE5vZGVBID0gbm9kZUFBbmNlc3Rvck5vZGUsIC8vL1xuICAgICAgICAgICAgY2hpbGROb2RlQiA9IG5vZGVCQW5jZXN0b3JOb2RlLCAvLy9cbiAgICAgICAgICAgIGluZGV4QSA9IHBhcmVudE5vZGUuaW5kZXhPZkNoaWxkTm9kZShjaGlsZE5vZGVBKSxcbiAgICAgICAgICAgIGluZGV4QiA9IHBhcmVudE5vZGUuaW5kZXhPZkNoaWxkTm9kZShjaGlsZE5vZGVCKTtcblxuICAgICAgbGVzc1RoYW4gPSAoaW5kZXhBIDwgaW5kZXhCKTtcblxuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgaWYgKGxlc3NUaGFuID09PSBudWxsKSB7XG4gICAgbGVzc1RoYW4gPSAobm9kZUFBbmNlc3Rvck5vZGVzTGVuZ3RoIDwgbm9kZUJBbmNlc3Rvck5vZGVzTGVuZ3RoKTtcbiAgfVxuXG4gIHJldHVybiBsZXNzVGhhbjtcbn1cbiJdLCJuYW1lcyI6WyJ0b3Btb3N0Tm9kZUZyb21PdXRlck5vZGVzIiwiQ2xhc3NGcm9tT3V0ZXJOb2RlIiwib3V0ZXJOb2RlcyIsInVuZGVmaW5lZCIsIm91dGVyTm9kZSIsIk5vZGUiLCJub2RlcyIsIm9yZGVyTm9kZXMiLCJDbGFzcyIsInRvcG1vc3ROb2RlIiwiZnJvbU5vdGhpbmciLCJvdXRlck5vZGVUb05vZGVNYXAiLCJXZWFrTWFwIiwiZm9yRWFjaCIsInBhcmVudE5vZGUiLCJzb21lQW5jZXN0b3JOb2RlIiwiYW5jZXN0b3JOb2RlIiwibm9kZSIsImdldCIsImZyb21PdXRlck5vZGUiLCJhcHBlbmRlZENoaWxkTm9kZSIsImFwcGVuZENoaWxkTm9kZSIsInNldCIsInNvcnQiLCJub2RlQSIsIm5vZGVCIiwibm9kZUFMZXNzVGhhbk5vZGVCIiwiaXNMZXNzVGhhbiIsInJlc3VsdCIsImxlc3NUaGFuIiwibm9kZUFBbmNlc3Rvck5vZGVzIiwiZ2V0QW5jZXN0b3JOb2RlcyIsIm5vZGVCQW5jZXN0b3JOb2RlcyIsIm5vZGVBQW5jZXN0b3JOb2Rlc0xlbmd0aCIsImxlbmd0aCIsIm5vZGVCQW5jZXN0b3JOb2Rlc0xlbmd0aCIsIm1pbmltdW1BbmNlc3Rvck5vZGVzTGVuZ3RoIiwiTWF0aCIsIm1pbiIsImluZGV4Iiwibm9kZUFBbmNlc3Rvck5vZGUiLCJub2RlQkFuY2VzdG9yTm9kZSIsInBhcmVudEluZGV4Iiwibm9kZUFBbmNlc3Rvck5vZGVQYXJlbnROb2RlIiwiY2hpbGROb2RlQSIsImNoaWxkTm9kZUIiLCJpbmRleEEiLCJpbmRleE9mQ2hpbGROb2RlIiwiaW5kZXhCIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUE4Q0EsT0FFRTtlQUZGOztJQTFDZ0JBLHlCQUF5QjtlQUF6QkE7OzsyREFGQzs7Ozs7O0FBRVYsU0FBU0EsMEJBQTBCQyxrQkFBa0IsRUFBRUMsVUFBVTtJQUN0RSxJQUFJQSxlQUFlQyxXQUFXO1FBQzVCRCxhQUFhRCxvQkFBb0IsR0FBRztRQUVwQ0EscUJBQXFCLFNBQUNHO21CQUFjQyxhQUFJO1dBQUcsR0FBRztJQUNoRDtJQUVBLElBQU1DLFFBQVFKLFlBQVksR0FBRztJQUU3QkssV0FBV0Q7SUFFWCxJQUFNRixZQUFZLE1BQ1pJLFFBQVFQLG1CQUFtQkcsWUFDM0JLLGNBQWNELE1BQU1FLFdBQVcsSUFDL0JDLHFCQUFxQixJQUFJQztJQUUvQlYsV0FBV1csT0FBTyxDQUFDLFNBQUNUO1FBQ2xCLElBQUlVLGFBQWFMLGFBQWEsR0FBRztRQUVqQ0wsVUFBVVcsZ0JBQWdCLENBQUMsU0FBQ0M7WUFDMUIsSUFBTVosY0FBWVksY0FDWkMsT0FBT04sbUJBQW1CTyxHQUFHLENBQUNkLGdCQUFjO1lBRWxELElBQUlhLFNBQVMsTUFBTTtnQkFDakJILGFBQWFHLE1BQU8sR0FBRztnQkFFdkIsT0FBTztZQUNUO1FBQ0Y7UUFFQSxJQUFNVCxRQUFRUCxtQkFBbUJHLFlBQzNCYSxPQUFPVCxNQUFNVyxhQUFhLENBQUNmLFlBQzNCZ0Isb0JBQW9CSCxNQUFNLEdBQUc7UUFFbkNILFdBQVdPLGVBQWUsQ0FBQ0Q7UUFFM0JULG1CQUFtQlcsR0FBRyxDQUFDbEIsV0FBV2E7SUFDcEM7SUFFQSxPQUFPUjtBQUNUO0lBRUEsV0FBZTtJQUNiVCwyQkFBQUE7QUFDRjtBQUVBLFNBQVNPLFdBQVdELEtBQUs7SUFDdkJBLE1BQU1pQixJQUFJLENBQUMsU0FBQ0MsT0FBT0M7UUFDakIsSUFBTUMscUJBQXFCQyxXQUFXSCxPQUFPQyxRQUN2Q0csU0FBU0YscUJBQ0UsQ0FBQyxJQUNDLENBQUM7UUFFcEIsT0FBT0U7SUFDVDtBQUNGO0FBRUEsU0FBU0QsV0FBV0gsS0FBSyxFQUFFQyxLQUFLO0lBQzlCLElBQUlJLFdBQVc7SUFFZixJQUFNQyxxQkFBcUJOLE1BQU1PLGdCQUFnQixJQUMzQ0MscUJBQXFCUCxNQUFNTSxnQkFBZ0IsSUFDM0NFLDJCQUEyQkgsbUJBQW1CSSxNQUFNLEVBQ3BEQywyQkFBMkJILG1CQUFtQkUsTUFBTSxFQUNwREUsNkJBQTZCQyxLQUFLQyxHQUFHLENBQUNMLDBCQUEwQkU7SUFFdEUsSUFBSyxJQUFJSSxRQUFRLEdBQUdBLFFBQVFILDRCQUE0QkcsUUFBUztRQUMvRCxJQUFNQyxvQkFBb0JWLGtCQUFrQixDQUFDUyxNQUFNLEVBQzdDRSxvQkFBb0JULGtCQUFrQixDQUFDTyxNQUFNO1FBRW5ELElBQUlDLHNCQUFzQkMsbUJBQW1CO1lBQzNDLElBQU1DLGNBQWNILFFBQVEsR0FDdEJJLDhCQUE4QmIsa0JBQWtCLENBQUNZLFlBQVksRUFDN0Q1QixhQUFhNkIsNkJBQ2JDLGFBQWFKLG1CQUNiSyxhQUFhSixtQkFDYkssU0FBU2hDLFdBQVdpQyxnQkFBZ0IsQ0FBQ0gsYUFDckNJLFNBQVNsQyxXQUFXaUMsZ0JBQWdCLENBQUNGO1lBRTNDaEIsV0FBWWlCLFNBQVNFO1lBRXJCO1FBQ0Y7SUFDRjtJQUVBLElBQUluQixhQUFhLE1BQU07UUFDckJBLFdBQVlJLDJCQUEyQkU7SUFDekM7SUFFQSxPQUFPTjtBQUNUIn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-dom",
3
3
  "author": "James Smith",
4
- "version": "5.2.7",
4
+ "version": "5.2.9",
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.120",
14
- "occam-query": "^4.1.77"
13
+ "occam-parsers": "^23.0.123",
14
+ "occam-query": "^4.1.79"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@swc/core": "^1.5.6",
@@ -21,7 +21,7 @@ export function topmostNodeFromOuterNodes(ClassFromOuterNode, outerNodes) {
21
21
  outerNodes.forEach((outerNode) => {
22
22
  let parentNode = topmostNode; ///
23
23
 
24
- someAncestorNode(outerNode, (ancestorNode) => {
24
+ outerNode.someAncestorNode((ancestorNode) => {
25
25
  const outerNode = ancestorNode, ///
26
26
  node = outerNodeToNodeMap.get(outerNode) || null;
27
27
 
@@ -62,22 +62,22 @@ function orderNodes(nodes) {
62
62
  function isLessThan(nodeA, nodeB) {
63
63
  let lessThan = null;
64
64
 
65
- const ancestorNodesA = ancestorNodesFromNode(nodeA),
66
- ancestorNodesB = ancestorNodesFromNode(nodeB),
67
- ancestorNodesALength = ancestorNodesA.length,
68
- ancestorNodesBLength = ancestorNodesB.length,
69
- minimumAncestorNodesLength = Math.min(ancestorNodesALength, ancestorNodesBLength);
65
+ const nodeAAncestorNodes = nodeA.getAncestorNodes(),
66
+ nodeBAncestorNodes = nodeB.getAncestorNodes(),
67
+ nodeAAncestorNodesLength = nodeAAncestorNodes.length,
68
+ nodeBAncestorNodesLength = nodeBAncestorNodes.length,
69
+ minimumAncestorNodesLength = Math.min(nodeAAncestorNodesLength, nodeBAncestorNodesLength);
70
70
 
71
71
  for (let index = 0; index < minimumAncestorNodesLength; index++) {
72
- const ancestorNodeA = ancestorNodesA[index],
73
- ancestorNodeB = ancestorNodesB[index];
72
+ const nodeAAncestorNode = nodeAAncestorNodes[index],
73
+ nodeBAncestorNode = nodeBAncestorNodes[index];
74
74
 
75
- if (ancestorNodeA !== ancestorNodeB) {
75
+ if (nodeAAncestorNode !== nodeBAncestorNode) {
76
76
  const parentIndex = index - 1,
77
- ancestorNodeAParentNode = ancestorNodesA[parentIndex],
78
- parentNode = ancestorNodeAParentNode, ///
79
- childNodeA = ancestorNodeA, ///
80
- childNodeB = ancestorNodeB, ///
77
+ nodeAAncestorNodeParentNode = nodeAAncestorNodes[parentIndex],
78
+ parentNode = nodeAAncestorNodeParentNode, ///
79
+ childNodeA = nodeAAncestorNode, ///
80
+ childNodeB = nodeBAncestorNode, ///
81
81
  indexA = parentNode.indexOfChildNode(childNodeA),
82
82
  indexB = parentNode.indexOfChildNode(childNodeB);
83
83
 
@@ -88,40 +88,8 @@ function isLessThan(nodeA, nodeB) {
88
88
  }
89
89
 
90
90
  if (lessThan === null) {
91
- lessThan = (ancestorNodesALength < ancestorNodesBLength);
91
+ lessThan = (nodeAAncestorNodesLength < nodeBAncestorNodesLength);
92
92
  }
93
93
 
94
94
  return lessThan;
95
95
  }
96
-
97
- function someAncestorNode(node, callback) {
98
- let result = false;
99
-
100
- let parentNode = node.getParentNode();
101
-
102
- while (parentNode !== null) {
103
- const ancestorNode = parentNode; ///
104
-
105
- result = !!callback(ancestorNode); ///
106
-
107
- if (result) {
108
- break;
109
- }
110
-
111
- node = parentNode; ///
112
-
113
- parentNode = node.getParentNode();
114
- }
115
-
116
- return result;
117
- }
118
-
119
- function ancestorNodesFromNode(node) {
120
- const ancestorNodes = node.getAncestorNodes();
121
-
122
- ancestorNodes.unshift(node);
123
-
124
- ancestorNodes.reverse();
125
-
126
- return ancestorNodes;
127
- }