blob: a77c7d0db0c993d08511b13483bb817b7a58296a [file] [log] [blame]
-- schema.cue --
enum: [string]:
{ "foo", #enumValue: 1 } |
{ "bar", #enumValue: 2 } @protobuf(1,Enum)
defEnum: [string]: #FOO | #BAR @protobuf(2,Enum)
#FOO: 1
#BAR: 2
typeEnum: [string]: #Enum @protobuf(3,Enum)
#Enum: #FOO | #BAR | 3
// TODO: consider supporting @symbol(foo) or @json(,symbol=foo)
// symbolEnum: [string]:
// { 1, @symbol(foo) } |
// { 2, @symbol(bar) }
singleEnum: #single @protobuf(3,Enum)
#single: 1
badEnum: { string, #enumValue: 1 } | { "two", #enumValue: 2 }
-- value.cue --
enum: asIs: "foo"
// Convert integers to strings
defEnum: foo: 1
defEnum: bar: 2
typeEnum: foo: 1
typeEnum: bar: 2
typeEnum: baz: 3
// TODO: consider supporting @symbol(foo) or @json(,symbol=foo)
// symbolEnum: foo: "foo"
// symbolEnum: bar: "bar"
// symbolEnum: baz: "baz"
singleEnum: 1
-- out/jsonpb --
enum: asIs: "foo"
enum: asIsUnknown: "foobar"
// Convert integers to strings
defEnum: foo: "foo"
defEnum: bar: "bar"
defEnum: baz: 3
// TODO: consider supporting @symbol(foo) or @json(,symbol=foo)
// symbolEnum: foo: "foo"
// symbolEnum: bar: "bar"
// symbolEnum: baz: "baz"
singleEnum: "single"
-- out/encode --
enum: {
asIs: "foo"
}
defEnum: {
# Convert integers to strings
foo: FOO
bar: BAR
}
typeEnum: {
foo: FOO
bar: BAR
baz: 3
}
singleEnum: single