encodeTo method
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}');
}
}