mirror of
https://github.com/ramsey/uuid.git
synced 2026-06-17 16:26:51 +03:00
Deprecate BigNumberConverter and BigNumberTimeConverter
This commit is contained in:
+31
-21
@@ -21,12 +21,12 @@ use Ramsey\Uuid\Builder\UuidBuilderInterface;
|
||||
use Ramsey\Uuid\Codec\CodecInterface;
|
||||
use Ramsey\Uuid\Codec\GuidStringCodec;
|
||||
use Ramsey\Uuid\Codec\StringCodec;
|
||||
use Ramsey\Uuid\Converter\Number\BigNumberConverter;
|
||||
use Ramsey\Uuid\Converter\Number\DegradedNumberConverter;
|
||||
use Ramsey\Uuid\Converter\Number\GenericNumberConverter;
|
||||
use Ramsey\Uuid\Converter\Number\GmpConverter;
|
||||
use Ramsey\Uuid\Converter\NumberConverterInterface;
|
||||
use Ramsey\Uuid\Converter\Time\BigNumberTimeConverter;
|
||||
use Ramsey\Uuid\Converter\Time\DegradedTimeConverter;
|
||||
use Ramsey\Uuid\Converter\Time\GenericTimeConverter;
|
||||
use Ramsey\Uuid\Converter\Time\GmpTimeConverter;
|
||||
use Ramsey\Uuid\Converter\Time\PhpTimeConverter;
|
||||
use Ramsey\Uuid\Converter\TimeConverterInterface;
|
||||
@@ -38,6 +38,8 @@ use Ramsey\Uuid\Generator\TimeGeneratorInterface;
|
||||
use Ramsey\Uuid\Guid\DegradedGuidBuilder;
|
||||
use Ramsey\Uuid\Guid\GuidBuilder;
|
||||
use Ramsey\Uuid\Nonstandard\DegradedUuidBuilder as NonstandardDegradedUuidBuilder;
|
||||
use Ramsey\Uuid\Math\BrickMathCalculator;
|
||||
use Ramsey\Uuid\Math\CalculatorInterface;
|
||||
use Ramsey\Uuid\Nonstandard\UuidBuilder as NonstandardUuidBuilder;
|
||||
use Ramsey\Uuid\Provider\Node\FallbackNodeProvider;
|
||||
use Ramsey\Uuid\Provider\Node\RandomNodeProvider;
|
||||
@@ -121,6 +123,11 @@ class FeatureSet
|
||||
*/
|
||||
private $validator;
|
||||
|
||||
/**
|
||||
* @var CalculatorInterface
|
||||
*/
|
||||
private $calculator;
|
||||
|
||||
/**
|
||||
* @param bool $useGuids True build UUIDs using the GuidStringCodec
|
||||
* @param bool $force32Bit True to force the use of 32-bit functionality
|
||||
@@ -148,6 +155,7 @@ class FeatureSet
|
||||
$this->ignoreSystemNode = $ignoreSystemNode;
|
||||
$this->enablePecl = $enablePecl;
|
||||
|
||||
$this->calculator = new BrickMathCalculator();
|
||||
$this->numberConverter = $this->buildNumberConverter();
|
||||
$this->timeConverter = $this->buildTimeConverter();
|
||||
$this->builder = $this->buildUuidBuilder($useGuids);
|
||||
@@ -166,6 +174,14 @@ class FeatureSet
|
||||
return $this->builder;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the calculator configured for this environment
|
||||
*/
|
||||
public function getCalculator(): CalculatorInterface
|
||||
{
|
||||
return $this->calculator;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the codec configured for this environment
|
||||
*/
|
||||
@@ -214,6 +230,14 @@ class FeatureSet
|
||||
return $this->validator;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the calculator to use in this environment
|
||||
*/
|
||||
public function setCalculator(CalculatorInterface $calculator): void
|
||||
{
|
||||
$this->calculator = $calculator;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the time provider to use in this environment
|
||||
*/
|
||||
@@ -264,15 +288,7 @@ class FeatureSet
|
||||
*/
|
||||
private function buildNumberConverter(): NumberConverterInterface
|
||||
{
|
||||
if ($this->hasGmp()) {
|
||||
return new GmpConverter();
|
||||
}
|
||||
|
||||
if ($this->hasBigNumber()) {
|
||||
return new BigNumberConverter();
|
||||
}
|
||||
|
||||
return new DegradedNumberConverter();
|
||||
return new GenericNumberConverter($this->getCalculator());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -307,19 +323,13 @@ class FeatureSet
|
||||
*/
|
||||
private function buildTimeConverter(): TimeConverterInterface
|
||||
{
|
||||
$genericConverter = new GenericTimeConverter($this->getCalculator());
|
||||
|
||||
if ($this->is64BitSystem()) {
|
||||
return new PhpTimeConverter();
|
||||
return new PhpTimeConverter($genericConverter);
|
||||
}
|
||||
|
||||
if ($this->hasGmp()) {
|
||||
return new GmpTimeConverter();
|
||||
}
|
||||
|
||||
if ($this->hasBigNumber()) {
|
||||
return new BigNumberTimeConverter();
|
||||
}
|
||||
|
||||
return new DegradedTimeConverter();
|
||||
return $genericConverter;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user