%PDF- %PDF-
Direktori : /home/q/g/b/qgbqkvz/www/wp-content/plugins/wp-scss/scssphp/src/Value/ |
Current File : /home/q/g/b/qgbqkvz/www/wp-content/plugins/wp-scss/scssphp/src/Value/SassBoolean.php |
<?php /** * SCSSPHP * * @copyright 2012-2020 Leaf Corcoran * * @license http://opensource.org/licenses/MIT MIT * * @link http://scssphp.github.io/scssphp */ namespace ScssPhp\ScssPhp\Value; use ScssPhp\ScssPhp\Visitor\ValueVisitor; /** * A SassScript boolean value. */ final class SassBoolean extends Value { /** * @var SassBoolean|null */ private static $trueInstance; /** * @var SassBoolean|null */ private static $falseInstance; /** * @var bool * @readonly */ private $value; public static function create(bool $value): SassBoolean { if ($value) { if (self::$trueInstance === null) { self::$trueInstance = new self(true); } return self::$trueInstance; } if (self::$falseInstance === null) { self::$falseInstance = new self(false); } return self::$falseInstance; } private function __construct(bool $value) { $this->value = $value; } public function getValue(): bool { return $this->value; } public function isTruthy(): bool { return $this->value; } public function accept(ValueVisitor $visitor) { return $visitor->visitBoolean($this); } public function assertBoolean(?string $name = null): SassBoolean { return $this; } public function unaryNot(): Value { return self::create(!$this->value); } public function equals(object $other): bool { if (!$other instanceof SassBoolean) { return false; } return $this->value === $other->value; } }