for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Digia\GraphQL\SchemaValidator;
use Digia\GraphQL\SchemaValidator\Rule\SupportedRules;
use Digia\GraphQL\Type\SchemaInterface;
class SchemaValidator implements SchemaValidatorInterface
{
/**
* @var ContextBuilderInterface
*/
protected $contextBuilder;
* @var SchemaValidatorInterface[]
protected $validators;
* SchemaValidator constructor.
* @param ContextBuilderInterface|null $contextBuilder
public function __construct(?ContextBuilderInterface $contextBuilder = null)
$this->contextBuilder = $contextBuilder ?? new ContextBuilder();
}
* @inheritdoc
public function validate(SchemaInterface $schema, ?array $validators = null): array
$context = $this->contextBuilder->build($schema);
$validators = $validators ?? SupportedRules::build();
foreach ($validators as $validator) {
$validator->validate($context);
return $context->getErrors();