Files
pest/src/Concerns/Retrievable.php
2022-12-20 22:42:31 +00:00

32 lines
691 B
PHP

<?php
declare(strict_types=1);
namespace Pest\Concerns;
/**
* @internal
*/
trait Retrievable
{
/**
* @template TRetrievableValue
*
* Safely retrieve the value at the given key from an object or array.
* @template TRetrievableValue
*
* @param array<string, TRetrievableValue>|object $value
* @param TRetrievableValue|null $default
* @return TRetrievableValue|null
*/
private function retrieve(string $key, mixed $value, mixed $default = null): mixed
{
if (is_array($value)) {
return $value[$key] ?? $default;
}
// @phpstan-ignore-next-line
return $value->$key ?? $default;
}
}