Index: node_modules/vulcanize/node_modules/whacko/node_modules/CSSselect/index.js |
diff --git a/node_modules/vulcanize/node_modules/whacko/node_modules/CSSselect/index.js b/node_modules/vulcanize/node_modules/whacko/node_modules/CSSselect/index.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..251f3764884b8403dab17bd3ef26924303d7a34a |
--- /dev/null |
+++ b/node_modules/vulcanize/node_modules/whacko/node_modules/CSSselect/index.js |
@@ -0,0 +1,54 @@ |
+"use strict"; |
+ |
+module.exports = CSSselect; |
+ |
+var Pseudos = require("./lib/pseudos.js"), |
+ DomUtils = require("domutils"), |
+ findOne = DomUtils.findOne, |
+ findAll = DomUtils.findAll, |
+ getChildren = DomUtils.getChildren, |
+ removeSubsets = DomUtils.removeSubsets, |
+ falseFunc = require("./lib/basefunctions.js").falseFunc, |
+ compile = require("./lib/compile.js"), |
+ compileUnsafe = compile.compileUnsafe; |
+ |
+function getSelectorFunc(searchFunc){ |
+ return function select(query, elems, options){ |
+ if(typeof query !== "function") query = compileUnsafe(query, options); |
+ if(!Array.isArray(elems)) elems = getChildren(elems); |
+ else elems = removeSubsets(elems); |
+ return searchFunc(query, elems); |
+ }; |
+} |
+ |
+var selectAll = getSelectorFunc(function selectAll(query, elems){ |
+ return (query === falseFunc || !elems || elems.length === 0) ? [] : findAll(query, elems); |
+}); |
+ |
+var selectOne = getSelectorFunc(function selectOne(query, elems){ |
+ return (query === falseFunc || !elems || elems.length === 0) ? null : findOne(query, elems); |
+}); |
+ |
+function is(elem, query, options){ |
+ return (typeof query === "function" ? query : compile(query, options))(elem); |
+} |
+ |
+/* |
+ the exported interface |
+*/ |
+function CSSselect(query, elems, options){ |
+ return selectAll(query, elems, options); |
+} |
+ |
+CSSselect.compile = compile; |
+CSSselect.filters = Pseudos.filters; |
+CSSselect.pseudos = Pseudos.pseudos; |
+ |
+CSSselect.selectAll = selectAll; |
+CSSselect.selectOne = selectOne; |
+ |
+CSSselect.is = is; |
+ |
+//legacy methods (might be removed) |
+CSSselect.parse = compile; |
+CSSselect.iterate = selectAll; |