toMap method

Map<String, dynamic> toMap()

Implementation

Map<String, dynamic> toMap() {
  Map<String, dynamic> map = {'typeCode': _typeCode};
  switch (_typeCode) {
    case typeCodeNull:
      break;
    case typeCodeTensor:
      map['data'] = _data.toMap();
      break;
    case typeCodeBool:
    case typeCodeLong:
    case typeCodeDouble:
    case typeCodeString:
      map['data'] = _data;
      break;
    case typeCodeBoolList:
    case typeCodeLongList:
      map['data'] = Int64List.fromList(_data);
      break;
    case typeCodeDoubleList:
      map['data'] = Float64List.fromList(_data);
      break;
    case typeCodeTensorList:
      map['data'] = _data.map((tensor) => tensor.toMap()).toList();
      break;
    case typeCodeTuple:
    case typeCodeList:
      map['data'] = _data.map((value) => value.toMap()).toList();
      break;
    case typeCodeDictStringKey:
    case typeCodeDictLongKey:
      final Map valueMap = {};
      _data.forEach((key, value) => valueMap[key] = value.toMap());
      map['data'] = valueMap;
      break;
    default:
      throw ArgumentError("Unsupported type $_typeCode");
  }
  return map;
}