react-scoped-styles
Version:
Scoped styles for React components
23 lines (22 loc) • 992 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getInclude = void 0;
const getInclude = (context) => {
const { include = [], exclude = [] } = context.getOptions();
const shouldTestInclude = !!include.length;
const shouldTestExclude = !!exclude.length;
const includeRegex = shouldTestInclude && new RegExp(`^(${include.join('|')})-`);
const excludeRegex = shouldTestExclude && new RegExp(`^(${exclude.join('|')})-`);
return (className, dirHash) => {
const shouldModify = shouldTestInclude ?
includeRegex.test(className) :
shouldTestExclude ? !excludeRegex.test(className) : true;
const uniqueClassName = !shouldModify ?
null :
shouldTestInclude ?
`${className.replace(includeRegex, '_' + dirHash + '-')}` :
`${className}-${dirHash}`;
return shouldModify ? uniqueClassName : className;
};
};
exports.getInclude = getInclude;