convertJsonToTimestamps function

dynamic convertJsonToTimestamps(
  1. dynamic value
)

For use in writing to Firestore directly. This isn't necessary if calling a Firebase function.

Implementation

dynamic convertJsonToTimestamps(dynamic value) {
  if (value is Map<String, dynamic>) {
    if (value.containsKey('_seconds') && value.containsKey('_nanoseconds')) {
      return Timestamp(value['_seconds'], value['_nanoseconds']);
    }
    return value.map((key, val) => MapEntry(key, convertJsonToTimestamps(val)));
  }
  if (value is List) {
    return value.map((e) => convertJsonToTimestamps(e)).toList();
  }
  return value;
}