@@ -337,9 +337,9 @@ discard block |
||
337 | 337 | } |
338 | 338 | |
339 | 339 | $fakeField = new Field([ |
340 | - 'name' => $field->getName(), |
|
341 | - 'type' => $itemType, |
|
342 | - 'args' => $field->getArguments(), |
|
340 | + 'name' => $field->getName(), |
|
341 | + 'type' => $itemType, |
|
342 | + 'args' => $field->getArguments(), |
|
343 | 343 | ]); |
344 | 344 | |
345 | 345 | $result = []; |
@@ -441,9 +441,9 @@ discard block |
||
441 | 441 | } |
442 | 442 | |
443 | 443 | $fakeField = new Field([ |
444 | - 'name' => $field->getName(), |
|
445 | - 'type' => $resolvedType, |
|
446 | - 'args' => $field->getArguments(), |
|
444 | + 'name' => $field->getName(), |
|
445 | + 'type' => $resolvedType, |
|
446 | + 'args' => $field->getArguments(), |
|
447 | 447 | ]); |
448 | 448 | |
449 | 449 | return $this->resolveObject($fakeField, $ast, $resolvedValue, true); |
@@ -73,7 +73,7 @@ discard block |
||
73 | 73 | { |
74 | 74 | if (!\array_key_exists($resultId, $this->results)) { |
75 | 75 | $query = \array_unique( |
76 | - \array_reduce($this->buffer, 'array_merge', []) |
|
76 | + \array_reduce($this->buffer, 'array_merge', []) |
|
77 | 77 | ); |
78 | 78 | \sort($query); |
79 | 79 | $result = $this->database->query($query); |
@@ -106,43 +106,43 @@ discard block |
||
106 | 106 | public function build($config): void |
107 | 107 | { |
108 | 108 | $config->addField( |
109 | - new Field( |
|
109 | + new Field( |
|
110 | 110 | [ |
111 | - 'name' => 'name', |
|
112 | - 'type' => new StringType(), |
|
113 | - 'resolve' => static function ($value) { |
|
114 | - return $value['name']; |
|
115 | - }, |
|
111 | + 'name' => 'name', |
|
112 | + 'type' => new StringType(), |
|
113 | + 'resolve' => static function ($value) { |
|
114 | + return $value['name']; |
|
115 | + }, |
|
116 | 116 | ] |
117 | - ) |
|
117 | + ) |
|
118 | 118 | ); |
119 | 119 | |
120 | 120 | $config->addField( |
121 | - new Field( |
|
121 | + new Field( |
|
122 | 122 | [ |
123 | - 'name' => 'friends', |
|
124 | - 'type' => new ListType(new self($this->database)), |
|
125 | - 'resolve' => function ($value) { |
|
126 | - return new DeferredResolver( |
|
123 | + 'name' => 'friends', |
|
124 | + 'type' => new ListType(new self($this->database)), |
|
125 | + 'resolve' => function ($value) { |
|
126 | + return new DeferredResolver( |
|
127 | 127 | $this->database->add($value['friends']) |
128 | - ); |
|
129 | - }, |
|
128 | + ); |
|
129 | + }, |
|
130 | 130 | ] |
131 | - ) |
|
131 | + ) |
|
132 | 132 | ); |
133 | 133 | |
134 | 134 | $config->addField( |
135 | - new Field( |
|
135 | + new Field( |
|
136 | 136 | [ |
137 | - 'name' => 'foes', |
|
138 | - 'type' => new ListType(new self($this->database)), |
|
139 | - 'resolve' => function ($value) { |
|
140 | - return new DeferredResolver( |
|
137 | + 'name' => 'foes', |
|
138 | + 'type' => new ListType(new self($this->database)), |
|
139 | + 'resolve' => function ($value) { |
|
140 | + return new DeferredResolver( |
|
141 | 141 | $this->database->add($value['foes']) |
142 | - ); |
|
143 | - }, |
|
142 | + ); |
|
143 | + }, |
|
144 | 144 | ] |
145 | - ) |
|
145 | + ) |
|
146 | 146 | ); |
147 | 147 | } |
148 | 148 | } |
@@ -152,30 +152,30 @@ discard block |
||
152 | 152 | public function __construct(DeferredQueryBuffer $buffer) |
153 | 153 | { |
154 | 154 | $usersField = new Field( |
155 | - [ |
|
155 | + [ |
|
156 | 156 | 'name' => 'users', |
157 | 157 | 'type' => new ListType(new DeferredUserType($buffer)), |
158 | 158 | 'resolve' => static function ($value, $args) use ($buffer) { |
159 | 159 | return new DeferredResolver($buffer->add($args['ids'])); |
160 | 160 | }, |
161 | - ] |
|
161 | + ] |
|
162 | 162 | ); |
163 | 163 | |
164 | 164 | $usersField->addArgument( |
165 | - 'ids', |
|
166 | - [ |
|
165 | + 'ids', |
|
166 | + [ |
|
167 | 167 | 'type' => new ListType(new StringType()), |
168 | - ] |
|
168 | + ] |
|
169 | 169 | ); |
170 | 170 | parent::__construct( |
171 | - [ |
|
171 | + [ |
|
172 | 172 | 'query' => new ObjectType( |
173 | - [ |
|
173 | + [ |
|
174 | 174 | 'name' => 'RootQuery', |
175 | 175 | 'fields' => [$usersField], |
176 | - ] |
|
176 | + ] |
|
177 | 177 | ), |
178 | - ] |
|
178 | + ] |
|
179 | 179 | ); |
180 | 180 | } |
181 | 181 | |
@@ -208,28 +208,28 @@ discard block |
||
208 | 208 | $database = $this->prophesize(DeferredDatabase::class); |
209 | 209 | |
210 | 210 | $database->query(['a', 'b'])->willReturn( |
211 | - [ |
|
211 | + [ |
|
212 | 212 | 'a' => ['id' => 'a', 'name' => 'User A'], |
213 | 213 | 'b' => ['id' => 'b', 'name' => 'User B'], |
214 | - ] |
|
214 | + ] |
|
215 | 215 | )->shouldBeCalledTimes(1); |
216 | 216 | |
217 | 217 | $result = $this->query( |
218 | - $query, |
|
219 | - new DeferredQueryBuffer($database->reveal()) |
|
218 | + $query, |
|
219 | + new DeferredQueryBuffer($database->reveal()) |
|
220 | 220 | ); |
221 | 221 | |
222 | 222 | $database->checkProphecyMethodsPredictions(); |
223 | 223 | |
224 | 224 | $this->assertEquals( |
225 | - [ |
|
225 | + [ |
|
226 | 226 | 'users' => [ |
227 | - ['name' => 'User A'], |
|
228 | - ['name' => 'User B'], |
|
227 | + ['name' => 'User A'], |
|
228 | + ['name' => 'User B'], |
|
229 | + ], |
|
229 | 230 | ], |
230 | - ], |
|
231 | - $result['data'], |
|
232 | - 'Retrieved correct data.' |
|
231 | + $result['data'], |
|
232 | + 'Retrieved correct data.' |
|
233 | 233 | ); |
234 | 234 | } |
235 | 235 | |
@@ -250,30 +250,30 @@ discard block |
||
250 | 250 | $database = $this->prophesize(DeferredDatabase::class); |
251 | 251 | |
252 | 252 | $database->query(['a', 'b'])->willReturn( |
253 | - [ |
|
253 | + [ |
|
254 | 254 | 'a' => ['id' => 'a', 'name' => 'User A'], |
255 | 255 | 'b' => ['id' => 'b', 'name' => 'User B'], |
256 | - ] |
|
256 | + ] |
|
257 | 257 | )->shouldBeCalledTimes(1); |
258 | 258 | |
259 | 259 | $result = $this->query( |
260 | - $query, |
|
261 | - new DeferredQueryBuffer($database->reveal()) |
|
260 | + $query, |
|
261 | + new DeferredQueryBuffer($database->reveal()) |
|
262 | 262 | ); |
263 | 263 | |
264 | 264 | $database->checkProphecyMethodsPredictions(); |
265 | 265 | |
266 | 266 | $this->assertEquals( |
267 | - [ |
|
267 | + [ |
|
268 | 268 | 'a' => [ |
269 | - ['name' => 'User A'], |
|
269 | + ['name' => 'User A'], |
|
270 | 270 | ], |
271 | 271 | 'b' => [ |
272 | - ['name' => 'User B'], |
|
272 | + ['name' => 'User B'], |
|
273 | + ], |
|
273 | 274 | ], |
274 | - ], |
|
275 | - $result['data'], |
|
276 | - 'Retrieved correct data.' |
|
275 | + $result['data'], |
|
276 | + 'Retrieved correct data.' |
|
277 | 277 | ); |
278 | 278 | } |
279 | 279 | |
@@ -294,39 +294,39 @@ discard block |
||
294 | 294 | $database = $this->prophesize(DeferredDatabase::class); |
295 | 295 | |
296 | 296 | $database->query(['a'])->willReturn( |
297 | - [ |
|
297 | + [ |
|
298 | 298 | 'a' => ['id' => 'a', 'name' => 'User A', 'friends' => ['b', 'c']], |
299 | - ] |
|
299 | + ] |
|
300 | 300 | )->shouldBeCalledTimes(1); |
301 | 301 | |
302 | 302 | $database->query(['b', 'c'])->willReturn( |
303 | - [ |
|
303 | + [ |
|
304 | 304 | 'b' => ['id' => 'b', 'name' => 'User B'], |
305 | 305 | 'c' => ['id' => 'c', 'name' => 'User C'], |
306 | - ] |
|
306 | + ] |
|
307 | 307 | ); |
308 | 308 | |
309 | 309 | $result = $this->query( |
310 | - $query, |
|
311 | - new DeferredQueryBuffer($database->reveal()) |
|
310 | + $query, |
|
311 | + new DeferredQueryBuffer($database->reveal()) |
|
312 | 312 | ); |
313 | 313 | |
314 | 314 | $database->checkProphecyMethodsPredictions(); |
315 | 315 | |
316 | 316 | $this->assertEquals( |
317 | - [ |
|
317 | + [ |
|
318 | 318 | 'a' => [ |
319 | - [ |
|
319 | + [ |
|
320 | 320 | 'name' => 'User A', |
321 | 321 | 'friends' => [ |
322 | - ['name' => 'User B'], |
|
323 | - ['name' => 'User C'], |
|
322 | + ['name' => 'User B'], |
|
323 | + ['name' => 'User C'], |
|
324 | + ], |
|
324 | 325 | ], |
325 | - ], |
|
326 | 326 | ], |
327 | - ], |
|
328 | - $result['data'], |
|
329 | - 'Retrieved correct data.' |
|
327 | + ], |
|
328 | + $result['data'], |
|
329 | + 'Retrieved correct data.' |
|
330 | 330 | ); |
331 | 331 | } |
332 | 332 | |
@@ -359,68 +359,68 @@ discard block |
||
359 | 359 | $database = $this->prophesize(DeferredDatabase::class); |
360 | 360 | |
361 | 361 | $database->query(['a', 'b'])->willReturn( |
362 | - [ |
|
362 | + [ |
|
363 | 363 | 'a' => [ |
364 | - 'id' => 'a', |
|
365 | - 'name' => 'User A', |
|
366 | - 'friends' => ['b', 'c'], |
|
367 | - 'foes' => ['d', 'e'], |
|
364 | + 'id' => 'a', |
|
365 | + 'name' => 'User A', |
|
366 | + 'friends' => ['b', 'c'], |
|
367 | + 'foes' => ['d', 'e'], |
|
368 | 368 | ], |
369 | 369 | 'b' => [ |
370 | - 'id' => 'b', |
|
371 | - 'name' => 'User B', |
|
372 | - 'friends' => ['a'], |
|
373 | - 'foes' => ['c'], |
|
370 | + 'id' => 'b', |
|
371 | + 'name' => 'User B', |
|
372 | + 'friends' => ['a'], |
|
373 | + 'foes' => ['c'], |
|
374 | 374 | ], |
375 | - ] |
|
375 | + ] |
|
376 | 376 | )->shouldBeCalledTimes(1); |
377 | 377 | |
378 | 378 | $database->query(['a', 'b', 'c', 'd', 'e'])->willReturn( |
379 | - [ |
|
379 | + [ |
|
380 | 380 | 'a' => ['id' => 'a', 'name' => 'User A'], |
381 | 381 | 'b' => ['id' => 'b', 'name' => 'User B'], |
382 | 382 | 'c' => ['id' => 'c', 'name' => 'User C'], |
383 | 383 | 'd' => ['id' => 'd', 'name' => 'User D'], |
384 | 384 | 'e' => ['id' => 'e', 'name' => 'User E'], |
385 | - ] |
|
385 | + ] |
|
386 | 386 | )->shouldBeCalledTimes(1); |
387 | 387 | |
388 | 388 | $result = $this->query( |
389 | - $query, |
|
390 | - new DeferredQueryBuffer($database->reveal()) |
|
389 | + $query, |
|
390 | + new DeferredQueryBuffer($database->reveal()) |
|
391 | 391 | ); |
392 | 392 | |
393 | 393 | $database->checkProphecyMethodsPredictions(); |
394 | 394 | |
395 | 395 | $this->assertEquals( |
396 | - [ |
|
396 | + [ |
|
397 | 397 | 'a' => [ |
398 | - [ |
|
398 | + [ |
|
399 | 399 | 'name' => 'User A', |
400 | 400 | 'friends' => [ |
401 | - ['name' => 'User B'], |
|
402 | - ['name' => 'User C'], |
|
401 | + ['name' => 'User B'], |
|
402 | + ['name' => 'User C'], |
|
403 | 403 | ], |
404 | 404 | 'foes' => [ |
405 | - ['name' => 'User D'], |
|
406 | - ['name' => 'User E'], |
|
405 | + ['name' => 'User D'], |
|
406 | + ['name' => 'User E'], |
|
407 | + ], |
|
407 | 408 | ], |
408 | - ], |
|
409 | 409 | ], |
410 | 410 | 'b' => [ |
411 | - [ |
|
411 | + [ |
|
412 | 412 | 'name' => 'User B', |
413 | 413 | 'friends' => [ |
414 | - ['name' => 'User A'], |
|
414 | + ['name' => 'User A'], |
|
415 | 415 | ], |
416 | 416 | 'foes' => [ |
417 | - ['name' => 'User C'], |
|
417 | + ['name' => 'User C'], |
|
418 | + ], |
|
418 | 419 | ], |
419 | - ], |
|
420 | 420 | ], |
421 | - ], |
|
422 | - $result['data'], |
|
423 | - 'Retrieved data is correct.' |
|
421 | + ], |
|
422 | + $result['data'], |
|
423 | + 'Retrieved data is correct.' |
|
424 | 424 | ); |
425 | 425 | } |
426 | 426 |
@@ -42,21 +42,21 @@ |
||
42 | 42 | ->addField( |
43 | 43 | 'location', |
44 | 44 | [ |
45 | - 'type' => new ObjectType( |
|
46 | - [ |
|
47 | - 'name' => 'Location', |
|
48 | - 'fields' => [ |
|
49 | - 'address' => new StringType(), |
|
50 | - ], |
|
51 | - ] |
|
52 | - ), |
|
53 | - 'args' => [ |
|
54 | - 'noop' => new IntType(), |
|
55 | - ], |
|
56 | - 'resolve' => static function ($value, $args, $info) { |
|
57 | - return ['address' => '1234 Street']; |
|
58 | - }, |
|
59 | - ] |
|
45 | + 'type' => new ObjectType( |
|
46 | + [ |
|
47 | + 'name' => 'Location', |
|
48 | + 'fields' => [ |
|
49 | + 'address' => new StringType(), |
|
50 | + ], |
|
51 | + ] |
|
52 | + ), |
|
53 | + 'args' => [ |
|
54 | + 'noop' => new IntType(), |
|
55 | + ], |
|
56 | + 'resolve' => static function ($value, $args, $info) { |
|
57 | + return ['address' => '1234 Street']; |
|
58 | + }, |
|
59 | + ] |
|
60 | 60 | ) |
61 | 61 | ->addField( |
62 | 62 | 'echo', |