PluginProbe
Media Cloud Sync / 1.2.6
Media Cloud Sync v1.2.6
1.4.1 1.4.0 1.3.12 1.3.11 1.3.10 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.2.0 1.2.10 1.2.11 1.2.12 1.2.13 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 All 35 releases
media-cloud-sync / includes / sdk / google / ramsey / uuid / src / Validator / GenericValidator.php

GenericValidator.php in Media Cloud Sync 1.2.6, at includes/sdk/google/ramsey/uuid/src/Validator/GenericValidator.php

44 lines 1.4 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 <ben@benramsey.com>
10 * @license http://opensource.org/licenses/MIT MIT
11 */
12 declare (strict_types=1);
13 namespace Dudlewebs\WPMCS\Ramsey\Uuid\Validator;
14
15 use Dudlewebs\WPMCS\Ramsey\Uuid\Uuid;
16 use function preg_match;
17 use function str_replace;
18 /**
19 * GenericValidator validates strings as UUIDs of any variant
20 *
21 * @psalm-immutable
22 */
23 final class GenericValidator implements ValidatorInterface
24 {
25 /**
26 * Regular expression pattern for matching a UUID of any variant.
27 */
28 private const VALID_PATTERN = '\A[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}\z';
29 /**
30 * @psalm-return non-empty-string
31 * @psalm-suppress MoreSpecificReturnType we know that the retrieved `string` is never empty
32 * @psalm-suppress LessSpecificReturnStatement we know that the retrieved `string` is never empty
33 */
34 public function getPattern(): string
35 {
36 return self::VALID_PATTERN;
37 }
38 public function validate(string $uuid): bool
39 {
40 $uuid = str_replace(['urn:', 'uuid:', 'URN:', 'UUID:', '{', '}'], '', $uuid);
41 return $uuid === Uuid::NIL || preg_match('/' . self::VALID_PATTERN . '/Dms', $uuid);
42 }
43 }
44