Automattic\WooCommerce\Vendor\GraphQL\Type\Definition
InputObjectType::validateOneOfConstraints
Validates that oneOf input object constraints are met.
Method of the class: InputObjectType{}
No Hooks.
Returns
null. Nothing (null).
Usage
// private - for code of main (parent) class only $result = $this->validateOneOfConstraints( $fields ): void;
- $fields(array<string, InputObjectField>) (required)
- .
InputObjectType::validateOneOfConstraints() InputObjectType::validateOneOfConstraints code WC 11.1.2
private function validateOneOfConstraints(array $fields): void
{
if (count($fields) === 0) {
throw new InvariantViolation("OneOf input object type {$this->name} must define one or more fields.");
}
foreach ($fields as $fieldName => $field) {
$fieldType = $field->getType();
// OneOf fields must be nullable (not wrapped in NonNull)
if ($fieldType instanceof NonNull) {
throw new InvariantViolation("OneOf input object type {$this->name} field {$fieldName} must be nullable.");
}
// OneOf fields cannot have default values
if ($field->defaultValueExists()) {
throw new InvariantViolation("OneOf input object type {$this->name} field {$fieldName} cannot have a default value.");
}
}
}