1 | const parser = require('slick').parse;
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 | function parse(text) {
|
11 | try {
|
12 | return parser(text)[0];
|
13 | } catch (e) {
|
14 | return [];
|
15 | }
|
16 | }
|
17 |
|
18 | module.exports = rule => {
|
19 | let i;
|
20 | let j;
|
21 | let subSelPseudos;
|
22 | const ignoredPseudos = [ 'hover', 'active', 'focus', 'visited', 'link' ];
|
23 |
|
24 |
|
25 | const parsedSelector = parse(rule[0]);
|
26 |
|
27 | for (i = 0; i < parsedSelector.length; ++i) {
|
28 | subSelPseudos = parsedSelector[i].pseudos;
|
29 |
|
30 | if (subSelPseudos) {
|
31 | for (j = 0; j < subSelPseudos.length; ++j) {
|
32 | if (ignoredPseudos.indexOf(subSelPseudos[j].name) >= 0) {
|
33 | return true;
|
34 | }
|
35 | }
|
36 | } else {
|
37 | return false;
|
38 | }
|
39 | }
|
40 | };
|