|
1 | 1 | module.exports = function resolveNestedSelector(selector, node) {
|
2 |
| - var parent = node.parent; |
3 |
| - var parentIsNestAtRule = parent.type === 'atrule' && parent.name === 'nest'; |
| 2 | + var parent = node.parent; |
| 3 | + var parentIsNestAtRule = parent.type === 'atrule' && parent.name === 'nest'; |
4 | 4 |
|
5 |
| - if (parent.type === 'root') return [selector]; |
6 |
| - if (parent.type !== 'rule' && !parentIsNestAtRule) return resolveNestedSelector(selector, parent); |
| 5 | + if (parent.type === 'root') return [selector]; |
| 6 | + if (parent.type !== 'rule' && !parentIsNestAtRule) return resolveNestedSelector(selector, parent); |
7 | 7 |
|
8 |
| - var parentSelectors = (parentIsNestAtRule) |
9 |
| - ? parent.params.split(',').map(function(s) { return s.trim(); }) |
10 |
| - : parent.selectors; |
| 8 | + var parentSelectors = (parentIsNestAtRule) |
| 9 | + ? parent.params.split(',').map(function(s) { return s.trim(); }) |
| 10 | + : parent.selectors; |
11 | 11 |
|
12 |
| - var resolvedSelectors = parentSelectors.reduce(function(result, parentSelector) { |
13 |
| - if (selector.indexOf('&') !== -1) { |
14 |
| - var newlyResolvedSelectors = resolveNestedSelector(parentSelector, parent).map(function(resolvedParentSelector) { |
15 |
| - return selector.replace(/&/g, resolvedParentSelector); |
16 |
| - }); |
17 |
| - return result.concat(newlyResolvedSelectors); |
18 |
| - } |
| 12 | + var resolvedSelectors = parentSelectors.reduce(function(result, parentSelector) { |
| 13 | + if (selector.indexOf('&') !== -1) { |
| 14 | + var newlyResolvedSelectors = resolveNestedSelector(parentSelector, parent).map(function(resolvedParentSelector) { |
| 15 | + return selector.replace(/&/g, resolvedParentSelector); |
| 16 | + }); |
| 17 | + return result.concat(newlyResolvedSelectors); |
| 18 | + } |
19 | 19 |
|
20 |
| - var combinedSelector = [ parentSelector, selector ].join(' '); |
21 |
| - return result.concat(resolveNestedSelector(combinedSelector, parent)); |
22 |
| - }, []); |
| 20 | + var combinedSelector = [ parentSelector, selector ].join(' '); |
| 21 | + return result.concat(resolveNestedSelector(combinedSelector, parent)); |
| 22 | + }, []); |
23 | 23 |
|
24 |
| - return resolvedSelectors; |
| 24 | + return resolvedSelectors; |
25 | 25 | }
|
0 commit comments