Automattic\WooCommerce\Vendor\GraphQL\Validator\Rules

ExecutableDefinitions::getVisitorpublicWC 1.0

Method of the class: ExecutableDefinitions{}

No Hooks.

Returns

null. Nothing (null).

Usage

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

ExecutableDefinitions::getVisitor() code WC 11.0.0

public function getVisitor(QueryValidationContext $context): array
{
    return [
        NodeKind::DOCUMENT => static function (DocumentNode $node) use ($context): VisitorOperation {
            foreach ($node->definitions as $definition) {
                if (! $definition instanceof ExecutableDefinitionNode) {
                    if ($definition instanceof SchemaDefinitionNode || $definition instanceof SchemaExtensionNode) {
                        $defName = 'schema';
                    } else {
                        assert(
                            $definition instanceof TypeDefinitionNode || $definition instanceof TypeExtensionNode,
                            'only other option'
                        );
                        $defName = "\"{$definition->getName()->value}\"";
                    }

                    $context->reportError(new Error(
                        static::nonExecutableDefinitionMessage($defName),
                        [$definition]
                    ));
                }
            }

            return Visitor::skipNode();
        },
    ];
}