| -- 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 |