///|
/// Enum types. `enum Role { ADMIN USER GUEST }` renders in SDL, a resolver returns
/// one of its members as a leaf value, and `__type` introspects the value set.
///
/// moon run src/examples/09-enums
#coverage.skip
fn main {
let s = @moongql.Schema::new()
let q = s.object("Query")
q.field("role", Named("Role"))
s.enum_("Role", ["ADMIN", "USER", "GUEST"])
let r = @moongql.Resolvers::new()
r.field("Query", "role", fn(_info) { Json("ADMIN") })
println(@moongql.execute(s, r, "{ role }").stringify())
println(
@moongql.execute(
s, r, "{ __type(name: \"Role\") { kind enumValues { name } } }",
).stringify(),
)
println(s.to_sdl().contains("enum Role {"))
}