Automattic\WooCommerce\Vendor\GraphQL\Validator\Rules
UniqueArgumentNames::getASTVisitor
Method of the class: UniqueArgumentNames{}
No Hooks.
Returns
null. Nothing (null).
Usage
$UniqueArgumentNames = new UniqueArgumentNames(); $UniqueArgumentNames->getASTVisitor( $context ): array;
- $context(ValidationContext) (required)
- .
UniqueArgumentNames::getASTVisitor() UniqueArgumentNames::getASTVisitor code WC 11.0.1
public function getASTVisitor(ValidationContext $context): array
{
$this->knownArgNames = [];
return [
NodeKind::FIELD => function (): void {
$this->knownArgNames = [];
},
NodeKind::DIRECTIVE => function (): void {
$this->knownArgNames = [];
},
NodeKind::ARGUMENT => function (ArgumentNode $node) use ($context): VisitorOperation {
$argName = $node->name->value;
if (isset($this->knownArgNames[$argName])) {
$context->reportError(new Error(
static::duplicateArgMessage($argName),
[$this->knownArgNames[$argName], $node->name]
));
} else {
$this->knownArgNames[$argName] = $node->name;
}
return Visitor::skipNode();
},
];
}