-
Notifications
You must be signed in to change notification settings - Fork 772
Expand file tree
/
Copy pathUndefOrChain.php
More file actions
325 lines (172 loc) · 9.83 KB
/
UndefOrChain.php
File metadata and controls
325 lines (172 loc) · 9.83 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
314
315
316
317
318
319
320
321
322
323
324
325
<?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 UndefOrChain
{
public function undefOrAll(Validator $validator): Chain;
public function undefOrAllOf(Validator $validator1, Validator $validator2, Validator ...$validators): Chain;
public function undefOrAlnum(string ...$additionalChars): Chain;
public function undefOrAlpha(string ...$additionalChars): Chain;
public function undefOrAlwaysInvalid(): Chain;
public function undefOrAlwaysValid(): Chain;
public function undefOrAnyOf(Validator $validator1, Validator $validator2, Validator ...$validators): Chain;
public function undefOrArrayType(): Chain;
public function undefOrArrayVal(): Chain;
public function undefOrBase(int $base, string $chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'): Chain;
public function undefOrBase64(): Chain;
public function undefOrBetween(mixed $minValue, mixed $maxValue): Chain;
public function undefOrBetweenExclusive(mixed $minimum, mixed $maximum): Chain;
public function undefOrBoolType(): Chain;
public function undefOrBoolVal(): Chain;
public function undefOrBsn(): Chain;
public function undefOrCall(callable $callable, Validator $validator): Chain;
public function undefOrCallableType(): Chain;
public function undefOrCallback(callable $callback, mixed ...$arguments): Chain;
public function undefOrCharset(string $charset, string ...$charsets): Chain;
public function undefOrCircuit(Validator $validator1, Validator $validator2, Validator ...$validators): Chain;
public function undefOrCnh(): Chain;
public function undefOrCnpj(): Chain;
public function undefOrComposite(Validator ...$validators): Chain;
public function undefOrConsonant(string ...$additionalChars): Chain;
public function undefOrContains(mixed $containsValue): Chain;
/** @param non-empty-array<mixed> $needles */
public function undefOrContainsAny(array $needles): Chain;
public function undefOrContainsCount(mixed $containsValue, int $count): Chain;
public function undefOrControl(string ...$additionalChars): Chain;
public function undefOrCountable(): Chain;
/** @param "alpha-2"|"alpha-3"|"numeric" $set */
public function undefOrCountryCode(string $set = 'alpha-2'): Chain;
public function undefOrCpf(): Chain;
public function undefOrCreditCard(string $brand = 'Any'): Chain;
/** @param "alpha-3"|"numeric" $set */
public function undefOrCurrencyCode(string $set = 'alpha-3'): Chain;
public function undefOrDate(string $format = 'Y-m-d'): Chain;
public function undefOrDateTime(string|null $format = null): Chain;
/** @param "years"|"months"|"days"|"hours"|"minutes"|"seconds"|"microseconds" $type */
public function undefOrDateTimeDiff(string $type, Validator $validator, string|null $format = null, DateTimeImmutable|null $now = null): Chain;
public function undefOrDecimal(int $decimals): Chain;
public function undefOrDigit(string ...$additionalChars): Chain;
public function undefOrDirectory(): Chain;
public function undefOrDomain(bool $tldCheck = true): Chain;
public function undefOrEach(Validator $validator): Chain;
public function undefOrEmail(): Chain;
public function undefOrEmoji(): Chain;
public function undefOrEndsWith(mixed $endValue): Chain;
public function undefOrEquals(mixed $compareTo): Chain;
public function undefOrEquivalent(mixed $compareTo): Chain;
public function undefOrEven(): Chain;
public function undefOrExecutable(): Chain;
public function undefOrExists(): Chain;
public function undefOrExtension(string $extension): Chain;
public function undefOrFactor(int $dividend): Chain;
public function undefOrFalseVal(): Chain;
public function undefOrFalsy(): Chain;
public function undefOrFile(): Chain;
public function undefOrFinite(): Chain;
public function undefOrFloatType(): Chain;
public function undefOrFloatVal(): Chain;
public function undefOrGraph(string ...$additionalChars): Chain;
public function undefOrGreaterThan(mixed $compareTo): Chain;
public function undefOrGreaterThanOrEqual(mixed $compareTo): Chain;
public function undefOrHetu(): Chain;
public function undefOrHexRgbColor(): Chain;
public function undefOrIban(): Chain;
public function undefOrIdentical(mixed $compareTo): Chain;
public function undefOrImage(): Chain;
public function undefOrImei(): Chain;
public function undefOrIn(mixed $haystack): Chain;
public function undefOrInfinite(): Chain;
/** @param class-string $class */
public function undefOrInstance(string $class): Chain;
public function undefOrIntType(): Chain;
public function undefOrIntVal(): Chain;
public function undefOrIp(string $range = '*', int|null $options = null): Chain;
public function undefOrIsbn(): Chain;
public function undefOrIterableType(): Chain;
public function undefOrIterableVal(): Chain;
public function undefOrJson(): Chain;
public function undefOrKey(string|int $key, Validator $validator): Chain;
public function undefOrKeyExists(string|int $key): Chain;
public function undefOrKeyOptional(string|int $key, Validator $validator): Chain;
public function undefOrKeySet(Validator $validator, Validator ...$validators): Chain;
/** @param "alpha-2"|"alpha-3" $set */
public function undefOrLanguageCode(string $set = 'alpha-2'): Chain;
/** @param callable(mixed): Validator $validatorCreator */
public function undefOrLazy(callable $validatorCreator): Chain;
public function undefOrLeapDate(string $format): Chain;
public function undefOrLeapYear(): Chain;
public function undefOrLength(Validator $validator): Chain;
public function undefOrLessThan(mixed $compareTo): Chain;
public function undefOrLessThanOrEqual(mixed $compareTo): Chain;
public function undefOrLowercase(): Chain;
public function undefOrLuhn(): Chain;
public function undefOrMacAddress(): Chain;
public function undefOrMasked(string $range, Validator $validator, string $replacement = '*'): Chain;
public function undefOrMax(Validator $validator): Chain;
public function undefOrMimetype(string $mimetype): Chain;
public function undefOrMin(Validator $validator): Chain;
public function undefOrMultiple(int $multipleOf): Chain;
public function undefOrNegative(): Chain;
public function undefOrNfeAccessKey(): Chain;
public function undefOrNif(): Chain;
public function undefOrNip(): Chain;
public function undefOrNoneOf(Validator $validator1, Validator $validator2, Validator ...$validators): Chain;
public function undefOrNot(Validator $validator): Chain;
public function undefOrNullType(): Chain;
public function undefOrNumber(): Chain;
public function undefOrNumericVal(): Chain;
public function undefOrObjectType(): Chain;
public function undefOrOdd(): Chain;
public function undefOrOneOf(Validator $validator1, Validator $validator2, Validator ...$validators): Chain;
public function undefOrPesel(): Chain;
public function undefOrPhone(string|null $countryCode = null): Chain;
public function undefOrPis(): Chain;
public function undefOrPolishIdCard(): Chain;
public function undefOrPortugueseNif(): Chain;
public function undefOrPositive(): Chain;
public function undefOrPostalCode(string $countryCode, bool $formatted = false): Chain;
public function undefOrPrintable(string ...$additionalChars): Chain;
public function undefOrProperty(string $propertyName, Validator $validator): Chain;
public function undefOrPropertyExists(string $propertyName): Chain;
public function undefOrPropertyOptional(string $propertyName, Validator $validator): Chain;
public function undefOrPublicDomainSuffix(): Chain;
public function undefOrPunct(string ...$additionalChars): Chain;
public function undefOrReadable(): Chain;
public function undefOrRegex(string $regex): Chain;
public function undefOrResourceType(): Chain;
public function undefOrRoman(): Chain;
public function undefOrScalarVal(): Chain;
/** @param "B"|"KB"|"MB"|"GB"|"TB"|"PB"|"EB"|"ZB"|"YB" $unit */
public function undefOrSize(string $unit, Validator $validator): Chain;
public function undefOrSlug(): Chain;
public function undefOrSorted(string $direction): Chain;
public function undefOrSpace(string ...$additionalChars): Chain;
public function undefOrSpaced(): Chain;
public function undefOrStartsWith(mixed $startValue): Chain;
public function undefOrStringType(): Chain;
public function undefOrStringVal(): Chain;
public function undefOrSubdivisionCode(string $countryCode): Chain;
/** @param mixed[] $superset */
public function undefOrSubset(array $superset): Chain;
public function undefOrSymbolicLink(): Chain;
public function undefOrTime(string $format = 'H:i:s'): Chain;
public function undefOrTld(): Chain;
public function undefOrTrueVal(): Chain;
public function undefOrUnique(): Chain;
public function undefOrUppercase(): Chain;
public function undefOrUrl(): Chain;
public function undefOrUuid(int|null $version = null): Chain;
public function undefOrVersion(): Chain;
public function undefOrVowel(string ...$additionalChars): Chain;
public function undefOrWhen(Validator $when, Validator $then, Validator|null $else = null): Chain;
public function undefOrWritable(): Chain;
public function undefOrXdigit(string ...$additionalChars): Chain;
}