decode method

  1. @override
TypeDef decode(
  1. Input input
)
override

Implementation

@override
TypeDef decode(Input input) {
  final index = input.read();

  switch (index) {
    case 0: // Composite
      return $TypeDefComposite._().decode(input);

    case 1: // Variant
      return $TypeDefVariant._().decode(input);

    case 2: // Sequence
      return $TypeDefSequence._().decode(input);

    case 3: // Array
      return $TypeDefArray._().decode(input);

    case 4: // Tuple
      return $TypeDefTuple._().decode(input);

    case 5: // Primitive
      return $TypeDefPrimitive._().decode(input);

    case 6: // Compact
      return $TypeDefCompact._().decode(input);

    case 7: // BitSequence
      return $TypeDefBitSequence._().decode(input);

    default:
      throw Exception('Unknown TypeDefVariant index: $index');
  }
}