Automattic\WooCommerce\Vendor\GraphQL\Utils
ASTDefinitionBuilder::makeEnumDef
Method of the class: ASTDefinitionBuilder{}
No Hooks.
Returns
null. Nothing (null).
Usage
// private - for code of main (parent) class only $result = $this->makeEnumDef( $def ): EnumType;
- $def(EnumTypeDefinitionNode) (required)
- .
ASTDefinitionBuilder::makeEnumDef() ASTDefinitionBuilder::makeEnumDef code WC 10.9.1
private function makeEnumDef(EnumTypeDefinitionNode $def): EnumType
{
$name = $def->name->value;
/** @var array<EnumTypeExtensionNode> $extensionASTNodes (proven by schema validation) */
$extensionASTNodes = $this->typeExtensionsMap[$name] ?? [];
$values = [];
foreach ([$def, ...$extensionASTNodes] as $node) {
foreach ($node->values as $value) {
$values[$value->name->value] = [
'description' => $value->description->value ?? null,
'deprecationReason' => $this->getDeprecationReason($value),
'astNode' => $value,
];
}
}
return new EnumType([
'name' => $name,
'description' => $def->description->value ?? null,
'values' => $values,
'astNode' => $def,
'extensionASTNodes' => $extensionASTNodes,
]);
}