Automattic\WooCommerce\Vendor\GraphQL\Validator\Rules

UniqueOperationNames::getVisitorpublicWC 1.0

Method of the class: UniqueOperationNames{}

No Hooks.

Returns

null. Nothing (null).

Usage

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

UniqueOperationNames::getVisitor() code WC 10.9.1

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

    return [
        NodeKind::OPERATION_DEFINITION => function (OperationDefinitionNode $node) use ($context): VisitorOperation {
            $operationName = $node->name;

            if ($operationName !== null) {
                if (! isset($this->knownOperationNames[$operationName->value])) {
                    $this->knownOperationNames[$operationName->value] = $operationName;
                } else {
                    $context->reportError(new Error(
                        static::duplicateOperationNameMessage($operationName->value),
                        [$this->knownOperationNames[$operationName->value], $operationName]
                    ));
                }
            }

            return Visitor::skipNode();
        },
        NodeKind::FRAGMENT_DEFINITION => static fn (): VisitorOperation => Visitor::skipNode(),
    ];
}