UNPKG

920 BJavaScriptView Raw
1'use strict';
2
3var parser = require('slick').parse;
4
5/**
6* Parses a selector and returns the tokens.
7*
8* @param {String} selector
9* @api private.
10*/
11
12function parse(text) {
13 try {
14 return parser(text)[0];
15 } catch (e) {
16 return [];
17 }
18}
19
20module.exports = function (rule) {
21 var i,
22 j,
23 subSelPseudos,
24 ignoredPseudos = [ 'hover', 'active', 'focus', 'visited', 'link' ],
25
26 // skip rule if the selector has any pseudos which are ignored
27 parsedSelector = parse(rule[0]);
28
29 for (i = 0; i < parsedSelector.length; ++i) {
30 subSelPseudos = parsedSelector[i].pseudos;
31
32 if (subSelPseudos) {
33 for (j = 0; j < subSelPseudos.length; ++j) {
34 if (ignoredPseudos.indexOf(subSelPseudos[j].name) >= 0) {
35 return true;
36 }
37 }
38 } else {
39 return false;
40 }
41 }
42};