Sha256: 0cf9c5600bfeb665fbabe41d8c9c3a3d8492a91bff0b292c0258af692d02db51
Contents?: true
Size: 1.69 KB
Versions: 19
Compression:
Stored size: 1.69 KB
Contents
"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("boolbase").falseFunc, compile = require("./lib/compile.js"), compileUnsafe = compile.compileUnsafe, compileToken = compile.compileToken; function getSelectorFunc(searchFunc){ return function select(query, elems, options){ if(typeof query !== "function") query = compileUnsafe(query, options, elems); 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; //hooks CSSselect._compileUnsafe = compileUnsafe; CSSselect._compileToken = compileToken;
Version data entries
19 entries across 16 versions & 3 rubygems