PluginProbe
WCPOS – Point of Sale (POS) plugin for WooCommerce / 1.10.21
WCPOS – Point of Sale (POS) plugin for WooCommerce v1.10.21
1.10.25 1.10.24 1.10.23 1.10.22 1.10.21 1.10.20 1.10.19 1.10.18 1.10.17 1.10.16 1.10.15 1.10.13 1.10.14 1.10.12 1.10.11 1.10.10 1.10.9 1.10.8 untagged-3d9b7ccddc54df87c672 1.10.7 1.10.6 1.10.5 1.10.3 1.10.4 1.10.2 All 169 releases
woocommerce-pos / vendor / ramsey / uuid / src / Converter / Number / GenericNumberConverter.php

GenericNumberConverter.php in WCPOS – Point of Sale (POS) plugin for WooCommerce 1.10.21, at vendor/ramsey/uuid/src/Converter/Number/GenericNumberConverter.php

64 lines 1.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * This file is part of the ramsey/uuid library
5 *
6 * For the full copyright and license information, please view the LICENSE
7 * file that was distributed with this source code.
8 *
9 * @copyright Copyright (c) Ben Ramsey <[email protected]>
10 * @license http://opensource.org/licenses/MIT MIT
11 */
12
13 declare(strict_types=1);
14
15 namespace Ramsey\Uuid\Converter\Number;
16
17 use Ramsey\Uuid\Converter\NumberConverterInterface;
18 use Ramsey\Uuid\Math\CalculatorInterface;
19 use Ramsey\Uuid\Type\Integer as IntegerObject;
20
21 /**
22 * GenericNumberConverter uses the provided calculator to convert decimal
23 * numbers to and from hexadecimal values
24 *
25 * @psalm-immutable
26 */
27 class GenericNumberConverter implements NumberConverterInterface
28 {
29 /**
30 * @var CalculatorInterface
31 */
32 private $calculator;
33
34 public function __construct(CalculatorInterface $calculator)
35 {
36 $this->calculator = $calculator;
37 }
38
39 /**
40 * @inheritDoc
41 * @psalm-pure
42 * @psalm-return numeric-string
43 * @psalm-suppress MoreSpecificReturnType we know that the retrieved `string` is never empty
44 * @psalm-suppress LessSpecificReturnStatement we know that the retrieved `string` is never empty
45 */
46 public function fromHex(string $hex): string
47 {
48 return $this->calculator->fromBase($hex, 16)->toString();
49 }
50
51 /**
52 * @inheritDoc
53 * @psalm-pure
54 * @psalm-return non-empty-string
55 * @psalm-suppress MoreSpecificReturnType we know that the retrieved `string` is never empty
56 * @psalm-suppress LessSpecificReturnStatement we know that the retrieved `string` is never empty
57 */
58 public function toHex(string $number): string
59 {
60 /** @phpstan-ignore-next-line PHPStan complains that this is not a non-empty-string. */
61 return $this->calculator->toBase(new IntegerObject($number), 16);
62 }
63 }
64