-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathIntTrait.php
More file actions
61 lines (55 loc) · 1.71 KB
/
IntTrait.php
File metadata and controls
61 lines (55 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
declare(strict_types=1);
namespace SimpleSAML\XML\Assert;
use InvalidArgumentException;
/**
* @package simplesamlphp/xml-common
*/
trait IntTrait
{
private static string $int_regex = '/^
(
(
([-+]?[0]*)
(?:
[1-9]
|214748364[0-7]
|[1-9][0-9]
|[1-9][0-9][0-9]
|[1-9][0-9][0-9][0-9]
|[1-9][0-9][0-9][0-9][0-9]
|[1-9][0-9][0-9][0-9][0-9][0-9]
|[1-9][0-9][0-9][0-9][0-9][0-9][0-9]
|[1-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]
|[1-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]
|1[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]
|20[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]
|21[0-3][0-9][0-9][0-9][0-9][0-9][0-9][0-9]
|214[0-6][0-9][0-9][0-9][0-9][0-9][0-9]
|2147[0-3][0-9][0-9][0-9][0-9][0-9]
|21474[0-7][0-9][0-9][0-9][0-9]
|214748[0-2][0-9][0-9][0-9]
|2147483[0-5][0-9][0-9]
|21474836[0-3][0-9]
|[0-9]
|214748364[0-7]
)
)|
0|
((-([0]*)?)2147483648)
)
$/Dx';
/**
* @param string $value
* @param string $message
*/
protected static function validInt(string $value, string $message = ''): void
{
parent::regex(
$value,
self::$int_regex,
$message ?: '%s is not a valid xs:int',
InvalidArgumentException::class,
);
}
}