We could not synchronize checks via GitHub's checks API since Scrutinizer's GitHub App is not installed for this repository.
1 | <?php |
||
21 | class FieldsConfigSolution extends AbstractConfigSolution |
||
22 | { |
||
23 | /** |
||
24 | * @var TypeConfigSolution |
||
25 | */ |
||
26 | private $typeConfigSolution; |
||
27 | |||
28 | /** |
||
29 | * @var ResolveCallbackConfigSolution |
||
30 | */ |
||
31 | private $resolveCallbackConfigSolution; |
||
32 | |||
33 | 32 | public function __construct( |
|
40 | |||
41 | 27 | public function solve($values, array &$config = null) |
|
64 | |||
65 | private function solveComplexity($options, $field) |
||
|
|||
66 | { |
||
67 | $treatedOptions = $options; |
||
68 | |||
69 | $value = $treatedOptions['complexity']; |
||
70 | |||
71 | $treatedOptions['complexity'] = function () use ($value) { |
||
72 | $args = func_get_args(); |
||
73 | $complexity = $this->solveUsingExpressionLanguageIfNeeded( |
||
74 | $value, |
||
75 | [ |
||
76 | 'childrenComplexity' => $args[0], |
||
77 | 'args' => new Argument($args[1]), |
||
78 | ] |
||
79 | ); |
||
80 | |||
81 | return (int) $complexity; |
||
82 | }; |
||
83 | |||
84 | return $treatedOptions; |
||
85 | } |
||
86 | |||
87 | 19 | private function solveBuilder($options, $field) |
|
88 | { |
||
89 | 19 | $builderConfig = isset($options['builderConfig']) ? $options['builderConfig'] : []; |
|
90 | |||
91 | 19 | $access = isset($options['access']) ? $options['access'] : null; |
|
92 | 19 | $options = $this->builderToMappingDefinition($options['builder'], $builderConfig, $this->fieldResolver, $field); |
|
93 | 19 | $options['access'] = $access; |
|
94 | 19 | $options = $this->resolveResolveAndAccessIfNeeded($options); |
|
95 | |||
96 | 19 | unset($options['builderConfig'], $options['builder']); |
|
97 | |||
98 | 19 | return $options; |
|
99 | } |
||
100 | |||
101 | 27 | private function solveType($options) |
|
107 | |||
108 | private function solveArgs($options) |
||
119 | |||
120 | 8 | private function solveArgsBuilder($options) |
|
133 | |||
134 | private function solveDeprecationReason($options) |
||
140 | |||
141 | 27 | private function builderToMappingDefinition($rawBuilder, array $rawBuilderConfig, ResolverInterface $builderResolver, $name = null) |
|
157 | |||
158 | 27 | private function resolveResolveAndAccessIfNeeded(array $options) |
|
159 | { |
||
160 | 27 | $treatedOptions = $options; |
|
161 | |||
162 | 27 | if (isset($treatedOptions['resolve'])) { |
|
163 | 27 | $treatedOptions['resolve'] = $this->resolveCallbackConfigSolution->solve($treatedOptions['resolve']); |
|
164 | 27 | } |
|
165 | |||
166 | 27 | if (isset($treatedOptions['access'])) { |
|
167 | $resolveCallback = $this->configResolver->getDefaultResolveFn(); |
||
168 | |||
169 | if (isset($treatedOptions['resolve'])) { |
||
170 | $resolveCallback = $treatedOptions['resolve']; |
||
171 | } |
||
172 | |||
173 | $treatedOptions['resolve'] = $this->resolveAccessAndWrapResolveCallback($treatedOptions['access'], $resolveCallback); |
||
174 | } |
||
175 | 27 | unset($treatedOptions['access']); |
|
176 | |||
177 | 27 | return $treatedOptions; |
|
178 | } |
||
179 | |||
180 | 5 | private function resolveAccessAndWrapResolveCallback($expression, callable $resolveCallback = null) |
|
192 | |||
193 | 5 | private function filterResultUsingAccess($result, $expression, $values) |
|
194 | { |
||
195 | 5 | $checkAccess = $this->checkAccessCallback($expression, $values); |
|
196 | |||
197 | 5 | switch (true) { |
|
198 | 5 | case is_array($result): |
|
199 | 1 | $result = array_map( |
|
200 | function ($object) use ($checkAccess) { |
||
201 | 1 | return $checkAccess($object) ? $object : null; |
|
202 | 1 | }, |
|
203 | $result |
||
204 | 1 | ); |
|
205 | 1 | break; |
|
206 | |||
207 | 4 | case $result instanceof Connection: |
|
208 | 1 | $result->edges = array_map( |
|
209 | function (Edge $edge) use ($checkAccess) { |
||
210 | 1 | $edge->node = $checkAccess($edge->node) ? $edge->node : null; |
|
211 | |||
212 | 1 | return $edge; |
|
213 | 1 | }, |
|
214 | 1 | $result->edges |
|
215 | 1 | ); |
|
216 | 1 | break; |
|
217 | |||
218 | 3 | default: |
|
219 | 3 | $checkAccess($result, true); |
|
220 | 1 | break; |
|
221 | 3 | } |
|
222 | |||
223 | 3 | return $result; |
|
224 | } |
||
225 | |||
226 | private function checkAccessCallback($expression, $values) |
||
245 | } |
||
246 |
This check looks from parameters that have been defined for a function or method, but which are not used in the method body.