GraphQL\Validator\DocumentValidator::visitUsingRules PHP Method

visitUsingRules() public static method

This uses a specialized visitor which runs multiple visitors in parallel, while maintaining the visitor skip and break API.
public static visitUsingRules ( Schema $schema, TypeInfo $typeInfo, DocumentNode $documentNode, array $rules ) : array
$schema GraphQL\Schema
$typeInfo GraphQL\Utils\TypeInfo
$documentNode GraphQL\Language\AST\DocumentNode
$rules array
return array
    public static function visitUsingRules(Schema $schema, TypeInfo $typeInfo, DocumentNode $documentNode, array $rules)
    {
        $context = new ValidationContext($schema, $documentNode, $typeInfo);
        $visitors = [];
        foreach ($rules as $rule) {
            $visitors[] = $rule($context);
        }
        Visitor::visit($documentNode, Visitor::visitWithTypeInfo($typeInfo, Visitor::visitInParallel($visitors)));
        return $context->getErrors();
    }