@@ 434-436 (lines=3) @@ | ||
431 | if ($type['type'] === 'interface') { |
|
432 | return [$type['definition']['name'] => array_values(array_map(function ($type) { |
|
433 | return $type['definition']['name']; |
|
434 | }, array_filter($this->getTypeMap(), function ($subType) use ($type) { |
|
435 | return $subType['type'] === 'type' && in_array($type['definition']['name'], $subType['definition']['interfaces']); |
|
436 | })))]; |
|
437 | } |
|
438 | ||
439 | // Union types combine the two approaches above. |
|
@@ 445-447 (lines=3) @@ | ||
442 | ||
443 | $implicit = array_values(array_map(function ($type) { |
|
444 | return $type['definition']['name']; |
|
445 | }, array_filter($typeMap, function ($subType) use ($type) { |
|
446 | return $subType['type'] === 'type' && in_array($type['definition']['name'], $subType['definition']['unions']); |
|
447 | }))); |
|
448 | ||
449 | return [$type['definition']['name'] => array_merge($explicit, $implicit)]; |
|
450 | } |