Automattic\WooCommerce\Vendor\GraphQL\Type\Definition
QueryPlan::mergeFields
Method of the class: QueryPlan{}
No Hooks.
Returns
Array
Usage
// private - for code of main (parent) class only $result = $this->mergeFields( $parentType, $type, $fields, $subfields, $implementors ): array;
- $parentType(Type&NamedType) (required)
- .
- $type(Type&NamedType) (required)
- .
- $fields(array
) (required) - .
- $subfields(array
) (required) - .
- $implementors(array) (required)
- .
QueryPlan::mergeFields() QueryPlan::mergeFields code WC 10.9.1
private function mergeFields(Type $parentType, Type $type, array $fields, array $subfields, array &$implementors): array
{
if ($this->groupImplementorFields && $parentType instanceof AbstractType && ! $type instanceof AbstractType) {
$name = $type->name;
assert(is_string($name));
$implementors[$name] = [
'type' => $type,
'fields' => $this->arrayMergeDeep(
$implementors[$name]['fields'] ?? [],
array_diff_key($subfields, $fields)
),
];
$fields = $this->arrayMergeDeep(
$fields,
array_intersect_key($subfields, $fields)
);
} else {
$fields = $this->arrayMergeDeep($subfields, $fields);
}
return $fields;
}