selector-exists.js 507 B

1234567891011121314151617181920212223
  1. var utils = require('../utils');
  2. /**
  3. * Returns true if the given selector exists.
  4. *
  5. * @param {String} sel
  6. * @return {Boolean}
  7. * @api public
  8. */
  9. module.exports = function selectorExists(sel) {
  10. utils.assertString(sel, 'selector');
  11. if (!this.__selectorsMap__) {
  12. var Normalizer = require('../visitor/normalizer')
  13. , visitor = new Normalizer(this.root.clone());
  14. visitor.visit(visitor.root);
  15. this.__selectorsMap__ = visitor.map;
  16. }
  17. return sel.string in this.__selectorsMap__;
  18. };