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
|
<?php
namespace Webmozart\Assert\Tests\StaticAnalysis;
use Serializable;
use Webmozart\Assert\Assert;
/**
* @psalm-pure
*
* @param mixed $value
*
* @return class-string<Serializable>
*/
function implementsInterface($value): string
{
Assert::implementsInterface($value, Serializable::class);
return $value;
}
/**
* @psalm-pure
*
* @param mixed $value
*
* @return null|class-string<Serializable>
*/
function nullOrImplementsInterface($value): ?string
{
Assert::nullOrImplementsInterface($value, Serializable::class);
return $value;
}
/**
* @psalm-pure
*
* @param mixed $value
*
* @return iterable<class-string<Serializable>>
*/
function allImplementsInterface($value): iterable
{
Assert::allImplementsInterface($value, Serializable::class);
return $value;
}
/**
* @psalm-pure
*
* @param mixed $value
*
* @return iterable<class-string<Serializable>|null>
*/
function allNullOrImplementsInterface($value): iterable
{
Assert::allNullOrImplementsInterface($value, Serializable::class);
return $value;
}
|