AutorÃa | Ultima modificación | Ver Log |
<?php/*** SCSSPHP** @copyright 2012-2020 Leaf Corcoran** @license http://opensource.org/licenses/MIT MIT** @link http://scssphp.github.io/scssphp*/namespace ScssPhp\ScssPhp;use ScssPhp\ScssPhp\Node\Number;final class ValueConverter{// Prevent instantiating itprivate function __construct(){}/*** Parses a value from a Scss source string.** The returned value is guaranteed to be supported by the* Compiler methods for registering custom variables. No other* guarantee about it is provided. It should be considered* opaque values by the caller.** @param string $source** @return mixed*/public static function parseValue($source){$parser = new Parser(__CLASS__);if (!$parser->parseValue($source, $value)) {throw new \InvalidArgumentException(sprintf('Invalid value source "%s".', $source));}return $value;}/*** Converts a PHP value to a Sass value** The returned value is guaranteed to be supported by the* Compiler methods for registering custom variables. No other* guarantee about it is provided. It should be considered* opaque values by the caller.** @param mixed $value** @return mixed*/public static function fromPhp($value){if ($value instanceof Number) {return $value;}if (is_array($value) && isset($value[0]) && \in_array($value[0], [Type::T_NULL, Type::T_COLOR, Type::T_KEYWORD, Type::T_LIST, Type::T_MAP, Type::T_STRING])) {return $value;}if ($value === null) {return Compiler::$null;}if ($value === true) {return Compiler::$true;}if ($value === false) {return Compiler::$false;}if ($value === '') {return Compiler::$emptyString;}if (\is_int($value) || \is_float($value)) {return new Number($value, '');}if (\is_string($value)) {return [Type::T_STRING, '"', [$value]];}throw new \InvalidArgumentException(sprintf('Cannot convert the value of type "%s" to a Sass value.', gettype($value)));}}