Leafo\ScssPhp\Compiler::joinSelectors PHP Method

joinSelectors() protected method

Join selectors; looks for & to replace, or append parent before child
protected joinSelectors ( array $parent, array $child ) : array
$parent array
$child array
return array
    protected function joinSelectors($parent, $child)
    {
        $setSelf = false;
        $out = [];
        foreach ($child as $part) {
            $newPart = [];
            foreach ($part as $p) {
                if ($p === static::$selfSelector) {
                    $setSelf = true;
                    foreach ($parent as $i => $parentPart) {
                        if ($i > 0) {
                            $out[] = $newPart;
                            $newPart = [];
                        }
                        foreach ($parentPart as $pp) {
                            $newPart[] = $pp;
                        }
                    }
                } else {
                    $newPart[] = $p;
                }
            }
            $out[] = $newPart;
        }
        return $setSelf ? $out : array_merge($parent, $child);
    }
Compiler