| 1: | <?php declare(strict_types=1); |
| 2: | |
| 3: | namespace TH\Maybe\Internal; |
| 4: | |
| 5: | /** |
| 6: | * Check if the type of the given value is any of the passed classes. |
| 7: | * |
| 8: | * @template T |
| 9: | * @param iterable<class-string<T>> $classes |
| 10: | * @psalm-assert-if-false !T $value |
| 11: | * @psalm-assert-if-true T $value |
| 12: | */ |
| 13: | function isOfAnyClass( |
| 14: | object $value, |
| 15: | iterable $classes, |
| 16: | ): bool { |
| 17: | foreach ($classes as $class) { |
| 18: | if (\is_a($value, $class)) { |
| 19: | return true; |
| 20: | } |
| 21: | } |
| 22: | |
| 23: | return false; |
| 24: | } |
| 25: |