isCachedEntity<O> method

  1. @override
bool isCachedEntity<O>(
  1. O entity, {
  2. Type? type,
  3. bool identicalEquality = true,
})
override

Returns true if entity is cached.

  • If identicalEquality is true will use identical for equality.
  • If type is defined set it will overwrite O or entity.runtimeType.

Implementation

@override
bool isCachedEntity<O>(O entity,
    {Type? type, bool identicalEquality = true}) {
  type ??= O;
  if (type == Object || type == dynamic) {
    type = entity.runtimeType;
  }

  var typeEntities = _entities[type];
  if (typeEntities == null) return false;

  if (identicalEquality) {
    return typeEntities.values.any((e) => identical(e, entity));
  } else {
    return typeEntities.values.any((e) => e == entity);
  }
}