function graphql_list_interfaces in GraphQL 8.3
Get a flattened list of a plugins interface inheritance tree.
Parameters
array $definitions: The list of interface definitions.
mixed $definition: A plugin definition.
Return value
string[] A list of interface names.
2 calls to graphql_list_interfaces()
- graphql_graphql_interfaces_alter in ./
graphql.module - Implements hook_graphql_interfaces_alter().
- graphql_graphql_types_alter in ./
graphql.module - Implements hook_graphql_types_alter().
File
- ./
graphql.module, line 156
Code
function graphql_list_interfaces(array &$definitions, $definition) {
$parents = array_filter($definitions, function ($parent) use ($definition) {
return in_array($parent['name'], $definition['interfaces']);
});
$interfaces = array_reduce(array_map(function ($parent) use ($definitions) {
return graphql_list_interfaces($definitions, $parent);
}, $parents), 'array_merge', $definition['interfaces']);
return $interfaces;
}