GraphQL\Validator\Rules\UniqueVariableNames::__invoke PHP Метод

__invoke() публичный Метод

public __invoke ( ValidationContext $context )
$context GraphQL\Validator\ValidationContext
    public function __invoke(ValidationContext $context)
    {
        $this->knownVariableNames = [];
        return [NodeKind::OPERATION_DEFINITION => function () {
            $this->knownVariableNames = [];
        }, NodeKind::VARIABLE_DEFINITION => function (VariableDefinitionNode $node) use($context) {
            $variableName = $node->variable->name->value;
            if (!empty($this->knownVariableNames[$variableName])) {
                $context->reportError(new Error(self::duplicateVariableMessage($variableName), [$this->knownVariableNames[$variableName], $node->variable->name]));
            } else {
                $this->knownVariableNames[$variableName] = $node->variable->name;
            }
        }];
    }