You are here

protected function LanguageSwitchLinkUrl::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/LanguageSwitch/LanguageSwitchLinkUrl.php, line 24

Class

LanguageSwitchLinkUrl
Plugin annotation @GraphQLField( id = "language_switch_link_url", secure = true, name = "url", type = "InternalUrl", parents = {"LanguageSwitchLink"} )

Namespace

Drupal\graphql_core\Plugin\GraphQL\Fields\LanguageSwitch

Code

protected function resolveValues($value, array $args, ResolveContext $context, ResolveInfo $info) {

  /** @var \Drupal\Core\Language\LanguageInterface $language */
  $language = $value['link']['language'];

  /** @var \Drupal\Core\Url $url */
  $url = $value['link']['url'];
  $url = Url::fromRoute($url
    ->getRouteName(), $url
    ->getRouteParameters(), [
    'language' => $language,
  ] + $url
    ->getOptions());
  (yield $url);
}