replace<T extends Object> method

T? replace<T extends Object>({
  1. Object? key,
  2. required T data,
  3. bool callOnDestroy = true,
})

替换为新数据 返回结构为旧数据如果不存在旧数据则返回null

Implementation

T? replace<T extends Object>(
    {Object? key, required T data, bool callOnDestroy = true}) {
  if (_isDestroyed) return null;
  final k = _genKey<T>(key: key);
  final entry = _data[k];
  final last = entry?.data;
  entry?.data = data;
  if (callOnDestroy && last != null) {
    entry?.onDestroy?.call(last);
  }
  return last;
}