Skip to content

Commit 8fe7a3a

Browse files
uekannuekann
authored andcommitted
Add nsrt for array all function
1 parent 0ec6765 commit 8fe7a3a

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
<?php // lint >= 8.4
2+
3+
namespace ArrayAll;
4+
5+
use function PHPStan\Testing\assertType;
6+
7+
class Foo {
8+
/**
9+
* @param array<mixed> $array
10+
*/
11+
public function test1($array) {
12+
if (array_all($array, fn ($value) => is_int($value))) {
13+
assertType("array<int>", $array);
14+
}
15+
}
16+
17+
/**
18+
* @param array<mixed> $array
19+
*/
20+
public function test2($array) {
21+
if (array_all($array, fn ($value, $key) => is_string($key))) {
22+
assertType("array<string, mixed>", $array);
23+
}
24+
}
25+
26+
/**
27+
* @param array<mixed> $array
28+
*/
29+
public function test3($array) {
30+
if (array_all($array, fn ($value, $key) => is_string($key) && is_int($value))) {
31+
assertType("array<string, int>", $array);
32+
}
33+
}
34+
35+
/**
36+
* @param array<mixed> $array
37+
*/
38+
public function test4($array) {
39+
if (array_all($array, fn ($value) => is_string($value) && is_numeric($value))) {
40+
assertType("array<numeric-string>", $array);
41+
}
42+
}
43+
44+
/**
45+
* @param array<mixed> $array
46+
*/
47+
public function test5($array) {
48+
if (array_all($array, fn ($value) => is_bool($value) || is_float($value))) {
49+
assertType("array<bool|float>", $array);
50+
}
51+
}
52+
53+
/**
54+
* @param array<mixed> $array
55+
*/
56+
public function test6($array) {
57+
if (array_all($array, fn ($value) => is_float(1))) {
58+
assertType("array<mixed>", $array);
59+
}
60+
}
61+
}

0 commit comments

Comments
 (0)