From b7991746af1b5e8cd08f971024000402e157a98d Mon Sep 17 00:00:00 2001 From: abmmhasan Date: Sat, 8 Jun 2024 19:52:27 +0600 Subject: [PATCH] v1 fix --- rector.php | 38 +++++++++++++++++++------------------- src/UUID.php | 10 ++++------ 2 files changed, 23 insertions(+), 25 deletions(-) diff --git a/rector.php b/rector.php index c0719af..4586bff 100644 --- a/rector.php +++ b/rector.php @@ -1,19 +1,19 @@ -paths([ - __DIR__ . '/src' - ]); - $rectorConfig->sets([ - constant("Rector\Set\ValueObject\LevelSetList::UP_TO_PHP_82") - ]); - $rectorConfig->skip([ - StringClassNameToClassConstantRector::class - ]); -}; +paths([ + __DIR__ . '/src' + ]); + $rectorConfig->sets([ + constant("Rector\Set\ValueObject\LevelSetList::UP_TO_PHP_82") + ]); + $rectorConfig->skip([ + StringClassNameToClassConstantRector::class + ]); +}; diff --git a/src/UUID.php b/src/UUID.php index f79436c..99a089b 100644 --- a/src/UUID.php +++ b/src/UUID.php @@ -49,15 +49,13 @@ final class UUID public static function v1(string $node = null): string { [$unixTs, $subSec] = self::getUnixTimeSubSec(); - $time = $unixTs . $subSec; - $time = str_pad(dechex((int)$time + self::$timeOffset), 16, '0', STR_PAD_LEFT); - $clockSeq = random_int(0, 0x3fff); + $time = str_pad(dechex((int)($unixTs . $subSec) + self::$timeOffset), 16, '0', STR_PAD_LEFT); return sprintf( '%08s-%04s-1%03s-%04x-%012s', substr($time, -8), substr($time, -12, 4), substr($time, -15, 3), - $clockSeq | 0x8000, + random_int(0, 0x3fff) & 0x3fff | 0x8000, $node ?? self::getNode() ); } @@ -323,8 +321,8 @@ private static function getTime(array $uuid, int $version): DateTimeInterface private static function getUnixTimeSubSec(int $version = 1): array { $timestamp = microtime(); - $unixTs = (int)substr($timestamp, 11); - $subSec = (int)substr($timestamp, 2, 7); + $unixTs = substr($timestamp, 11); + $subSec = substr($timestamp, 2, 7); if ($version === 1) { return [$unixTs, $subSec]; }