query method

  1. @override
Future<List<TEntity>> query({
  1. Filter<EntityBase> where(
    1. TMeta t
    )?,
  2. Iterable<ColumnDefinition<TEntity, dynamic>>? columns(
    1. TMeta t
    )?,
  3. List<OrmOrder<EntityBase>>? 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<TEntity>> query({
  Filter Function(TMeta t)? where,
  Iterable<ColumnDefinition<TEntity, dynamic>>? Function(TMeta t)? columns,
  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 TEntity,
        )
        .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 TEntity,
      )
      .toList();
}