Aggiornato Composer
This commit is contained in:
@@ -61,22 +61,10 @@ class CombGenerator implements RandomGeneratorInterface
|
||||
{
|
||||
public const TIMESTAMP_BYTES = 6;
|
||||
|
||||
/**
|
||||
* @var RandomGeneratorInterface
|
||||
*/
|
||||
private $randomGenerator;
|
||||
|
||||
/**
|
||||
* @var NumberConverterInterface
|
||||
*/
|
||||
private $converter;
|
||||
|
||||
public function __construct(
|
||||
RandomGeneratorInterface $generator,
|
||||
NumberConverterInterface $numberConverter
|
||||
private RandomGeneratorInterface $generator,
|
||||
private NumberConverterInterface $numberConverter
|
||||
) {
|
||||
$this->converter = $numberConverter;
|
||||
$this->randomGenerator = $generator;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -95,11 +83,11 @@ class CombGenerator implements RandomGeneratorInterface
|
||||
|
||||
$hash = '';
|
||||
if (self::TIMESTAMP_BYTES > 0 && $length > self::TIMESTAMP_BYTES) {
|
||||
$hash = $this->randomGenerator->generate($length - self::TIMESTAMP_BYTES);
|
||||
$hash = $this->generator->generate($length - self::TIMESTAMP_BYTES);
|
||||
}
|
||||
|
||||
$lsbTime = str_pad(
|
||||
$this->converter->toHex($this->timestamp()),
|
||||
$this->numberConverter->toHex($this->timestamp()),
|
||||
self::TIMESTAMP_BYTES * 2,
|
||||
'0',
|
||||
STR_PAD_LEFT
|
||||
|
||||
@@ -52,29 +52,11 @@ class DceSecurityGenerator implements DceSecurityGeneratorInterface
|
||||
*/
|
||||
private const CLOCK_SEQ_LOW = 0;
|
||||
|
||||
/**
|
||||
* @var NumberConverterInterface
|
||||
*/
|
||||
private $numberConverter;
|
||||
|
||||
/**
|
||||
* @var TimeGeneratorInterface
|
||||
*/
|
||||
private $timeGenerator;
|
||||
|
||||
/**
|
||||
* @var DceSecurityProviderInterface
|
||||
*/
|
||||
private $dceSecurityProvider;
|
||||
|
||||
public function __construct(
|
||||
NumberConverterInterface $numberConverter,
|
||||
TimeGeneratorInterface $timeGenerator,
|
||||
DceSecurityProviderInterface $dceSecurityProvider
|
||||
private NumberConverterInterface $numberConverter,
|
||||
private TimeGeneratorInterface $timeGenerator,
|
||||
private DceSecurityProviderInterface $dceSecurityProvider
|
||||
) {
|
||||
$this->numberConverter = $numberConverter;
|
||||
$this->timeGenerator = $timeGenerator;
|
||||
$this->dceSecurityProvider = $dceSecurityProvider;
|
||||
}
|
||||
|
||||
public function generate(
|
||||
@@ -153,8 +135,7 @@ class DceSecurityGenerator implements DceSecurityGeneratorInterface
|
||||
|
||||
// Replace bytes in the time-based UUID with DCE Security values.
|
||||
$bytes = substr_replace($bytes, $identifierBytes, 0, 4);
|
||||
$bytes = substr_replace($bytes, $domainByte, 9, 1);
|
||||
|
||||
return $bytes;
|
||||
return substr_replace($bytes, $domainByte, 9, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,11 +23,11 @@ use Ramsey\Uuid\Provider\TimeProviderInterface;
|
||||
use Ramsey\Uuid\Type\Hexadecimal;
|
||||
use Throwable;
|
||||
|
||||
use function ctype_xdigit;
|
||||
use function dechex;
|
||||
use function hex2bin;
|
||||
use function is_int;
|
||||
use function pack;
|
||||
use function preg_match;
|
||||
use function sprintf;
|
||||
use function str_pad;
|
||||
use function strlen;
|
||||
@@ -40,29 +40,11 @@ use const STR_PAD_LEFT;
|
||||
*/
|
||||
class DefaultTimeGenerator implements TimeGeneratorInterface
|
||||
{
|
||||
/**
|
||||
* @var NodeProviderInterface
|
||||
*/
|
||||
private $nodeProvider;
|
||||
|
||||
/**
|
||||
* @var TimeConverterInterface
|
||||
*/
|
||||
private $timeConverter;
|
||||
|
||||
/**
|
||||
* @var TimeProviderInterface
|
||||
*/
|
||||
private $timeProvider;
|
||||
|
||||
public function __construct(
|
||||
NodeProviderInterface $nodeProvider,
|
||||
TimeConverterInterface $timeConverter,
|
||||
TimeProviderInterface $timeProvider
|
||||
private NodeProviderInterface $nodeProvider,
|
||||
private TimeConverterInterface $timeConverter,
|
||||
private TimeProviderInterface $timeProvider
|
||||
) {
|
||||
$this->nodeProvider = $nodeProvider;
|
||||
$this->timeConverter = $timeConverter;
|
||||
$this->timeProvider = $timeProvider;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -121,13 +103,13 @@ class DefaultTimeGenerator implements TimeGeneratorInterface
|
||||
* Uses the node provider given when constructing this instance to get
|
||||
* the node ID (usually a MAC address)
|
||||
*
|
||||
* @param string|int|null $node A node value that may be used to override the node provider
|
||||
* @param int|string|null $node A node value that may be used to override the node provider
|
||||
*
|
||||
* @return string 6-byte binary string representation of the node
|
||||
*
|
||||
* @throws InvalidArgumentException
|
||||
*/
|
||||
private function getValidNode($node): string
|
||||
private function getValidNode(int | string | null $node): string
|
||||
{
|
||||
if ($node === null) {
|
||||
$node = $this->nodeProvider->getNode();
|
||||
@@ -138,7 +120,7 @@ class DefaultTimeGenerator implements TimeGeneratorInterface
|
||||
$node = dechex($node);
|
||||
}
|
||||
|
||||
if (!ctype_xdigit((string) $node) || strlen((string) $node) > 12) {
|
||||
if (!preg_match('/^[A-Fa-f0-9]+$/', (string) $node) || strlen((string) $node) > 12) {
|
||||
throw new InvalidArgumentException('Invalid node value');
|
||||
}
|
||||
|
||||
|
||||
@@ -33,21 +33,16 @@ class PeclUuidNameGenerator implements NameGeneratorInterface
|
||||
/** @psalm-pure */
|
||||
public function generate(UuidInterface $ns, string $name, string $hashAlgorithm): string
|
||||
{
|
||||
switch ($hashAlgorithm) {
|
||||
case 'md5':
|
||||
$uuid = uuid_generate_md5($ns->toString(), $name);
|
||||
|
||||
break;
|
||||
case 'sha1':
|
||||
$uuid = uuid_generate_sha1($ns->toString(), $name);
|
||||
|
||||
break;
|
||||
default:
|
||||
throw new NameException(sprintf(
|
||||
$uuid = match ($hashAlgorithm) {
|
||||
'md5' => uuid_generate_md5($ns->toString(), $name),
|
||||
'sha1' => uuid_generate_sha1($ns->toString(), $name),
|
||||
default => throw new NameException(
|
||||
sprintf(
|
||||
'Unable to hash namespace and name with algorithm \'%s\'',
|
||||
$hashAlgorithm
|
||||
));
|
||||
}
|
||||
)
|
||||
),
|
||||
};
|
||||
|
||||
return uuid_parse($uuid);
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ interface RandomGeneratorInterface
|
||||
/**
|
||||
* Generates a string of randomized binary data
|
||||
*
|
||||
* @param int $length The number of bytes of random binary data to generate
|
||||
* @param int<1, max> $length The number of bytes of random binary data to generate
|
||||
*
|
||||
* @return string A binary string
|
||||
*/
|
||||
|
||||
@@ -29,10 +29,7 @@ use RandomLib\Generator;
|
||||
*/
|
||||
class RandomLibAdapter implements RandomGeneratorInterface
|
||||
{
|
||||
/**
|
||||
* @var Generator
|
||||
*/
|
||||
private $generator;
|
||||
private Generator $generator;
|
||||
|
||||
/**
|
||||
* Constructs a RandomLibAdapter
|
||||
|
||||
@@ -24,29 +24,11 @@ use Ramsey\Uuid\Provider\TimeProviderInterface;
|
||||
*/
|
||||
class TimeGeneratorFactory
|
||||
{
|
||||
/**
|
||||
* @var NodeProviderInterface
|
||||
*/
|
||||
private $nodeProvider;
|
||||
|
||||
/**
|
||||
* @var TimeConverterInterface
|
||||
*/
|
||||
private $timeConverter;
|
||||
|
||||
/**
|
||||
* @var TimeProviderInterface
|
||||
*/
|
||||
private $timeProvider;
|
||||
|
||||
public function __construct(
|
||||
NodeProviderInterface $nodeProvider,
|
||||
TimeConverterInterface $timeConverter,
|
||||
TimeProviderInterface $timeProvider
|
||||
private NodeProviderInterface $nodeProvider,
|
||||
private TimeConverterInterface $timeConverter,
|
||||
private TimeProviderInterface $timeProvider
|
||||
) {
|
||||
$this->nodeProvider = $nodeProvider;
|
||||
$this->timeConverter = $timeConverter;
|
||||
$this->timeProvider = $timeProvider;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user