PluginProbe ʕ •ᴥ•ʔ
ShareThis Dashboard for Google Analytics / 3.1.3
ShareThis Dashboard for Google Analytics v3.1.3
3.3.2 trunk 1.0.7 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2.5 2.3.5 2.3.6 2.3.7 2.3.8 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 3.0.0 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.3.0 3.3.1
googleanalytics / lib / analytics-admin / vendor / ramsey / uuid / src / Rfc4122 / Validator.php
googleanalytics / lib / analytics-admin / vendor / ramsey / uuid / src / Rfc4122 Last commit date
Fields.php 3 years ago FieldsInterface.php 3 years ago NilTrait.php 3 years ago NilUuid.php 3 years ago UuidBuilder.php 3 years ago UuidInterface.php 3 years ago UuidV1.php 3 years ago UuidV2.php 3 years ago UuidV3.php 3 years ago UuidV4.php 3 years ago UuidV5.php 3 years ago Validator.php 3 years ago VariantTrait.php 3 years ago VersionTrait.php 3 years ago
Validator.php
50 lines
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
13 declare(strict_types=1);
14
15 namespace Ramsey\Uuid\Rfc4122;
16
17 use Ramsey\Uuid\Uuid;
18 use Ramsey\Uuid\Validator\ValidatorInterface;
19
20 use function preg_match;
21 use function str_replace;
22
23 /**
24 * Rfc4122\Validator validates strings as UUIDs of the RFC 4122 variant
25 *
26 * @psalm-immutable
27 */
28 final class Validator implements ValidatorInterface
29 {
30 private const VALID_PATTERN = '\A[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-'
31 . '[1-5]{1}[0-9A-Fa-f]{3}-[ABab89]{1}[0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}\z';
32
33 /**
34 * @psalm-return non-empty-string
35 * @psalm-suppress MoreSpecificReturnType we know that the retrieved `string` is never empty
36 * @psalm-suppress LessSpecificReturnStatement we know that the retrieved `string` is never empty
37 */
38 public function getPattern(): string
39 {
40 return self::VALID_PATTERN;
41 }
42
43 public function validate(string $uuid): bool
44 {
45 $uuid = str_replace(['urn:', 'uuid:', 'URN:', 'UUID:', '{', '}'], '', $uuid);
46
47 return $uuid === Uuid::NIL || preg_match('/' . self::VALID_PATTERN . '/Dms', $uuid);
48 }
49 }
50