@quarkly/atomize
Version:
Library for creating atomic react components
33 lines (26 loc) • 711 B
JavaScript
var splitCSSRule = function splitCSSRule(rule, separator) {
if (separator === void 0) {
separator = ',';
}
var stack = [];
if (typeof rule !== 'string') return [rule];
try {
return rule.split('').reduce(function (result, _char) {
if (_char === '(') stack.push(_char);
if (_char === ')') {
if (stack[stack.length - 1] !== '(') {
throw Error('value is not valid');
}
stack.pop();
}
if (_char === separator && stack.length === 0) {
return [].concat(result, ['']);
}
result[result.length - 1] += _char;
return result;
}, ['']);
} catch (error) {
return [rule];
}
};
export default splitCSSRule;