BaseCacheService<S extends Serializable> constructor

BaseCacheService<S extends Serializable>(
  1. CacheService service,
  2. S model
)

Implementation

BaseCacheService(this.service, this.model) {
  this.defaultGenerator = model.defaultObject as S Function();
  this.key = model.key;
  this.cache = service.getCacheByKey<S>(model.key);

  ever(data, (List<S> value) async {
    Pen.write("Cache data for $key changed. Rewriting the cache");
    if (model.isList) {
      await service.writeList(key, value);
    } else {
      await service.write(item);
    }
  });
  if (model.isList) {
    data(service.readList<S>(cache));
  } else {
    item = service.read<S>(cache);
  }
  data.refresh();
}