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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
<?php
namespace Webmozart\Assert\Tests\StaticAnalysis;
use Webmozart\Assert\Assert;
/**
* @psalm-pure
*
* @param mixed $value
*
* @return array<string, mixed>
*/
function isMap($value): array
{
Assert::isMap($value);
return $value;
}
/**
* Verifying that the type of the elements in the array is preserved by the assertion
*
* @psalm-pure
*
* @param array<int|string, \stdClass> $value
*
* @return array<string, \stdClass>
*/
function isMapWithKnownType(array $value): array
{
Assert::isMap($value);
return $value;
}
/**
* @psalm-pure
*
* @param array<int|string, mixed> $value
*
* @return array<empty, empty>
*/
function isMapWithEmptyArray(array $value): array
{
Assert::isMap($value);
Assert::isEmpty($value);
return $value;
}
/**
* @psalm-pure
*
* @param mixed $value
*
* @return null|array<string, mixed>
*/
function nullOrIsMap($value): ?array
{
Assert::nullOrIsMap($value);
return $value;
}
/**
* @psalm-pure
*
* @param iterable<mixed|array<mixed>> $value
*
* @return iterable<array<string, mixed>>
*/
function allIsMap(iterable $value): iterable
{
Assert::allIsMap($value);
return $value;
}
/**
* @psalm-pure
*
* @param iterable<mixed|array<mixed>> $value
*
* @return iterable<array<string, mixed>|null>
*/
function allNullOrIsMap(iterable $value): iterable
{
Assert::allNullOrIsMap($value);
return $value;
}
|