Automattic\WooCommerce\Vendor\GraphQL\Utils

SchemaExtender::extendEnumValueMapprotectedWC 1.0

Method of the class: SchemaExtender{}

No Hooks.

Returns

Array. array<string, mixed>>

Usage

// protected - for code of main (parent) or child class
$result = $this->extendEnumValueMap( $type ): array;
$type(EnumType) (required)
.

SchemaExtender::extendEnumValueMap() code WC 10.9.1

protected function extendEnumValueMap(EnumType $type): array
{
    $newValueMap = [];

    foreach ($type->getValues() as $value) {
        $newValueMap[$value->name] = [
            'name' => $value->name,
            'description' => $value->description,
            'value' => $value->value,
            'deprecationReason' => $value->deprecationReason,
            'astNode' => $value->astNode,
        ];
    }

    if (isset($this->typeExtensionsMap[$type->name])) {
        foreach ($this->typeExtensionsMap[$type->name] as $extension) {
            assert($extension instanceof EnumTypeExtensionNode, 'proven by schema validation');

            foreach ($extension->values as $value) {
                $newValueMap[$value->name->value] = $this->astBuilder->buildEnumValue($value);
            }
        }
    }

    return $newValueMap;
}