getCachedEntities<O> method

Map<dynamic, Object>? getCachedEntities<O>({
  1. Type? type,
  2. bool instantiate = true,
})

Returns the cached entities of type.

Implementation

Map<dynamic, Object>? getCachedEntities<O>(
    {Type? type, bool instantiate = true}) {
  type ??= O;

  var typeEntitiesInstantiators = _entitiesInstantiators?[type];
  if (typeEntitiesInstantiators != null && instantiate) {
    var ids = typeEntitiesInstantiators.keys.toList();
    for (var id in ids) {
      _instantiateEntity(type, id);
    }
  }

  var typeEntities = _entities?[type];

  if (typeEntities != null && typeEntities.isNotEmpty) {
    if (typeEntitiesInstantiators != null &&
        typeEntitiesInstantiators.isNotEmpty) {
      return UnmodifiableMapView(
          CombinedMapView([typeEntities, typeEntitiesInstantiators]));
    } else {
      return UnmodifiableMapView(typeEntities);
    }
  } else {
    return typeEntitiesInstantiators != null
        ? UnmodifiableMapView(typeEntitiesInstantiators)
        : null;
  }
}