reset method

void reset()

清理保存的值, 恢复成初始状态

如果设置了_onReset, 则以_onReset的返回值为准

Implementation

void reset() {
  if (_subject.isClosed) return;

  final _resetValue = _onReset != null ? _onReset!() : _seedValue;

  if (_printLog) {
    L.d('[$_semantics]事件 重置为 $_resetValue');
  }

  _subject.add(_resetValue);

  if (_persistConfig != null) {
    if (_resetValue != null) {
      final serialized = _persistConfig!.onSerialize(_resetValue);
      assert(isJsonable(serialized), '序列化之后应是jsonable值!');

      gDecoratedStorage.put(_persistConfig!.key, serialized);
    } else {
      gDecoratedStorage.delete(_persistConfig!.key);
    }
  }
}