remove method

  1. @nonVirtual
  2. @override
Future<void> remove(
  1. Key key, [
  2. Options? options
])
override

Removes an entry from persistent storage.

Implementation

@nonVirtual
@override
Future<void> remove(Key key, [Options? options]) {
  assert(_debugAssertNotDisposed());

  return _enqueueWritingTask(key, () {
    return useStorageWithHandlers(
      (s) => s.remove(key, options),
      (_, __) {
        sendChange({key: KeyAndValue(key, null, Null)});

        if (_isLogEnabled) {
          _publishLog(RemoveSuccessEvent(key, options));
        }
      },
      (error, _) {
        if (_isLogEnabled) {
          _publishLog(RemoveFailureEvent(key, options, error));
        }
      },
    );
  });
}