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