encodeTo method

void encodeTo(
  1. LookupTypeDef value,
  2. ByteOutput output
)

Implementation

void encodeTo(LookupTypeDef value, ByteOutput output) {
  switch (value.tag) {
    case 'composite':
      U8Codec.codec.encodeTo(0, output);
      value.value.encodeTo(value.value, output);
      break;
    case 'enumeration':
      U8Codec.codec.encodeTo(1, output);
      value.value.encodeTo(value.value, output);
      break;
    case 'sequence':
      U8Codec.codec.encodeTo(2, output);
      value.value.encodeTo(value.value, output);
      break;
    case 'array':
      U8Codec.codec.encodeTo(3, output);
      value.value.encodeTo(value.value, output);
      break;
    case 'tuple':
      U8Codec.codec.encodeTo(4, output);
      LookupTypeDefTuple(fields: value.value).encodeTo(value.value, output);
      break;
    case 'bitSequence':
      U8Codec.codec.encodeTo(5, output);
      value.value.encodeTo(value.value, output);
      break;
    case 'primitive':
    case 'compact':
      throw Exception('Compact or primitive type not supported');
  }
}