occam-dom 5.2.11 → 5.2.12

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.
@@ -58,7 +58,7 @@ function orderNodes(nodes) {
58
58
  }
59
59
  function isLessThan(nodeA, nodeB) {
60
60
  var lessThan = null;
61
- var nodeAAncestorNodes = nodeA.getAncestorNodes(), nodeBAncestorNodes = nodeB.getAncestorNodes(), nodeAAncestorNodesLength = nodeAAncestorNodes.length, nodeBAncestorNodesLength = nodeBAncestorNodes.length, minimumAncestorNodesLength = Math.min(nodeAAncestorNodesLength, nodeBAncestorNodesLength);
61
+ var nodeAAncestorNodes = ancestorNodesFromNode(nodeA), nodeBAncestorNodes = ancestorNodesFromNode(nodeB), nodeAAncestorNodesLength = nodeAAncestorNodes.length, nodeBAncestorNodesLength = nodeBAncestorNodes.length, minimumAncestorNodesLength = Math.min(nodeAAncestorNodesLength, nodeBAncestorNodesLength);
62
62
  for(var index = 0; index < minimumAncestorNodesLength; index++){
63
63
  var nodeAAncestorNode = nodeAAncestorNodes[index], nodeBAncestorNode = nodeBAncestorNodes[index];
64
64
  if (nodeAAncestorNode !== nodeBAncestorNode) {
@@ -72,5 +72,11 @@ function isLessThan(nodeA, nodeB) {
72
72
  }
73
73
  return lessThan;
74
74
  }
75
+ function ancestorNodesFromNode(node) {
76
+ var ancestorNodes = node.getAncestorNodes();
77
+ ancestorNodes.unshift(node);
78
+ ancestorNodes.reverse();
79
+ return ancestorNodes;
80
+ }
75
81
 
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE5vZGUgZnJvbSBcIi4uL25vZGVcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRvcG1vc3ROb2RlRnJvbU91dGVyTm9kZXMoQ2xhc3NGcm9tT3V0ZXJOb2RlLCBvdXRlck5vZGVzKSB7XG4gIGlmIChvdXRlck5vZGVzID09PSB1bmRlZmluZWQpIHtcbiAgICBvdXRlck5vZGVzID0gQ2xhc3NGcm9tT3V0ZXJOb2RlOyAvLy9cblxuICAgIENsYXNzRnJvbU91dGVyTm9kZSA9IChvdXRlck5vZGUpID0+IE5vZGU7ICAvLy9cbiAgfVxuXG4gIGNvbnN0IG5vZGVzID0gb3V0ZXJOb2RlczsgLy8vXG5cbiAgb3JkZXJOb2Rlcyhub2Rlcyk7XG5cbiAgY29uc3Qgb3V0ZXJOb2RlID0gbnVsbCxcbiAgICAgICAgQ2xhc3MgPSBDbGFzc0Zyb21PdXRlck5vZGUob3V0ZXJOb2RlKSxcbiAgICAgICAgdG9wbW9zdE5vZGUgPSBDbGFzcy5mcm9tTm90aGluZygpLFxuICAgICAgICBvdXRlck5vZGVUb05vZGVNYXAgPSBuZXcgV2Vha01hcCgpO1xuXG4gIG91dGVyTm9kZXMuZm9yRWFjaCgob3V0ZXJOb2RlKSA9PiB7XG4gICAgbGV0IHBhcmVudE5vZGUgPSB0b3Btb3N0Tm9kZTsgLy8vXG5cbiAgICBvdXRlck5vZGUuc29tZUFuY2VzdG9yTm9kZSgoYW5jZXN0b3JOb2RlKSA9PiB7XG4gICAgICBjb25zdCBvdXRlck5vZGUgPSBhbmNlc3Rvck5vZGUsIC8vL1xuICAgICAgICAgICAgbm9kZSA9IG91dGVyTm9kZVRvTm9kZU1hcC5nZXQob3V0ZXJOb2RlKSB8fCBudWxsO1xuXG4gICAgICBpZiAobm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBwYXJlbnROb2RlID0gbm9kZTsgIC8vL1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgQ2xhc3MgPSBDbGFzc0Zyb21PdXRlck5vZGUob3V0ZXJOb2RlKSxcbiAgICAgICAgICBub2RlID0gQ2xhc3MuZnJvbU91dGVyTm9kZShvdXRlck5vZGUpLFxuICAgICAgICAgIGFwcGVuZGVkQ2hpbGROb2RlID0gbm9kZTsgLy8vXG5cbiAgICBwYXJlbnROb2RlLmFwcGVuZENoaWxkTm9kZShhcHBlbmRlZENoaWxkTm9kZSk7XG5cbiAgICBvdXRlck5vZGVUb05vZGVNYXAuc2V0KG91dGVyTm9kZSwgbm9kZSk7XG4gIH0pO1xuXG4gIHJldHVybiB0b3Btb3N0Tm9kZTtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICB0b3Btb3N0Tm9kZUZyb21PdXRlck5vZGVzXG59O1xuXG5mdW5jdGlvbiBvcmRlck5vZGVzKG5vZGVzKSB7XG4gIG5vZGVzLnNvcnQoKG5vZGVBLCBub2RlQikgPT4ge1xuICAgIGNvbnN0IG5vZGVBTGVzc1RoYW5Ob2RlQiA9IGlzTGVzc1RoYW4obm9kZUEsIG5vZGVCKSxcbiAgICAgICAgICByZXN1bHQgPSBub2RlQUxlc3NUaGFuTm9kZUIgP1xuICAgICAgICAgICAgICAgICAgICAgLTEgOlxuICAgICAgICAgICAgICAgICAgICAgICArMTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBpc0xlc3NUaGFuKG5vZGVBLCBub2RlQikge1xuICBsZXQgbGVzc1RoYW4gPSBudWxsO1xuXG4gIGNvbnN0IG5vZGVBQW5jZXN0b3JOb2RlcyA9IG5vZGVBLmdldEFuY2VzdG9yTm9kZXMoKSxcbiAgICAgICAgbm9kZUJBbmNlc3Rvck5vZGVzID0gbm9kZUIuZ2V0QW5jZXN0b3JOb2RlcygpLFxuICAgICAgICBub2RlQUFuY2VzdG9yTm9kZXNMZW5ndGggPSBub2RlQUFuY2VzdG9yTm9kZXMubGVuZ3RoLFxuICAgICAgICBub2RlQkFuY2VzdG9yTm9kZXNMZW5ndGggPSBub2RlQkFuY2VzdG9yTm9kZXMubGVuZ3RoLFxuICAgICAgICBtaW5pbXVtQW5jZXN0b3JOb2Rlc0xlbmd0aCA9IE1hdGgubWluKG5vZGVBQW5jZXN0b3JOb2Rlc0xlbmd0aCwgbm9kZUJBbmNlc3Rvck5vZGVzTGVuZ3RoKTtcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbWluaW11bUFuY2VzdG9yTm9kZXNMZW5ndGg7IGluZGV4KyspIHtcbiAgICBjb25zdCBub2RlQUFuY2VzdG9yTm9kZSA9IG5vZGVBQW5jZXN0b3JOb2Rlc1tpbmRleF0sXG4gICAgICAgICAgbm9kZUJBbmNlc3Rvck5vZGUgPSBub2RlQkFuY2VzdG9yTm9kZXNbaW5kZXhdO1xuXG4gICAgaWYgKG5vZGVBQW5jZXN0b3JOb2RlICE9PSBub2RlQkFuY2VzdG9yTm9kZSkge1xuICAgICAgY29uc3QgcGFyZW50SW5kZXggPSBpbmRleCAtIDEsXG4gICAgICAgICAgICBub2RlQUFuY2VzdG9yTm9kZVBhcmVudE5vZGUgPSBub2RlQUFuY2VzdG9yTm9kZXNbcGFyZW50SW5kZXhdLFxuICAgICAgICAgICAgcGFyZW50Tm9kZSA9IG5vZGVBQW5jZXN0b3JOb2RlUGFyZW50Tm9kZSwgLy8vXG4gICAgICAgICAgICBjaGlsZE5vZGVBID0gbm9kZUFBbmNlc3Rvck5vZGUsIC8vL1xuICAgICAgICAgICAgY2hpbGROb2RlQiA9IG5vZGVCQW5jZXN0b3JOb2RlLCAvLy9cbiAgICAgICAgICAgIGluZGV4QSA9IHBhcmVudE5vZGUuaW5kZXhPZkNoaWxkTm9kZShjaGlsZE5vZGVBKSxcbiAgICAgICAgICAgIGluZGV4QiA9IHBhcmVudE5vZGUuaW5kZXhPZkNoaWxkTm9kZShjaGlsZE5vZGVCKTtcblxuICAgICAgbGVzc1RoYW4gPSAoaW5kZXhBIDwgaW5kZXhCKTtcblxuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgaWYgKGxlc3NUaGFuID09PSBudWxsKSB7XG4gICAgbGVzc1RoYW4gPSAobm9kZUFBbmNlc3Rvck5vZGVzTGVuZ3RoIDwgbm9kZUJBbmNlc3Rvck5vZGVzTGVuZ3RoKTtcbiAgfVxuXG4gIHJldHVybiBsZXNzVGhhbjtcbn1cbiJdLCJuYW1lcyI6WyJ0b3Btb3N0Tm9kZUZyb21PdXRlck5vZGVzIiwiQ2xhc3NGcm9tT3V0ZXJOb2RlIiwib3V0ZXJOb2RlcyIsInVuZGVmaW5lZCIsIm91dGVyTm9kZSIsIk5vZGUiLCJub2RlcyIsIm9yZGVyTm9kZXMiLCJDbGFzcyIsInRvcG1vc3ROb2RlIiwiZnJvbU5vdGhpbmciLCJvdXRlck5vZGVUb05vZGVNYXAiLCJXZWFrTWFwIiwiZm9yRWFjaCIsInBhcmVudE5vZGUiLCJzb21lQW5jZXN0b3JOb2RlIiwiYW5jZXN0b3JOb2RlIiwibm9kZSIsImdldCIsImZyb21PdXRlck5vZGUiLCJhcHBlbmRlZENoaWxkTm9kZSIsImFwcGVuZENoaWxkTm9kZSIsInNldCIsInNvcnQiLCJub2RlQSIsIm5vZGVCIiwibm9kZUFMZXNzVGhhbk5vZGVCIiwiaXNMZXNzVGhhbiIsInJlc3VsdCIsImxlc3NUaGFuIiwibm9kZUFBbmNlc3Rvck5vZGVzIiwiZ2V0QW5jZXN0b3JOb2RlcyIsIm5vZGVCQW5jZXN0b3JOb2RlcyIsIm5vZGVBQW5jZXN0b3JOb2Rlc0xlbmd0aCIsImxlbmd0aCIsIm5vZGVCQW5jZXN0b3JOb2Rlc0xlbmd0aCIsIm1pbmltdW1BbmNlc3Rvck5vZGVzTGVuZ3RoIiwiTWF0aCIsIm1pbiIsImluZGV4Iiwibm9kZUFBbmNlc3Rvck5vZGUiLCJub2RlQkFuY2VzdG9yTm9kZSIsInBhcmVudEluZGV4Iiwibm9kZUFBbmNlc3Rvck5vZGVQYXJlbnROb2RlIiwiY2hpbGROb2RlQSIsImNoaWxkTm9kZUIiLCJpbmRleEEiLCJpbmRleE9mQ2hpbGROb2RlIiwiaW5kZXhCIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUE4Q0EsT0FFRTtlQUZGOztJQTFDZ0JBLHlCQUF5QjtlQUF6QkE7OzsyREFGQzs7Ozs7O0FBRVYsU0FBU0EsMEJBQTBCQyxrQkFBa0IsRUFBRUMsVUFBVTtJQUN0RSxJQUFJQSxlQUFlQyxXQUFXO1FBQzVCRCxhQUFhRCxvQkFBb0IsR0FBRztRQUVwQ0EscUJBQXFCLFNBQUNHO21CQUFjQyxhQUFJO1dBQUcsR0FBRztJQUNoRDtJQUVBLElBQU1DLFFBQVFKLFlBQVksR0FBRztJQUU3QkssV0FBV0Q7SUFFWCxJQUFNRixZQUFZLE1BQ1pJLFFBQVFQLG1CQUFtQkcsWUFDM0JLLGNBQWNELE1BQU1FLFdBQVcsSUFDL0JDLHFCQUFxQixJQUFJQztJQUUvQlYsV0FBV1csT0FBTyxDQUFDLFNBQUNUO1FBQ2xCLElBQUlVLGFBQWFMLGFBQWEsR0FBRztRQUVqQ0wsVUFBVVcsZ0JBQWdCLENBQUMsU0FBQ0M7WUFDMUIsSUFBTVosY0FBWVksY0FDWkMsT0FBT04sbUJBQW1CTyxHQUFHLENBQUNkLGdCQUFjO1lBRWxELElBQUlhLFNBQVMsTUFBTTtnQkFDakJILGFBQWFHLE1BQU8sR0FBRztnQkFFdkIsT0FBTztZQUNUO1FBQ0Y7UUFFQSxJQUFNVCxRQUFRUCxtQkFBbUJHLFlBQzNCYSxPQUFPVCxNQUFNVyxhQUFhLENBQUNmLFlBQzNCZ0Isb0JBQW9CSCxNQUFNLEdBQUc7UUFFbkNILFdBQVdPLGVBQWUsQ0FBQ0Q7UUFFM0JULG1CQUFtQlcsR0FBRyxDQUFDbEIsV0FBV2E7SUFDcEM7SUFFQSxPQUFPUjtBQUNUO0lBRUEsV0FBZTtJQUNiVCwyQkFBQUE7QUFDRjtBQUVBLFNBQVNPLFdBQVdELEtBQUs7SUFDdkJBLE1BQU1pQixJQUFJLENBQUMsU0FBQ0MsT0FBT0M7UUFDakIsSUFBTUMscUJBQXFCQyxXQUFXSCxPQUFPQyxRQUN2Q0csU0FBU0YscUJBQ0UsQ0FBQyxJQUNDLENBQUM7UUFFcEIsT0FBT0U7SUFDVDtBQUNGO0FBRUEsU0FBU0QsV0FBV0gsS0FBSyxFQUFFQyxLQUFLO0lBQzlCLElBQUlJLFdBQVc7SUFFZixJQUFNQyxxQkFBcUJOLE1BQU1PLGdCQUFnQixJQUMzQ0MscUJBQXFCUCxNQUFNTSxnQkFBZ0IsSUFDM0NFLDJCQUEyQkgsbUJBQW1CSSxNQUFNLEVBQ3BEQywyQkFBMkJILG1CQUFtQkUsTUFBTSxFQUNwREUsNkJBQTZCQyxLQUFLQyxHQUFHLENBQUNMLDBCQUEwQkU7SUFFdEUsSUFBSyxJQUFJSSxRQUFRLEdBQUdBLFFBQVFILDRCQUE0QkcsUUFBUztRQUMvRCxJQUFNQyxvQkFBb0JWLGtCQUFrQixDQUFDUyxNQUFNLEVBQzdDRSxvQkFBb0JULGtCQUFrQixDQUFDTyxNQUFNO1FBRW5ELElBQUlDLHNCQUFzQkMsbUJBQW1CO1lBQzNDLElBQU1DLGNBQWNILFFBQVEsR0FDdEJJLDhCQUE4QmIsa0JBQWtCLENBQUNZLFlBQVksRUFDN0Q1QixhQUFhNkIsNkJBQ2JDLGFBQWFKLG1CQUNiSyxhQUFhSixtQkFDYkssU0FBU2hDLFdBQVdpQyxnQkFBZ0IsQ0FBQ0gsYUFDckNJLFNBQVNsQyxXQUFXaUMsZ0JBQWdCLENBQUNGO1lBRTNDaEIsV0FBWWlCLFNBQVNFO1lBRXJCO1FBQ0Y7SUFDRjtJQUVBLElBQUluQixhQUFhLE1BQU07UUFDckJBLFdBQVlJLDJCQUEyQkU7SUFDekM7SUFFQSxPQUFPTjtBQUNUIn0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE5vZGUgZnJvbSBcIi4uL25vZGVcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRvcG1vc3ROb2RlRnJvbU91dGVyTm9kZXMoQ2xhc3NGcm9tT3V0ZXJOb2RlLCBvdXRlck5vZGVzKSB7XG4gIGlmIChvdXRlck5vZGVzID09PSB1bmRlZmluZWQpIHtcbiAgICBvdXRlck5vZGVzID0gQ2xhc3NGcm9tT3V0ZXJOb2RlOyAvLy9cblxuICAgIENsYXNzRnJvbU91dGVyTm9kZSA9IChvdXRlck5vZGUpID0+IE5vZGU7ICAvLy9cbiAgfVxuXG4gIGNvbnN0IG5vZGVzID0gb3V0ZXJOb2RlczsgLy8vXG5cbiAgb3JkZXJOb2Rlcyhub2Rlcyk7XG5cbiAgY29uc3Qgb3V0ZXJOb2RlID0gbnVsbCxcbiAgICAgICAgQ2xhc3MgPSBDbGFzc0Zyb21PdXRlck5vZGUob3V0ZXJOb2RlKSxcbiAgICAgICAgdG9wbW9zdE5vZGUgPSBDbGFzcy5mcm9tTm90aGluZygpLFxuICAgICAgICBvdXRlck5vZGVUb05vZGVNYXAgPSBuZXcgV2Vha01hcCgpO1xuXG4gIG91dGVyTm9kZXMuZm9yRWFjaCgob3V0ZXJOb2RlKSA9PiB7XG4gICAgbGV0IHBhcmVudE5vZGUgPSB0b3Btb3N0Tm9kZTsgLy8vXG5cbiAgICBvdXRlck5vZGUuc29tZUFuY2VzdG9yTm9kZSgoYW5jZXN0b3JOb2RlKSA9PiB7XG4gICAgICBjb25zdCBvdXRlck5vZGUgPSBhbmNlc3Rvck5vZGUsIC8vL1xuICAgICAgICAgICAgbm9kZSA9IG91dGVyTm9kZVRvTm9kZU1hcC5nZXQob3V0ZXJOb2RlKSB8fCBudWxsO1xuXG4gICAgICBpZiAobm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBwYXJlbnROb2RlID0gbm9kZTsgIC8vL1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgQ2xhc3MgPSBDbGFzc0Zyb21PdXRlck5vZGUob3V0ZXJOb2RlKSxcbiAgICAgICAgICBub2RlID0gQ2xhc3MuZnJvbU91dGVyTm9kZShvdXRlck5vZGUpLFxuICAgICAgICAgIGFwcGVuZGVkQ2hpbGROb2RlID0gbm9kZTsgLy8vXG5cbiAgICBwYXJlbnROb2RlLmFwcGVuZENoaWxkTm9kZShhcHBlbmRlZENoaWxkTm9kZSk7XG5cbiAgICBvdXRlck5vZGVUb05vZGVNYXAuc2V0KG91dGVyTm9kZSwgbm9kZSk7XG4gIH0pO1xuXG4gIHJldHVybiB0b3Btb3N0Tm9kZTtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICB0b3Btb3N0Tm9kZUZyb21PdXRlck5vZGVzXG59O1xuXG5mdW5jdGlvbiBvcmRlck5vZGVzKG5vZGVzKSB7XG4gIG5vZGVzLnNvcnQoKG5vZGVBLCBub2RlQikgPT4ge1xuICAgIGNvbnN0IG5vZGVBTGVzc1RoYW5Ob2RlQiA9IGlzTGVzc1RoYW4obm9kZUEsIG5vZGVCKSxcbiAgICAgICAgICByZXN1bHQgPSBub2RlQUxlc3NUaGFuTm9kZUIgP1xuICAgICAgICAgICAgICAgICAgICAgLTEgOlxuICAgICAgICAgICAgICAgICAgICAgICArMTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBpc0xlc3NUaGFuKG5vZGVBLCBub2RlQikge1xuICBsZXQgbGVzc1RoYW4gPSBudWxsO1xuXG4gIGNvbnN0IG5vZGVBQW5jZXN0b3JOb2RlcyA9IGFuY2VzdG9yTm9kZXNGcm9tTm9kZShub2RlQSksXG4gICAgICAgIG5vZGVCQW5jZXN0b3JOb2RlcyA9IGFuY2VzdG9yTm9kZXNGcm9tTm9kZShub2RlQiksXG4gICAgICAgIG5vZGVBQW5jZXN0b3JOb2Rlc0xlbmd0aCA9IG5vZGVBQW5jZXN0b3JOb2Rlcy5sZW5ndGgsXG4gICAgICAgIG5vZGVCQW5jZXN0b3JOb2Rlc0xlbmd0aCA9IG5vZGVCQW5jZXN0b3JOb2Rlcy5sZW5ndGgsXG4gICAgICAgIG1pbmltdW1BbmNlc3Rvck5vZGVzTGVuZ3RoID0gTWF0aC5taW4obm9kZUFBbmNlc3Rvck5vZGVzTGVuZ3RoLCBub2RlQkFuY2VzdG9yTm9kZXNMZW5ndGgpO1xuXG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBtaW5pbXVtQW5jZXN0b3JOb2Rlc0xlbmd0aDsgaW5kZXgrKykge1xuICAgIGNvbnN0IG5vZGVBQW5jZXN0b3JOb2RlID0gbm9kZUFBbmNlc3Rvck5vZGVzW2luZGV4XSxcbiAgICAgICAgICBub2RlQkFuY2VzdG9yTm9kZSA9IG5vZGVCQW5jZXN0b3JOb2Rlc1tpbmRleF07XG5cbiAgICBpZiAobm9kZUFBbmNlc3Rvck5vZGUgIT09IG5vZGVCQW5jZXN0b3JOb2RlKSB7XG4gICAgICBjb25zdCBwYXJlbnRJbmRleCA9IGluZGV4IC0gMSxcbiAgICAgICAgICAgIG5vZGVBQW5jZXN0b3JOb2RlUGFyZW50Tm9kZSA9IG5vZGVBQW5jZXN0b3JOb2Rlc1twYXJlbnRJbmRleF0sXG4gICAgICAgICAgICBwYXJlbnROb2RlID0gbm9kZUFBbmNlc3Rvck5vZGVQYXJlbnROb2RlLCAvLy9cbiAgICAgICAgICAgIGNoaWxkTm9kZUEgPSBub2RlQUFuY2VzdG9yTm9kZSwgLy8vXG4gICAgICAgICAgICBjaGlsZE5vZGVCID0gbm9kZUJBbmNlc3Rvck5vZGUsIC8vL1xuICAgICAgICAgICAgaW5kZXhBID0gcGFyZW50Tm9kZS5pbmRleE9mQ2hpbGROb2RlKGNoaWxkTm9kZUEpLFxuICAgICAgICAgICAgaW5kZXhCID0gcGFyZW50Tm9kZS5pbmRleE9mQ2hpbGROb2RlKGNoaWxkTm9kZUIpO1xuXG4gICAgICBsZXNzVGhhbiA9IChpbmRleEEgPCBpbmRleEIpO1xuXG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBpZiAobGVzc1RoYW4gPT09IG51bGwpIHtcbiAgICBsZXNzVGhhbiA9IChub2RlQUFuY2VzdG9yTm9kZXNMZW5ndGggPCBub2RlQkFuY2VzdG9yTm9kZXNMZW5ndGgpO1xuICB9XG5cbiAgcmV0dXJuIGxlc3NUaGFuO1xufVxuXG5mdW5jdGlvbiBhbmNlc3Rvck5vZGVzRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBhbmNlc3Rvck5vZGVzID0gbm9kZS5nZXRBbmNlc3Rvck5vZGVzKCk7XG5cbiAgYW5jZXN0b3JOb2Rlcy51bnNoaWZ0KG5vZGUpO1xuXG4gIGFuY2VzdG9yTm9kZXMucmV2ZXJzZSgpO1xuXG4gIHJldHVybiBhbmNlc3Rvck5vZGVzO1xufVxuIl0sIm5hbWVzIjpbInRvcG1vc3ROb2RlRnJvbU91dGVyTm9kZXMiLCJDbGFzc0Zyb21PdXRlck5vZGUiLCJvdXRlck5vZGVzIiwidW5kZWZpbmVkIiwib3V0ZXJOb2RlIiwiTm9kZSIsIm5vZGVzIiwib3JkZXJOb2RlcyIsIkNsYXNzIiwidG9wbW9zdE5vZGUiLCJmcm9tTm90aGluZyIsIm91dGVyTm9kZVRvTm9kZU1hcCIsIldlYWtNYXAiLCJmb3JFYWNoIiwicGFyZW50Tm9kZSIsInNvbWVBbmNlc3Rvck5vZGUiLCJhbmNlc3Rvck5vZGUiLCJub2RlIiwiZ2V0IiwiZnJvbU91dGVyTm9kZSIsImFwcGVuZGVkQ2hpbGROb2RlIiwiYXBwZW5kQ2hpbGROb2RlIiwic2V0Iiwic29ydCIsIm5vZGVBIiwibm9kZUIiLCJub2RlQUxlc3NUaGFuTm9kZUIiLCJpc0xlc3NUaGFuIiwicmVzdWx0IiwibGVzc1RoYW4iLCJub2RlQUFuY2VzdG9yTm9kZXMiLCJhbmNlc3Rvck5vZGVzRnJvbU5vZGUiLCJub2RlQkFuY2VzdG9yTm9kZXMiLCJub2RlQUFuY2VzdG9yTm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJub2RlQkFuY2VzdG9yTm9kZXNMZW5ndGgiLCJtaW5pbXVtQW5jZXN0b3JOb2Rlc0xlbmd0aCIsIk1hdGgiLCJtaW4iLCJpbmRleCIsIm5vZGVBQW5jZXN0b3JOb2RlIiwibm9kZUJBbmNlc3Rvck5vZGUiLCJwYXJlbnRJbmRleCIsIm5vZGVBQW5jZXN0b3JOb2RlUGFyZW50Tm9kZSIsImNoaWxkTm9kZUEiLCJjaGlsZE5vZGVCIiwiaW5kZXhBIiwiaW5kZXhPZkNoaWxkTm9kZSIsImluZGV4QiIsImFuY2VzdG9yTm9kZXMiLCJnZXRBbmNlc3Rvck5vZGVzIiwidW5zaGlmdCIsInJldmVyc2UiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQThDQSxPQUVFO2VBRkY7O0lBMUNnQkEseUJBQXlCO2VBQXpCQTs7OzJEQUZDOzs7Ozs7QUFFVixTQUFTQSwwQkFBMEJDLGtCQUFrQixFQUFFQyxVQUFVO0lBQ3RFLElBQUlBLGVBQWVDLFdBQVc7UUFDNUJELGFBQWFELG9CQUFvQixHQUFHO1FBRXBDQSxxQkFBcUIsU0FBQ0c7bUJBQWNDLGFBQUk7V0FBRyxHQUFHO0lBQ2hEO0lBRUEsSUFBTUMsUUFBUUosWUFBWSxHQUFHO0lBRTdCSyxXQUFXRDtJQUVYLElBQU1GLFlBQVksTUFDWkksUUFBUVAsbUJBQW1CRyxZQUMzQkssY0FBY0QsTUFBTUUsV0FBVyxJQUMvQkMscUJBQXFCLElBQUlDO0lBRS9CVixXQUFXVyxPQUFPLENBQUMsU0FBQ1Q7UUFDbEIsSUFBSVUsYUFBYUwsYUFBYSxHQUFHO1FBRWpDTCxVQUFVVyxnQkFBZ0IsQ0FBQyxTQUFDQztZQUMxQixJQUFNWixjQUFZWSxjQUNaQyxPQUFPTixtQkFBbUJPLEdBQUcsQ0FBQ2QsZ0JBQWM7WUFFbEQsSUFBSWEsU0FBUyxNQUFNO2dCQUNqQkgsYUFBYUcsTUFBTyxHQUFHO2dCQUV2QixPQUFPO1lBQ1Q7UUFDRjtRQUVBLElBQU1ULFFBQVFQLG1CQUFtQkcsWUFDM0JhLE9BQU9ULE1BQU1XLGFBQWEsQ0FBQ2YsWUFDM0JnQixvQkFBb0JILE1BQU0sR0FBRztRQUVuQ0gsV0FBV08sZUFBZSxDQUFDRDtRQUUzQlQsbUJBQW1CVyxHQUFHLENBQUNsQixXQUFXYTtJQUNwQztJQUVBLE9BQU9SO0FBQ1Q7SUFFQSxXQUFlO0lBQ2JULDJCQUFBQTtBQUNGO0FBRUEsU0FBU08sV0FBV0QsS0FBSztJQUN2QkEsTUFBTWlCLElBQUksQ0FBQyxTQUFDQyxPQUFPQztRQUNqQixJQUFNQyxxQkFBcUJDLFdBQVdILE9BQU9DLFFBQ3ZDRyxTQUFTRixxQkFDRSxDQUFDLElBQ0MsQ0FBQztRQUVwQixPQUFPRTtJQUNUO0FBQ0Y7QUFFQSxTQUFTRCxXQUFXSCxLQUFLLEVBQUVDLEtBQUs7SUFDOUIsSUFBSUksV0FBVztJQUVmLElBQU1DLHFCQUFxQkMsc0JBQXNCUCxRQUMzQ1EscUJBQXFCRCxzQkFBc0JOLFFBQzNDUSwyQkFBMkJILG1CQUFtQkksTUFBTSxFQUNwREMsMkJBQTJCSCxtQkFBbUJFLE1BQU0sRUFDcERFLDZCQUE2QkMsS0FBS0MsR0FBRyxDQUFDTCwwQkFBMEJFO0lBRXRFLElBQUssSUFBSUksUUFBUSxHQUFHQSxRQUFRSCw0QkFBNEJHLFFBQVM7UUFDL0QsSUFBTUMsb0JBQW9CVixrQkFBa0IsQ0FBQ1MsTUFBTSxFQUM3Q0Usb0JBQW9CVCxrQkFBa0IsQ0FBQ08sTUFBTTtRQUVuRCxJQUFJQyxzQkFBc0JDLG1CQUFtQjtZQUMzQyxJQUFNQyxjQUFjSCxRQUFRLEdBQ3RCSSw4QkFBOEJiLGtCQUFrQixDQUFDWSxZQUFZLEVBQzdENUIsYUFBYTZCLDZCQUNiQyxhQUFhSixtQkFDYkssYUFBYUosbUJBQ2JLLFNBQVNoQyxXQUFXaUMsZ0JBQWdCLENBQUNILGFBQ3JDSSxTQUFTbEMsV0FBV2lDLGdCQUFnQixDQUFDRjtZQUUzQ2hCLFdBQVlpQixTQUFTRTtZQUVyQjtRQUNGO0lBQ0Y7SUFFQSxJQUFJbkIsYUFBYSxNQUFNO1FBQ3JCQSxXQUFZSSwyQkFBMkJFO0lBQ3pDO0lBRUEsT0FBT047QUFDVDtBQUVBLFNBQVNFLHNCQUFzQmQsSUFBSTtJQUNqQyxJQUFNZ0MsZ0JBQWdCaEMsS0FBS2lDLGdCQUFnQjtJQUUzQ0QsY0FBY0UsT0FBTyxDQUFDbEM7SUFFdEJnQyxjQUFjRyxPQUFPO0lBRXJCLE9BQU9IO0FBQ1QifQ==
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-dom",
3
3
  "author": "James Smith",
4
- "version": "5.2.11",
4
+ "version": "5.2.12",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-dom",
7
7
  "description": "Occam's DOM related functionality.",
@@ -16,8 +16,8 @@
16
16
  "devDependencies": {
17
17
  "@swc/core": "^1.5.6",
18
18
  "easy": "^23.0.1",
19
- "easy-layout": "^6.0.237",
20
- "easy-with-style": "^3.0.478",
19
+ "easy-layout": "^6.0.238",
20
+ "easy-with-style": "^3.0.480",
21
21
  "esbuild": "^0.9.2",
22
22
  "express": "^4.17.1",
23
23
  "juxtapose": "^4.0.117",
@@ -62,8 +62,8 @@ function orderNodes(nodes) {
62
62
  function isLessThan(nodeA, nodeB) {
63
63
  let lessThan = null;
64
64
 
65
- const nodeAAncestorNodes = nodeA.getAncestorNodes(),
66
- nodeBAncestorNodes = nodeB.getAncestorNodes(),
65
+ const nodeAAncestorNodes = ancestorNodesFromNode(nodeA),
66
+ nodeBAncestorNodes = ancestorNodesFromNode(nodeB),
67
67
  nodeAAncestorNodesLength = nodeAAncestorNodes.length,
68
68
  nodeBAncestorNodesLength = nodeBAncestorNodes.length,
69
69
  minimumAncestorNodesLength = Math.min(nodeAAncestorNodesLength, nodeBAncestorNodesLength);
@@ -93,3 +93,13 @@ function isLessThan(nodeA, nodeB) {
93
93
 
94
94
  return lessThan;
95
95
  }
96
+
97
+ function ancestorNodesFromNode(node) {
98
+ const ancestorNodes = node.getAncestorNodes();
99
+
100
+ ancestorNodes.unshift(node);
101
+
102
+ ancestorNodes.reverse();
103
+
104
+ return ancestorNodes;
105
+ }