1var specificity = require('./specificity'); 2 3function specificitiesOverlap(selector1, selector2, cache) { 4 var specificity1; 5 var specificity2; 6 var i, l; 7 var j, m; 8 9 for (i = 0, l = selector1.length; i < l; i++) { 10 specificity1 = findSpecificity(selector1[i][1], cache); 11 12 for (j = 0, m = selector2.length; j < m; j++) { 13 specificity2 = findSpecificity(selector2[j][1], cache); 14 15 if (specificity1[0] === specificity2[0] && specificity1[1] === specificity2[1] && specificity1[2] === specificity2[2]) { 16 return true; 17 } 18 } 19 } 20 21 return false; 22} 23 24function findSpecificity(selector, cache) { 25 var value; 26 27 if (!(selector in cache)) { 28 cache[selector] = value = specificity(selector); 29 } 30 31 return value || cache[selector]; 32} 33 34module.exports = specificitiesOverlap; 35