update method

  1. @visibleForTesting
  2. @protected
  3. @override
FutureOr<M?> update(
  1. FutureOr<M> updater(
    1. M old
    ), {
  2. dynamic onError(
    1. Object e,
    2. StackTrace s
    )?,
  3. int slowlyMs = 100,
  4. Object? debounceTag,
  5. Object? throttleTag,
  6. Object? mutexTag,
  7. @Deprecated('removed, set `Logger.root.level = Level.FINE` or lower to print SkipError') dynamic ignoreSkipError = true,
  8. @Deprecated('use logging') String onPutLogging(
    1. M cur
    )?,
  9. OnLogging<M>? logging,
})
override

Implementation

@visibleForTesting
@protected
@override
FutureOr<M?> update(
  FutureOr<M> Function(M old) updater, {
  Function(Object e, StackTrace s)? onError,
  int slowlyMs = 100,
  Object? debounceTag,
  Object? throttleTag,
  Object? mutexTag,
  @Deprecated(
    'removed, set `Logger.root.level = Level.FINE` or lower to print SkipError',
  )
  ignoreSkipError = true,
  @Deprecated('use logging') String Function(M cur)? onPutLogging,
  OnLogging<M>? logging,
}) {
  final result = super.update(
    updater,
    onError: onError,
    slowlyMs: slowlyMs,
    debounceTag: debounceTag,
    throttleTag: throttleTag,
    mutexTag: mutexTag,
    // ignore: deprecated_member_use
    ignoreSkipError: ignoreSkipError,
    // ignore: deprecated_member_use
    onPutLogging: onPutLogging,
    logging: logging,
  );
  if (result is Future<M?>) {
    return result.whenComplete(_notifyChangeListeners);
  }
  _notifyChangeListeners();
  return result;
}