postcss-autoreset
Version:
PostCSS plugin for partial styles reset
29 lines (24 loc) • 561 B
JavaScript
/**
* Demo - https://regex101.com/r/AA4xaq/3
*/
const suitRegex = /^\.(?:[a-z0-9]*-)?[A-Z](?:[a-zA-Z0-9]+)(?:-[a-zA-Z0-9]+)?$/;
const matchers = {
bem({ selector }) {
return !selector.match(/(--|:)/);
},
suit({ selector }) {
return selector.charAt(0) === "." && suitRegex.test(selector);
},
};
module.exports = function getRulesMatcher(value = "bem") {
if (typeof value === "function") {
return value;
}
switch (value) {
case "suit":
return matchers.suit;
case "bem":
default:
return matchers.bem;
}
};