increment<T extends num> method

  1. @override
Future<Increment<T>> increment<T extends num>(
  1. Increment<T> entity,
  2. DocumentReference<Object?> reference, {
  3. num value = 1,
  4. required String fieldName,
  5. bool? isClear,
})
override

Implementation

@override
Future<Increment<T>> increment<T extends num>(
  Increment<T> entity,
  DocumentReference reference, {
  num value = 1,
  required String fieldName,
  bool? isClear,
}) async {
  var updateValue = value;
  if (isClear != null && isClear) {
    updateValue = (T.toString() == 'double') ? 0.0 as T : 0 as T;
  }
  final batch = Batch()
    ..updateRaw(
      entity.toData(updateValue, fieldName: fieldName, isClear: isClear),
      reference,
      isTimestamp: true,
    );
  await batch.commit();
  return Increment(value: updateValue as T);
}