You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
594 B
32 lines
594 B
var MODIFIER_PATTERN = /--.+$/; |
|
|
|
function rulesOverlap(rule1, rule2, bemMode) { |
|
var scope1; |
|
var scope2; |
|
var i, l; |
|
var j, m; |
|
|
|
for (i = 0, l = rule1.length; i < l; i++) { |
|
scope1 = rule1[i][1]; |
|
|
|
for (j = 0, m = rule2.length; j < m; j++) { |
|
scope2 = rule2[j][1]; |
|
|
|
if (scope1 == scope2) { |
|
return true; |
|
} |
|
|
|
if (bemMode && withoutModifiers(scope1) == withoutModifiers(scope2)) { |
|
return true; |
|
} |
|
} |
|
} |
|
|
|
return false; |
|
} |
|
|
|
function withoutModifiers(scope) { |
|
return scope.replace(MODIFIER_PATTERN, ''); |
|
} |
|
|
|
module.exports = rulesOverlap;
|
|
|