github.com/solo-io/cue@v0.4.7/encoding/protobuf/jsonpb/testdata/decoder/enums.txtar (about) 1 -- schema.cue -- 2 enum: [string]: 3 { "foo", #enumValue: 1 } | 4 { "bar", #enumValue: 2 } 5 6 defEnum: [string]: #foo | #bar 7 8 #foo: 1 9 #bar: 2 10 11 typeEnum: [string]: #Enum 12 13 #Enum: #foo | #bar 14 15 16 // TODO: consider supporting @symbol(foo) or @json(,symbol=foo) 17 // symbolEnum: [string]: 18 // { 1, @symbol(foo) } | 19 // { 2, @symbol(bar) } 20 21 22 singleEnum: { "single", #enumValue: 1 } 23 24 badEnum: { string, #enumValue: 1 } | { "two", #enumValue: 2 } 25 26 -- data.cue -- 27 enum: asIs: "foo" 28 enum: asIsUnknown: "foobar" 29 30 // Convert integers to string 31 enum: numExistFoo: 1 32 enum: numExistBar: 2 33 34 // Convert strings to integer 35 defEnum: foo: "foo" 36 defEnum: bar: "bar" 37 defEnum: baz: "baz" // unavailable 38 39 typeEnum: foo: "foo" 40 typeEnum: bar: "bar" 41 typeEnum: baz: "baz" // unavailable 42 43 // TODO: consider supporting @symbol(foo) or @json(,symbol=foo) 44 // symbolEnum: foo: "foo" 45 // symbolEnum: bar: "bar" 46 // symbolEnum: baz: "baz" 47 48 singleEnum: 1 49 50 -- errors.cue -- 51 enum: numNotExists: 3 52 53 enum: numNotExists: 4 54 55 enum: tooLarge: 4_111_222_333_444_555_666_777_888_999 56 57 badEnum: 1 58 59 -- out/jsonpb/data.cue -- 60 enum: asIs: "foo" 61 enum: asIsUnknown: "foobar" 62 63 // Convert integers to string 64 enum: numExistFoo: "foo" 65 enum: numExistBar: "bar" 66 67 // Convert strings to integer 68 defEnum: foo: 1 69 defEnum: bar: 2 70 defEnum: baz: "baz" // unavailable 71 72 typeEnum: foo: 1 73 typeEnum: bar: 2 74 typeEnum: baz: "baz" // unavailable 75 76 // TODO: consider supporting @symbol(foo) or @json(,symbol=foo) 77 // symbolEnum: foo: "foo" 78 // symbolEnum: bar: "bar" 79 // symbolEnum: baz: "baz" 80 81 singleEnum: "single" 82 -- out/jsonpb/errors.cue -- 83 enum.numNotExists: could not locate integer enum value 3: 84 errors.cue:1:21 85 enum.numNotExists: could not locate integer enum value 4: 86 errors.cue:3:21 87 enum.tooLarge: invalid enum index: 4111222333444555666777888999: greater than max int64: 88 errors.cue:5:17 89 badEnum: invalid string enum: non-concrete value string: 90 schema.cue:23:10