PluginProbe
Defender Security – Malware Scanner, Login Security & Firewall / 5.8.0
Defender Security – Malware Scanner, Login Security & Firewall v5.8.0
6.3.0 6.2.3 6.2.4 6.2.0 6.2.1 6.2.2 6.1.0 5.3.1 5.4.0 5.4.1 5.5.0 5.5.1 5.6.0 5.6.1 5.6.2 5.7.0 5.7.1 5.7.2 5.8.0 5.8.1 5.9.0 6.0.0 6.0.1 3.0.1 3.1.0 All 141 releases
defender-security / vendor / ramsey / uuid / src / Builder / BuilderCollection.php

BuilderCollection.php in Defender Security – Malware Scanner, Login Security & Firewall 5.8.0, at vendor/ramsey/uuid/src/Builder/BuilderCollection.php

78 lines 2.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * This file is part of the ramsey/uuid library
5 *
6 * For the full copyright and license information, please view the LICENSE
7 * file that was distributed with this source code.
8 *
9 * @copyright Copyright (c) Ben Ramsey <[email protected]>
10 * @license http://opensource.org/licenses/MIT MIT
11 */
12
13 declare(strict_types=1);
14
15 namespace Ramsey\Uuid\Builder;
16
17 use Ramsey\Collection\AbstractCollection;
18 use Ramsey\Uuid\Converter\Number\GenericNumberConverter;
19 use Ramsey\Uuid\Converter\Time\GenericTimeConverter;
20 use Ramsey\Uuid\Converter\Time\PhpTimeConverter;
21 use Ramsey\Uuid\Guid\GuidBuilder;
22 use Ramsey\Uuid\Math\BrickMathCalculator;
23 use Ramsey\Uuid\Nonstandard\UuidBuilder as NonstandardUuidBuilder;
24 use Ramsey\Uuid\Rfc4122\UuidBuilder as Rfc4122UuidBuilder;
25 use Traversable;
26
27 /**
28 * A collection of UuidBuilderInterface objects
29 *
30 * @deprecated this class has been deprecated and will be removed in 5.0.0. The use-case for this class comes from a
31 * pre-`phpstan/phpstan` and pre-`vimeo/psalm` ecosystem, in which type safety had to be mostly enforced at runtime:
32 * that is no longer necessary, now that you can safely verify your code to be correct, and use more generic types
33 * like `iterable<T>` instead.
34 *
35 * @extends AbstractCollection<UuidBuilderInterface>
36 */
37 class BuilderCollection extends AbstractCollection
38 {
39 public function getType(): string
40 {
41 return UuidBuilderInterface::class;
42 }
43
44 public function getIterator(): Traversable
45 {
46 return parent::getIterator();
47 }
48
49 /**
50 * Re-constructs the object from its serialized form
51 *
52 * @param string $serialized The serialized PHP string to unserialize into a UuidInterface instance
53 */
54 public function unserialize($serialized): void
55 {
56 /** @var array<array-key, UuidBuilderInterface> $data */
57 $data = unserialize($serialized, [
58 'allowed_classes' => [
59 BrickMathCalculator::class,
60 GenericNumberConverter::class,
61 GenericTimeConverter::class,
62 GuidBuilder::class,
63 NonstandardUuidBuilder::class,
64 PhpTimeConverter::class,
65 Rfc4122UuidBuilder::class,
66 ],
67 ]);
68
69 $this->data = array_filter(
70 $data,
71 function ($unserialized): bool {
72 /** @phpstan-ignore instanceof.alwaysTrue */
73 return $unserialized instanceof UuidBuilderInterface;
74 },
75 );
76 }
77 }
78