123456789101112131415161718192021222324252627282930313233343536373839404142 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Framework\Data\Argument\Interpreter;
- use Magento\Framework\Data\Argument\InterpreterInterface;
- use Magento\Framework\Stdlib\BooleanUtils;
- /**
- * Interpreter of boolean data type, such as boolean itself or boolean string
- */
- class Boolean implements InterpreterInterface
- {
- /**
- * @var BooleanUtils
- */
- private $booleanUtils;
- /**
- * @param BooleanUtils $booleanUtils
- */
- public function __construct(BooleanUtils $booleanUtils)
- {
- $this->booleanUtils = $booleanUtils;
- }
- /**
- * {@inheritdoc}
- * @return bool
- * @throws \InvalidArgumentException
- */
- public function evaluate(array $data)
- {
- if (!isset($data['value'])) {
- throw new \InvalidArgumentException('Boolean value is missing.');
- }
- $value = $data['value'];
- return $this->booleanUtils->toBoolean($value);
- }
- }
|