query method

  1. @override
Future<List<TModel>> query({
  1. Filter<ModelBase> where(
    1. TMeta t
    )?,
  2. Iterable<ColumnDefinition<TModel, dynamic>>? select(
    1. TMeta t
    )?,
  3. List<OrmOrder<ModelBase>>? orderBy(
    1. TMeta t
    )?,
  4. int? limit,
  5. int? offset,
  6. bool? useIsolate,
  7. Map<String, dynamic>? isolateArgs,
  8. void onIsolatePreMap(
    1. 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();
}