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