occam-dom 6.0.2 → 6.1.0

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
@@ -21,6 +21,9 @@ _export(exports, {
21
21
  get nodeUtilities () {
22
22
  return _node1.default;
23
23
  },
24
+ get queryUtilities () {
25
+ return _query.default;
26
+ },
24
27
  get transformUtilities () {
25
28
  return _transform1.default;
26
29
  }
@@ -29,6 +32,7 @@ const _node = /*#__PURE__*/ _interop_require_default(require("./node"));
29
32
  const _transform = /*#__PURE__*/ _interop_require_default(require("./transform"));
30
33
  const _dom = /*#__PURE__*/ _interop_require_default(require("./utilities/dom"));
31
34
  const _node1 = /*#__PURE__*/ _interop_require_default(require("./utilities/node"));
35
+ const _query = /*#__PURE__*/ _interop_require_default(require("./utilities/query"));
32
36
  const _transform1 = /*#__PURE__*/ _interop_require_default(require("./utilities/transform"));
33
37
  function _interop_require_default(obj) {
34
38
  return obj && obj.__esModule ? obj : {
@@ -36,4 +40,4 @@ function _interop_require_default(obj) {
36
40
  };
37
41
  }
38
42
 
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBOb2RlIH0gZnJvbSBcIi4vbm9kZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBUcmFuc2Zvcm0gfSBmcm9tIFwiLi90cmFuc2Zvcm1cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZG9tVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2RvbVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBub2RlVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL25vZGVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgdHJhbnNmb3JtVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3RyYW5zZm9ybVwiO1xuIl0sIm5hbWVzIjpbIk5vZGUiLCJUcmFuc2Zvcm0iLCJkb21VdGlsaXRpZXMiLCJub2RlVXRpbGl0aWVzIiwidHJhbnNmb3JtVXRpbGl0aWVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFFb0JBO2VBQUFBLGFBQUk7O1FBQ0pDO2VBQUFBLGtCQUFTOztRQUNUQztlQUFBQSxZQUFZOztRQUNaQztlQUFBQSxjQUFhOztRQUNiQztlQUFBQSxtQkFBa0I7Ozs2REFKTjtrRUFDSzs0REFDRzs4REFDQzttRUFDSyJ9
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBOb2RlIH0gZnJvbSBcIi4vbm9kZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBUcmFuc2Zvcm0gfSBmcm9tIFwiLi90cmFuc2Zvcm1cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZG9tVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2RvbVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBub2RlVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL25vZGVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcXVlcnlVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvcXVlcnlcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgdHJhbnNmb3JtVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3RyYW5zZm9ybVwiO1xuIl0sIm5hbWVzIjpbIk5vZGUiLCJUcmFuc2Zvcm0iLCJkb21VdGlsaXRpZXMiLCJub2RlVXRpbGl0aWVzIiwicXVlcnlVdGlsaXRpZXMiLCJ0cmFuc2Zvcm1VdGlsaXRpZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQUVvQkE7ZUFBQUEsYUFBSTs7UUFDSkM7ZUFBQUEsa0JBQVM7O1FBQ1RDO2VBQUFBLFlBQVk7O1FBQ1pDO2VBQUFBLGNBQWE7O1FBQ2JDO2VBQUFBLGNBQWM7O1FBQ2RDO2VBQUFBLG1CQUFrQjs7OzZEQUxOO2tFQUNLOzREQUNHOzhEQUNDOzhEQUNDO21FQUNJIn0=
@@ -12,12 +12,16 @@ _export(exports, {
12
12
  get default () {
13
13
  return _default;
14
14
  },
15
+ get topmostNodeFromOuterNodeAndQueries () {
16
+ return topmostNodeFromOuterNodeAndQueries;
17
+ },
15
18
  get topmostNodeFromOuterNodes () {
16
19
  return topmostNodeFromOuterNodes;
17
20
  }
18
21
  });
19
22
  const _node = /*#__PURE__*/ _interop_require_default(require("../node"));
20
23
  const _node1 = require("../utilities/node");
24
+ const _query = require("../utilities/query");
21
25
  function _interop_require_default(obj) {
22
26
  return obj && obj.__esModule ? obj : {
23
27
  default: obj
@@ -42,12 +46,21 @@ function topmostNodeFromOuterNodes(outerNodes, ClassFromOuterNode = DefaultClass
42
46
  });
43
47
  return topmostNode;
44
48
  }
49
+ function topmostNodeFromOuterNodeAndQueries(outerNode, queries, ClassFromOuterNode = DefaultClassFromOuterNode) {
50
+ let topmostNode = null;
51
+ if (outerNode !== null) {
52
+ const node = outerNode, nodes = (0, _query.nodesFromNodeAndQueries)(node, queries), outerNodes = nodes; ///
53
+ topmostNode = topmostNodeFromOuterNodes(outerNodes, ClassFromOuterNode);
54
+ }
55
+ return topmostNode;
56
+ }
45
57
  const _default = {
46
- topmostNodeFromOuterNodes
58
+ topmostNodeFromOuterNodes,
59
+ topmostNodeFromOuterNodeAndQueries
47
60
  };
48
61
  function DefaultClassFromOuterNode(outerNode) {
49
62
  const Class = _node.default; ///
50
63
  return Class;
51
64
  }
52
65
 
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZG9tLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTm9kZSBmcm9tIFwiLi4vbm9kZVwiO1xuXG5pbXBvcnQgeyBvcmRlck5vZGVzIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9ub2RlXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiB0b3Btb3N0Tm9kZUZyb21PdXRlck5vZGVzKG91dGVyTm9kZXMsIENsYXNzRnJvbU91dGVyTm9kZSA9IERlZmF1bHRDbGFzc0Zyb21PdXRlck5vZGUpIHtcbiAgY29uc3Qgbm9kZXMgPSBvdXRlck5vZGVzOyAvLy9cblxuICBvcmRlck5vZGVzKG5vZGVzKTtcblxuICBjb25zdCBvdXRlck5vZGUgPSBudWxsLFxuICAgICAgICBDbGFzcyA9IENsYXNzRnJvbU91dGVyTm9kZShvdXRlck5vZGUpLFxuICAgICAgICB0b3Btb3N0Tm9kZSA9IENsYXNzLmZyb21Ob3RoaW5nKCksXG4gICAgICAgIG91dGVyTm9kZVRvTm9kZU1hcCA9IG5ldyBXZWFrTWFwKCk7XG5cbiAgb3V0ZXJOb2Rlcy5mb3JFYWNoKChvdXRlck5vZGUpID0+IHtcbiAgICBsZXQgcGFyZW50Tm9kZSA9IHRvcG1vc3ROb2RlOyAvLy9cblxuICAgIG91dGVyTm9kZS5zb21lQW5jZXN0b3JOb2RlKChhbmNlc3Rvck5vZGUpID0+IHtcbiAgICAgIGNvbnN0IG91dGVyTm9kZSA9IGFuY2VzdG9yTm9kZSwgLy8vXG4gICAgICAgICAgICBub2RlID0gb3V0ZXJOb2RlVG9Ob2RlTWFwLmdldChvdXRlck5vZGUpIHx8IG51bGw7XG5cbiAgICAgIGlmIChub2RlICE9PSBudWxsKSB7XG4gICAgICAgIHBhcmVudE5vZGUgPSBub2RlOyAgLy8vXG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBDbGFzcyA9IENsYXNzRnJvbU91dGVyTm9kZShvdXRlck5vZGUpLFxuICAgICAgICAgIG5vZGUgPSBDbGFzcy5mcm9tT3V0ZXJOb2RlKG91dGVyTm9kZSksXG4gICAgICAgICAgYXBwZW5kZWRDaGlsZE5vZGUgPSBub2RlOyAvLy9cblxuICAgIHBhcmVudE5vZGUuYXBwZW5kQ2hpbGROb2RlKGFwcGVuZGVkQ2hpbGROb2RlKTtcblxuICAgIG91dGVyTm9kZVRvTm9kZU1hcC5zZXQob3V0ZXJOb2RlLCBub2RlKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHRvcG1vc3ROb2RlO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIHRvcG1vc3ROb2RlRnJvbU91dGVyTm9kZXNcbn07XG5cbmZ1bmN0aW9uIERlZmF1bHRDbGFzc0Zyb21PdXRlck5vZGUob3V0ZXJOb2RlKSB7XG4gIGNvbnN0IENsYXNzID0gTm9kZTsgLy8vXG5cbiAgcmV0dXJuIENsYXNzO1xufSJdLCJuYW1lcyI6WyJ0b3Btb3N0Tm9kZUZyb21PdXRlck5vZGVzIiwib3V0ZXJOb2RlcyIsIkNsYXNzRnJvbU91dGVyTm9kZSIsIkRlZmF1bHRDbGFzc0Zyb21PdXRlck5vZGUiLCJub2RlcyIsIm9yZGVyTm9kZXMiLCJvdXRlck5vZGUiLCJDbGFzcyIsInRvcG1vc3ROb2RlIiwiZnJvbU5vdGhpbmciLCJvdXRlck5vZGVUb05vZGVNYXAiLCJXZWFrTWFwIiwiZm9yRWFjaCIsInBhcmVudE5vZGUiLCJzb21lQW5jZXN0b3JOb2RlIiwiYW5jZXN0b3JOb2RlIiwibm9kZSIsImdldCIsImZyb21PdXRlck5vZGUiLCJhcHBlbmRlZENoaWxkTm9kZSIsImFwcGVuZENoaWxkTm9kZSIsInNldCIsIk5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQTBDQTtlQUFBOztRQXBDZ0JBO2VBQUFBOzs7NkRBSkM7dUJBRVU7Ozs7OztBQUVwQixTQUFTQSwwQkFBMEJDLFVBQVUsRUFBRUMscUJBQXFCQyx5QkFBeUI7SUFDbEcsTUFBTUMsUUFBUUgsWUFBWSxHQUFHO0lBRTdCSSxJQUFBQSxpQkFBVSxFQUFDRDtJQUVYLE1BQU1FLFlBQVksTUFDWkMsUUFBUUwsbUJBQW1CSSxZQUMzQkUsY0FBY0QsTUFBTUUsV0FBVyxJQUMvQkMscUJBQXFCLElBQUlDO0lBRS9CVixXQUFXVyxPQUFPLENBQUMsQ0FBQ047UUFDbEIsSUFBSU8sYUFBYUwsYUFBYSxHQUFHO1FBRWpDRixVQUFVUSxnQkFBZ0IsQ0FBQyxDQUFDQztZQUMxQixNQUFNVCxZQUFZUyxjQUNaQyxPQUFPTixtQkFBbUJPLEdBQUcsQ0FBQ1gsY0FBYztZQUVsRCxJQUFJVSxTQUFTLE1BQU07Z0JBQ2pCSCxhQUFhRyxNQUFPLEdBQUc7Z0JBRXZCLE9BQU87WUFDVDtRQUNGO1FBRUEsTUFBTVQsUUFBUUwsbUJBQW1CSSxZQUMzQlUsT0FBT1QsTUFBTVcsYUFBYSxDQUFDWixZQUMzQmEsb0JBQW9CSCxNQUFNLEdBQUc7UUFFbkNILFdBQVdPLGVBQWUsQ0FBQ0Q7UUFFM0JULG1CQUFtQlcsR0FBRyxDQUFDZixXQUFXVTtJQUNwQztJQUVBLE9BQU9SO0FBQ1Q7TUFFQSxXQUFlO0lBQ2JSO0FBQ0Y7QUFFQSxTQUFTRywwQkFBMEJHLFNBQVM7SUFDMUMsTUFBTUMsUUFBUWUsYUFBSSxFQUFFLEdBQUc7SUFFdkIsT0FBT2Y7QUFDVCJ9
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZG9tLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTm9kZSBmcm9tIFwiLi4vbm9kZVwiO1xuXG5pbXBvcnQgeyBvcmRlck5vZGVzIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9ub2RlXCI7XG5cbmltcG9ydCB7IG5vZGVzRnJvbU5vZGVBbmRRdWVyaWVzIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gdG9wbW9zdE5vZGVGcm9tT3V0ZXJOb2RlcyhvdXRlck5vZGVzLCBDbGFzc0Zyb21PdXRlck5vZGUgPSBEZWZhdWx0Q2xhc3NGcm9tT3V0ZXJOb2RlKSB7XG4gIGNvbnN0IG5vZGVzID0gb3V0ZXJOb2RlczsgLy8vXG5cbiAgb3JkZXJOb2Rlcyhub2Rlcyk7XG5cbiAgY29uc3Qgb3V0ZXJOb2RlID0gbnVsbCxcbiAgICAgICAgQ2xhc3MgPSBDbGFzc0Zyb21PdXRlck5vZGUob3V0ZXJOb2RlKSxcbiAgICAgICAgdG9wbW9zdE5vZGUgPSBDbGFzcy5mcm9tTm90aGluZygpLFxuICAgICAgICBvdXRlck5vZGVUb05vZGVNYXAgPSBuZXcgV2Vha01hcCgpO1xuXG4gIG91dGVyTm9kZXMuZm9yRWFjaCgob3V0ZXJOb2RlKSA9PiB7XG4gICAgbGV0IHBhcmVudE5vZGUgPSB0b3Btb3N0Tm9kZTsgLy8vXG5cbiAgICBvdXRlck5vZGUuc29tZUFuY2VzdG9yTm9kZSgoYW5jZXN0b3JOb2RlKSA9PiB7XG4gICAgICBjb25zdCBvdXRlck5vZGUgPSBhbmNlc3Rvck5vZGUsIC8vL1xuICAgICAgICAgICAgbm9kZSA9IG91dGVyTm9kZVRvTm9kZU1hcC5nZXQob3V0ZXJOb2RlKSB8fCBudWxsO1xuXG4gICAgICBpZiAobm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBwYXJlbnROb2RlID0gbm9kZTsgIC8vL1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgQ2xhc3MgPSBDbGFzc0Zyb21PdXRlck5vZGUob3V0ZXJOb2RlKSxcbiAgICAgICAgICBub2RlID0gQ2xhc3MuZnJvbU91dGVyTm9kZShvdXRlck5vZGUpLFxuICAgICAgICAgIGFwcGVuZGVkQ2hpbGROb2RlID0gbm9kZTsgLy8vXG5cbiAgICBwYXJlbnROb2RlLmFwcGVuZENoaWxkTm9kZShhcHBlbmRlZENoaWxkTm9kZSk7XG5cbiAgICBvdXRlck5vZGVUb05vZGVNYXAuc2V0KG91dGVyTm9kZSwgbm9kZSk7XG4gIH0pO1xuXG4gIHJldHVybiB0b3Btb3N0Tm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvcG1vc3ROb2RlRnJvbU91dGVyTm9kZUFuZFF1ZXJpZXMob3V0ZXJOb2RlLCBxdWVyaWVzLCBDbGFzc0Zyb21PdXRlck5vZGUgPSBEZWZhdWx0Q2xhc3NGcm9tT3V0ZXJOb2RlKSB7XG4gIGxldCB0b3Btb3N0Tm9kZSA9IG51bGw7XG5cbiAgaWYgKG91dGVyTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG5vZGUgPSBvdXRlck5vZGUsIC8vL1xuICAgICAgICAgIG5vZGVzID0gbm9kZXNGcm9tTm9kZUFuZFF1ZXJpZXMobm9kZSwgcXVlcmllcyksXG4gICAgICAgICAgb3V0ZXJOb2RlcyA9IG5vZGVzOyAvLy9cblxuICAgIHRvcG1vc3ROb2RlID0gdG9wbW9zdE5vZGVGcm9tT3V0ZXJOb2RlcyhvdXRlck5vZGVzLCBDbGFzc0Zyb21PdXRlck5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHRvcG1vc3ROb2RlO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIHRvcG1vc3ROb2RlRnJvbU91dGVyTm9kZXMsXG4gIHRvcG1vc3ROb2RlRnJvbU91dGVyTm9kZUFuZFF1ZXJpZXNcbn07XG5cbmZ1bmN0aW9uIERlZmF1bHRDbGFzc0Zyb21PdXRlck5vZGUob3V0ZXJOb2RlKSB7XG4gIGNvbnN0IENsYXNzID0gTm9kZTsgLy8vXG5cbiAgcmV0dXJuIENsYXNzO1xufSJdLCJuYW1lcyI6WyJ0b3Btb3N0Tm9kZUZyb21PdXRlck5vZGVBbmRRdWVyaWVzIiwidG9wbW9zdE5vZGVGcm9tT3V0ZXJOb2RlcyIsIm91dGVyTm9kZXMiLCJDbGFzc0Zyb21PdXRlck5vZGUiLCJEZWZhdWx0Q2xhc3NGcm9tT3V0ZXJOb2RlIiwibm9kZXMiLCJvcmRlck5vZGVzIiwib3V0ZXJOb2RlIiwiQ2xhc3MiLCJ0b3Btb3N0Tm9kZSIsImZyb21Ob3RoaW5nIiwib3V0ZXJOb2RlVG9Ob2RlTWFwIiwiV2Vha01hcCIsImZvckVhY2giLCJwYXJlbnROb2RlIiwic29tZUFuY2VzdG9yTm9kZSIsImFuY2VzdG9yTm9kZSIsIm5vZGUiLCJnZXQiLCJmcm9tT3V0ZXJOb2RlIiwiYXBwZW5kZWRDaGlsZE5vZGUiLCJhcHBlbmRDaGlsZE5vZGUiLCJzZXQiLCJxdWVyaWVzIiwibm9kZXNGcm9tTm9kZUFuZFF1ZXJpZXMiLCJOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUEwREE7ZUFBQTs7UUFkZ0JBO2VBQUFBOztRQXBDQUM7ZUFBQUE7Ozs2REFOQzt1QkFFVTt1QkFFYTs7Ozs7O0FBRWpDLFNBQVNBLDBCQUEwQkMsVUFBVSxFQUFFQyxxQkFBcUJDLHlCQUF5QjtJQUNsRyxNQUFNQyxRQUFRSCxZQUFZLEdBQUc7SUFFN0JJLElBQUFBLGlCQUFVLEVBQUNEO0lBRVgsTUFBTUUsWUFBWSxNQUNaQyxRQUFRTCxtQkFBbUJJLFlBQzNCRSxjQUFjRCxNQUFNRSxXQUFXLElBQy9CQyxxQkFBcUIsSUFBSUM7SUFFL0JWLFdBQVdXLE9BQU8sQ0FBQyxDQUFDTjtRQUNsQixJQUFJTyxhQUFhTCxhQUFhLEdBQUc7UUFFakNGLFVBQVVRLGdCQUFnQixDQUFDLENBQUNDO1lBQzFCLE1BQU1ULFlBQVlTLGNBQ1pDLE9BQU9OLG1CQUFtQk8sR0FBRyxDQUFDWCxjQUFjO1lBRWxELElBQUlVLFNBQVMsTUFBTTtnQkFDakJILGFBQWFHLE1BQU8sR0FBRztnQkFFdkIsT0FBTztZQUNUO1FBQ0Y7UUFFQSxNQUFNVCxRQUFRTCxtQkFBbUJJLFlBQzNCVSxPQUFPVCxNQUFNVyxhQUFhLENBQUNaLFlBQzNCYSxvQkFBb0JILE1BQU0sR0FBRztRQUVuQ0gsV0FBV08sZUFBZSxDQUFDRDtRQUUzQlQsbUJBQW1CVyxHQUFHLENBQUNmLFdBQVdVO0lBQ3BDO0lBRUEsT0FBT1I7QUFDVDtBQUVPLFNBQVNULG1DQUFtQ08sU0FBUyxFQUFFZ0IsT0FBTyxFQUFFcEIscUJBQXFCQyx5QkFBeUI7SUFDbkgsSUFBSUssY0FBYztJQUVsQixJQUFJRixjQUFjLE1BQU07UUFDdEIsTUFBTVUsT0FBT1YsV0FDUEYsUUFBUW1CLElBQUFBLDhCQUF1QixFQUFDUCxNQUFNTSxVQUN0Q3JCLGFBQWFHLE9BQU8sR0FBRztRQUU3QkksY0FBY1IsMEJBQTBCQyxZQUFZQztJQUN0RDtJQUVBLE9BQU9NO0FBQ1Q7TUFFQSxXQUFlO0lBQ2JSO0lBQ0FEO0FBQ0Y7QUFFQSxTQUFTSSwwQkFBMEJHLFNBQVM7SUFDMUMsTUFBTUMsUUFBUWlCLGFBQUksRUFBRSxHQUFHO0lBRXZCLE9BQU9qQjtBQUNUIn0=
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get nodeFromNodeAndQuery () {
13
+ return nodeFromNodeAndQuery;
14
+ },
15
+ get nodeQuery () {
16
+ return nodeQuery;
17
+ },
18
+ get nodesFromNodeAndQueries () {
19
+ return nodesFromNodeAndQueries;
20
+ },
21
+ get nodesFromNodeAndQuery () {
22
+ return nodesFromNodeAndQuery;
23
+ },
24
+ get nodesQuery () {
25
+ return nodesQuery;
26
+ }
27
+ });
28
+ const _occamquery = require("occam-query");
29
+ const _necessary = require("necessary");
30
+ const { push } = _necessary.arrayUtilities;
31
+ function nodeQuery(expression) {
32
+ const query = _occamquery.Query.fromExpressionString(expression);
33
+ return function(node) {
34
+ const nodes = query.execute(node);
35
+ node = nodes.shift() || null; ///
36
+ return node;
37
+ };
38
+ }
39
+ function nodesQuery(expression) {
40
+ const query = _occamquery.Query.fromExpressionString(expression);
41
+ return function(node) {
42
+ const nodes = query.execute(node);
43
+ return nodes;
44
+ };
45
+ }
46
+ function nodeFromNodeAndQuery(node, query) {
47
+ const queryNodes = query.execute(node), queryNode = queryNodes.shift() || null;
48
+ node = queryNode; ///
49
+ return node;
50
+ }
51
+ function nodesFromNodeAndQuery(node, query, nodes = []) {
52
+ const queryNodes = query.execute(node);
53
+ push(nodes, queryNodes);
54
+ return nodes;
55
+ }
56
+ function nodesFromNodeAndQueries(node, queries, nodes = []) {
57
+ queries.forEach((query)=>{
58
+ const queryNodes = query.execute(node);
59
+ push(nodes, queryNodes);
60
+ });
61
+ return nodes;
62
+ }
63
+
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcXVlcnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuY29uc3QgeyBwdXNoIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIG5vZGVRdWVyeShleHByZXNzaW9uKSB7XG4gIGNvbnN0IHF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoZXhwcmVzc2lvbik7XG5cbiAgcmV0dXJuIGZ1bmN0aW9uKG5vZGUpIHtcbiAgICBjb25zdCBub2RlcyA9IHF1ZXJ5LmV4ZWN1dGUobm9kZSk7XG5cbiAgICBub2RlID0gbm9kZXMuc2hpZnQoKSB8fCBudWxsOyAvLy9cblxuICAgIHJldHVybiBub2RlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub2Rlc1F1ZXJ5KGV4cHJlc3Npb24pIHtcbiAgY29uc3QgcXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhleHByZXNzaW9uKTtcblxuICByZXR1cm4gZnVuY3Rpb24obm9kZSkge1xuICAgIGNvbnN0IG5vZGVzID0gcXVlcnkuZXhlY3V0ZShub2RlKTtcblxuICAgIHJldHVybiBub2RlcztcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgcXVlcnkpIHtcbiAgY29uc3QgcXVlcnlOb2RlcyA9IHF1ZXJ5LmV4ZWN1dGUobm9kZSksXG4gICAgICAgIHF1ZXJ5Tm9kZSA9IHF1ZXJ5Tm9kZXMuc2hpZnQoKSB8fCBudWxsO1xuXG4gIG5vZGUgPSBxdWVyeU5vZGU7ICAvLy9cblxuICByZXR1cm4gbm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBxdWVyeSwgbm9kZXMgPSBbXSkge1xuICBjb25zdCBxdWVyeU5vZGVzID0gcXVlcnkuZXhlY3V0ZShub2RlKTtcblxuICBwdXNoKG5vZGVzLCBxdWVyeU5vZGVzKTtcblxuICByZXR1cm4gbm9kZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub2Rlc0Zyb21Ob2RlQW5kUXVlcmllcyhub2RlLCBxdWVyaWVzLCBub2RlcyA9IFtdKSB7XG4gIHF1ZXJpZXMuZm9yRWFjaCgocXVlcnkpID0+IHtcbiAgICBjb25zdCBxdWVyeU5vZGVzID0gcXVlcnkuZXhlY3V0ZShub2RlKTtcblxuICAgIHB1c2gobm9kZXMsIHF1ZXJ5Tm9kZXMpO1xuICB9KTtcblxuICByZXR1cm4gbm9kZXM7XG59XG4iXSwibmFtZXMiOlsibm9kZUZyb21Ob2RlQW5kUXVlcnkiLCJub2RlUXVlcnkiLCJub2Rlc0Zyb21Ob2RlQW5kUXVlcmllcyIsIm5vZGVzRnJvbU5vZGVBbmRRdWVyeSIsIm5vZGVzUXVlcnkiLCJwdXNoIiwiYXJyYXlVdGlsaXRpZXMiLCJleHByZXNzaW9uIiwicXVlcnkiLCJRdWVyeSIsImZyb21FeHByZXNzaW9uU3RyaW5nIiwibm9kZSIsIm5vZGVzIiwiZXhlY3V0ZSIsInNoaWZ0IiwicXVlcnlOb2RlcyIsInF1ZXJ5Tm9kZSIsInF1ZXJpZXMiLCJmb3JFYWNoIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUE2QmdCQTtlQUFBQTs7UUF0QkFDO2VBQUFBOztRQXVDQUM7ZUFBQUE7O1FBUkFDO2VBQUFBOztRQW5CQUM7ZUFBQUE7Ozs0QkFqQk07MkJBQ1M7QUFFL0IsTUFBTSxFQUFFQyxJQUFJLEVBQUUsR0FBR0MseUJBQWM7QUFFeEIsU0FBU0wsVUFBVU0sVUFBVTtJQUNsQyxNQUFNQyxRQUFRQyxpQkFBSyxDQUFDQyxvQkFBb0IsQ0FBQ0g7SUFFekMsT0FBTyxTQUFTSSxJQUFJO1FBQ2xCLE1BQU1DLFFBQVFKLE1BQU1LLE9BQU8sQ0FBQ0Y7UUFFNUJBLE9BQU9DLE1BQU1FLEtBQUssTUFBTSxNQUFNLEdBQUc7UUFFakMsT0FBT0g7SUFDVDtBQUNGO0FBRU8sU0FBU1AsV0FBV0csVUFBVTtJQUNuQyxNQUFNQyxRQUFRQyxpQkFBSyxDQUFDQyxvQkFBb0IsQ0FBQ0g7SUFFekMsT0FBTyxTQUFTSSxJQUFJO1FBQ2xCLE1BQU1DLFFBQVFKLE1BQU1LLE9BQU8sQ0FBQ0Y7UUFFNUIsT0FBT0M7SUFDVDtBQUNGO0FBRU8sU0FBU1oscUJBQXFCVyxJQUFJLEVBQUVILEtBQUs7SUFDOUMsTUFBTU8sYUFBYVAsTUFBTUssT0FBTyxDQUFDRixPQUMzQkssWUFBWUQsV0FBV0QsS0FBSyxNQUFNO0lBRXhDSCxPQUFPSyxXQUFZLEdBQUc7SUFFdEIsT0FBT0w7QUFDVDtBQUVPLFNBQVNSLHNCQUFzQlEsSUFBSSxFQUFFSCxLQUFLLEVBQUVJLFFBQVEsRUFBRTtJQUMzRCxNQUFNRyxhQUFhUCxNQUFNSyxPQUFPLENBQUNGO0lBRWpDTixLQUFLTyxPQUFPRztJQUVaLE9BQU9IO0FBQ1Q7QUFFTyxTQUFTVix3QkFBd0JTLElBQUksRUFBRU0sT0FBTyxFQUFFTCxRQUFRLEVBQUU7SUFDL0RLLFFBQVFDLE9BQU8sQ0FBQyxDQUFDVjtRQUNmLE1BQU1PLGFBQWFQLE1BQU1LLE9BQU8sQ0FBQ0Y7UUFFakNOLEtBQUtPLE9BQU9HO0lBQ2Q7SUFFQSxPQUFPSDtBQUNUIn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-dom",
3
3
  "author": "James Smith",
4
- "version": "6.0.2",
4
+ "version": "6.1.0",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-dom",
7
7
  "description": "Occam's DOM related functionality.",
package/src/index.js CHANGED
@@ -4,4 +4,5 @@ export { default as Node } from "./node";
4
4
  export { default as Transform } from "./transform";
5
5
  export { default as domUtilities } from "./utilities/dom";
6
6
  export { default as nodeUtilities } from "./utilities/node";
7
+ export { default as queryUtilities } from "./utilities/query";
7
8
  export { default as transformUtilities } from "./utilities/transform";
@@ -4,6 +4,8 @@ import Node from "../node";
4
4
 
5
5
  import { orderNodes } from "../utilities/node";
6
6
 
7
+ import { nodesFromNodeAndQueries } from "../utilities/query";
8
+
7
9
  export function topmostNodeFromOuterNodes(outerNodes, ClassFromOuterNode = DefaultClassFromOuterNode) {
8
10
  const nodes = outerNodes; ///
9
11
 
@@ -40,8 +42,23 @@ export function topmostNodeFromOuterNodes(outerNodes, ClassFromOuterNode = Defau
40
42
  return topmostNode;
41
43
  }
42
44
 
45
+ export function topmostNodeFromOuterNodeAndQueries(outerNode, queries, ClassFromOuterNode = DefaultClassFromOuterNode) {
46
+ let topmostNode = null;
47
+
48
+ if (outerNode !== null) {
49
+ const node = outerNode, ///
50
+ nodes = nodesFromNodeAndQueries(node, queries),
51
+ outerNodes = nodes; ///
52
+
53
+ topmostNode = topmostNodeFromOuterNodes(outerNodes, ClassFromOuterNode);
54
+ }
55
+
56
+ return topmostNode;
57
+ }
58
+
43
59
  export default {
44
- topmostNodeFromOuterNodes
60
+ topmostNodeFromOuterNodes,
61
+ topmostNodeFromOuterNodeAndQueries
45
62
  };
46
63
 
47
64
  function DefaultClassFromOuterNode(outerNode) {
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ import { Query } from "occam-query";
4
+ import { arrayUtilities } from "necessary";
5
+
6
+ const { push } = arrayUtilities;
7
+
8
+ export function nodeQuery(expression) {
9
+ const query = Query.fromExpressionString(expression);
10
+
11
+ return function(node) {
12
+ const nodes = query.execute(node);
13
+
14
+ node = nodes.shift() || null; ///
15
+
16
+ return node;
17
+ }
18
+ }
19
+
20
+ export function nodesQuery(expression) {
21
+ const query = Query.fromExpressionString(expression);
22
+
23
+ return function(node) {
24
+ const nodes = query.execute(node);
25
+
26
+ return nodes;
27
+ }
28
+ }
29
+
30
+ export function nodeFromNodeAndQuery(node, query) {
31
+ const queryNodes = query.execute(node),
32
+ queryNode = queryNodes.shift() || null;
33
+
34
+ node = queryNode; ///
35
+
36
+ return node;
37
+ }
38
+
39
+ export function nodesFromNodeAndQuery(node, query, nodes = []) {
40
+ const queryNodes = query.execute(node);
41
+
42
+ push(nodes, queryNodes);
43
+
44
+ return nodes;
45
+ }
46
+
47
+ export function nodesFromNodeAndQueries(node, queries, nodes = []) {
48
+ queries.forEach((query) => {
49
+ const queryNodes = query.execute(node);
50
+
51
+ push(nodes, queryNodes);
52
+ });
53
+
54
+ return nodes;
55
+ }