DocumentValidator
in package
Implements the "Validation" section of the spec.
Validation runs synchronously, returning an array of encountered errors, or an empty array if no errors were encountered and the document is valid.
A list of specific validation rules may be provided. If not provided, the default list of rules defined by the Automattic\WooCommerce\Vendor\GraphQL specification will be used.
Each validation rule is an instance of Automattic\WooCommerce\Vendor\GraphQL\Validator\Rules\ValidationRule which returns a visitor (see the Automattic\WooCommerce\Vendor\GraphQL\Language\Visitor API).
Visitor methods are expected to return an instance of Automattic\WooCommerce\Vendor\GraphQL\Error\Error, or array of such instances when invalid.
Optionally a custom TypeInfo instance may be provided. If not provided, one will be created from the provided schema.
Table of Contents
- $defaultRules : array<string|int, mixed>
- $initRules : bool
- $rules : array<string|int, mixed>
- $sdlRules : array<string|int, mixed>
- $securityRules : array<string|int, mixed>
- addRule() : void
- Add rule to list of global validation rules.
- allRules() : array<string, ValidationRule>
- Returns all global validation rules.
- assertValidSDL() : void
- assertValidSDLExtension() : void
- defaultRules() : array<class-string<\Automattic\WooCommerce\Vendor\GraphQL\Validator\Rules\ValidationRule>, ValidationRule>
- getRule() : ValidationRule|null
- Returns global validation rule by name.
- removeRule() : void
- Remove rule from list of global validation rules.
- sdlRules() : array<class-string<\Automattic\WooCommerce\Vendor\GraphQL\Validator\Rules\ValidationRule>, ValidationRule>
- securityRules() : array<class-string<\Automattic\WooCommerce\Vendor\GraphQL\Validator\Rules\QuerySecurityRule>, QuerySecurityRule>
- validate() : array<int, Error>
- Validate a Automattic\WooCommerce\Vendor\GraphQL query against a schema.
- validateSDL() : array<int, Error>
- Validate a Automattic\WooCommerce\Vendor\GraphQL document defined through schema definition language.
- combineErrorMessages() : string
Properties
$defaultRules
private
static array<string|int, mixed>
$defaultRules
$initRules
private
static bool
$initRules
= false
$rules
private
static array<string|int, mixed>
$rules
= []
$sdlRules
private
static array<string|int, mixed>
$sdlRules
$securityRules
private
static array<string|int, mixed>
$securityRules
Methods
addRule()
Add rule to list of global validation rules.
public
static addRule(ValidationRule $rule) : void
Parameters
- $rule : ValidationRule
Return values
void —allRules()
Returns all global validation rules.
public
static allRules() : array<string, ValidationRule>
Tags
Return values
array<string, ValidationRule> —assertValidSDL()
public
static assertValidSDL(DocumentNode $documentAST) : void
Parameters
- $documentAST : DocumentNode
Tags
Return values
void —assertValidSDLExtension()
public
static assertValidSDLExtension(DocumentNode $documentAST, Schema $schema) : void
Parameters
- $documentAST : DocumentNode
- $schema : Schema
Tags
Return values
void —defaultRules()
public
static defaultRules() : array<class-string<\Automattic\WooCommerce\Vendor\GraphQL\Validator\Rules\ValidationRule>, ValidationRule>
Return values
array<class-string<\Automattic\WooCommerce\Vendor\GraphQL\Validator\Rules\ValidationRule>, ValidationRule> —getRule()
Returns global validation rule by name.
public
static getRule(string $name) : ValidationRule|null
Standard rules are named by class name, so example usage for such rules:
Parameters
- $name : string
Tags
Return values
ValidationRule|null —removeRule()
Remove rule from list of global validation rules.
public
static removeRule(ValidationRule $rule) : void
Parameters
- $rule : ValidationRule
Return values
void —sdlRules()
public
static sdlRules() : array<class-string<\Automattic\WooCommerce\Vendor\GraphQL\Validator\Rules\ValidationRule>, ValidationRule>
Return values
array<class-string<\Automattic\WooCommerce\Vendor\GraphQL\Validator\Rules\ValidationRule>, ValidationRule> —securityRules()
public
static securityRules() : array<class-string<\Automattic\WooCommerce\Vendor\GraphQL\Validator\Rules\QuerySecurityRule>, QuerySecurityRule>
Tags
Return values
array<class-string<\Automattic\WooCommerce\Vendor\GraphQL\Validator\Rules\QuerySecurityRule>, QuerySecurityRule> —validate()
Validate a Automattic\WooCommerce\Vendor\GraphQL query against a schema.
public
static validate(Schema $schema, DocumentNode $ast[, array<string|int, ValidationRule>|null $rules = null ][, TypeInfo|null $typeInfo = null ]) : array<int, Error>
Parameters
- $schema : Schema
- $ast : DocumentNode
- $rules : array<string|int, ValidationRule>|null = null
-
Defaults to using all available rules
- $typeInfo : TypeInfo|null = null
Tags
Return values
array<int, Error> —validateSDL()
Validate a Automattic\WooCommerce\Vendor\GraphQL document defined through schema definition language.
public
static validateSDL(DocumentNode $documentAST[, Schema|null $schemaToExtend = null ][, array<string|int, ValidationRule>|null $rules = null ]) : array<int, Error>
Parameters
- $documentAST : DocumentNode
- $schemaToExtend : Schema|null = null
- $rules : array<string|int, ValidationRule>|null = null
Tags
Return values
array<int, Error> —combineErrorMessages()
private
static combineErrorMessages(array<string|int, Error> $errors) : string
Parameters
- $errors : array<string|int, Error>
