findAllModelsOfType<T extends BaseModel> method

  1. @override
Iterable<T> findAllModelsOfType<T extends BaseModel>(
  1. String database,
  2. T supplier()
)
override

This functions finds all models of the given type that have their BaseModel.id start with the prefix given by the suppliers BaseModelIDExtension.prefixTypeForId

Implementation

@override
Iterable<T> findAllModelsOfType<T extends BaseModel>(
  String database,
  T Function() supplier,
) {
  final modelBase = supplier();
  final keyPrefix = modelBase.prefixTypeForId('');

  return getMap(database)
      .entries
      .where((element) => element.value.id!.startsWith(keyPrefix))
      .map((e) => supplier()..copy(e.value));
}