cleanDataForWrite static method

Json cleanDataForWrite(
  1. Json data
)

Converts Dart DateTimes into Firebase Timestamp values.

Implementation

static Json cleanDataForWrite(Json data) {
  if (data.isEmpty) {
    return data;
  }

  Json? cleaned;

  for (final entry in data.entries) {
    final value = entry.value;
    final cleanedValue = _cleanValueForWrite(value);

    if (!identical(cleanedValue, value)) {
      cleaned ??= Map<String, dynamic>.from(data);
      cleaned[entry.key] = cleanedValue;
    }
  }

  return cleaned ?? data;
}