getFactory<T extends BaseModel> method

BaseModelFactory<T> getFactory<T extends BaseModel>()

Implementation

BaseModelFactory<T> getFactory<T extends BaseModel>() {
  // get factory from registry
  final factory = _registryMap.entries
      .firstWhere(
        (element) => element.key == T,
        orElse: () => throw Exception('No Type registered for type $T'),
      )
      .value
      .entries
      .firstWhere(
        (element) => element.key == GeneralRegistryKey.factory,
        orElse: () => throw Exception('No Factory registered for type $T'),
      )
      .value;

  log('[[factory]]: $factory');

  return factory as BaseModelFactory<T>;
}