Automattic\WooCommerce\Vendor\GraphQL\Type

SchemaValidationContext::validateEnumValuesprivateWC 1.0

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() 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
            );
        }
    }
}