-
Notifications
You must be signed in to change notification settings - Fork 774
Expand file tree
/
Copy pathKeyChain.php
More file actions
313 lines (166 loc) · 11 KB
/
KeyChain.php
File metadata and controls
313 lines (166 loc) · 11 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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
<?php
/*
* SPDX-License-Identifier: MIT
* SPDX-FileCopyrightText: (c) Respect Project Contributors
* SPDX-FileContributor: Alexandre Gomes Gaigalas <alganet@gmail.com>
* SPDX-FileContributor: Henrique Moody <henriquemoody@gmail.com>
*/
declare(strict_types=1);
namespace Respect\Validation\Mixins;
use DateTimeImmutable;
use Respect\Validation\Validator;
interface KeyChain
{
public function keyAll(int|string $key, Validator $validator): Chain;
public function keyAllOf(int|string $key, Validator $validator1, Validator $validator2, Validator ...$validators): Chain;
public function keyAlnum(int|string $key, string ...$additionalChars): Chain;
public function keyAlpha(int|string $key, string ...$additionalChars): Chain;
public function keyAlwaysInvalid(int|string $key): Chain;
public function keyAlwaysValid(int|string $key): Chain;
public function keyAnyOf(int|string $key, Validator $validator1, Validator $validator2, Validator ...$validators): Chain;
public function keyArrayType(int|string $key): Chain;
public function keyArrayVal(int|string $key): Chain;
public function keyBase(int|string $key, int $base, string $chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'): Chain;
public function keyBase64(int|string $key): Chain;
public function keyBetween(int|string $key, mixed $minValue, mixed $maxValue): Chain;
public function keyBetweenExclusive(int|string $key, mixed $minimum, mixed $maximum): Chain;
public function keyBlank(int|string $key): Chain;
public function keyBoolType(int|string $key): Chain;
public function keyBoolVal(int|string $key): Chain;
public function keyBsn(int|string $key): Chain;
public function keyCall(int|string $key, callable $callable, Validator $validator): Chain;
public function keyCallableType(int|string $key): Chain;
public function keyCallback(int|string $key, callable $callback, mixed ...$arguments): Chain;
public function keyCharset(int|string $key, string $charset, string ...$charsets): Chain;
public function keyCircuit(int|string $key, Validator $validator1, Validator $validator2, Validator ...$validators): Chain;
public function keyCnh(int|string $key): Chain;
public function keyCnpj(int|string $key): Chain;
public function keyComposite(int|string $key, Validator ...$validators): Chain;
public function keyConsonant(int|string $key, string ...$additionalChars): Chain;
public function keyContains(int|string $key, mixed $containsValue): Chain;
/** @param non-empty-array<mixed> $needles */
public function keyContainsAny(int|string $key, array $needles): Chain;
public function keyContainsCount(int|string $key, mixed $containsValue, int $count): Chain;
public function keyControl(int|string $key, string ...$additionalChars): Chain;
public function keyCountable(int|string $key): Chain;
/** @param "alpha-2"|"alpha-3"|"numeric" $set */
public function keyCountryCode(int|string $key, string $set = 'alpha-2'): Chain;
public function keyCpf(int|string $key): Chain;
public function keyCreditCard(int|string $key, string $brand = 'Any'): Chain;
/** @param "alpha-3"|"numeric" $set */
public function keyCurrencyCode(int|string $key, string $set = 'alpha-3'): Chain;
public function keyDate(int|string $key, string $format = 'Y-m-d'): Chain;
public function keyDateTime(int|string $key, string|null $format = null): Chain;
/** @param "years"|"months"|"days"|"hours"|"minutes"|"seconds"|"microseconds" $type */
public function keyDateTimeDiff(int|string $key, string $type, Validator $validator, string|null $format = null, DateTimeImmutable|null $now = null): Chain;
public function keyDecimal(int|string $key, int $decimals): Chain;
public function keyDigit(int|string $key, string ...$additionalChars): Chain;
public function keyDirectory(int|string $key): Chain;
public function keyDomain(int|string $key, bool $tldCheck = true): Chain;
public function keyEach(int|string $key, Validator $validator): Chain;
public function keyEmail(int|string $key): Chain;
public function keyEmoji(int|string $key): Chain;
public function keyEndsWith(int|string $key, mixed $endValue): Chain;
public function keyEquals(int|string $key, mixed $compareTo): Chain;
public function keyEquivalent(int|string $key, mixed $compareTo): Chain;
public function keyEven(int|string $key): Chain;
public function keyExecutable(int|string $key): Chain;
public function keyExtension(int|string $key, string $extension): Chain;
public function keyFactor(int|string $key, int $dividend): Chain;
public function keyFalseVal(int|string $key): Chain;
public function keyFalsy(int|string $key): Chain;
public function keyFile(int|string $key): Chain;
public function keyFinite(int|string $key): Chain;
public function keyFloatType(int|string $key): Chain;
public function keyFloatVal(int|string $key): Chain;
public function keyGraph(int|string $key, string ...$additionalChars): Chain;
public function keyGreaterThan(int|string $key, mixed $compareTo): Chain;
public function keyGreaterThanOrEqual(int|string $key, mixed $compareTo): Chain;
public function keyHetu(int|string $key): Chain;
public function keyHexRgbColor(int|string $key): Chain;
public function keyIban(int|string $key): Chain;
public function keyIdentical(int|string $key, mixed $compareTo): Chain;
public function keyImage(int|string $key): Chain;
public function keyImei(int|string $key): Chain;
public function keyIn(int|string $key, mixed $haystack): Chain;
public function keyInfinite(int|string $key): Chain;
/** @param class-string $class */
public function keyInstance(int|string $key, string $class): Chain;
public function keyIntType(int|string $key): Chain;
public function keyIntVal(int|string $key): Chain;
public function keyIp(int|string $key, string $range = '*', int|null $options = null): Chain;
public function keyIsbn(int|string $key): Chain;
public function keyIterableType(int|string $key): Chain;
public function keyIterableVal(int|string $key): Chain;
public function keyJson(int|string $key): Chain;
/** @param "alpha-2"|"alpha-3" $set */
public function keyLanguageCode(int|string $key, string $set = 'alpha-2'): Chain;
/** @param callable(mixed): Validator $validatorCreator */
public function keyLazy(int|string $key, callable $validatorCreator): Chain;
public function keyLeapDate(int|string $key, string $format): Chain;
public function keyLeapYear(int|string $key): Chain;
public function keyLength(int|string $key, Validator $validator): Chain;
public function keyLessThan(int|string $key, mixed $compareTo): Chain;
public function keyLessThanOrEqual(int|string $key, mixed $compareTo): Chain;
public function keyLowercase(int|string $key): Chain;
public function keyLuhn(int|string $key): Chain;
public function keyMacAddress(int|string $key): Chain;
public function keyMasked(int|string $key, string $range, Validator $validator, string $replacement = '*'): Chain;
public function keyMax(int|string $key, Validator $validator): Chain;
public function keyMimetype(int|string $key, string $mimetype): Chain;
public function keyMin(int|string $key, Validator $validator): Chain;
public function keyMultiple(int|string $key, int $multipleOf): Chain;
public function keyNegative(int|string $key): Chain;
public function keyNfeAccessKey(int|string $key): Chain;
public function keyNif(int|string $key): Chain;
public function keyNip(int|string $key): Chain;
public function keyNoneOf(int|string $key, Validator $validator1, Validator $validator2, Validator ...$validators): Chain;
public function keyNot(int|string $key, Validator $validator): Chain;
public function keyNullType(int|string $key): Chain;
public function keyNumber(int|string $key): Chain;
public function keyNumericVal(int|string $key): Chain;
public function keyObjectType(int|string $key): Chain;
public function keyOdd(int|string $key): Chain;
public function keyOneOf(int|string $key, Validator $validator1, Validator $validator2, Validator ...$validators): Chain;
public function keyPesel(int|string $key): Chain;
public function keyPhone(int|string $key, string|null $countryCode = null): Chain;
public function keyPis(int|string $key): Chain;
public function keyPolishIdCard(int|string $key): Chain;
public function keyPortugueseNif(int|string $key): Chain;
public function keyPositive(int|string $key): Chain;
public function keyPostalCode(int|string $key, string $countryCode, bool $formatted = false): Chain;
public function keyPrintable(int|string $key, string ...$additionalChars): Chain;
public function keyPublicDomainSuffix(int|string $key): Chain;
public function keyPunct(int|string $key, string ...$additionalChars): Chain;
public function keyReadable(int|string $key): Chain;
public function keyRegex(int|string $key, string $regex): Chain;
public function keyResourceType(int|string $key): Chain;
public function keyRoman(int|string $key): Chain;
public function keyScalarVal(int|string $key): Chain;
/** @param "B"|"KB"|"MB"|"GB"|"TB"|"PB"|"EB"|"ZB"|"YB" $unit */
public function keySize(int|string $key, string $unit, Validator $validator): Chain;
public function keySlug(int|string $key): Chain;
public function keySorted(int|string $key, string $direction): Chain;
public function keySpace(int|string $key, string ...$additionalChars): Chain;
public function keySpaced(int|string $key): Chain;
public function keyStartsWith(int|string $key, mixed $startValue): Chain;
public function keyStringType(int|string $key): Chain;
public function keyStringVal(int|string $key): Chain;
public function keySubdivisionCode(int|string $key, string $countryCode): Chain;
/** @param mixed[] $superset */
public function keySubset(int|string $key, array $superset): Chain;
public function keySymbolicLink(int|string $key): Chain;
public function keyTime(int|string $key, string $format = 'H:i:s'): Chain;
public function keyTld(int|string $key): Chain;
public function keyTrueVal(int|string $key): Chain;
public function keyUndef(int|string $key): Chain;
public function keyUnique(int|string $key): Chain;
public function keyUppercase(int|string $key): Chain;
public function keyUrl(int|string $key): Chain;
public function keyUuid(int|string $key, int|null $version = null): Chain;
public function keyVersion(int|string $key): Chain;
public function keyVowel(int|string $key, string ...$additionalChars): Chain;
public function keyWhen(int|string $key, Validator $when, Validator $then, Validator|null $else = null): Chain;
public function keyWritable(int|string $key): Chain;
public function keyXdigit(int|string $key, string ...$additionalChars): Chain;
}