cuelang.org/go@v0.10.1/encoding/protobuf/textproto/testdata/encoder/enum.txtar (about) 1 -- schema.cue -- 2 enum: { 3 [string]: 4 {"foo", #enumValue: 1} | 5 {"bar", #enumValue: 2} @protobuf(1,Enum) 6 } 7 8 defEnum: { 9 [string]: #FOO | #BAR @protobuf(2,Enum) 10 } 11 12 #FOO: 1 13 #BAR: 2 14 15 typeEnum: { 16 [string]: #Enum @protobuf(3,Enum) 17 } 18 19 #Enum: #FOO | #BAR | 3 20 21 // TODO: consider supporting @symbol(foo) or @json(,symbol=foo) 22 // symbolEnum: [string]: 23 // { 1, @symbol(foo) } | 24 // { 2, @symbol(bar) } 25 26 singleEnum: #single @protobuf(3,Enum) 27 28 #single: 1 29 30 badEnum: {string, #enumValue: 1} | {"two", #enumValue: 2} 31 -- value.cue -- 32 enum: asIs: "foo" 33 34 // Convert integers to strings 35 defEnum: foo: 1 36 defEnum: bar: 2 37 38 typeEnum: foo: 1 39 typeEnum: bar: 2 40 typeEnum: baz: 3 41 42 // TODO: consider supporting @symbol(foo) or @json(,symbol=foo) 43 // symbolEnum: foo: "foo" 44 // symbolEnum: bar: "bar" 45 // symbolEnum: baz: "baz" 46 47 singleEnum: 1 48 -- out/jsonpb -- 49 enum: asIs: "foo" 50 enum: asIsUnknown: "foobar" 51 52 // Convert integers to strings 53 defEnum: foo: "foo" 54 defEnum: bar: "bar" 55 defEnum: baz: 3 56 57 // TODO: consider supporting @symbol(foo) or @json(,symbol=foo) 58 // symbolEnum: foo: "foo" 59 // symbolEnum: bar: "bar" 60 // symbolEnum: baz: "baz" 61 62 singleEnum: "single" 63 -- out/encode -- 64 enum: { 65 asIs: "foo" 66 } 67 defEnum: { 68 # Convert integers to strings 69 foo: FOO 70 bar: BAR 71 } 72 typeEnum: { 73 foo: FOO 74 bar: BAR 75 baz: 3 76 } 77 singleEnum: single