getPage method

  1. @override
Future<PageResult> getPage(
  1. String table, {
  2. int limit = 20,
  3. String orderBy = SyncColumns.updatedAt,
  4. bool descending = true,
  5. PageCursor? after,
  6. bool includeDeleted = false,
})
override

Returns up to limit rows of table ordered by orderBy (default updated_at), descending by default, continuing after the after cursor.

Pass after: result.nextCursor to fetch the following page; a null nextCursor means there are no more rows. Soft-deleted rows are excluded unless includeDeleted is set.

Implementation

@override
Future<PageResult> getPage(
  String table, {
  int limit = 20,
  String orderBy = SyncColumns.updatedAt,
  bool descending = true,
  PageCursor? after,
  bool includeDeleted = false,
}) async {
  final rows = _tables[table]?.values ?? const <Map<String, dynamic>>[];
  final visible = includeDeleted
      ? rows
      : rows.where((r) => r[SyncColumns.deletedAt] == null);
  return paginateRows(
    visible,
    limit: limit,
    orderBy: orderBy,
    descending: descending,
    after: after,
  );
}