dco_decode_py_argument method

  1. @protected
PyArgument dco_decode_py_argument(
  1. dynamic raw
)
override

Implementation

@protected
PyArgument dco_decode_py_argument(dynamic raw) {
  // Codec=Dco (DartCObject based), see doc to use other codecs
  switch (raw[0]) {
    case 0:
      return PyArgument_Str(
        dco_decode_String(raw[1]),
      );
    case 1:
      return PyArgument_Int(
        dco_decode_i_64(raw[1]),
      );
    case 2:
      return PyArgument_Float(
        dco_decode_f_64(raw[1]),
      );
    case 3:
      return PyArgument_Bool(
        dco_decode_bool(raw[1]),
      );
    case 4:
      return PyArgument_ListStr(
        dco_decode_list_String(raw[1]),
      );
    case 5:
      return PyArgument_ListInt(
        dco_decode_list_prim_i_64_strict(raw[1]),
      );
    default:
      throw Exception("unreachable");
  }
}