fetcher property

PaginatedDataFetcher<T> fetcher
final

The fetching function. You can initialize it with your repository method. or define a function directly. This way you don't need to create data repositories. Example

PaginatedDataRepository(
  fetcher: ({int page = 1, String? query}) async {
    final results = await dio.get<Map<String, dynamic>>(
      'search/movie?query=$query&include_adult=false&page=$page',
    );
    return PaginatedResponse.fromJson(
      results.data!,
      dataMapper: TmdbMovie.fromJson,
      dataField: 'results',
      paginationParser: (data) => Pagination(
        totalNumber: data['total_results'] as int,
        currentPage: data['page'] as int,
        lastPage: data['total_pages'] as int,
      ),
    );
  },
);

Implementation

final PaginatedDataFetcher<T> fetcher;