| Conditions | 4 | 
| Paths | 6 | 
| Total Lines | 22 | 
| Code Lines | 12 | 
| Lines | 0 | 
| Ratio | 0 % | 
| Tests | 12 | 
| CRAP Score | 4 | 
| Changes | 0 | ||
| 1 | <?php | ||
| 27 | 39 | protected function yieldItemsAndGetKey(ResponseInterface $response, string $key): Generator | |
| 28 |     { | ||
| 29 | 39 | $itemsPerPage = 0; | |
| 30 | 39 | $pointers = [$this->config->itemsPointer]; | |
| 31 | |||
| 32 | 39 |         if (($value = $response->getHeaderLine($key)) === '') { | |
| 33 | 31 |             $pointers[DotsConverter::toPointer($key)] = fn(mixed $value) => (object) compact('value'); | |
| 34 | } | ||
| 35 | |||
| 36 | 39 |         foreach (JsonParser::parse($response)->pointers($pointers) as $item) { | |
| 37 | 39 |             if (is_object($item)) { | |
| 38 |                 /** @var object{value: mixed} $item */ | ||
| 39 | 30 | $value = $item->value; | |
| 40 |             } else { | ||
| 41 | 39 | yield $item; | |
| 42 | 39 | ++$itemsPerPage; | |
| 43 | } | ||
| 44 | } | ||
| 45 | |||
| 46 | 39 | $this->itemsPerPage ??= $itemsPerPage; | |
| 47 | |||
| 48 | 39 | return $value; | |
| 49 | } | ||
| 62 |