@@ 466-474 (lines=9) @@ | ||
463 | * |
|
464 | * @throws InvalidArgumentException |
|
465 | */ |
|
466 | public static function isArrayAccessible($value, $message = '') |
|
467 | { |
|
468 | if (!\is_array($value) && !($value instanceof ArrayAccess)) { |
|
469 | static::reportInvalidArgument(\sprintf( |
|
470 | $message ?: 'Expected an array accessible. Got: %s', |
|
471 | static::typeToString($value) |
|
472 | )); |
|
473 | } |
|
474 | } |
|
475 | ||
476 | /** |
|
477 | * @psalm-assert countable $value |
|
@@ 484-492 (lines=9) @@ | ||
481 | * |
|
482 | * @throws InvalidArgumentException |
|
483 | */ |
|
484 | public static function isCountable($value, $message = '') |
|
485 | { |
|
486 | if (!\is_array($value) && !($value instanceof Countable)) { |
|
487 | static::reportInvalidArgument(\sprintf( |
|
488 | $message ?: 'Expected a countable. Got: %s', |
|
489 | static::typeToString($value) |
|
490 | )); |
|
491 | } |
|
492 | } |
|
493 | ||
494 | /** |
|
495 | * @psalm-assert iterable $value |
|
@@ 502-510 (lines=9) @@ | ||
499 | * |
|
500 | * @throws InvalidArgumentException |
|
501 | */ |
|
502 | public static function isIterable($value, $message = '') |
|
503 | { |
|
504 | if (!\is_array($value) && !($value instanceof Traversable)) { |
|
505 | static::reportInvalidArgument(\sprintf( |
|
506 | $message ?: 'Expected an iterable. Got: %s', |
|
507 | static::typeToString($value) |
|
508 | )); |
|
509 | } |
|
510 | } |
|
511 | ||
512 | /** |
|
513 | * @psalm-template ExpectedType of object |