GraphQL\Validator\Rules\UniqueDirectivesPerLocation::__invoke PHP Méthode

__invoke() public méthode

public __invoke ( ValidationContext $context )
$context GraphQL\Validator\ValidationContext
    public function __invoke(ValidationContext $context)
    {
        return ['enter' => function (Node $node) use($context) {
            if (isset($node->directives)) {
                $knownDirectives = [];
                foreach ($node->directives as $directive) {
                    /** @var DirectiveNode $directive */
                    $directiveName = $directive->name->value;
                    if (isset($knownDirectives[$directiveName])) {
                        $context->reportError(new Error(self::duplicateDirectiveMessage($directiveName), [$knownDirectives[$directiveName], $directive]));
                    } else {
                        $knownDirectives[$directiveName] = $directive;
                    }
                }
            }
        }];
    }
UniqueDirectivesPerLocation