Automattic\WooCommerce\Vendor\GraphQL\Validator

DocumentValidator::validatepublic staticWC 1.0

Validate a Automattic\WooCommerce\Vendor\GraphQL query against a schema.

Method of the class: DocumentValidator{}

No Hooks.

Returns

list.

Usage

$result = DocumentValidator::validate( $schema, $ast, ?array $rules, ?TypeInfo $typeInfo ): array;
$schema(Schema) (required)
.
$ast(DocumentNode) (required)
.
?array $rules
.
Default: null
?TypeInfo $typeInfo
.
Default: null

DocumentValidator::validate() code WC 10.9.1

public static function validate(
    Schema $schema,
    DocumentNode $ast,
    ?array $rules = null,
    ?TypeInfo $typeInfo = null
): array {
    $rules ??= static::allRules();

    if ($rules === []) {
        return [];
    }

    $typeInfo ??= new TypeInfo($schema);

    $context = new QueryValidationContext($schema, $ast, $typeInfo);

    $visitors = [];
    foreach ($rules as $rule) {
        $visitors[] = $rule->getVisitor($context);
    }

    Visitor::visit(
        $ast,
        Visitor::visitWithTypeInfo(
            $typeInfo,
            Visitor::visitInParallel($visitors)
        )
    );

    return $context->getErrors();
}