PluginProbe
WCPOS – Point of Sale (POS) plugin for WooCommerce / 1.10.21
WCPOS – Point of Sale (POS) plugin for WooCommerce v1.10.21
1.10.25 1.10.24 1.10.23 1.10.22 1.10.21 1.10.20 1.10.19 1.10.18 1.10.17 1.10.16 1.10.15 1.10.13 1.10.14 1.10.12 1.10.11 1.10.10 1.10.9 1.10.8 untagged-3d9b7ccddc54df87c672 1.10.7 1.10.6 1.10.5 1.10.3 1.10.4 1.10.2 All 169 releases
woocommerce-pos / vendor / ramsey / uuid / src / Builder / BuilderCollection.php

BuilderCollection.php in WCPOS – Point of Sale (POS) plugin for WooCommerce 1.10.21, at vendor/ramsey/uuid/src/Builder/BuilderCollection.php

81 lines 2.3 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 * @extends AbstractCollection<UuidBuilderInterface>
31 */
32 class BuilderCollection extends AbstractCollection
33 {
34 public function getType(): string
35 {
36 return UuidBuilderInterface::class;
37 }
38
39 /**
40 * @psalm-mutation-free
41 * @psalm-suppress ImpureMethodCall
42 * @psalm-suppress InvalidTemplateParam
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
53 * a UuidInterface instance
54 *
55 * @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint
56 * @psalm-suppress RedundantConditionGivenDocblockType
57 */
58 public function unserialize($serialized): void
59 {
60 /** @var array<array-key, UuidBuilderInterface> $data */
61 $data = unserialize($serialized, [
62 'allowed_classes' => [
63 BrickMathCalculator::class,
64 GenericNumberConverter::class,
65 GenericTimeConverter::class,
66 GuidBuilder::class,
67 NonstandardUuidBuilder::class,
68 PhpTimeConverter::class,
69 Rfc4122UuidBuilder::class,
70 ],
71 ]);
72
73 $this->data = array_filter(
74 $data,
75 function ($unserialized): bool {
76 return $unserialized instanceof UuidBuilderInterface;
77 }
78 );
79 }
80 }
81