@@ 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 | }, |