parseFirestoreData method

dynamic parseFirestoreData(
  1. dynamic data
)

Parses Firestore data types into standard Dart types.

Implementation

dynamic parseFirestoreData(dynamic data) {
  if (data is Timestamp) {
    return data.toDate();
  } else if (data is GeoPoint) {
    return {'latitude': data.latitude, 'longitude': data.longitude};
  } else if (data is DocumentReference) {
    return data.path;
  } else if (data is Map<String, dynamic>) {
    return data.map((key, value) => MapEntry(key, parseFirestoreData(value)));
  } else if (data is List) {
    return data.map((item) => parseFirestoreData(item)).toList();
  } else {
    return data;
  }
}