Automattic\WooCommerce\Vendor\GraphQL\Validator

DocumentValidator::validateSDLpublic staticWC 1.0

Validate a Automattic\WooCommerce\Vendor\GraphQL document defined through schema definition language.

Method of the class: DocumentValidator{}

No Hooks.

Returns

list.

Usage

$result = DocumentValidator::validateSDL( $documentAST, ?Schema $schemaToExtend, ?array $rules ): array;
$documentAST(DocumentNode) (required)
.
?Schema $schemaToExtend
.
Default: null
?array $rules
.
Default: null

DocumentValidator::validateSDL() code WC 10.9.1

public static function validateSDL(
    DocumentNode $documentAST,
    ?Schema $schemaToExtend = null,
    ?array $rules = null
): array {
    $rules ??= self::sdlRules();

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

    $context = new SDLValidationContext($documentAST, $schemaToExtend);

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

    Visitor::visit(
        $documentAST,
        Visitor::visitInParallel($visitors)
    );

    return $context->getErrors();
}