|
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