encodeTo method

  1. @override
void encodeTo(
  1. TypeDef value,
  2. Output output
)
override

Convert self to a slice and append it to the destination.

Implementation

@override
void encodeTo(TypeDef value, Output output) {
  switch (value.runtimeType) {
    case TypeDefComposite:
      {
        U8Codec.codec.encodeTo(0, output);
        $TypeDefCompositeCodec._().encodeTo(value as TypeDefComposite, output);
        break;
      }
    case TypeDefVariant:
      {
        U8Codec.codec.encodeTo(1, output);
        $TypeDefVariantCodec._().encodeTo(value as TypeDefVariant, output);
        break;
      }
    case TypeDefSequence:
      {
        U8Codec.codec.encodeTo(2, output);
        $TypeDefSequenceCodec._().encodeTo(value as TypeDefSequence, output);
        break;
      }
    case TypeDefArray:
      {
        U8Codec.codec.encodeTo(3, output);
        $TypeDefArrayCodec._().encodeTo(value as TypeDefArray, output);
        break;
      }
    case TypeDefTuple:
      {
        U8Codec.codec.encodeTo(4, output);
        $TypeDefTupleCodec._().encodeTo(value as TypeDefTuple, output);
        break;
      }
    case TypeDefPrimitive:
      {
        U8Codec.codec.encodeTo(5, output);
        $TypeDefPrimitiveCodec._().encodeTo(value as TypeDefPrimitive, output);
        break;
      }
    case TypeDefCompact:
      {
        U8Codec.codec.encodeTo(6, output);
        $TypeDefCompactCodec._().encodeTo(value as TypeDefCompact, output);
        break;
      }
    case TypeDefBitSequence:
      {
        U8Codec.codec.encodeTo(7, output);
        $TypeDefBitSequenceCodec._().encodeTo(value as TypeDefBitSequence, output);
        break;
      }
    default:
      throw Exception('Unknown type definition runtime type ${value.runtimeType}');
  }
}