occam-dom 5.0.6 → 5.0.8

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.
@@ -22,14 +22,16 @@ function _interop_require_default(obj) {
22
22
  default: obj
23
23
  };
24
24
  }
25
- function topmostNodeFromOuterNodes(Class, outerNodes) {
25
+ function topmostNodeFromOuterNodes(ClassFromOuterNode, outerNodes) {
26
26
  if (outerNodes === undefined) {
27
- outerNodes = Class; ///
28
- Class = _node.default; ///
27
+ outerNodes = ClassFromOuterNode; ///
28
+ ClassFromOuterNode = function(outerNode) {
29
+ return _node.default;
30
+ }; ///
29
31
  }
30
32
  var nodes = outerNodes; ///
31
33
  orderNodes(nodes);
32
- var topmostNode = _node.default.fromNothing(), outerNodeToNodeMap = new WeakMap();
34
+ var outerNode = null, Class = ClassFromOuterNode(outerNode), topmostNode = Class.fromNothing(), outerNodeToNodeMap = new WeakMap();
33
35
  outerNodes.forEach(function(outerNode) {
34
36
  var parentNode = topmostNode; ///
35
37
  someAncestorNode(outerNode, function(ancestorNode) {
@@ -39,7 +41,7 @@ function topmostNodeFromOuterNodes(Class, outerNodes) {
39
41
  return true;
40
42
  }
41
43
  });
42
- var node = Class.fromOuterNode(outerNode), childNode = node, multiplicity = parentNode.getMultiplicity(), startIndex = multiplicity; ///
44
+ var Class = ClassFromOuterNode(outerNode), node = Class.fromOuterNode(outerNode), childNode = node, multiplicity = parentNode.getMultiplicity(), startIndex = multiplicity; ///
43
45
  parentNode.addChildNode(childNode, startIndex);
44
46
  outerNodeToNodeMap.set(outerNode, node);
45
47
  });
@@ -91,4 +93,4 @@ function ancestorNodesFromNode(node) {
91
93
  return ancestorNodes;
92
94
  }
93
95
 
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE5vZGUgZnJvbSBcIi4uL25vZGVcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRvcG1vc3ROb2RlRnJvbU91dGVyTm9kZXMoQ2xhc3MsIG91dGVyTm9kZXMpIHtcbiAgaWYgKG91dGVyTm9kZXMgPT09IHVuZGVmaW5lZCkge1xuICAgIG91dGVyTm9kZXMgPSBDbGFzczsgLy8vXG5cbiAgICBDbGFzcyA9IE5vZGU7ICAvLy9cbiAgfVxuXG4gIGNvbnN0IG5vZGVzID0gb3V0ZXJOb2RlczsgLy8vXG5cbiAgb3JkZXJOb2Rlcyhub2Rlcyk7XG5cbiAgY29uc3QgdG9wbW9zdE5vZGUgPSBOb2RlLmZyb21Ob3RoaW5nKCksXG4gICAgICAgIG91dGVyTm9kZVRvTm9kZU1hcCA9IG5ldyBXZWFrTWFwKCk7XG5cbiAgb3V0ZXJOb2Rlcy5mb3JFYWNoKChvdXRlck5vZGUpID0+IHtcbiAgICBsZXQgcGFyZW50Tm9kZSA9IHRvcG1vc3ROb2RlOyAvLy9cblxuICAgIHNvbWVBbmNlc3Rvck5vZGUob3V0ZXJOb2RlLCAoYW5jZXN0b3JOb2RlKSA9PiB7XG4gICAgICBjb25zdCBvdXRlck5vZGUgPSBhbmNlc3Rvck5vZGUsIC8vL1xuICAgICAgICAgICAgbm9kZSA9IG91dGVyTm9kZVRvTm9kZU1hcC5nZXQob3V0ZXJOb2RlKSB8fCBudWxsO1xuXG4gICAgICBpZiAobm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBwYXJlbnROb2RlID0gbm9kZTsgIC8vL1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3Qgbm9kZSA9IENsYXNzLmZyb21PdXRlck5vZGUob3V0ZXJOb2RlKSxcbiAgICAgICAgICBjaGlsZE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgbXVsdGlwbGljaXR5ID0gcGFyZW50Tm9kZS5nZXRNdWx0aXBsaWNpdHkoKSxcbiAgICAgICAgICBzdGFydEluZGV4ID0gbXVsdGlwbGljaXR5OyAgLy8vXG5cbiAgICBwYXJlbnROb2RlLmFkZENoaWxkTm9kZShjaGlsZE5vZGUsIHN0YXJ0SW5kZXgpO1xuXG4gICAgb3V0ZXJOb2RlVG9Ob2RlTWFwLnNldChvdXRlck5vZGUsIG5vZGUpO1xuICB9KTtcblxuICByZXR1cm4gdG9wbW9zdE5vZGU7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgdG9wbW9zdE5vZGVGcm9tT3V0ZXJOb2Rlc1xufTtcblxuZnVuY3Rpb24gb3JkZXJOb2Rlcyhub2Rlcykge1xuICBub2Rlcy5zb3J0KChub2RlQSwgbm9kZUIpID0+IHtcbiAgICBjb25zdCBub2RlQUxlc3NUaGFuTm9kZUIgPSBpc0xlc3NUaGFuKG5vZGVBLCBub2RlQiksXG4gICAgICAgICAgcmVzdWx0ID0gbm9kZUFMZXNzVGhhbk5vZGVCID9cbiAgICAgICAgICAgICAgICAgICAgIC0xIDpcbiAgICAgICAgICAgICAgICAgICAgICAgKzE7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9KTtcbn1cblxuZnVuY3Rpb24gaXNMZXNzVGhhbihub2RlQSwgbm9kZUIpIHtcbiAgbGV0IGxlc3NUaGFuID0gbnVsbDtcblxuICBjb25zdCBhbmNlc3Rvck5vZGVzQSA9IGFuY2VzdG9yTm9kZXNGcm9tTm9kZShub2RlQSksXG4gICAgICAgIGFuY2VzdG9yTm9kZXNCID0gYW5jZXN0b3JOb2Rlc0Zyb21Ob2RlKG5vZGVCKSxcbiAgICAgICAgYW5jZXN0b3JOb2Rlc0FMZW5ndGggPSBhbmNlc3Rvck5vZGVzQS5sZW5ndGgsXG4gICAgICAgIGFuY2VzdG9yTm9kZXNCTGVuZ3RoID0gYW5jZXN0b3JOb2Rlc0IubGVuZ3RoLFxuICAgICAgICBtaW5pbXVtQW5jZXN0b3JOb2Rlc0xlbmd0aCA9IE1hdGgubWluKGFuY2VzdG9yTm9kZXNBTGVuZ3RoLCBhbmNlc3Rvck5vZGVzQkxlbmd0aCk7XG5cbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IG1pbmltdW1BbmNlc3Rvck5vZGVzTGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgY29uc3QgYW5jZXN0b3JOb2RlQSA9IGFuY2VzdG9yTm9kZXNBW2luZGV4XSxcbiAgICAgICAgICBhbmNlc3Rvck5vZGVCID0gYW5jZXN0b3JOb2Rlc0JbaW5kZXhdO1xuXG4gICAgaWYgKGFuY2VzdG9yTm9kZUEgIT09IGFuY2VzdG9yTm9kZUIpIHtcbiAgICAgIGNvbnN0IHBhcmVudEluZGV4ID0gaW5kZXggLSAxLFxuICAgICAgICAgICAgYW5jZXN0b3JOb2RlQVBhcmVudE5vZGUgPSBhbmNlc3Rvck5vZGVzQVtwYXJlbnRJbmRleF0sXG4gICAgICAgICAgICBwYXJlbnROb2RlID0gYW5jZXN0b3JOb2RlQVBhcmVudE5vZGUsIC8vL1xuICAgICAgICAgICAgY2hpbGROb2RlQSA9IGFuY2VzdG9yTm9kZUEsIC8vL1xuICAgICAgICAgICAgY2hpbGROb2RlQiA9IGFuY2VzdG9yTm9kZUIsIC8vL1xuICAgICAgICAgICAgaW5kZXhBID0gcGFyZW50Tm9kZS5pbmRleE9mQ2hpbGROb2RlKGNoaWxkTm9kZUEpLFxuICAgICAgICAgICAgaW5kZXhCID0gcGFyZW50Tm9kZS5pbmRleE9mQ2hpbGROb2RlKGNoaWxkTm9kZUIpO1xuXG4gICAgICBsZXNzVGhhbiA9IChpbmRleEEgPCBpbmRleEIpO1xuXG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBpZiAobGVzc1RoYW4gPT09IG51bGwpIHtcbiAgICBsZXNzVGhhbiA9IChhbmNlc3Rvck5vZGVzQUxlbmd0aCA8IGFuY2VzdG9yTm9kZXNCTGVuZ3RoKTtcbiAgfVxuXG4gIHJldHVybiBsZXNzVGhhbjtcbn1cblxuZnVuY3Rpb24gc29tZUFuY2VzdG9yTm9kZShub2RlLCBjYWxsYmFjaykge1xuICBsZXQgcmVzdWx0ID0gZmFsc2U7XG5cbiAgbGV0IHBhcmVudE5vZGUgPSBub2RlLmdldFBhcmVudE5vZGUoKTtcblxuICB3aGlsZSAocGFyZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGFuY2VzdG9yTm9kZSA9IHBhcmVudE5vZGU7ICAvLy9cblxuICAgIHJlc3VsdCA9ICEhY2FsbGJhY2soYW5jZXN0b3JOb2RlKTsgIC8vL1xuXG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgbm9kZSA9IHBhcmVudE5vZGU7ICAvLy9cblxuICAgIHBhcmVudE5vZGUgPSBub2RlLmdldFBhcmVudE5vZGUoKTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGFuY2VzdG9yTm9kZXNGcm9tTm9kZShub2RlKSB7XG4gIGNvbnN0IGFuY2VzdG9yTm9kZXMgPSBub2RlLmdldEFuY2VzdG9yTm9kZXMoKTtcblxuICBhbmNlc3Rvck5vZGVzLnVuc2hpZnQobm9kZSk7XG5cbiAgYW5jZXN0b3JOb2Rlcy5yZXZlcnNlKCk7XG5cbiAgcmV0dXJuIGFuY2VzdG9yTm9kZXM7XG59Il0sIm5hbWVzIjpbInRvcG1vc3ROb2RlRnJvbU91dGVyTm9kZXMiLCJDbGFzcyIsIm91dGVyTm9kZXMiLCJ1bmRlZmluZWQiLCJOb2RlIiwibm9kZXMiLCJvcmRlck5vZGVzIiwidG9wbW9zdE5vZGUiLCJmcm9tTm90aGluZyIsIm91dGVyTm9kZVRvTm9kZU1hcCIsIldlYWtNYXAiLCJmb3JFYWNoIiwib3V0ZXJOb2RlIiwicGFyZW50Tm9kZSIsInNvbWVBbmNlc3Rvck5vZGUiLCJhbmNlc3Rvck5vZGUiLCJub2RlIiwiZ2V0IiwiZnJvbU91dGVyTm9kZSIsImNoaWxkTm9kZSIsIm11bHRpcGxpY2l0eSIsImdldE11bHRpcGxpY2l0eSIsInN0YXJ0SW5kZXgiLCJhZGRDaGlsZE5vZGUiLCJzZXQiLCJzb3J0Iiwibm9kZUEiLCJub2RlQiIsIm5vZGVBTGVzc1RoYW5Ob2RlQiIsImlzTGVzc1RoYW4iLCJyZXN1bHQiLCJsZXNzVGhhbiIsImFuY2VzdG9yTm9kZXNBIiwiYW5jZXN0b3JOb2Rlc0Zyb21Ob2RlIiwiYW5jZXN0b3JOb2Rlc0IiLCJhbmNlc3Rvck5vZGVzQUxlbmd0aCIsImxlbmd0aCIsImFuY2VzdG9yTm9kZXNCTGVuZ3RoIiwibWluaW11bUFuY2VzdG9yTm9kZXNMZW5ndGgiLCJNYXRoIiwibWluIiwiaW5kZXgiLCJhbmNlc3Rvck5vZGVBIiwiYW5jZXN0b3JOb2RlQiIsInBhcmVudEluZGV4IiwiYW5jZXN0b3JOb2RlQVBhcmVudE5vZGUiLCJjaGlsZE5vZGVBIiwiY2hpbGROb2RlQiIsImluZGV4QSIsImluZGV4T2ZDaGlsZE5vZGUiLCJpbmRleEIiLCJjYWxsYmFjayIsImdldFBhcmVudE5vZGUiLCJhbmNlc3Rvck5vZGVzIiwiZ2V0QW5jZXN0b3JOb2RlcyIsInVuc2hpZnQiLCJyZXZlcnNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUE2Q0EsT0FFRTtlQUZGOztJQXpDZ0JBLHlCQUF5QjtlQUF6QkE7OzsyREFGQzs7Ozs7O0FBRVYsU0FBU0EsMEJBQTBCQyxLQUFLLEVBQUVDLFVBQVU7SUFDekQsSUFBSUEsZUFBZUMsV0FBVztRQUM1QkQsYUFBYUQsT0FBTyxHQUFHO1FBRXZCQSxRQUFRRyxhQUFJLEVBQUcsR0FBRztJQUNwQjtJQUVBLElBQU1DLFFBQVFILFlBQVksR0FBRztJQUU3QkksV0FBV0Q7SUFFWCxJQUFNRSxjQUFjSCxhQUFJLENBQUNJLFdBQVcsSUFDOUJDLHFCQUFxQixJQUFJQztJQUUvQlIsV0FBV1MsT0FBTyxDQUFDLFNBQUNDO1FBQ2xCLElBQUlDLGFBQWFOLGFBQWEsR0FBRztRQUVqQ08saUJBQWlCRixXQUFXLFNBQUNHO1lBQzNCLElBQU1ILGNBQVlHLGNBQ1pDLE9BQU9QLG1CQUFtQlEsR0FBRyxDQUFDTCxnQkFBYztZQUVsRCxJQUFJSSxTQUFTLE1BQU07Z0JBQ2pCSCxhQUFhRyxNQUFPLEdBQUc7Z0JBRXZCLE9BQU87WUFDVDtRQUNGO1FBRUEsSUFBTUEsT0FBT2YsTUFBTWlCLGFBQWEsQ0FBQ04sWUFDM0JPLFlBQVlILE1BQ1pJLGVBQWVQLFdBQVdRLGVBQWUsSUFDekNDLGFBQWFGLGNBQWUsR0FBRztRQUVyQ1AsV0FBV1UsWUFBWSxDQUFDSixXQUFXRztRQUVuQ2IsbUJBQW1CZSxHQUFHLENBQUNaLFdBQVdJO0lBQ3BDO0lBRUEsT0FBT1Q7QUFDVDtJQUVBLFdBQWU7SUFDYlAsMkJBQUFBO0FBQ0Y7QUFFQSxTQUFTTSxXQUFXRCxLQUFLO0lBQ3ZCQSxNQUFNb0IsSUFBSSxDQUFDLFNBQUNDLE9BQU9DO1FBQ2pCLElBQU1DLHFCQUFxQkMsV0FBV0gsT0FBT0MsUUFDdkNHLFNBQVNGLHFCQUNFLENBQUMsSUFDQyxDQUFDO1FBRXBCLE9BQU9FO0lBQ1Q7QUFDRjtBQUVBLFNBQVNELFdBQVdILEtBQUssRUFBRUMsS0FBSztJQUM5QixJQUFJSSxXQUFXO0lBRWYsSUFBTUMsaUJBQWlCQyxzQkFBc0JQLFFBQ3ZDUSxpQkFBaUJELHNCQUFzQk4sUUFDdkNRLHVCQUF1QkgsZUFBZUksTUFBTSxFQUM1Q0MsdUJBQXVCSCxlQUFlRSxNQUFNLEVBQzVDRSw2QkFBNkJDLEtBQUtDLEdBQUcsQ0FBQ0wsc0JBQXNCRTtJQUVsRSxJQUFLLElBQUlJLFFBQVEsR0FBR0EsUUFBUUgsNEJBQTRCRyxRQUFTO1FBQy9ELElBQU1DLGdCQUFnQlYsY0FBYyxDQUFDUyxNQUFNLEVBQ3JDRSxnQkFBZ0JULGNBQWMsQ0FBQ08sTUFBTTtRQUUzQyxJQUFJQyxrQkFBa0JDLGVBQWU7WUFDbkMsSUFBTUMsY0FBY0gsUUFBUSxHQUN0QkksMEJBQTBCYixjQUFjLENBQUNZLFlBQVksRUFDckQvQixhQUFhZ0MseUJBQ2JDLGFBQWFKLGVBQ2JLLGFBQWFKLGVBQ2JLLFNBQVNuQyxXQUFXb0MsZ0JBQWdCLENBQUNILGFBQ3JDSSxTQUFTckMsV0FBV29DLGdCQUFnQixDQUFDRjtZQUUzQ2hCLFdBQVlpQixTQUFTRTtZQUVyQjtRQUNGO0lBQ0Y7SUFFQSxJQUFJbkIsYUFBYSxNQUFNO1FBQ3JCQSxXQUFZSSx1QkFBdUJFO0lBQ3JDO0lBRUEsT0FBT047QUFDVDtBQUVBLFNBQVNqQixpQkFBaUJFLElBQUksRUFBRW1DLFFBQVE7SUFDdEMsSUFBSXJCLFNBQVM7SUFFYixJQUFJakIsYUFBYUcsS0FBS29DLGFBQWE7SUFFbkMsTUFBT3ZDLGVBQWUsS0FBTTtRQUMxQixJQUFNRSxlQUFlRixZQUFhLEdBQUc7UUFFckNpQixTQUFTLENBQUMsQ0FBQ3FCLFNBQVNwQyxlQUFnQixHQUFHO1FBRXZDLElBQUllLFFBQVE7WUFDVjtRQUNGO1FBRUFkLE9BQU9ILFlBQWEsR0FBRztRQUV2QkEsYUFBYUcsS0FBS29DLGFBQWE7SUFDakM7SUFFQSxPQUFPdEI7QUFDVDtBQUVBLFNBQVNHLHNCQUFzQmpCLElBQUk7SUFDakMsSUFBTXFDLGdCQUFnQnJDLEtBQUtzQyxnQkFBZ0I7SUFFM0NELGNBQWNFLE9BQU8sQ0FBQ3ZDO0lBRXRCcUMsY0FBY0csT0FBTztJQUVyQixPQUFPSDtBQUNUIn0=
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE5vZGUgZnJvbSBcIi4uL25vZGVcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRvcG1vc3ROb2RlRnJvbU91dGVyTm9kZXMoQ2xhc3NGcm9tT3V0ZXJOb2RlLCBvdXRlck5vZGVzKSB7XG4gIGlmIChvdXRlck5vZGVzID09PSB1bmRlZmluZWQpIHtcbiAgICBvdXRlck5vZGVzID0gQ2xhc3NGcm9tT3V0ZXJOb2RlOyAvLy9cblxuICAgIENsYXNzRnJvbU91dGVyTm9kZSA9IChvdXRlck5vZGUpID0+IE5vZGU7ICAvLy9cbiAgfVxuXG4gIGNvbnN0IG5vZGVzID0gb3V0ZXJOb2RlczsgLy8vXG5cbiAgb3JkZXJOb2Rlcyhub2Rlcyk7XG5cbiAgY29uc3Qgb3V0ZXJOb2RlID0gbnVsbCxcbiAgICAgICAgQ2xhc3MgPSBDbGFzc0Zyb21PdXRlck5vZGUob3V0ZXJOb2RlKSxcbiAgICAgICAgdG9wbW9zdE5vZGUgPSBDbGFzcy5mcm9tTm90aGluZygpLFxuICAgICAgICBvdXRlck5vZGVUb05vZGVNYXAgPSBuZXcgV2Vha01hcCgpO1xuXG4gIG91dGVyTm9kZXMuZm9yRWFjaCgob3V0ZXJOb2RlKSA9PiB7XG4gICAgbGV0IHBhcmVudE5vZGUgPSB0b3Btb3N0Tm9kZTsgLy8vXG5cbiAgICBzb21lQW5jZXN0b3JOb2RlKG91dGVyTm9kZSwgKGFuY2VzdG9yTm9kZSkgPT4ge1xuICAgICAgY29uc3Qgb3V0ZXJOb2RlID0gYW5jZXN0b3JOb2RlLCAvLy9cbiAgICAgICAgICAgIG5vZGUgPSBvdXRlck5vZGVUb05vZGVNYXAuZ2V0KG91dGVyTm9kZSkgfHwgbnVsbDtcblxuICAgICAgaWYgKG5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgcGFyZW50Tm9kZSA9IG5vZGU7ICAvLy9cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IENsYXNzID0gQ2xhc3NGcm9tT3V0ZXJOb2RlKG91dGVyTm9kZSksXG4gICAgICAgICAgbm9kZSA9IENsYXNzLmZyb21PdXRlck5vZGUob3V0ZXJOb2RlKSxcbiAgICAgICAgICBjaGlsZE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgbXVsdGlwbGljaXR5ID0gcGFyZW50Tm9kZS5nZXRNdWx0aXBsaWNpdHkoKSxcbiAgICAgICAgICBzdGFydEluZGV4ID0gbXVsdGlwbGljaXR5OyAgLy8vXG5cbiAgICBwYXJlbnROb2RlLmFkZENoaWxkTm9kZShjaGlsZE5vZGUsIHN0YXJ0SW5kZXgpO1xuXG4gICAgb3V0ZXJOb2RlVG9Ob2RlTWFwLnNldChvdXRlck5vZGUsIG5vZGUpO1xuICB9KTtcblxuICByZXR1cm4gdG9wbW9zdE5vZGU7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgdG9wbW9zdE5vZGVGcm9tT3V0ZXJOb2Rlc1xufTtcblxuZnVuY3Rpb24gb3JkZXJOb2Rlcyhub2Rlcykge1xuICBub2Rlcy5zb3J0KChub2RlQSwgbm9kZUIpID0+IHtcbiAgICBjb25zdCBub2RlQUxlc3NUaGFuTm9kZUIgPSBpc0xlc3NUaGFuKG5vZGVBLCBub2RlQiksXG4gICAgICAgICAgcmVzdWx0ID0gbm9kZUFMZXNzVGhhbk5vZGVCID9cbiAgICAgICAgICAgICAgICAgICAgIC0xIDpcbiAgICAgICAgICAgICAgICAgICAgICAgKzE7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9KTtcbn1cblxuZnVuY3Rpb24gaXNMZXNzVGhhbihub2RlQSwgbm9kZUIpIHtcbiAgbGV0IGxlc3NUaGFuID0gbnVsbDtcblxuICBjb25zdCBhbmNlc3Rvck5vZGVzQSA9IGFuY2VzdG9yTm9kZXNGcm9tTm9kZShub2RlQSksXG4gICAgICAgIGFuY2VzdG9yTm9kZXNCID0gYW5jZXN0b3JOb2Rlc0Zyb21Ob2RlKG5vZGVCKSxcbiAgICAgICAgYW5jZXN0b3JOb2Rlc0FMZW5ndGggPSBhbmNlc3Rvck5vZGVzQS5sZW5ndGgsXG4gICAgICAgIGFuY2VzdG9yTm9kZXNCTGVuZ3RoID0gYW5jZXN0b3JOb2Rlc0IubGVuZ3RoLFxuICAgICAgICBtaW5pbXVtQW5jZXN0b3JOb2Rlc0xlbmd0aCA9IE1hdGgubWluKGFuY2VzdG9yTm9kZXNBTGVuZ3RoLCBhbmNlc3Rvck5vZGVzQkxlbmd0aCk7XG5cbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IG1pbmltdW1BbmNlc3Rvck5vZGVzTGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgY29uc3QgYW5jZXN0b3JOb2RlQSA9IGFuY2VzdG9yTm9kZXNBW2luZGV4XSxcbiAgICAgICAgICBhbmNlc3Rvck5vZGVCID0gYW5jZXN0b3JOb2Rlc0JbaW5kZXhdO1xuXG4gICAgaWYgKGFuY2VzdG9yTm9kZUEgIT09IGFuY2VzdG9yTm9kZUIpIHtcbiAgICAgIGNvbnN0IHBhcmVudEluZGV4ID0gaW5kZXggLSAxLFxuICAgICAgICAgICAgYW5jZXN0b3JOb2RlQVBhcmVudE5vZGUgPSBhbmNlc3Rvck5vZGVzQVtwYXJlbnRJbmRleF0sXG4gICAgICAgICAgICBwYXJlbnROb2RlID0gYW5jZXN0b3JOb2RlQVBhcmVudE5vZGUsIC8vL1xuICAgICAgICAgICAgY2hpbGROb2RlQSA9IGFuY2VzdG9yTm9kZUEsIC8vL1xuICAgICAgICAgICAgY2hpbGROb2RlQiA9IGFuY2VzdG9yTm9kZUIsIC8vL1xuICAgICAgICAgICAgaW5kZXhBID0gcGFyZW50Tm9kZS5pbmRleE9mQ2hpbGROb2RlKGNoaWxkTm9kZUEpLFxuICAgICAgICAgICAgaW5kZXhCID0gcGFyZW50Tm9kZS5pbmRleE9mQ2hpbGROb2RlKGNoaWxkTm9kZUIpO1xuXG4gICAgICBsZXNzVGhhbiA9IChpbmRleEEgPCBpbmRleEIpO1xuXG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBpZiAobGVzc1RoYW4gPT09IG51bGwpIHtcbiAgICBsZXNzVGhhbiA9IChhbmNlc3Rvck5vZGVzQUxlbmd0aCA8IGFuY2VzdG9yTm9kZXNCTGVuZ3RoKTtcbiAgfVxuXG4gIHJldHVybiBsZXNzVGhhbjtcbn1cblxuZnVuY3Rpb24gc29tZUFuY2VzdG9yTm9kZShub2RlLCBjYWxsYmFjaykge1xuICBsZXQgcmVzdWx0ID0gZmFsc2U7XG5cbiAgbGV0IHBhcmVudE5vZGUgPSBub2RlLmdldFBhcmVudE5vZGUoKTtcblxuICB3aGlsZSAocGFyZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGFuY2VzdG9yTm9kZSA9IHBhcmVudE5vZGU7ICAvLy9cblxuICAgIHJlc3VsdCA9ICEhY2FsbGJhY2soYW5jZXN0b3JOb2RlKTsgIC8vL1xuXG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgbm9kZSA9IHBhcmVudE5vZGU7ICAvLy9cblxuICAgIHBhcmVudE5vZGUgPSBub2RlLmdldFBhcmVudE5vZGUoKTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGFuY2VzdG9yTm9kZXNGcm9tTm9kZShub2RlKSB7XG4gIGNvbnN0IGFuY2VzdG9yTm9kZXMgPSBub2RlLmdldEFuY2VzdG9yTm9kZXMoKTtcblxuICBhbmNlc3Rvck5vZGVzLnVuc2hpZnQobm9kZSk7XG5cbiAgYW5jZXN0b3JOb2Rlcy5yZXZlcnNlKCk7XG5cbiAgcmV0dXJuIGFuY2VzdG9yTm9kZXM7XG59Il0sIm5hbWVzIjpbInRvcG1vc3ROb2RlRnJvbU91dGVyTm9kZXMiLCJDbGFzc0Zyb21PdXRlck5vZGUiLCJvdXRlck5vZGVzIiwidW5kZWZpbmVkIiwib3V0ZXJOb2RlIiwiTm9kZSIsIm5vZGVzIiwib3JkZXJOb2RlcyIsIkNsYXNzIiwidG9wbW9zdE5vZGUiLCJmcm9tTm90aGluZyIsIm91dGVyTm9kZVRvTm9kZU1hcCIsIldlYWtNYXAiLCJmb3JFYWNoIiwicGFyZW50Tm9kZSIsInNvbWVBbmNlc3Rvck5vZGUiLCJhbmNlc3Rvck5vZGUiLCJub2RlIiwiZ2V0IiwiZnJvbU91dGVyTm9kZSIsImNoaWxkTm9kZSIsIm11bHRpcGxpY2l0eSIsImdldE11bHRpcGxpY2l0eSIsInN0YXJ0SW5kZXgiLCJhZGRDaGlsZE5vZGUiLCJzZXQiLCJzb3J0Iiwibm9kZUEiLCJub2RlQiIsIm5vZGVBTGVzc1RoYW5Ob2RlQiIsImlzTGVzc1RoYW4iLCJyZXN1bHQiLCJsZXNzVGhhbiIsImFuY2VzdG9yTm9kZXNBIiwiYW5jZXN0b3JOb2Rlc0Zyb21Ob2RlIiwiYW5jZXN0b3JOb2Rlc0IiLCJhbmNlc3Rvck5vZGVzQUxlbmd0aCIsImxlbmd0aCIsImFuY2VzdG9yTm9kZXNCTGVuZ3RoIiwibWluaW11bUFuY2VzdG9yTm9kZXNMZW5ndGgiLCJNYXRoIiwibWluIiwiaW5kZXgiLCJhbmNlc3Rvck5vZGVBIiwiYW5jZXN0b3JOb2RlQiIsInBhcmVudEluZGV4IiwiYW5jZXN0b3JOb2RlQVBhcmVudE5vZGUiLCJjaGlsZE5vZGVBIiwiY2hpbGROb2RlQiIsImluZGV4QSIsImluZGV4T2ZDaGlsZE5vZGUiLCJpbmRleEIiLCJjYWxsYmFjayIsImdldFBhcmVudE5vZGUiLCJhbmNlc3Rvck5vZGVzIiwiZ2V0QW5jZXN0b3JOb2RlcyIsInVuc2hpZnQiLCJyZXZlcnNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFnREEsT0FFRTtlQUZGOztJQTVDZ0JBLHlCQUF5QjtlQUF6QkE7OzsyREFGQzs7Ozs7O0FBRVYsU0FBU0EsMEJBQTBCQyxrQkFBa0IsRUFBRUMsVUFBVTtJQUN0RSxJQUFJQSxlQUFlQyxXQUFXO1FBQzVCRCxhQUFhRCxvQkFBb0IsR0FBRztRQUVwQ0EscUJBQXFCLFNBQUNHO21CQUFjQyxhQUFJO1dBQUcsR0FBRztJQUNoRDtJQUVBLElBQU1DLFFBQVFKLFlBQVksR0FBRztJQUU3QkssV0FBV0Q7SUFFWCxJQUFNRixZQUFZLE1BQ1pJLFFBQVFQLG1CQUFtQkcsWUFDM0JLLGNBQWNELE1BQU1FLFdBQVcsSUFDL0JDLHFCQUFxQixJQUFJQztJQUUvQlYsV0FBV1csT0FBTyxDQUFDLFNBQUNUO1FBQ2xC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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.0.6",
4
+ "version": "5.0.8",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-dom",
7
7
  "description": "Occam's DOM related functionality.",
@@ -2,18 +2,20 @@
2
2
 
3
3
  import Node from "../node";
4
4
 
5
- export function topmostNodeFromOuterNodes(Class, outerNodes) {
5
+ export function topmostNodeFromOuterNodes(ClassFromOuterNode, outerNodes) {
6
6
  if (outerNodes === undefined) {
7
- outerNodes = Class; ///
7
+ outerNodes = ClassFromOuterNode; ///
8
8
 
9
- Class = Node; ///
9
+ ClassFromOuterNode = (outerNode) => Node; ///
10
10
  }
11
11
 
12
12
  const nodes = outerNodes; ///
13
13
 
14
14
  orderNodes(nodes);
15
15
 
16
- const topmostNode = Node.fromNothing(),
16
+ const outerNode = null,
17
+ Class = ClassFromOuterNode(outerNode),
18
+ topmostNode = Class.fromNothing(),
17
19
  outerNodeToNodeMap = new WeakMap();
18
20
 
19
21
  outerNodes.forEach((outerNode) => {
@@ -30,7 +32,8 @@ export function topmostNodeFromOuterNodes(Class, outerNodes) {
30
32
  }
31
33
  });
32
34
 
33
- const node = Class.fromOuterNode(outerNode),
35
+ const Class = ClassFromOuterNode(outerNode),
36
+ node = Class.fromOuterNode(outerNode),
34
37
  childNode = node, ///
35
38
  multiplicity = parentNode.getMultiplicity(),
36
39
  startIndex = multiplicity; ///