| @@ 28-41 (lines=14) @@ | ||
| 25 | 'name' => $definition['name'], |
|
| 26 | 'description' => $definition['description'], |
|
| 27 | 'contexts' => $definition['contexts'], |
|
| 28 | 'fields' => function () use ($builder, $definition) { |
|
| 29 | $fields = $builder->getFields($definition['name']); |
|
| 30 | ||
| 31 | if (!empty($definition['interfaces'])) { |
|
| 32 | $inherited = array_map(function ($name) use ($builder) { |
|
| 33 | return $builder->getFields($name); |
|
| 34 | }, $definition['interfaces']); |
|
| 35 | ||
| 36 | $inherited = call_user_func_array('array_merge', $inherited); |
|
| 37 | return array_merge($inherited, $fields); |
|
| 38 | } |
|
| 39 | ||
| 40 | return $fields; |
|
| 41 | }, |
|
| 42 | 'interfaces' => function () use ($builder, $definition) { |
|
| 43 | return array_filter(array_map(function ($name) use ($builder) { |
|
| 44 | return $builder->getType($name); |
|
| @@ 39-52 (lines=14) @@ | ||
| 36 | return $carry; |
|
| 37 | }, $definition['contexts']); |
|
| 38 | }, |
|
| 39 | 'fields' => function () use ($builder, $definition) { |
|
| 40 | $fields = $builder->getFields($definition['name']); |
|
| 41 | ||
| 42 | if (!empty($definition['interfaces'])) { |
|
| 43 | $inherited = array_map(function ($name) use ($builder) { |
|
| 44 | return $builder->getFields($name); |
|
| 45 | }, $definition['interfaces']); |
|
| 46 | ||
| 47 | $inherited = call_user_func_array('array_merge', $inherited); |
|
| 48 | return array_merge($inherited, $fields); |
|
| 49 | } |
|
| 50 | ||
| 51 | return $fields; |
|
| 52 | }, |
|
| 53 | 'resolveType' => function ($value, $context, $info) use ($builder, $definition) { |
|
| 54 | return $builder->resolveType($definition['name'], $value, $context, $info); |
|
| 55 | }, |
|