Automattic\WooCommerce\Vendor\GraphQL\Validator\Rules
OverlappingFieldsCanBeMerged::getVisitor
Method of the class: OverlappingFieldsCanBeMerged{}
No Hooks.
Returns
null. Nothing (null).
Usage
$OverlappingFieldsCanBeMerged = new OverlappingFieldsCanBeMerged(); $OverlappingFieldsCanBeMerged->getVisitor( $context ): array;
- $context(QueryValidationContext) (required)
- .
OverlappingFieldsCanBeMerged::getVisitor() OverlappingFieldsCanBeMerged::getVisitor code WC 10.9.1
public function getVisitor(QueryValidationContext $context): array
{
$this->comparedFragmentPairs = new PairSet();
$this->cachedFieldsAndFragmentNames = new \SplObjectStorage();
return [
NodeKind::SELECTION_SET => function (SelectionSetNode $selectionSet) use ($context): void {
$conflicts = $this->findConflictsWithinSelectionSet(
$context,
$context->getParentType(),
$selectionSet
);
foreach ($conflicts as $conflict) {
[[$responseName, $reason], $fields1, $fields2] = $conflict;
$context->reportError(new Error(
static::fieldsConflictMessage($responseName, $reason),
array_merge($fields1, $fields2)
));
}
},
];
}