Number.php 731 B

12345678910111213141516171819202122232425262728
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Data\Argument\Interpreter;
  7. use Magento\Framework\Data\Argument\InterpreterInterface;
  8. /**
  9. * Interpreter of numeric data, such as integer, float, or numeric string
  10. */
  11. class Number implements InterpreterInterface
  12. {
  13. /**
  14. * {@inheritdoc}
  15. * @return string|int|float
  16. * @throws \InvalidArgumentException
  17. */
  18. public function evaluate(array $data)
  19. {
  20. if (!isset($data['value']) || !is_numeric($data['value'])) {
  21. throw new \InvalidArgumentException('Numeric value is expected.');
  22. }
  23. $result = $data['value'];
  24. return $result;
  25. }
  26. }