Light
Dark
System
v4latest
v5dev
v4latest
v3
v2
v1

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.

Light
Dark
System

We use ChatGPT with additional context from our documentation to answer your questions. Not all answers will be accurate. Please join our Discord if you need more help.