Leafo\ScssPhp\Compiler::multiplyMedia PHP Method

multiplyMedia() protected method

Multiply media
protected multiplyMedia ( Leafo\ScssPhp\Compiler\Environment $env = null, array $childQueries = null ) : array
$env Leafo\ScssPhp\Compiler\Environment
$childQueries array
return array
    protected function multiplyMedia(Environment $env = null, $childQueries = null)
    {
        if (!isset($env) || !empty($env->block->type) && $env->block->type !== Type::T_MEDIA) {
            return $childQueries;
        }
        // plain old block, skip
        if (empty($env->block->type)) {
            return $this->multiplyMedia($env->parent, $childQueries);
        }
        $parentQueries = isset($env->block->queryList) ? $env->block->queryList : [[[Type::T_MEDIA_VALUE, $env->block->value]]];
        if ($childQueries === null) {
            $childQueries = $parentQueries;
        } else {
            $originalQueries = $childQueries;
            $childQueries = [];
            foreach ($parentQueries as $parentQuery) {
                foreach ($originalQueries as $childQuery) {
                    $childQueries[] = array_merge($parentQuery, $childQuery);
                }
            }
        }
        return $this->multiplyMedia($env->parent, $childQueries);
    }
Compiler