dco_decode_dynamic_value method

  1. @protected
DynamicValue dco_decode_dynamic_value(
  1. dynamic raw
)

Implementation

@protected
DynamicValue dco_decode_dynamic_value(dynamic raw) {
  // Codec=Dco (DartCObject based), see doc to use other codecs
  switch (raw[0]) {
    case 0:
      return DynamicValue_U16(
        dco_decode_u_16(raw[1]),
      );
    case 1:
      return DynamicValue_U32(
        dco_decode_u_32(raw[1]),
      );
    case 2:
      return DynamicValue_I32(
        dco_decode_i_32(raw[1]),
      );
    case 3:
      return DynamicValue_U64(
        dco_decode_u_64(raw[1]),
      );
    case 4:
      return DynamicValue_I64(
        dco_decode_i_64(raw[1]),
      );
    case 5:
      return DynamicValue_F32(
        dco_decode_f_32(raw[1]),
      );
    case 6:
      return DynamicValue_F64(
        dco_decode_f_64(raw[1]),
      );
    case 7:
      return DynamicValue_String(
        dco_decode_String(raw[1]),
      );
    case 8:
      return DynamicValue_VecU8(
        dco_decode_list_prim_u_8_strict(raw[1]),
      );
    case 9:
      return DynamicValue_MegaStruct(
        dco_decode_String(raw[1]),
      );
    case 10:
      return DynamicValue_Error(
        dco_decode_error_code(raw[1]),
      );
    case 11:
      return DynamicValue_None();
    default:
      throw Exception("unreachable");
  }
}