You are here

protected function PluggableSchemaDeriver::buildFieldMap in GraphQL 8.3

Builds an optimization representation of all registered fields.

Parameters

\Drupal\graphql\Plugin\FieldPluginManager $manager: The field plugin manager.

$association: The type/field association map.

Return value

array The optimized list of all registered fields.

1 call to PluggableSchemaDeriver::buildFieldMap()
PluggableSchemaDeriver::getDerivativeDefinitions in src/Plugin/Deriver/PluggableSchemaDeriver.php
Gets the definition of all derivatives of a base plugin.

File

src/Plugin/Deriver/PluggableSchemaDeriver.php, line 360

Class

PluggableSchemaDeriver

Namespace

Drupal\graphql\Plugin\Deriver

Code

protected function buildFieldMap(FieldPluginManager $manager, $association) {
  return array_reduce($association, function ($carry, $fields) use ($manager) {
    return array_reduce($fields, function ($carry, $id) use ($manager) {
      if (!isset($carry[$id])) {
        $instance = $manager
          ->getInstance([
          'id' => $id,
        ]);
        $definition = $manager
          ->getDefinition($id);
        $carry[$id] = [
          'id' => $id,
          'class' => $definition['class'],
          'definition' => $instance
            ->getDefinition(),
        ];
      }
      return $carry;
    }, $carry);
  }, []);
}