You are here

public static function TypedDataTypeResolver::getPropertyReferenceValue in GraphQL 8

Same name and namespace in other branches
  1. 8.2 src/TypeResolver/TypedDataTypeResolver.php \Drupal\graphql\TypeResolver\TypedDataTypeResolver::getPropertyReferenceValue()

Property value resolver callback for reference properties.

Parameters

\Drupal\Core\TypedData\ComplexDataInterface $data: The parent complex data structure to extract the property from.

Return value

\Drupal\Core\TypedData\TypedDataInterface|null The resolved value.

File

src/TypeResolver/TypedDataTypeResolver.php, line 361

Class

TypedDataTypeResolver
Generically resolves the schema for typed data types.

Namespace

Drupal\graphql\TypeResolver

Code

public static function getPropertyReferenceValue(ComplexDataInterface $data = NULL, $a, $b, $c, $d, $e, $f, $config) {
  if (!isset($data)) {
    return NULL;
  }

  /** @var \Drupal\Core\TypedData\DataReferenceInterface $value */
  $value = $data
    ->get($config['property']);
  if ($value instanceof AccessibleInterface && !$value
    ->access('view')) {
    return NULL;
  }
  return $value
    ->getTarget();
}