Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
8 / 8
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
QueryMatch
100.00% covered (success)
100.00%
8 / 8
100.00% covered (success)
100.00%
2 / 2
2
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 fromArray
100.00% covered (success)
100.00%
7 / 7
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3declare(strict_types=1);
4
5namespace Mbvb1223\Pinecone\Data\Vectors;
6
7class QueryMatch
8{
9    /**
10     * @param array<float>|null $values
11     * @param array<string, mixed>|null $metadata
12     * @param array{indices: array<int>, values: array<float>}|null $sparseValues
13     */
14    public function __construct(
15        public readonly string $id,
16        public readonly float $score,
17        public readonly ?array $values = null,
18        public readonly ?array $metadata = null,
19        public readonly ?array $sparseValues = null,
20    ) {
21    }
22
23    /** @param array<string, mixed> $data */
24    public static function fromArray(array $data): self
25    {
26        return new self(
27            id: $data['id'],
28            score: (float) $data['score'],
29            values: $data['values'] ?? null,
30            metadata: $data['metadata'] ?? null,
31            sparseValues: $data['sparseValues'] ?? null,
32        );
33    }
34}