PluginProbe ʕ •ᴥ•ʔ
ShareThis Dashboard for Google Analytics / 3.0.0
ShareThis Dashboard for Google Analytics v3.0.0
3.3.2 trunk 1.0.7 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2.5 2.3.5 2.3.6 2.3.7 2.3.8 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 3.0.0 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.3.0 3.3.1
googleanalytics / lib / analytics-admin / vendor / ramsey / uuid / src / Converter / Number / GenericNumberConverter.php
googleanalytics / lib / analytics-admin / vendor / ramsey / uuid / src / Converter / Number Last commit date
BigNumberConverter.php 3 years ago DegradedNumberConverter.php 3 years ago GenericNumberConverter.php 3 years ago
GenericNumberConverter.php
64 lines
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 <ben@benramsey.com>
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