query method
Future<List<TModel>>
query(
{ - Filter<ModelBase> where(
- TMeta t
)?,
- Iterable<ColumnDefinition<TModel, dynamic>>? select(
- TMeta t
)?,
- List<OrmOrder<ModelBase>>? orderBy(
- TMeta t
)?,
- int? limit,
- int? offset,
- bool? useIsolate,
- Map<String, dynamic>? isolateArgs,
- void onIsolatePreMap(
- Map<String, dynamic>? isolateArgs
)?,
})
Implementation
@override
Future<List<TModel>> query({
Filter Function(TMeta t)? where,
Iterable<ColumnDefinition<TModel, dynamic>>? Function(TMeta t)? select,
List<OrmOrder>? Function(TMeta t)? orderBy,
int? limit,
int? offset,
bool? useIsolate,
Map<String, dynamic>? isolateArgs,
void Function(Map<String, dynamic>? isolateArgs)? onIsolatePreMap,
}) async {
final records = await getItems() ?? {};
if (where == null) {
return records.entries
.map((e) => mType.load(e.value as Map<String, dynamic>) as TModel)
.toList();
}
final filters = where(t).filters;
final res = records.entries.where((element) {
return _where(element, filters);
});
return res
.map((e) => mType.load(e.value as Map<String, dynamic>) as TModel)
.toList();
}