mirror of
https://github.com/ramsey/uuid.git
synced 2026-06-14 15:56:48 +03:00
Merge branch 'main' into dependabot/github_actions/actions/checkout-3
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
/build/ export-ignore
|
||||
/captainhook.json export-ignore
|
||||
/CHANGELOG.md export-ignore
|
||||
/composer.lock export-ignore
|
||||
/codecov.yml export-ignore
|
||||
/CODE_OF_CONDUCT.md export-ignore
|
||||
/CONTRIBUTING.md export-ignore
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "composer"
|
||||
allow:
|
||||
- dependency-type: all
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "monthly"
|
||||
|
||||
@@ -60,9 +60,6 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
php-version:
|
||||
- "7.2"
|
||||
- "7.3"
|
||||
- "7.4"
|
||||
- "8.0"
|
||||
- "8.1"
|
||||
|
||||
@@ -128,9 +125,6 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
php-version:
|
||||
- "7.2"
|
||||
- "7.3"
|
||||
- "7.4"
|
||||
- "8.0"
|
||||
- "8.1"
|
||||
operating-system:
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
# See https://github.com/ridedott/merge-me-action/
|
||||
# This workflow automates merges from patches sent by Dependabot, and
|
||||
# only by dependabot, once the other CI workflows pass
|
||||
name: Auto-merge Dependabot PRs
|
||||
|
||||
on:
|
||||
workflow_run:
|
||||
types:
|
||||
- completed
|
||||
workflows:
|
||||
- "build"
|
||||
|
||||
jobs:
|
||||
merge-me:
|
||||
name: Auto-merge Dependabot PRs
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Auto-Merge
|
||||
if: ${{ github.event.workflow_run.conclusion == 'success' }}
|
||||
uses: ridedott/merge-me-action@v2
|
||||
with:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
MERGE_METHOD: MERGE
|
||||
@@ -1,5 +1,4 @@
|
||||
/captainhook.config.json
|
||||
/composer.lock
|
||||
/phpcs.xml
|
||||
/phpunit.xml
|
||||
/vendor/
|
||||
|
||||
+3
-4
@@ -9,12 +9,11 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"require": {
|
||||
"php": "^7.2 || ^8.0",
|
||||
"php": "^8.0",
|
||||
"ext-ctype": "*",
|
||||
"ext-json": "*",
|
||||
"brick/math": "^0.8 || ^0.9",
|
||||
"ramsey/collection": "^1.0",
|
||||
"symfony/polyfill-ctype": "^1.8",
|
||||
"symfony/polyfill-php80": "^1.14"
|
||||
"ramsey/collection": "^1.0"
|
||||
},
|
||||
"replace": {
|
||||
"rhumsaa/uuid": "self.version"
|
||||
|
||||
Generated
+6671
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,7 @@
|
||||
<psalm xmlns="https://getpsalm.org/schema/config"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
|
||||
totallyTyped="true"
|
||||
errorLevel="1"
|
||||
cacheDirectory="./build/cache/psalm"
|
||||
errorBaseline="./psalm-baseline.xml">
|
||||
|
||||
|
||||
@@ -27,6 +27,11 @@ use Traversable;
|
||||
/**
|
||||
* A collection of UuidBuilderInterface objects
|
||||
*
|
||||
* @deprecated this class has been deprecated, and will be removed in 5.0.0. The use-case for this class comes from
|
||||
* a pre-`phpstan/phpstan` and pre-`vimeo/psalm` ecosystem, in which type safety had to be mostly enforced
|
||||
* at runtime: that is no longer necessary, now that you can safely verify your code to be correct, and use
|
||||
* more generic types like `iterable<T>` instead.
|
||||
*
|
||||
* @extends AbstractCollection<UuidBuilderInterface>
|
||||
*/
|
||||
class BuilderCollection extends AbstractCollection
|
||||
|
||||
@@ -28,14 +28,14 @@ use Ramsey\Uuid\UuidInterface;
|
||||
class FallbackBuilder implements UuidBuilderInterface
|
||||
{
|
||||
/**
|
||||
* @var BuilderCollection
|
||||
* @var iterable<UuidBuilderInterface>
|
||||
*/
|
||||
private $builders;
|
||||
|
||||
/**
|
||||
* @param BuilderCollection $builders An array of UUID builders
|
||||
* @param iterable<UuidBuilderInterface> $builders An array of UUID builders
|
||||
*/
|
||||
public function __construct(BuilderCollection $builders)
|
||||
public function __construct(iterable $builders)
|
||||
{
|
||||
$this->builders = $builders;
|
||||
}
|
||||
|
||||
+4
-7
@@ -14,7 +14,6 @@ declare(strict_types=1);
|
||||
|
||||
namespace Ramsey\Uuid;
|
||||
|
||||
use Ramsey\Uuid\Builder\BuilderCollection;
|
||||
use Ramsey\Uuid\Builder\FallbackBuilder;
|
||||
use Ramsey\Uuid\Builder\UuidBuilderInterface;
|
||||
use Ramsey\Uuid\Codec\CodecInterface;
|
||||
@@ -43,7 +42,6 @@ use Ramsey\Uuid\Nonstandard\UuidBuilder as NonstandardUuidBuilder;
|
||||
use Ramsey\Uuid\Provider\Dce\SystemDceSecurityProvider;
|
||||
use Ramsey\Uuid\Provider\DceSecurityProviderInterface;
|
||||
use Ramsey\Uuid\Provider\Node\FallbackNodeProvider;
|
||||
use Ramsey\Uuid\Provider\Node\NodeProviderCollection;
|
||||
use Ramsey\Uuid\Provider\Node\RandomNodeProvider;
|
||||
use Ramsey\Uuid\Provider\Node\SystemNodeProvider;
|
||||
use Ramsey\Uuid\Provider\NodeProviderInterface;
|
||||
@@ -350,10 +348,10 @@ class FeatureSet
|
||||
return new RandomNodeProvider();
|
||||
}
|
||||
|
||||
return new FallbackNodeProvider(new NodeProviderCollection([
|
||||
return new FallbackNodeProvider([
|
||||
new SystemNodeProvider(),
|
||||
new RandomNodeProvider(),
|
||||
]));
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -432,11 +430,10 @@ class FeatureSet
|
||||
return new GuidBuilder($this->numberConverter, $this->timeConverter);
|
||||
}
|
||||
|
||||
/** @psalm-suppress ImpureArgument */
|
||||
return new FallbackBuilder(new BuilderCollection([
|
||||
return new FallbackBuilder([
|
||||
new Rfc4122UuidBuilder($this->numberConverter, $this->timeConverter),
|
||||
new NonstandardUuidBuilder($this->numberConverter, $this->timeConverter),
|
||||
]));
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -87,7 +87,7 @@ class CombGenerator implements RandomGeneratorInterface
|
||||
*/
|
||||
public function generate(int $length): string
|
||||
{
|
||||
if ($length < self::TIMESTAMP_BYTES || $length < 0) {
|
||||
if ($length < self::TIMESTAMP_BYTES) {
|
||||
throw new InvalidArgumentException(
|
||||
'Length must be a positive integer greater than or equal to ' . self::TIMESTAMP_BYTES
|
||||
);
|
||||
|
||||
@@ -229,6 +229,6 @@ class SystemDceSecurityProvider implements DceSecurityProviderInterface
|
||||
return '';
|
||||
}
|
||||
|
||||
return trim((string) substr($sid, $lastHyphen + 1));
|
||||
return trim(substr($sid, $lastHyphen + 1));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,14 +25,14 @@ use Ramsey\Uuid\Type\Hexadecimal;
|
||||
class FallbackNodeProvider implements NodeProviderInterface
|
||||
{
|
||||
/**
|
||||
* @var NodeProviderCollection
|
||||
* @var iterable<NodeProviderInterface>
|
||||
*/
|
||||
private $nodeProviders;
|
||||
|
||||
/**
|
||||
* @param NodeProviderCollection $providers Array of node providers
|
||||
* @param iterable<NodeProviderInterface> $providers Array of node providers
|
||||
*/
|
||||
public function __construct(NodeProviderCollection $providers)
|
||||
public function __construct(iterable $providers)
|
||||
{
|
||||
$this->nodeProviders = $providers;
|
||||
}
|
||||
|
||||
@@ -21,6 +21,11 @@ use Ramsey\Uuid\Type\Hexadecimal;
|
||||
/**
|
||||
* A collection of NodeProviderInterface objects
|
||||
*
|
||||
* @deprecated this class has been deprecated, and will be removed in 5.0.0. The use-case for this class comes from
|
||||
* a pre-`phpstan/phpstan` and pre-`vimeo/psalm` ecosystem, in which type safety had to be mostly enforced
|
||||
* at runtime: that is no longer necessary, now that you can safely verify your code to be correct, and use
|
||||
* more generic types like `iterable<T>` instead.
|
||||
*
|
||||
* @extends AbstractCollection<NodeProviderInterface>
|
||||
*/
|
||||
class NodeProviderCollection extends AbstractCollection
|
||||
|
||||
@@ -6,7 +6,6 @@ namespace Ramsey\Uuid\Test\Builder;
|
||||
|
||||
use DateTimeInterface;
|
||||
use Mockery;
|
||||
use Ramsey\Uuid\Builder\BuilderCollection;
|
||||
use Ramsey\Uuid\Builder\FallbackBuilder;
|
||||
use Ramsey\Uuid\Builder\UuidBuilderInterface;
|
||||
use Ramsey\Uuid\Codec\CodecInterface;
|
||||
@@ -53,7 +52,7 @@ class FallbackBuilderTest extends TestCase
|
||||
->with($codec, $bytes)
|
||||
->andThrow(UnableToBuildUuidException::class);
|
||||
|
||||
$fallbackBuilder = new FallbackBuilder(new BuilderCollection([$builder1, $builder2, $builder3]));
|
||||
$fallbackBuilder = new FallbackBuilder([$builder1, $builder2, $builder3]);
|
||||
|
||||
$this->expectException(BuilderNotFoundException::class);
|
||||
$this->expectExceptionMessage(
|
||||
@@ -83,25 +82,16 @@ class FallbackBuilderTest extends TestCase
|
||||
$rfc4122Builder2 = new Rfc4122UuidBuilder($genericNumberConverter, $phpTimeConverter);
|
||||
$nonstandardBuilder2 = new NonstandardUuidBuilder($genericNumberConverter, $phpTimeConverter);
|
||||
|
||||
$builderCollection = new BuilderCollection(
|
||||
[
|
||||
$guidBuilder,
|
||||
$guidBuilder2,
|
||||
$rfc4122Builder,
|
||||
$rfc4122Builder2,
|
||||
$nonstandardBuilder,
|
||||
$nonstandardBuilder2,
|
||||
]
|
||||
);
|
||||
/** @var list<UuidBuilderInterface> $unserializedBuilderCollection */
|
||||
$unserializedBuilderCollection = unserialize(serialize([
|
||||
$guidBuilder,
|
||||
$guidBuilder2,
|
||||
$rfc4122Builder,
|
||||
$rfc4122Builder2,
|
||||
$nonstandardBuilder,
|
||||
$nonstandardBuilder2,
|
||||
]));
|
||||
|
||||
$serializedBuilderCollection = serialize($builderCollection);
|
||||
|
||||
/** @var BuilderCollection $unserializedBuilderCollection */
|
||||
$unserializedBuilderCollection = unserialize($serializedBuilderCollection);
|
||||
|
||||
$this->assertInstanceOf(BuilderCollection::class, $unserializedBuilderCollection);
|
||||
|
||||
/** @var UuidBuilderInterface $builder */
|
||||
foreach ($unserializedBuilderCollection as $builder) {
|
||||
$codec = new StringCodec($builder);
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@ namespace Ramsey\Uuid\Test\Provider\Node;
|
||||
|
||||
use Ramsey\Uuid\Exception\NodeException;
|
||||
use Ramsey\Uuid\Provider\Node\FallbackNodeProvider;
|
||||
use Ramsey\Uuid\Provider\Node\NodeProviderCollection;
|
||||
use Ramsey\Uuid\Provider\Node\RandomNodeProvider;
|
||||
use Ramsey\Uuid\Provider\Node\StaticNodeProvider;
|
||||
use Ramsey\Uuid\Provider\Node\SystemNodeProvider;
|
||||
@@ -27,7 +26,7 @@ class FallbackNodeProviderTest extends TestCase
|
||||
->method('getNode')
|
||||
->willThrowException(new NodeException());
|
||||
|
||||
$provider = new FallbackNodeProvider(new NodeProviderCollection([$providerWithoutNode, $providerWithNode]));
|
||||
$provider = new FallbackNodeProvider([$providerWithoutNode, $providerWithNode]);
|
||||
$provider->getNode();
|
||||
}
|
||||
|
||||
@@ -45,9 +44,7 @@ class FallbackNodeProviderTest extends TestCase
|
||||
$anotherProviderWithoutNode->expects($this->never())
|
||||
->method('getNode');
|
||||
|
||||
$provider = new FallbackNodeProvider(new NodeProviderCollection(
|
||||
[$providerWithoutNode, $providerWithNode, $anotherProviderWithoutNode]
|
||||
));
|
||||
$provider = new FallbackNodeProvider([$providerWithoutNode, $providerWithNode, $anotherProviderWithoutNode]);
|
||||
$node = $provider->getNode();
|
||||
|
||||
$this->assertSame('57764a07f756', $node->toString());
|
||||
@@ -59,7 +56,7 @@ class FallbackNodeProviderTest extends TestCase
|
||||
$providerWithoutNode->method('getNode')
|
||||
->willThrowException(new NodeException());
|
||||
|
||||
$provider = new FallbackNodeProvider(new NodeProviderCollection([$providerWithoutNode]));
|
||||
$provider = new FallbackNodeProvider([$providerWithoutNode]);
|
||||
|
||||
$this->expectException(NodeException::class);
|
||||
$this->expectExceptionMessage(
|
||||
@@ -75,20 +72,12 @@ class FallbackNodeProviderTest extends TestCase
|
||||
$randomNodeProvider = new RandomNodeProvider();
|
||||
$systemNodeProvider = new SystemNodeProvider();
|
||||
|
||||
$nodeProviderCollection = new NodeProviderCollection(
|
||||
[
|
||||
$staticNodeProvider,
|
||||
$randomNodeProvider,
|
||||
$systemNodeProvider,
|
||||
]
|
||||
);
|
||||
|
||||
$serializedNodeProviderCollection = serialize($nodeProviderCollection);
|
||||
|
||||
/** @var NodeProviderCollection $unserializedNodeProviderCollection */
|
||||
$unserializedNodeProviderCollection = unserialize($serializedNodeProviderCollection);
|
||||
|
||||
$this->assertInstanceOf(NodeProviderCollection::class, $unserializedNodeProviderCollection);
|
||||
/** @var list<NodeProviderInterface> $unserializedNodeProviderCollection */
|
||||
$unserializedNodeProviderCollection = unserialize(serialize([
|
||||
$staticNodeProvider,
|
||||
$randomNodeProvider,
|
||||
$systemNodeProvider,
|
||||
]));
|
||||
|
||||
foreach ($unserializedNodeProviderCollection as $nodeProvider) {
|
||||
$this->assertInstanceOf(NodeProviderInterface::class, $nodeProvider);
|
||||
|
||||
@@ -91,7 +91,7 @@ class SystemNodeProviderTest extends TestCase
|
||||
'Node should be a hexadecimal string of 12 characters. Actual node: %s (length: %s)',
|
||||
[$node->toString(), strlen($node->toString()),]
|
||||
);
|
||||
$this->assertRegExp('/^[A-Fa-f0-9]{12}$/', $node->toString(), $message);
|
||||
$this->assertMatchesRegularExpression('/^[A-Fa-f0-9]{12}$/', $node->toString(), $message);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user