protected function Breadcrumbs::resolveValues in GraphQL 8.3
Retrieve the list of field values.
Always returns a list of field values. Even for single value fields. Single/multi field handling is responsibility of the base class.
Parameters
mixed $value: The current object value.
array $args: Field arguments.
$context: The resolve context.
\GraphQL\Type\Definition\ResolveInfo $info: The resolve info object.
Return value
\Generator The value generator.
Overrides FieldPluginBase::resolveValues
File
- modules/
graphql_core/ src/ Plugin/ GraphQL/ Fields/ Breadcrumbs/ Breadcrumbs.php, line 97
Class
- Breadcrumbs
- Retrieve the breadcrumbs.
Namespace
Drupal\graphql_core\Plugin\GraphQL\Fields\BreadcrumbsCode
protected function resolveValues($value, array $args, ResolveContext $context, ResolveInfo $info) {
if ($value instanceof Url) {
$resolve = $this->subRequestBuffer
->add($value, function () {
$links = $this->breadcrumbManager
->build($this->routeMatch)
->getLinks();
return $links;
});
return function ($value, array $args, ResolveContext $context, ResolveInfo $info) use ($resolve) {
/** @var \Drupal\graphql\GraphQL\Cache\CacheableValue $response */
$response = $resolve();
$links = $response
->getValue();
foreach ($links as $link) {
(yield new CacheableValue($link, [
$response,
]));
}
};
}
}