changesSince method

  1. @override
CacheDelta changesSince(
  1. int version
)
override

The entities changed or removed since version (an earlier value of Cache.version), as JSON copies of those entities only. Store it, then ask again from CacheDelta.version.

Implementation

@override
CacheDelta changesSince(int version) {
  if (version < _fullSince) {
    return CacheDelta(
      version: _version,
      changed: {
        for (final e in _entities.entries) e.key: _entityJson(e.value),
      },
      removed: {},
      full: true,
    );
  }
  return CacheDelta(
    version: _version,
    changed: {
      for (final e in _changedAt.entries)
        if (e.value > version) e.key: _entityJson(_entities[e.key]!),
    },
    removed: {
      for (final e in _removedAt.entries)
        if (e.value > version) e.key,
    },
  );
}