Automattic\WooCommerce\Vendor\GraphQL\Utils
SchemaExtender::extendInputFieldMap
Method of the class: SchemaExtender{}
No Hooks.
Returns
Array
Usage
// protected - for code of main (parent) or child class $result = $this->extendInputFieldMap( $type ): array;
- $type(InputObjectType) (required)
- .
SchemaExtender::extendInputFieldMap() SchemaExtender::extendInputFieldMap code WC 10.9.1
protected function extendInputFieldMap(InputObjectType $type): array
{
/** @var array<string, UnnamedInputObjectFieldConfig> $newFieldMap */
$newFieldMap = [];
$oldFieldMap = $type->getFields();
foreach ($oldFieldMap as $fieldName => $field) {
$extendedType = $this->extendType($field->getType());
$newFieldConfig = [
'description' => $field->description,
'type' => $extendedType,
'deprecationReason' => $field->deprecationReason,
'astNode' => $field->astNode,
];
if ($field->defaultValueExists()) {
$newFieldConfig['defaultValue'] = $field->defaultValue;
}
$newFieldMap[$fieldName] = $newFieldConfig;
}
if (isset($this->typeExtensionsMap[$type->name])) {
foreach ($this->typeExtensionsMap[$type->name] as $extension) {
assert($extension instanceof InputObjectTypeExtensionNode, 'proven by schema validation');
foreach ($extension->fields as $field) {
$newFieldMap[$field->name->value] = $this->astBuilder->buildInputField($field);
}
}
}
return $newFieldMap;
}