UNPKG

css-flatten

Version:

Flattens a nested (S)CSS string, '&' placeholders are supported too.

32 lines (31 loc) 1.05 kB
/* MAIN */ const Resolve = { ampersand: (resolved, selector, parents) => { for (let pi = 0, pl = parents.length; pi < pl; pi++) { const temp = selector.replace('&', parents[pi]); if (temp.indexOf('&') >= 0) { // Ampersand selector Resolve.ampersand(resolved, temp, parents); } else { // Regular selector resolved.push(temp); } } }, selectors: (selectors, parents) => { const resolved = []; for (let i = 0, l = selectors.length; i < l; i++) { const selector = selectors[i]; if (selector.indexOf('&') >= 0) { // Ampersand selector Resolve.ampersand(resolved, selector, parents); } else { // Regular selector for (let pi = 0, pl = parents.length; pi < pl; pi++) { resolved.push(`${parents[pi]} ${selector}`); } } } return resolved; } }; /* EXPORT */ export default Resolve;