convertToFirestoreValue function

Map<String, dynamic> convertToFirestoreValue(
  1. dynamic value
)

Implementation

Map<String, dynamic> convertToFirestoreValue(dynamic value) {
  if (value == null) {
    return {'nullValue': null};
  } else if (value is String) {
    return {'stringValue': value};
  } else if (value is int) {
    return {'integerValue': value.toString()};
  } else if (value is double) {
    return {'doubleValue': value.toString()};
  } else if (value is bool) {
    return {'booleanValue': value};
  } else if (value is DateTime) {
    return {'timestampValue': value.toIso8601String()};
  } else if (value is List<dynamic>) {
    return {
      'arrayValue': {'values': value.map(convertToFirestoreValue).toList()},
    };
  } else if (value is Map<String, dynamic>) {
    return {
      'mapValue': {'fields': convertToFirestoreJson(value)},
    };
  }
  throw UnsupportedError('Unsupported value type: ${value.runtimeType}');
}