|
13 | 13 |
|
14 | 14 | namespace Laudis\Neo4j\Neo4j; |
15 | 15 |
|
16 | | -use function array_filter; |
17 | 16 | use Bolt\connection\StreamSocket; |
18 | 17 | use Exception; |
19 | 18 | use Laudis\Neo4j\Bolt\BoltDriver; |
20 | 19 | use Laudis\Neo4j\Common\Uri; |
21 | 20 | use Laudis\Neo4j\Contracts\ConnectionPoolInterface; |
22 | 21 | use Laudis\Neo4j\Enum\AccessMode; |
23 | 22 | use Laudis\Neo4j\Enum\RoutingRoles; |
| 23 | +use Laudis\Neo4j\Types\CypherList; |
24 | 24 | use Psr\Http\Message\UriInterface; |
25 | 25 | use function random_int; |
26 | 26 | use function str_starts_with; |
@@ -92,15 +92,15 @@ private function routingTable(UriInterface $uri): RoutingTable |
92 | 92 | /** @var iterable<array{addresses: list<string>, role:string}> $values */ |
93 | 93 | $values = []; |
94 | 94 | foreach ($response as $server) { |
95 | | - /** @var list<string> $addresses */ |
| 95 | + /** @var CypherList<string> $addresses */ |
96 | 96 | $addresses = $server->get('addresses'); |
97 | | - $addresses = array_filter($addresses, static fn (string $x) => str_starts_with($x, 'bolt://')); |
| 97 | + $addresses = $addresses->filter(static fn (string $x) => str_starts_with($x, 'bolt://')); |
98 | 98 | /** |
99 | 99 | * @psalm-suppress InvalidArrayAssignment |
100 | 100 | * |
101 | 101 | * @var array{addresses: list<string>, role:string} |
102 | 102 | */ |
103 | | - $values[] = ['addresses' => $addresses, 'role' => $server->get('role')]; |
| 103 | + $values[] = ['addresses' => $addresses->toArray(), 'role' => $server->get('role')]; |
104 | 104 | } |
105 | 105 |
|
106 | 106 | $this->table = new RoutingTable($values, time() + 3600); |
|
0 commit comments