You are here

public function SassImportNode::parse in Sassy 7

Same name and namespace in other branches
  1. 7.3 phpsass/tree/SassImportNode.php \SassImportNode::parse()

* Parse this node. * If the node is a CSS import return the CSS import rule. * Else returns the rendered tree for the file. *

Parameters

SassContext the context in which this node is parsed: * @return array the parsed node

File

phamlp/sass/tree/SassImportNode.php, line 49

Class

SassImportNode
SassImportNode class. Represents a CSS Import. @package PHamlP @subpackage Sass.tree

Code

public function parse($context) {
  $imported = array();
  foreach ($this->files as $file) {
    if (preg_match(self::MATCH_CSS, $file)) {
      return "@import {$file}";
    }
    else {
      $file = trim($file, '\'"');
      $tree = SassFile::getTree(SassFile::getFile($file, $this->parser), $this->parser);
      if (empty($tree)) {
        throw new SassImportNodeException('Unable to create document tree for {file}', array(
          '{file}' => $file,
        ), $this);
      }
      else {
        $imported = array_merge($imported, $tree
          ->parse($context)->children);
      }
    }
  }
  return $imported;
}