Automattic\WooCommerce\Vendor\GraphQL\Type
SchemaValidationContext::validateEnumValues
Method of the class: SchemaValidationContext{}
No Hooks.
Returns
null. Nothing (null).
Usage
// private - for code of main (parent) class only $result = $this->validateEnumValues( $enumType ): void;
- $enumType(EnumType) (required)
- .
SchemaValidationContext::validateEnumValues() SchemaValidationContext::validateEnumValues code WC 10.9.1
private function validateEnumValues(EnumType $enumType): void
{
$enumValues = $enumType->getValues();
if ($enumValues === []) {
$this->reportError(
"Enum type {$enumType->name} must define one or more values.",
$this->getAllNodes($enumType)
);
}
foreach ($enumValues as $enumValue) {
$valueName = $enumValue->name;
// Ensure valid name.
$this->validateName($enumValue);
if (in_array($valueName, ['true', 'false', 'null'], true)) {
$this->reportError(
"Enum type {$enumType->name} cannot include value: {$valueName}.",
$enumValue->astNode
);
}
// Ensure valid directives
if (isset($enumValue->astNode, $enumValue->astNode->directives)) {
$this->validateDirectivesAtLocation(
$enumValue->astNode->directives,
DirectiveLocation::ENUM_VALUE
);
}
}
}