Automattic\WooCommerce\Vendor\GraphQL\Validator\Rules

UniqueVariableNames::getVisitorpublicWC 1.0

Method of the class: UniqueVariableNames{}

No Hooks.

Returns

null. Nothing (null).

Usage

$UniqueVariableNames = new UniqueVariableNames();
$UniqueVariableNames->getVisitor( $context ): array;
$context(QueryValidationContext) (required)
.

UniqueVariableNames::getVisitor() code WC 11.0.1

public function getVisitor(QueryValidationContext $context): array
{
    $this->knownVariableNames = [];

    return [
        NodeKind::OPERATION_DEFINITION => function (): void {
            $this->knownVariableNames = [];
        },
        NodeKind::VARIABLE_DEFINITION => function (VariableDefinitionNode $node) use ($context): void {
            $variableName = $node->variable->name->value;
            if (! isset($this->knownVariableNames[$variableName])) {
                $this->knownVariableNames[$variableName] = $node->variable->name;
            } else {
                $context->reportError(new Error(
                    static::duplicateVariableMessage($variableName),
                    [$this->knownVariableNames[$variableName], $node->variable->name]
                ));
            }
        },
    ];
}