GraphQL\Validator\ValidationContext::getFragment PHP Method

getFragment() public method

public getFragment ( $name ) : FragmentDefinitionNode | null
$name
return GraphQL\Language\AST\FragmentDefinitionNode | null
    function getFragment($name)
    {
        $fragments = $this->fragments;
        if (!$fragments) {
            $this->fragments = $fragments = array_reduce($this->getDocument()->definitions, function ($frags, $statement) {
                if ($statement->kind === NodeKind::FRAGMENT_DEFINITION) {
                    $frags[$statement->name->value] = $statement;
                }
                return $frags;
            }, []);
        }
        return isset($fragments[$name]) ? $fragments[$name] : null;
    }

Usage Example

Exemplo n.º 1
0
 public function __invoke(ValidationContext $context)
 {
     return [Node::FRAGMENT_SPREAD => function (FragmentSpread $node) use($context) {
         $fragmentName = $node->name->value;
         $fragment = $context->getFragment($fragmentName);
         if (!$fragment) {
             return new Error("Undefined fragment {$fragmentName}.", [$node->name]);
         }
     }];
 }
All Usage Examples Of GraphQL\Validator\ValidationContext::getFragment