| @@ 119-124 (lines=6) @@ | ||
| 116 | ||
| 117 | private function merge(array $defaults, array $values, array $required = []) |
|
| 118 | { |
|
| 119 | if ($diff = array_diff($required, array_keys($values))) { |
|
| 120 | throw new \InvalidArgumentException(sprintf( |
|
| 121 | 'Keys "%s" are required for "%s"', |
|
| 122 | implode('", "', $diff), json_encode($values) |
|
| 123 | )); |
|
| 124 | } |
|
| 125 | ||
| 126 | if ($diff = array_diff(array_keys($values), array_keys($defaults))) { |
|
| 127 | throw new \InvalidArgumentException(sprintf( |
|
| @@ 126-131 (lines=6) @@ | ||
| 123 | )); |
|
| 124 | } |
|
| 125 | ||
| 126 | if ($diff = array_diff(array_keys($values), array_keys($defaults))) { |
|
| 127 | throw new \InvalidArgumentException(sprintf( |
|
| 128 | 'Invalid query keys "%s", valid keys: "%s"', |
|
| 129 | implode('", "', $diff), implode('", "', array_keys($defaults)) |
|
| 130 | )); |
|
| 131 | } |
|
| 132 | ||
| 133 | return array_merge($defaults, $values); |
|
| 134 | } |
|
| @@ 31-36 (lines=6) @@ | ||
| 28 | 'can_join' => false, |
|
| 29 | ]; |
|
| 30 | ||
| 31 | if ($diff = array_diff(array_keys($capabilities), array_keys($defaults))) { |
|
| 32 | throw new \InvalidArgumentException(sprintf( |
|
| 33 | 'Unknown capabilities: "%s". Valid capabilities: "%s"', |
|
| 34 | implode('", "', $diff), implode('", "', array_keys($defaults)) |
|
| 35 | )); |
|
| 36 | } |
|
| 37 | ||
| 38 | $capabilities = array_merge($defaults, $capabilities); |
|
| 39 | ||
| @@ 53-58 (lines=6) @@ | ||
| 50 | 'maxResults' => null, |
|
| 51 | ]; |
|
| 52 | ||
| 53 | if ($diff = array_diff(array_keys($query), array_keys($defaults))) { |
|
| 54 | throw new \InvalidArgumentException(sprintf( |
|
| 55 | 'Invalid query keys "%s", valid keys: "%s"', |
|
| 56 | implode('", "', $diff), implode('", "', array_keys($defaults)) |
|
| 57 | )); |
|
| 58 | } |
|
| 59 | ||
| 60 | $query = array_merge($defaults, $query); |
|
| 61 | ||