private function lessc::compileValue in Less CSS Preprocessor 6
Same name and namespace in other branches
- 6.3 lessphp/lessc.inc.php \lessc::compileValue()
1 call to lessc::compileValue()
File
- ./
lessc.inc.php, line 792
Class
Code
private function compileValue($value) {
switch ($value[0]) {
case 'list':
return implode($value[1], array_map(array(
$this,
'compileValue',
), $value[2]));
case 'expression':
return $this
->compileValue($this
->evaluate($value[1], $value[2], $value[3]));
case 'variable':
$tmp = $this
->compileValue($this
->getVal($value[1], $this
->pushName($value[1])));
$this
->popName();
return $tmp;
case 'string':
// search for values inside the string
$replace = array();
if (preg_match_all('/{(@[\\w-_][0-9\\w-_]*)}/', $value[1], $m)) {
foreach ($m[1] as $name) {
if (!isset($replace[$name])) {
$replace[$name] = $this
->compileValue(array(
'variable',
$name,
));
}
}
}
foreach ($replace as $var => $val) {
$value[1] = str_replace('{' . $var . '}', $val, $value[1]);
}
return $value[1];
case 'color':
return $this
->compileColor($value);
case 'keyword':
return $value[1];
case 'number':
return $value[1];
default:
// assumed to be a unit
return $value[1] . $value[0];
}
}