1 | 'use strict';
|
2 |
|
3 | var parser = require('slick').parse;
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 | function parse(text) {
|
13 | try {
|
14 | return parser(text)[0];
|
15 | } catch (e) {
|
16 | return [];
|
17 | }
|
18 | }
|
19 |
|
20 | module.exports = function (rule) {
|
21 | var i,
|
22 | j,
|
23 | subSelPseudos,
|
24 | ignoredPseudos = [ 'hover', 'active', 'focus', 'visited', 'link' ],
|
25 |
|
26 |
|
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 | };
|