UNPKG

@quarkly/atomize

Version:

Library for creating atomic react components

33 lines (26 loc) 711 B
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;