Accept Type\Hexadecimal for the first parameter to uuid1()

This commit is contained in:
Ben Ramsey
2020-02-24 14:30:48 -06:00
parent ab3c89fb8e
commit fec93008bc
7 changed files with 73 additions and 14 deletions
+5
View File
@@ -20,6 +20,7 @@ use Ramsey\Uuid\Exception\RandomSourceException;
use Ramsey\Uuid\Exception\TimeSourceException;
use Ramsey\Uuid\Provider\NodeProviderInterface;
use Ramsey\Uuid\Provider\TimeProviderInterface;
use Ramsey\Uuid\Type\Hexadecimal;
use Throwable;
use function ctype_xdigit;
@@ -72,6 +73,10 @@ class DefaultTimeGenerator implements TimeGeneratorInterface
*/
public function generate($node = null, ?int $clockSeq = null): string
{
if ($node instanceof Hexadecimal) {
$node = $node->toString();
}
$node = $this->getValidNode($node);
if ($clockSeq === null) {
+4 -2
View File
@@ -14,6 +14,8 @@ declare(strict_types=1);
namespace Ramsey\Uuid\Generator;
use Ramsey\Uuid\Type\Hexadecimal;
/**
* A time generator generates strings of binary data based on a node ID,
* clock sequence, and the current time
@@ -23,8 +25,8 @@ interface TimeGeneratorInterface
/**
* Generate a binary string from a node ID, clock sequence, and current time
*
* @param int|string|null $node A 48-bit number representing the hardware
* address; this number may be represented as an integer or a
* @param Hexadecimal|int|string|null $node A 48-bit number representing the
* hardware address; this number may be represented as an integer or a
* hexadecimal string
* @param int|null $clockSeq A 14-bit number used to help avoid duplicates
* that could arise when the clock is set backwards in time or if the