Automattic\WooCommerce\Vendor\GraphQL\Validator\Rules
OverlappingFieldsCanBeMerged::subfieldConflicts
Merge Conflicts between two sub-fields into a single Conflict.
Method of the class: OverlappingFieldsCanBeMerged{}
No Hooks.
Returns
null. Nothing (null).
Usage
// protected - for code of main (parent) or child class $result = $this->subfieldConflicts( $conflicts, $responseName, $ast1, $ast2 ): ?array;
- $conflicts(array) (required)
- .
- $responseName(string) (required)
- .
- $ast1(FieldNode) (required)
- .
- $ast2(FieldNode) (required)
- .
OverlappingFieldsCanBeMerged::subfieldConflicts() OverlappingFieldsCanBeMerged::subfieldConflicts code WC 10.9.1
protected function subfieldConflicts(
array $conflicts,
string $responseName,
FieldNode $ast1,
FieldNode $ast2
): ?array {
if ($conflicts === []) {
return null;
}
$reasons = [];
foreach ($conflicts as $conflict) {
$reasons[] = $conflict[0];
}
$fields1 = [$ast1];
foreach ($conflicts as $conflict) {
foreach ($conflict[1] as $field) {
$fields1[] = $field;
}
}
$fields2 = [$ast2];
foreach ($conflicts as $conflict) {
foreach ($conflict[2] as $field) {
$fields2[] = $field;
}
}
return [
[
$responseName,
$reasons,
],
$fields1,
$fields2,
];
}