Automattic\WooCommerce\Vendor\GraphQL\Utils
SchemaExtender::extendFieldMap
Method of the class: SchemaExtender{}
No Hooks.
Returns
Array
Usage
// protected - for code of main (parent) or child class $result = $this->extendFieldMap( $type ): array;
- $type(InterfaceType|ObjectType) (required)
- .
SchemaExtender::extendFieldMap() SchemaExtender::extendFieldMap code WC 10.9.1
protected function extendFieldMap(Type $type): array
{
$newFieldMap = [];
$oldFieldMap = $type->getFields();
foreach (array_keys($oldFieldMap) as $fieldName) {
$field = $oldFieldMap[$fieldName];
$newFieldMap[$fieldName] = [
'name' => $fieldName,
'description' => $field->description,
'deprecationReason' => $field->deprecationReason,
'type' => $this->extendType($field->getType()),
'args' => $this->extendArgs($field->args),
'resolve' => $field->resolveFn,
'argsMapper' => $field->argsMapper,
'astNode' => $field->astNode,
];
}
if (isset($this->typeExtensionsMap[$type->name])) {
foreach ($this->typeExtensionsMap[$type->name] as $extension) {
assert(
$extension instanceof ObjectTypeExtensionNode || $extension instanceof InterfaceTypeExtensionNode,
'proven by schema validation'
);
foreach ($extension->fields as $field) {
$newFieldMap[$field->name->value] = $this->astBuilder->buildField($field, $extension);
}
}
}
return $newFieldMap;
}