1: <?php
2:
3: /**
4: * provides type inference and auto-completion for magic static methods of Assert.
5: */
6:
7: namespace Webmozart\Assert;
8:
9: use ArrayAccess;
10: use Closure;
11: use Countable;
12: use InvalidArgumentException;
13: use Throwable;
14:
15: interface Mixin
16: {
17: /**
18: * @psalm-pure
19: * @psalm-assert null|string $value
20: *
21: * @param mixed $value
22: * @param string $message
23: *
24: * @throws InvalidArgumentException
25: */
26: public static function nullOrString($value, $message = '');
27:
28: /**
29: * @psalm-pure
30: * @psalm-assert iterable<string> $value
31: *
32: * @param mixed $value
33: * @param string $message
34: *
35: * @throws InvalidArgumentException
36: */
37: public static function allString($value, $message = '');
38:
39: /**
40: * @psalm-pure
41: * @psalm-assert null|non-empty-string $value
42: *
43: * @param mixed $value
44: * @param string $message
45: *
46: * @throws InvalidArgumentException
47: */
48: public static function nullOrStringNotEmpty($value, $message = '');
49:
50: /**
51: * @psalm-pure
52: * @psalm-assert iterable<non-empty-string> $value
53: *
54: * @param mixed $value
55: * @param string $message
56: *
57: * @throws InvalidArgumentException
58: */
59: public static function allStringNotEmpty($value, $message = '');
60:
61: /**
62: * @psalm-pure
63: * @psalm-assert null|int $value
64: *
65: * @param mixed $value
66: * @param string $message
67: *
68: * @throws InvalidArgumentException
69: */
70: public static function nullOrInteger($value, $message = '');
71:
72: /**
73: * @psalm-pure
74: * @psalm-assert iterable<int> $value
75: *
76: * @param mixed $value
77: * @param string $message
78: *
79: * @throws InvalidArgumentException
80: */
81: public static function allInteger($value, $message = '');
82:
83: /**
84: * @psalm-pure
85: * @psalm-assert null|numeric $value
86: *
87: * @param mixed $value
88: * @param string $message
89: *
90: * @throws InvalidArgumentException
91: */
92: public static function nullOrIntegerish($value, $message = '');
93:
94: /**
95: * @psalm-pure
96: * @psalm-assert iterable<numeric> $value
97: *
98: * @param mixed $value
99: * @param string $message
100: *
101: * @throws InvalidArgumentException
102: */
103: public static function allIntegerish($value, $message = '');
104:
105: /**
106: * @psalm-pure
107: * @psalm-assert null|float $value
108: *
109: * @param mixed $value
110: * @param string $message
111: *
112: * @throws InvalidArgumentException
113: */
114: public static function nullOrFloat($value, $message = '');
115:
116: /**
117: * @psalm-pure
118: * @psalm-assert iterable<float> $value
119: *
120: * @param mixed $value
121: * @param string $message
122: *
123: * @throws InvalidArgumentException
124: */
125: public static function allFloat($value, $message = '');
126:
127: /**
128: * @psalm-pure
129: * @psalm-assert null|numeric $value
130: *
131: * @param mixed $value
132: * @param string $message
133: *
134: * @throws InvalidArgumentException
135: */
136: public static function nullOrNumeric($value, $message = '');
137:
138: /**
139: * @psalm-pure
140: * @psalm-assert iterable<numeric> $value
141: *
142: * @param mixed $value
143: * @param string $message
144: *
145: * @throws InvalidArgumentException
146: */
147: public static function allNumeric($value, $message = '');
148:
149: /**
150: * @psalm-pure
151: * @psalm-assert null|int $value
152: *
153: * @param mixed $value
154: * @param string $message
155: *
156: * @throws InvalidArgumentException
157: */
158: public static function nullOrNatural($value, $message = '');
159:
160: /**
161: * @psalm-pure
162: * @psalm-assert iterable<int> $value
163: *
164: * @param mixed $value
165: * @param string $message
166: *
167: * @throws InvalidArgumentException
168: */
169: public static function allNatural($value, $message = '');
170:
171: /**
172: * @psalm-pure
173: * @psalm-assert null|bool $value
174: *
175: * @param mixed $value
176: * @param string $message
177: *
178: * @throws InvalidArgumentException
179: */
180: public static function nullOrBoolean($value, $message = '');
181:
182: /**
183: * @psalm-pure
184: * @psalm-assert iterable<bool> $value
185: *
186: * @param mixed $value
187: * @param string $message
188: *
189: * @throws InvalidArgumentException
190: */
191: public static function allBoolean($value, $message = '');
192:
193: /**
194: * @psalm-pure
195: * @psalm-assert null|scalar $value
196: *
197: * @param mixed $value
198: * @param string $message
199: *
200: * @throws InvalidArgumentException
201: */
202: public static function nullOrScalar($value, $message = '');
203:
204: /**
205: * @psalm-pure
206: * @psalm-assert iterable<scalar> $value
207: *
208: * @param mixed $value
209: * @param string $message
210: *
211: * @throws InvalidArgumentException
212: */
213: public static function allScalar($value, $message = '');
214:
215: /**
216: * @psalm-pure
217: * @psalm-assert null|object $value
218: *
219: * @param mixed $value
220: * @param string $message
221: *
222: * @throws InvalidArgumentException
223: */
224: public static function nullOrObject($value, $message = '');
225:
226: /**
227: * @psalm-pure
228: * @psalm-assert iterable<object> $value
229: *
230: * @param mixed $value
231: * @param string $message
232: *
233: * @throws InvalidArgumentException
234: */
235: public static function allObject($value, $message = '');
236:
237: /**
238: * @psalm-pure
239: * @psalm-assert null|resource $value
240: *
241: * @param mixed $value
242: * @param string|null $type type of resource this should be. @see https://www.php.net/manual/en/function.get-resource-type.php
243: * @param string $message
244: *
245: * @throws InvalidArgumentException
246: */
247: public static function nullOrResource($value, $type = null, $message = '');
248:
249: /**
250: * @psalm-pure
251: * @psalm-assert iterable<resource> $value
252: *
253: * @param mixed $value
254: * @param string|null $type type of resource this should be. @see https://www.php.net/manual/en/function.get-resource-type.php
255: * @param string $message
256: *
257: * @throws InvalidArgumentException
258: */
259: public static function allResource($value, $type = null, $message = '');
260:
261: /**
262: * @psalm-pure
263: * @psalm-assert null|callable $value
264: *
265: * @param mixed $value
266: * @param string $message
267: *
268: * @throws InvalidArgumentException
269: */
270: public static function nullOrIsCallable($value, $message = '');
271:
272: /**
273: * @psalm-pure
274: * @psalm-assert iterable<callable> $value
275: *
276: * @param mixed $value
277: * @param string $message
278: *
279: * @throws InvalidArgumentException
280: */
281: public static function allIsCallable($value, $message = '');
282:
283: /**
284: * @psalm-pure
285: * @psalm-assert null|array $value
286: *
287: * @param mixed $value
288: * @param string $message
289: *
290: * @throws InvalidArgumentException
291: */
292: public static function nullOrIsArray($value, $message = '');
293:
294: /**
295: * @psalm-pure
296: * @psalm-assert iterable<array> $value
297: *
298: * @param mixed $value
299: * @param string $message
300: *
301: * @throws InvalidArgumentException
302: */
303: public static function allIsArray($value, $message = '');
304:
305: /**
306: * @psalm-pure
307: * @psalm-assert null|iterable $value
308: *
309: * @deprecated use "isIterable" or "isInstanceOf" instead
310: *
311: * @param mixed $value
312: * @param string $message
313: *
314: * @throws InvalidArgumentException
315: */
316: public static function nullOrIsTraversable($value, $message = '');
317:
318: /**
319: * @psalm-pure
320: * @psalm-assert iterable<iterable> $value
321: *
322: * @deprecated use "isIterable" or "isInstanceOf" instead
323: *
324: * @param mixed $value
325: * @param string $message
326: *
327: * @throws InvalidArgumentException
328: */
329: public static function allIsTraversable($value, $message = '');
330:
331: /**
332: * @psalm-pure
333: * @psalm-assert null|array|ArrayAccess $value
334: *
335: * @param mixed $value
336: * @param string $message
337: *
338: * @throws InvalidArgumentException
339: */
340: public static function nullOrIsArrayAccessible($value, $message = '');
341:
342: /**
343: * @psalm-pure
344: * @psalm-assert iterable<array|ArrayAccess> $value
345: *
346: * @param mixed $value
347: * @param string $message
348: *
349: * @throws InvalidArgumentException
350: */
351: public static function allIsArrayAccessible($value, $message = '');
352:
353: /**
354: * @psalm-pure
355: * @psalm-assert null|countable $value
356: *
357: * @param mixed $value
358: * @param string $message
359: *
360: * @throws InvalidArgumentException
361: */
362: public static function nullOrIsCountable($value, $message = '');
363:
364: /**
365: * @psalm-pure
366: * @psalm-assert iterable<countable> $value
367: *
368: * @param mixed $value
369: * @param string $message
370: *
371: * @throws InvalidArgumentException
372: */
373: public static function allIsCountable($value, $message = '');
374:
375: /**
376: * @psalm-pure
377: * @psalm-assert null|iterable $value
378: *
379: * @param mixed $value
380: * @param string $message
381: *
382: * @throws InvalidArgumentException
383: */
384: public static function nullOrIsIterable($value, $message = '');
385:
386: /**
387: * @psalm-pure
388: * @psalm-assert iterable<iterable> $value
389: *
390: * @param mixed $value
391: * @param string $message
392: *
393: * @throws InvalidArgumentException
394: */
395: public static function allIsIterable($value, $message = '');
396:
397: /**
398: * @psalm-pure
399: * @psalm-template ExpectedType of object
400: * @psalm-param class-string<ExpectedType> $class
401: * @psalm-assert null|ExpectedType $value
402: *
403: * @param mixed $value
404: * @param string|object $class
405: * @param string $message
406: *
407: * @throws InvalidArgumentException
408: */
409: public static function nullOrIsInstanceOf($value, $class, $message = '');
410:
411: /**
412: * @psalm-pure
413: * @psalm-template ExpectedType of object
414: * @psalm-param class-string<ExpectedType> $class
415: * @psalm-assert iterable<ExpectedType> $value
416: *
417: * @param mixed $value
418: * @param string|object $class
419: * @param string $message
420: *
421: * @throws InvalidArgumentException
422: */
423: public static function allIsInstanceOf($value, $class, $message = '');
424:
425: /**
426: * @psalm-pure
427: * @psalm-template ExpectedType of object
428: * @psalm-param class-string<ExpectedType> $class
429: *
430: * @param mixed $value
431: * @param string|object $class
432: * @param string $message
433: *
434: * @throws InvalidArgumentException
435: */
436: public static function nullOrNotInstanceOf($value, $class, $message = '');
437:
438: /**
439: * @psalm-pure
440: * @psalm-template ExpectedType of object
441: * @psalm-param class-string<ExpectedType> $class
442: *
443: * @param mixed $value
444: * @param string|object $class
445: * @param string $message
446: *
447: * @throws InvalidArgumentException
448: */
449: public static function allNotInstanceOf($value, $class, $message = '');
450:
451: /**
452: * @psalm-pure
453: * @psalm-param array<class-string> $classes
454: *
455: * @param mixed $value
456: * @param array<object|string> $classes
457: * @param string $message
458: *
459: * @throws InvalidArgumentException
460: */
461: public static function nullOrIsInstanceOfAny($value, $classes, $message = '');
462:
463: /**
464: * @psalm-pure
465: * @psalm-param array<class-string> $classes
466: *
467: * @param mixed $value
468: * @param array<object|string> $classes
469: * @param string $message
470: *
471: * @throws InvalidArgumentException
472: */
473: public static function allIsInstanceOfAny($value, $classes, $message = '');
474:
475: /**
476: * @psalm-pure
477: * @psalm-template ExpectedType of object
478: * @psalm-param class-string<ExpectedType> $class
479: * @psalm-assert null|ExpectedType|class-string<ExpectedType> $value
480: *
481: * @param null|object|string $value
482: * @param string $class
483: * @param string $message
484: *
485: * @throws InvalidArgumentException
486: */
487: public static function nullOrIsAOf($value, $class, $message = '');
488:
489: /**
490: * @psalm-pure
491: * @psalm-template ExpectedType of object
492: * @psalm-param class-string<ExpectedType> $class
493: * @psalm-assert iterable<ExpectedType|class-string<ExpectedType>> $value
494: *
495: * @param iterable<object|string> $value
496: * @param string $class
497: * @param string $message
498: *
499: * @throws InvalidArgumentException
500: */
501: public static function allIsAOf($value, $class, $message = '');
502:
503: /**
504: * @psalm-pure
505: * @psalm-template UnexpectedType of object
506: * @psalm-param class-string<UnexpectedType> $class
507: *
508: * @param null|object|string $value
509: * @param string $class
510: * @param string $message
511: *
512: * @throws InvalidArgumentException
513: */
514: public static function nullOrIsNotA($value, $class, $message = '');
515:
516: /**
517: * @psalm-pure
518: * @psalm-template UnexpectedType of object
519: * @psalm-param class-string<UnexpectedType> $class
520: *
521: * @param iterable<object|string> $value
522: * @param string $class
523: * @param string $message
524: *
525: * @throws InvalidArgumentException
526: */
527: public static function allIsNotA($value, $class, $message = '');
528:
529: /**
530: * @psalm-pure
531: * @psalm-param array<class-string> $classes
532: *
533: * @param null|object|string $value
534: * @param string[] $classes
535: * @param string $message
536: *
537: * @throws InvalidArgumentException
538: */
539: public static function nullOrIsAnyOf($value, $classes, $message = '');
540:
541: /**
542: * @psalm-pure
543: * @psalm-param array<class-string> $classes
544: *
545: * @param iterable<object|string> $value
546: * @param string[] $classes
547: * @param string $message
548: *
549: * @throws InvalidArgumentException
550: */
551: public static function allIsAnyOf($value, $classes, $message = '');
552:
553: /**
554: * @psalm-pure
555: * @psalm-assert empty $value
556: *
557: * @param mixed $value
558: * @param string $message
559: *
560: * @throws InvalidArgumentException
561: */
562: public static function nullOrIsEmpty($value, $message = '');
563:
564: /**
565: * @psalm-pure
566: * @psalm-assert iterable<empty> $value
567: *
568: * @param mixed $value
569: * @param string $message
570: *
571: * @throws InvalidArgumentException
572: */
573: public static function allIsEmpty($value, $message = '');
574:
575: /**
576: * @psalm-pure
577: *
578: * @param mixed $value
579: * @param string $message
580: *
581: * @throws InvalidArgumentException
582: */
583: public static function nullOrNotEmpty($value, $message = '');
584:
585: /**
586: * @psalm-pure
587: *
588: * @param mixed $value
589: * @param string $message
590: *
591: * @throws InvalidArgumentException
592: */
593: public static function allNotEmpty($value, $message = '');
594:
595: /**
596: * @psalm-pure
597: * @psalm-assert iterable<null> $value
598: *
599: * @param mixed $value
600: * @param string $message
601: *
602: * @throws InvalidArgumentException
603: */
604: public static function allNull($value, $message = '');
605:
606: /**
607: * @psalm-pure
608: *
609: * @param mixed $value
610: * @param string $message
611: *
612: * @throws InvalidArgumentException
613: */
614: public static function allNotNull($value, $message = '');
615:
616: /**
617: * @psalm-pure
618: * @psalm-assert null|true $value
619: *
620: * @param mixed $value
621: * @param string $message
622: *
623: * @throws InvalidArgumentException
624: */
625: public static function nullOrTrue($value, $message = '');
626:
627: /**
628: * @psalm-pure
629: * @psalm-assert iterable<true> $value
630: *
631: * @param mixed $value
632: * @param string $message
633: *
634: * @throws InvalidArgumentException
635: */
636: public static function allTrue($value, $message = '');
637:
638: /**
639: * @psalm-pure
640: * @psalm-assert null|false $value
641: *
642: * @param mixed $value
643: * @param string $message
644: *
645: * @throws InvalidArgumentException
646: */
647: public static function nullOrFalse($value, $message = '');
648:
649: /**
650: * @psalm-pure
651: * @psalm-assert iterable<false> $value
652: *
653: * @param mixed $value
654: * @param string $message
655: *
656: * @throws InvalidArgumentException
657: */
658: public static function allFalse($value, $message = '');
659:
660: /**
661: * @psalm-pure
662: *
663: * @param mixed $value
664: * @param string $message
665: *
666: * @throws InvalidArgumentException
667: */
668: public static function nullOrNotFalse($value, $message = '');
669:
670: /**
671: * @psalm-pure
672: *
673: * @param mixed $value
674: * @param string $message
675: *
676: * @throws InvalidArgumentException
677: */
678: public static function allNotFalse($value, $message = '');
679:
680: /**
681: * @param mixed $value
682: * @param string $message
683: *
684: * @throws InvalidArgumentException
685: */
686: public static function nullOrIp($value, $message = '');
687:
688: /**
689: * @param mixed $value
690: * @param string $message
691: *
692: * @throws InvalidArgumentException
693: */
694: public static function allIp($value, $message = '');
695:
696: /**
697: * @param mixed $value
698: * @param string $message
699: *
700: * @throws InvalidArgumentException
701: */
702: public static function nullOrIpv4($value, $message = '');
703:
704: /**
705: * @param mixed $value
706: * @param string $message
707: *
708: * @throws InvalidArgumentException
709: */
710: public static function allIpv4($value, $message = '');
711:
712: /**
713: * @param mixed $value
714: * @param string $message
715: *
716: * @throws InvalidArgumentException
717: */
718: public static function nullOrIpv6($value, $message = '');
719:
720: /**
721: * @param mixed $value
722: * @param string $message
723: *
724: * @throws InvalidArgumentException
725: */
726: public static function allIpv6($value, $message = '');
727:
728: /**
729: * @param mixed $value
730: * @param string $message
731: *
732: * @throws InvalidArgumentException
733: */
734: public static function nullOrEmail($value, $message = '');
735:
736: /**
737: * @param mixed $value
738: * @param string $message
739: *
740: * @throws InvalidArgumentException
741: */
742: public static function allEmail($value, $message = '');
743:
744: /**
745: * @param null|array $values
746: * @param string $message
747: *
748: * @throws InvalidArgumentException
749: */
750: public static function nullOrUniqueValues($values, $message = '');
751:
752: /**
753: * @param iterable<array> $values
754: * @param string $message
755: *
756: * @throws InvalidArgumentException
757: */
758: public static function allUniqueValues($values, $message = '');
759:
760: /**
761: * @param mixed $value
762: * @param mixed $expect
763: * @param string $message
764: *
765: * @throws InvalidArgumentException
766: */
767: public static function nullOrEq($value, $expect, $message = '');
768:
769: /**
770: * @param mixed $value
771: * @param mixed $expect
772: * @param string $message
773: *
774: * @throws InvalidArgumentException
775: */
776: public static function allEq($value, $expect, $message = '');
777:
778: /**
779: * @param mixed $value
780: * @param mixed $expect
781: * @param string $message
782: *
783: * @throws InvalidArgumentException
784: */
785: public static function nullOrNotEq($value, $expect, $message = '');
786:
787: /**
788: * @param mixed $value
789: * @param mixed $expect
790: * @param string $message
791: *
792: * @throws InvalidArgumentException
793: */
794: public static function allNotEq($value, $expect, $message = '');
795:
796: /**
797: * @psalm-pure
798: *
799: * @param mixed $value
800: * @param mixed $expect
801: * @param string $message
802: *
803: * @throws InvalidArgumentException
804: */
805: public static function nullOrSame($value, $expect, $message = '');
806:
807: /**
808: * @psalm-pure
809: *
810: * @param mixed $value
811: * @param mixed $expect
812: * @param string $message
813: *
814: * @throws InvalidArgumentException
815: */
816: public static function allSame($value, $expect, $message = '');
817:
818: /**
819: * @psalm-pure
820: *
821: * @param mixed $value
822: * @param mixed $expect
823: * @param string $message
824: *
825: * @throws InvalidArgumentException
826: */
827: public static function nullOrNotSame($value, $expect, $message = '');
828:
829: /**
830: * @psalm-pure
831: *
832: * @param mixed $value
833: * @param mixed $expect
834: * @param string $message
835: *
836: * @throws InvalidArgumentException
837: */
838: public static function allNotSame($value, $expect, $message = '');
839:
840: /**
841: * @psalm-pure
842: *
843: * @param mixed $value
844: * @param mixed $limit
845: * @param string $message
846: *
847: * @throws InvalidArgumentException
848: */
849: public static function nullOrGreaterThan($value, $limit, $message = '');
850:
851: /**
852: * @psalm-pure
853: *
854: * @param mixed $value
855: * @param mixed $limit
856: * @param string $message
857: *
858: * @throws InvalidArgumentException
859: */
860: public static function allGreaterThan($value, $limit, $message = '');
861:
862: /**
863: * @psalm-pure
864: *
865: * @param mixed $value
866: * @param mixed $limit
867: * @param string $message
868: *
869: * @throws InvalidArgumentException
870: */
871: public static function nullOrGreaterThanEq($value, $limit, $message = '');
872:
873: /**
874: * @psalm-pure
875: *
876: * @param mixed $value
877: * @param mixed $limit
878: * @param string $message
879: *
880: * @throws InvalidArgumentException
881: */
882: public static function allGreaterThanEq($value, $limit, $message = '');
883:
884: /**
885: * @psalm-pure
886: *
887: * @param mixed $value
888: * @param mixed $limit
889: * @param string $message
890: *
891: * @throws InvalidArgumentException
892: */
893: public static function nullOrLessThan($value, $limit, $message = '');
894:
895: /**
896: * @psalm-pure
897: *
898: * @param mixed $value
899: * @param mixed $limit
900: * @param string $message
901: *
902: * @throws InvalidArgumentException
903: */
904: public static function allLessThan($value, $limit, $message = '');
905:
906: /**
907: * @psalm-pure
908: *
909: * @param mixed $value
910: * @param mixed $limit
911: * @param string $message
912: *
913: * @throws InvalidArgumentException
914: */
915: public static function nullOrLessThanEq($value, $limit, $message = '');
916:
917: /**
918: * @psalm-pure
919: *
920: * @param mixed $value
921: * @param mixed $limit
922: * @param string $message
923: *
924: * @throws InvalidArgumentException
925: */
926: public static function allLessThanEq($value, $limit, $message = '');
927:
928: /**
929: * @psalm-pure
930: *
931: * @param mixed $value
932: * @param mixed $min
933: * @param mixed $max
934: * @param string $message
935: *
936: * @throws InvalidArgumentException
937: */
938: public static function nullOrRange($value, $min, $max, $message = '');
939:
940: /**
941: * @psalm-pure
942: *
943: * @param mixed $value
944: * @param mixed $min
945: * @param mixed $max
946: * @param string $message
947: *
948: * @throws InvalidArgumentException
949: */
950: public static function allRange($value, $min, $max, $message = '');
951:
952: /**
953: * @psalm-pure
954: *
955: * @param mixed $value
956: * @param array $values
957: * @param string $message
958: *
959: * @throws InvalidArgumentException
960: */
961: public static function nullOrOneOf($value, $values, $message = '');
962:
963: /**
964: * @psalm-pure
965: *
966: * @param mixed $value
967: * @param array $values
968: * @param string $message
969: *
970: * @throws InvalidArgumentException
971: */
972: public static function allOneOf($value, $values, $message = '');
973:
974: /**
975: * @psalm-pure
976: *
977: * @param mixed $value
978: * @param array $values
979: * @param string $message
980: *
981: * @throws InvalidArgumentException
982: */
983: public static function nullOrInArray($value, $values, $message = '');
984:
985: /**
986: * @psalm-pure
987: *
988: * @param mixed $value
989: * @param array $values
990: * @param string $message
991: *
992: * @throws InvalidArgumentException
993: */
994: public static function allInArray($value, $values, $message = '');
995:
996: /**
997: * @psalm-pure
998: *
999: * @param null|string $value
1000: * @param string $subString
1001: * @param string $message
1002: *
1003: * @throws InvalidArgumentException
1004: */
1005: public static function nullOrContains($value, $subString, $message = '');
1006:
1007: /**
1008: * @psalm-pure
1009: *
1010: * @param iterable<string> $value
1011: * @param string $subString
1012: * @param string $message
1013: *
1014: * @throws InvalidArgumentException
1015: */
1016: public static function allContains($value, $subString, $message = '');
1017:
1018: /**
1019: * @psalm-pure
1020: *
1021: * @param null|string $value
1022: * @param string $subString
1023: * @param string $message
1024: *
1025: * @throws InvalidArgumentException
1026: */
1027: public static function nullOrNotContains($value, $subString, $message = '');
1028:
1029: /**
1030: * @psalm-pure
1031: *
1032: * @param iterable<string> $value
1033: * @param string $subString
1034: * @param string $message
1035: *
1036: * @throws InvalidArgumentException
1037: */
1038: public static function allNotContains($value, $subString, $message = '');
1039:
1040: /**
1041: * @psalm-pure
1042: *
1043: * @param null|string $value
1044: * @param string $message
1045: *
1046: * @throws InvalidArgumentException
1047: */
1048: public static function nullOrNotWhitespaceOnly($value, $message = '');
1049:
1050: /**
1051: * @psalm-pure
1052: *
1053: * @param iterable<string> $value
1054: * @param string $message
1055: *
1056: * @throws InvalidArgumentException
1057: */
1058: public static function allNotWhitespaceOnly($value, $message = '');
1059:
1060: /**
1061: * @psalm-pure
1062: *
1063: * @param null|string $value
1064: * @param string $prefix
1065: * @param string $message
1066: *
1067: * @throws InvalidArgumentException
1068: */
1069: public static function nullOrStartsWith($value, $prefix, $message = '');
1070:
1071: /**
1072: * @psalm-pure
1073: *
1074: * @param iterable<string> $value
1075: * @param string $prefix
1076: * @param string $message
1077: *
1078: * @throws InvalidArgumentException
1079: */
1080: public static function allStartsWith($value, $prefix, $message = '');
1081:
1082: /**
1083: * @psalm-pure
1084: *
1085: * @param null|string $value
1086: * @param string $prefix
1087: * @param string $message
1088: *
1089: * @throws InvalidArgumentException
1090: */
1091: public static function nullOrNotStartsWith($value, $prefix, $message = '');
1092:
1093: /**
1094: * @psalm-pure
1095: *
1096: * @param iterable<string> $value
1097: * @param string $prefix
1098: * @param string $message
1099: *
1100: * @throws InvalidArgumentException
1101: */
1102: public static function allNotStartsWith($value, $prefix, $message = '');
1103:
1104: /**
1105: * @psalm-pure
1106: *
1107: * @param mixed $value
1108: * @param string $message
1109: *
1110: * @throws InvalidArgumentException
1111: */
1112: public static function nullOrStartsWithLetter($value, $message = '');
1113:
1114: /**
1115: * @psalm-pure
1116: *
1117: * @param mixed $value
1118: * @param string $message
1119: *
1120: * @throws InvalidArgumentException
1121: */
1122: public static function allStartsWithLetter($value, $message = '');
1123:
1124: /**
1125: * @psalm-pure
1126: *
1127: * @param null|string $value
1128: * @param string $suffix
1129: * @param string $message
1130: *
1131: * @throws InvalidArgumentException
1132: */
1133: public static function nullOrEndsWith($value, $suffix, $message = '');
1134:
1135: /**
1136: * @psalm-pure
1137: *
1138: * @param iterable<string> $value
1139: * @param string $suffix
1140: * @param string $message
1141: *
1142: * @throws InvalidArgumentException
1143: */
1144: public static function allEndsWith($value, $suffix, $message = '');
1145:
1146: /**
1147: * @psalm-pure
1148: *
1149: * @param null|string $value
1150: * @param string $suffix
1151: * @param string $message
1152: *
1153: * @throws InvalidArgumentException
1154: */
1155: public static function nullOrNotEndsWith($value, $suffix, $message = '');
1156:
1157: /**
1158: * @psalm-pure
1159: *
1160: * @param iterable<string> $value
1161: * @param string $suffix
1162: * @param string $message
1163: *
1164: * @throws InvalidArgumentException
1165: */
1166: public static function allNotEndsWith($value, $suffix, $message = '');
1167:
1168: /**
1169: * @psalm-pure
1170: *
1171: * @param null|string $value
1172: * @param string $pattern
1173: * @param string $message
1174: *
1175: * @throws InvalidArgumentException
1176: */
1177: public static function nullOrRegex($value, $pattern, $message = '');
1178:
1179: /**
1180: * @psalm-pure
1181: *
1182: * @param iterable<string> $value
1183: * @param string $pattern
1184: * @param string $message
1185: *
1186: * @throws InvalidArgumentException
1187: */
1188: public static function allRegex($value, $pattern, $message = '');
1189:
1190: /**
1191: * @psalm-pure
1192: *
1193: * @param null|string $value
1194: * @param string $pattern
1195: * @param string $message
1196: *
1197: * @throws InvalidArgumentException
1198: */
1199: public static function nullOrNotRegex($value, $pattern, $message = '');
1200:
1201: /**
1202: * @psalm-pure
1203: *
1204: * @param iterable<string> $value
1205: * @param string $pattern
1206: * @param string $message
1207: *
1208: * @throws InvalidArgumentException
1209: */
1210: public static function allNotRegex($value, $pattern, $message = '');
1211:
1212: /**
1213: * @psalm-pure
1214: *
1215: * @param mixed $value
1216: * @param string $message
1217: *
1218: * @throws InvalidArgumentException
1219: */
1220: public static function nullOrUnicodeLetters($value, $message = '');
1221:
1222: /**
1223: * @psalm-pure
1224: *
1225: * @param mixed $value
1226: * @param string $message
1227: *
1228: * @throws InvalidArgumentException
1229: */
1230: public static function allUnicodeLetters($value, $message = '');
1231:
1232: /**
1233: * @psalm-pure
1234: *
1235: * @param mixed $value
1236: * @param string $message
1237: *
1238: * @throws InvalidArgumentException
1239: */
1240: public static function nullOrAlpha($value, $message = '');
1241:
1242: /**
1243: * @psalm-pure
1244: *
1245: * @param mixed $value
1246: * @param string $message
1247: *
1248: * @throws InvalidArgumentException
1249: */
1250: public static function allAlpha($value, $message = '');
1251:
1252: /**
1253: * @psalm-pure
1254: *
1255: * @param null|string $value
1256: * @param string $message
1257: *
1258: * @throws InvalidArgumentException
1259: */
1260: public static function nullOrDigits($value, $message = '');
1261:
1262: /**
1263: * @psalm-pure
1264: *
1265: * @param iterable<string> $value
1266: * @param string $message
1267: *
1268: * @throws InvalidArgumentException
1269: */
1270: public static function allDigits($value, $message = '');
1271:
1272: /**
1273: * @psalm-pure
1274: *
1275: * @param null|string $value
1276: * @param string $message
1277: *
1278: * @throws InvalidArgumentException
1279: */
1280: public static function nullOrAlnum($value, $message = '');
1281:
1282: /**
1283: * @psalm-pure
1284: *
1285: * @param iterable<string> $value
1286: * @param string $message
1287: *
1288: * @throws InvalidArgumentException
1289: */
1290: public static function allAlnum($value, $message = '');
1291:
1292: /**
1293: * @psalm-pure
1294: * @psalm-assert null|lowercase-string $value
1295: *
1296: * @param null|string $value
1297: * @param string $message
1298: *
1299: * @throws InvalidArgumentException
1300: */
1301: public static function nullOrLower($value, $message = '');
1302:
1303: /**
1304: * @psalm-pure
1305: * @psalm-assert iterable<lowercase-string> $value
1306: *
1307: * @param iterable<string> $value
1308: * @param string $message
1309: *
1310: * @throws InvalidArgumentException
1311: */
1312: public static function allLower($value, $message = '');
1313:
1314: /**
1315: * @psalm-pure
1316: *
1317: * @param null|string $value
1318: * @param string $message
1319: *
1320: * @throws InvalidArgumentException
1321: */
1322: public static function nullOrUpper($value, $message = '');
1323:
1324: /**
1325: * @psalm-pure
1326: *
1327: * @param iterable<string> $value
1328: * @param string $message
1329: *
1330: * @throws InvalidArgumentException
1331: */
1332: public static function allUpper($value, $message = '');
1333:
1334: /**
1335: * @psalm-pure
1336: *
1337: * @param null|string $value
1338: * @param int $length
1339: * @param string $message
1340: *
1341: * @throws InvalidArgumentException
1342: */
1343: public static function nullOrLength($value, $length, $message = '');
1344:
1345: /**
1346: * @psalm-pure
1347: *
1348: * @param iterable<string> $value
1349: * @param int $length
1350: * @param string $message
1351: *
1352: * @throws InvalidArgumentException
1353: */
1354: public static function allLength($value, $length, $message = '');
1355:
1356: /**
1357: * @psalm-pure
1358: *
1359: * @param null|string $value
1360: * @param int|float $min
1361: * @param string $message
1362: *
1363: * @throws InvalidArgumentException
1364: */
1365: public static function nullOrMinLength($value, $min, $message = '');
1366:
1367: /**
1368: * @psalm-pure
1369: *
1370: * @param iterable<string> $value
1371: * @param int|float $min
1372: * @param string $message
1373: *
1374: * @throws InvalidArgumentException
1375: */
1376: public static function allMinLength($value, $min, $message = '');
1377:
1378: /**
1379: * @psalm-pure
1380: *
1381: * @param null|string $value
1382: * @param int|float $max
1383: * @param string $message
1384: *
1385: * @throws InvalidArgumentException
1386: */
1387: public static function nullOrMaxLength($value, $max, $message = '');
1388:
1389: /**
1390: * @psalm-pure
1391: *
1392: * @param iterable<string> $value
1393: * @param int|float $max
1394: * @param string $message
1395: *
1396: * @throws InvalidArgumentException
1397: */
1398: public static function allMaxLength($value, $max, $message = '');
1399:
1400: /**
1401: * @psalm-pure
1402: *
1403: * @param null|string $value
1404: * @param int|float $min
1405: * @param int|float $max
1406: * @param string $message
1407: *
1408: * @throws InvalidArgumentException
1409: */
1410: public static function nullOrLengthBetween($value, $min, $max, $message = '');
1411:
1412: /**
1413: * @psalm-pure
1414: *
1415: * @param iterable<string> $value
1416: * @param int|float $min
1417: * @param int|float $max
1418: * @param string $message
1419: *
1420: * @throws InvalidArgumentException
1421: */
1422: public static function allLengthBetween($value, $min, $max, $message = '');
1423:
1424: /**
1425: * @param mixed $value
1426: * @param string $message
1427: *
1428: * @throws InvalidArgumentException
1429: */
1430: public static function nullOrFileExists($value, $message = '');
1431:
1432: /**
1433: * @param mixed $value
1434: * @param string $message
1435: *
1436: * @throws InvalidArgumentException
1437: */
1438: public static function allFileExists($value, $message = '');
1439:
1440: /**
1441: * @param mixed $value
1442: * @param string $message
1443: *
1444: * @throws InvalidArgumentException
1445: */
1446: public static function nullOrFile($value, $message = '');
1447:
1448: /**
1449: * @param mixed $value
1450: * @param string $message
1451: *
1452: * @throws InvalidArgumentException
1453: */
1454: public static function allFile($value, $message = '');
1455:
1456: /**
1457: * @param mixed $value
1458: * @param string $message
1459: *
1460: * @throws InvalidArgumentException
1461: */
1462: public static function nullOrDirectory($value, $message = '');
1463:
1464: /**
1465: * @param mixed $value
1466: * @param string $message
1467: *
1468: * @throws InvalidArgumentException
1469: */
1470: public static function allDirectory($value, $message = '');
1471:
1472: /**
1473: * @param null|string $value
1474: * @param string $message
1475: *
1476: * @throws InvalidArgumentException
1477: */
1478: public static function nullOrReadable($value, $message = '');
1479:
1480: /**
1481: * @param iterable<string> $value
1482: * @param string $message
1483: *
1484: * @throws InvalidArgumentException
1485: */
1486: public static function allReadable($value, $message = '');
1487:
1488: /**
1489: * @param null|string $value
1490: * @param string $message
1491: *
1492: * @throws InvalidArgumentException
1493: */
1494: public static function nullOrWritable($value, $message = '');
1495:
1496: /**
1497: * @param iterable<string> $value
1498: * @param string $message
1499: *
1500: * @throws InvalidArgumentException
1501: */
1502: public static function allWritable($value, $message = '');
1503:
1504: /**
1505: * @psalm-assert null|class-string $value
1506: *
1507: * @param mixed $value
1508: * @param string $message
1509: *
1510: * @throws InvalidArgumentException
1511: */
1512: public static function nullOrClassExists($value, $message = '');
1513:
1514: /**
1515: * @psalm-assert iterable<class-string> $value
1516: *
1517: * @param mixed $value
1518: * @param string $message
1519: *
1520: * @throws InvalidArgumentException
1521: */
1522: public static function allClassExists($value, $message = '');
1523:
1524: /**
1525: * @psalm-pure
1526: * @psalm-template ExpectedType of object
1527: * @psalm-param class-string<ExpectedType> $class
1528: * @psalm-assert null|class-string<ExpectedType>|ExpectedType $value
1529: *
1530: * @param mixed $value
1531: * @param string|object $class
1532: * @param string $message
1533: *
1534: * @throws InvalidArgumentException
1535: */
1536: public static function nullOrSubclassOf($value, $class, $message = '');
1537:
1538: /**
1539: * @psalm-pure
1540: * @psalm-template ExpectedType of object
1541: * @psalm-param class-string<ExpectedType> $class
1542: * @psalm-assert iterable<class-string<ExpectedType>|ExpectedType> $value
1543: *
1544: * @param mixed $value
1545: * @param string|object $class
1546: * @param string $message
1547: *
1548: * @throws InvalidArgumentException
1549: */
1550: public static function allSubclassOf($value, $class, $message = '');
1551:
1552: /**
1553: * @psalm-assert null|class-string $value
1554: *
1555: * @param mixed $value
1556: * @param string $message
1557: *
1558: * @throws InvalidArgumentException
1559: */
1560: public static function nullOrInterfaceExists($value, $message = '');
1561:
1562: /**
1563: * @psalm-assert iterable<class-string> $value
1564: *
1565: * @param mixed $value
1566: * @param string $message
1567: *
1568: * @throws InvalidArgumentException
1569: */
1570: public static function allInterfaceExists($value, $message = '');
1571:
1572: /**
1573: * @psalm-pure
1574: * @psalm-template ExpectedType of object
1575: * @psalm-param class-string<ExpectedType> $interface
1576: * @psalm-assert null|class-string<ExpectedType> $value
1577: *
1578: * @param mixed $value
1579: * @param mixed $interface
1580: * @param string $message
1581: *
1582: * @throws InvalidArgumentException
1583: */
1584: public static function nullOrImplementsInterface($value, $interface, $message = '');
1585:
1586: /**
1587: * @psalm-pure
1588: * @psalm-template ExpectedType of object
1589: * @psalm-param class-string<ExpectedType> $interface
1590: * @psalm-assert iterable<class-string<ExpectedType>> $value
1591: *
1592: * @param mixed $value
1593: * @param mixed $interface
1594: * @param string $message
1595: *
1596: * @throws InvalidArgumentException
1597: */
1598: public static function allImplementsInterface($value, $interface, $message = '');
1599:
1600: /**
1601: * @psalm-pure
1602: * @psalm-param null|class-string|object $classOrObject
1603: *
1604: * @param null|string|object $classOrObject
1605: * @param mixed $property
1606: * @param string $message
1607: *
1608: * @throws InvalidArgumentException
1609: */
1610: public static function nullOrPropertyExists($classOrObject, $property, $message = '');
1611:
1612: /**
1613: * @psalm-pure
1614: * @psalm-param iterable<class-string|object> $classOrObject
1615: *
1616: * @param iterable<string|object> $classOrObject
1617: * @param mixed $property
1618: * @param string $message
1619: *
1620: * @throws InvalidArgumentException
1621: */
1622: public static function allPropertyExists($classOrObject, $property, $message = '');
1623:
1624: /**
1625: * @psalm-pure
1626: * @psalm-param null|class-string|object $classOrObject
1627: *
1628: * @param null|string|object $classOrObject
1629: * @param mixed $property
1630: * @param string $message
1631: *
1632: * @throws InvalidArgumentException
1633: */
1634: public static function nullOrPropertyNotExists($classOrObject, $property, $message = '');
1635:
1636: /**
1637: * @psalm-pure
1638: * @psalm-param iterable<class-string|object> $classOrObject
1639: *
1640: * @param iterable<string|object> $classOrObject
1641: * @param mixed $property
1642: * @param string $message
1643: *
1644: * @throws InvalidArgumentException
1645: */
1646: public static function allPropertyNotExists($classOrObject, $property, $message = '');
1647:
1648: /**
1649: * @psalm-pure
1650: * @psalm-param null|class-string|object $classOrObject
1651: *
1652: * @param null|string|object $classOrObject
1653: * @param mixed $method
1654: * @param string $message
1655: *
1656: * @throws InvalidArgumentException
1657: */
1658: public static function nullOrMethodExists($classOrObject, $method, $message = '');
1659:
1660: /**
1661: * @psalm-pure
1662: * @psalm-param iterable<class-string|object> $classOrObject
1663: *
1664: * @param iterable<string|object> $classOrObject
1665: * @param mixed $method
1666: * @param string $message
1667: *
1668: * @throws InvalidArgumentException
1669: */
1670: public static function allMethodExists($classOrObject, $method, $message = '');
1671:
1672: /**
1673: * @psalm-pure
1674: * @psalm-param null|class-string|object $classOrObject
1675: *
1676: * @param null|string|object $classOrObject
1677: * @param mixed $method
1678: * @param string $message
1679: *
1680: * @throws InvalidArgumentException
1681: */
1682: public static function nullOrMethodNotExists($classOrObject, $method, $message = '');
1683:
1684: /**
1685: * @psalm-pure
1686: * @psalm-param iterable<class-string|object> $classOrObject
1687: *
1688: * @param iterable<string|object> $classOrObject
1689: * @param mixed $method
1690: * @param string $message
1691: *
1692: * @throws InvalidArgumentException
1693: */
1694: public static function allMethodNotExists($classOrObject, $method, $message = '');
1695:
1696: /**
1697: * @psalm-pure
1698: *
1699: * @param null|array $array
1700: * @param string|int $key
1701: * @param string $message
1702: *
1703: * @throws InvalidArgumentException
1704: */
1705: public static function nullOrKeyExists($array, $key, $message = '');
1706:
1707: /**
1708: * @psalm-pure
1709: *
1710: * @param iterable<array> $array
1711: * @param string|int $key
1712: * @param string $message
1713: *
1714: * @throws InvalidArgumentException
1715: */
1716: public static function allKeyExists($array, $key, $message = '');
1717:
1718: /**
1719: * @psalm-pure
1720: *
1721: * @param null|array $array
1722: * @param string|int $key
1723: * @param string $message
1724: *
1725: * @throws InvalidArgumentException
1726: */
1727: public static function nullOrKeyNotExists($array, $key, $message = '');
1728:
1729: /**
1730: * @psalm-pure
1731: *
1732: * @param iterable<array> $array
1733: * @param string|int $key
1734: * @param string $message
1735: *
1736: * @throws InvalidArgumentException
1737: */
1738: public static function allKeyNotExists($array, $key, $message = '');
1739:
1740: /**
1741: * @psalm-pure
1742: * @psalm-assert null|array-key $value
1743: *
1744: * @param mixed $value
1745: * @param string $message
1746: *
1747: * @throws InvalidArgumentException
1748: */
1749: public static function nullOrValidArrayKey($value, $message = '');
1750:
1751: /**
1752: * @psalm-pure
1753: * @psalm-assert iterable<array-key> $value
1754: *
1755: * @param mixed $value
1756: * @param string $message
1757: *
1758: * @throws InvalidArgumentException
1759: */
1760: public static function allValidArrayKey($value, $message = '');
1761:
1762: /**
1763: * @param null|Countable|array $array
1764: * @param int $number
1765: * @param string $message
1766: *
1767: * @throws InvalidArgumentException
1768: */
1769: public static function nullOrCount($array, $number, $message = '');
1770:
1771: /**
1772: * @param iterable<Countable|array> $array
1773: * @param int $number
1774: * @param string $message
1775: *
1776: * @throws InvalidArgumentException
1777: */
1778: public static function allCount($array, $number, $message = '');
1779:
1780: /**
1781: * @param null|Countable|array $array
1782: * @param int|float $min
1783: * @param string $message
1784: *
1785: * @throws InvalidArgumentException
1786: */
1787: public static function nullOrMinCount($array, $min, $message = '');
1788:
1789: /**
1790: * @param iterable<Countable|array> $array
1791: * @param int|float $min
1792: * @param string $message
1793: *
1794: * @throws InvalidArgumentException
1795: */
1796: public static function allMinCount($array, $min, $message = '');
1797:
1798: /**
1799: * @param null|Countable|array $array
1800: * @param int|float $max
1801: * @param string $message
1802: *
1803: * @throws InvalidArgumentException
1804: */
1805: public static function nullOrMaxCount($array, $max, $message = '');
1806:
1807: /**
1808: * @param iterable<Countable|array> $array
1809: * @param int|float $max
1810: * @param string $message
1811: *
1812: * @throws InvalidArgumentException
1813: */
1814: public static function allMaxCount($array, $max, $message = '');
1815:
1816: /**
1817: * @param null|Countable|array $array
1818: * @param int|float $min
1819: * @param int|float $max
1820: * @param string $message
1821: *
1822: * @throws InvalidArgumentException
1823: */
1824: public static function nullOrCountBetween($array, $min, $max, $message = '');
1825:
1826: /**
1827: * @param iterable<Countable|array> $array
1828: * @param int|float $min
1829: * @param int|float $max
1830: * @param string $message
1831: *
1832: * @throws InvalidArgumentException
1833: */
1834: public static function allCountBetween($array, $min, $max, $message = '');
1835:
1836: /**
1837: * @psalm-pure
1838: * @psalm-assert null|list $array
1839: *
1840: * @param mixed $array
1841: * @param string $message
1842: *
1843: * @throws InvalidArgumentException
1844: */
1845: public static function nullOrIsList($array, $message = '');
1846:
1847: /**
1848: * @psalm-pure
1849: * @psalm-assert iterable<list> $array
1850: *
1851: * @param mixed $array
1852: * @param string $message
1853: *
1854: * @throws InvalidArgumentException
1855: */
1856: public static function allIsList($array, $message = '');
1857:
1858: /**
1859: * @psalm-pure
1860: * @psalm-assert null|non-empty-list $array
1861: *
1862: * @param mixed $array
1863: * @param string $message
1864: *
1865: * @throws InvalidArgumentException
1866: */
1867: public static function nullOrIsNonEmptyList($array, $message = '');
1868:
1869: /**
1870: * @psalm-pure
1871: * @psalm-assert iterable<non-empty-list> $array
1872: *
1873: * @param mixed $array
1874: * @param string $message
1875: *
1876: * @throws InvalidArgumentException
1877: */
1878: public static function allIsNonEmptyList($array, $message = '');
1879:
1880: /**
1881: * @psalm-pure
1882: * @psalm-template T
1883: * @psalm-param null|mixed|array<T> $array
1884: * @psalm-assert null|array<string, T> $array
1885: *
1886: * @param mixed $array
1887: * @param string $message
1888: *
1889: * @throws InvalidArgumentException
1890: */
1891: public static function nullOrIsMap($array, $message = '');
1892:
1893: /**
1894: * @psalm-pure
1895: * @psalm-template T
1896: * @psalm-param iterable<mixed|array<T>> $array
1897: * @psalm-assert iterable<array<string, T>> $array
1898: *
1899: * @param mixed $array
1900: * @param string $message
1901: *
1902: * @throws InvalidArgumentException
1903: */
1904: public static function allIsMap($array, $message = '');
1905:
1906: /**
1907: * @psalm-pure
1908: * @psalm-template T
1909: * @psalm-param null|mixed|array<T> $array
1910: *
1911: * @param mixed $array
1912: * @param string $message
1913: *
1914: * @throws InvalidArgumentException
1915: */
1916: public static function nullOrIsNonEmptyMap($array, $message = '');
1917:
1918: /**
1919: * @psalm-pure
1920: * @psalm-template T
1921: * @psalm-param iterable<mixed|array<T>> $array
1922: *
1923: * @param mixed $array
1924: * @param string $message
1925: *
1926: * @throws InvalidArgumentException
1927: */
1928: public static function allIsNonEmptyMap($array, $message = '');
1929:
1930: /**
1931: * @psalm-pure
1932: *
1933: * @param null|string $value
1934: * @param string $message
1935: *
1936: * @throws InvalidArgumentException
1937: */
1938: public static function nullOrUuid($value, $message = '');
1939:
1940: /**
1941: * @psalm-pure
1942: *
1943: * @param iterable<string> $value
1944: * @param string $message
1945: *
1946: * @throws InvalidArgumentException
1947: */
1948: public static function allUuid($value, $message = '');
1949:
1950: /**
1951: * @psalm-param class-string<Throwable> $class
1952: *
1953: * @param null|Closure $expression
1954: * @param string $class
1955: * @param string $message
1956: *
1957: * @throws InvalidArgumentException
1958: */
1959: public static function nullOrThrows($expression, $class = 'Exception', $message = '');
1960:
1961: /**
1962: * @psalm-param class-string<Throwable> $class
1963: *
1964: * @param iterable<Closure> $expression
1965: * @param string $class
1966: * @param string $message
1967: *
1968: * @throws InvalidArgumentException
1969: */
1970: public static function allThrows($expression, $class = 'Exception', $message = '');
1971: }
1972: