| Conditions | 6 |
| Paths | 7 |
| Total Lines | 30 |
| Code Lines | 17 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 0 | ||
| 1 | <?php |
||
| 43 | public function fetch( |
||
| 44 | Result $input, |
||
| 45 | array $keys, |
||
| 46 | callable $keyCallback = null, |
||
| 47 | callable $valueCallback = null |
||
| 48 | ) {
|
||
| 49 | $output = []; |
||
| 50 | $decoded = $input->getDecoded(); |
||
| 51 | |||
| 52 | foreach ($keys as $key) {
|
||
| 53 | foreach ($this->getKeyValues($decoded, $key) as $name => $value) {
|
||
| 54 | //Get first not-empty value. |
||
| 55 | if (!empty($value)) {
|
||
| 56 | if (!empty($keyCallback)) {
|
||
| 57 | $key = call_user_func($keyCallback, $key); |
||
| 58 | } |
||
| 59 | |||
| 60 | if (!empty($valueCallback)) {
|
||
| 61 | $value = call_user_func($valueCallback, $value); |
||
| 62 | } |
||
| 63 | |||
| 64 | $output[$key] = $value; |
||
| 65 | |||
| 66 | continue; |
||
| 67 | } |
||
| 68 | } |
||
| 69 | } |
||
| 70 | |||
| 71 | return $output; |
||
| 72 | } |
||
| 73 | |||
| 83 | } |