Search
ctrl/
Ask AI
Light
Dark
System

Enum Type

type

enum

An enumerated type is a data type consisting of an ordered list of values.

An enum type can be declared in a schema by using the following syntax:

Copy
scalar type Color extending enum<Red, Green, Blue>;

Enum values can then be accessed directly:

Copy
db> 
select Color.Red is Color;
{true}

Casting can be used to obtain an enum value in an expression:

Copy
db> 
select 'Red' is Color;
{false}
Copy
db> 
select <Color>'Red' is Color;
{true}
Copy
db> 
select <Color>'Red' = Color.Red;
{true}

The enum values in EdgeQL are string-like in the fact that they can contain any characters that the strings can. This is different from some other languages where enum values are identifier-like and thus cannot contain some characters. For example, when working with GraphQL enum values that contain characters that aren’t allowed in identifiers cannot be properly reflected. To address this, consider using only identifier-like enum values in cases where such compatibility is needed.