blob: e3c41595c3e628da2aacf2a9422a722d0eada116 [file] [log] [blame]
-- schema.cue --
enum: [string]:
{ "foo", #enumValue: 1 } |
{ "bar", #enumValue: 2 }
defEnum: [string]: #foo | #bar
#foo: 1
#bar: 2
typeEnum: [string]: #Enum
#Enum: #foo | #bar
// TODO: consider supporting @symbol(foo) or @json(,symbol=foo)
// symbolEnum: [string]:
// { 1, @symbol(foo) } |
// { 2, @symbol(bar) }
singleEnum: { "single", #enumValue: 1 }
badEnum: { string, #enumValue: 1 } | { "two", #enumValue: 2 }
-- data.cue --
enum: asIs: "foo"
enum: asIsUnknown: "foobar"
// Convert integers to string
enum: numExistFoo: 1
enum: numExistBar: 2
// Convert strings to integer
defEnum: foo: "foo"
defEnum: bar: "bar"
defEnum: baz: "baz" // unavailable
typeEnum: foo: "foo"
typeEnum: bar: "bar"
typeEnum: baz: "baz" // unavailable
// TODO: consider supporting @symbol(foo) or @json(,symbol=foo)
// symbolEnum: foo: "foo"
// symbolEnum: bar: "bar"
// symbolEnum: baz: "baz"
singleEnum: 1
-- errors.cue --
enum: numNotExists: 3
enum: numNotExists: 4
enum: tooLarge: 4_111_222_333_444_555_666_777_888_999
badEnum: 1
-- out/jsonpb/data.cue --
enum: asIs: "foo"
enum: asIsUnknown: "foobar"
// Convert integers to string
enum: numExistFoo: "foo"
enum: numExistBar: "bar"
// Convert strings to integer
defEnum: foo: 1
defEnum: bar: 2
defEnum: baz: "baz" // unavailable
typeEnum: foo: 1
typeEnum: bar: 2
typeEnum: baz: "baz" // unavailable
// TODO: consider supporting @symbol(foo) or @json(,symbol=foo)
// symbolEnum: foo: "foo"
// symbolEnum: bar: "bar"
// symbolEnum: baz: "baz"
singleEnum: "single"
-- out/jsonpb/errors.cue --
enum.numNotExists: could not locate integer enum value 3:
errors.cue:1:21
enum.numNotExists: could not locate integer enum value 4:
errors.cue:3:21
enum.tooLarge: invalid enum index: 4111222333444555666777888999: greater than max int64:
errors.cue:5:17
badEnum: invalid string enum: non-concrete value string:
schema.cue:23:10