updateDocument method
Future<void>
updateDocument(
- DocumentReference ref,
- DocumentData data
)
override
Implementation
@override
Future<void> updateDocument(DocumentReference ref, DocumentData data) =>
ref._ref.update(data.map((k, v) {
if (v is FieldValue) {
return switch (v.type) {
FieldValueType.delete =>
MapEntry<String, dynamic>(k, cf.FieldValue.delete()),
FieldValueType.increment => MapEntry<String, dynamic>(
k, cf.FieldValue.increment(v.elements![0] as num)),
FieldValueType.decrement => MapEntry<String, dynamic>(
k, cf.FieldValue.increment(-v.elements![0] as num)),
FieldValueType.arrayUnion => MapEntry<String, dynamic>(
k, cf.FieldValue.arrayUnion(v.elements!)),
FieldValueType.arrayRemove => MapEntry<String, dynamic>(
k, cf.FieldValue.arrayRemove(v.elements!)),
FieldValueType.serverTimestamp =>
MapEntry<String, dynamic>(k, cf.FieldValue.serverTimestamp()),
};
}
return MapEntry<String, dynamic>(k, v);
}));