...

Text file src/cuelang.org/go/encoding/protobuf/textproto/testdata/encoder/enum.txtar

Documentation: cuelang.org/go/encoding/protobuf/textproto/testdata/encoder

     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 | 3
    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"
    33
    34// Convert integers to strings
    35defEnum: foo: 1
    36defEnum: bar: 2
    37
    38typeEnum: foo: 1
    39typeEnum: bar: 2
    40typeEnum: 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
    47singleEnum: 1
    48-- out/jsonpb --
    49enum: asIs:        "foo"
    50enum: asIsUnknown: "foobar"
    51
    52// Convert integers to strings
    53defEnum: foo: "foo"
    54defEnum: bar: "bar"
    55defEnum: 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
    62singleEnum: "single"
    63-- out/encode --
    64enum: {
    65  asIs: "foo"
    66}
    67defEnum: {
    68  # Convert integers to strings
    69  foo: FOO
    70  bar: BAR
    71}
    72typeEnum: {
    73  foo: FOO
    74  bar: BAR
    75  baz: 3
    76}
    77singleEnum: single

View as plain text