getPage method

  1. @override
Future<Page<T>> getPage(
  1. int limit, [
  2. int offset = 0
])
override

Abstract method that is used to do the api call and json serializing

Implementation

@override
Future<Page<T>> getPage(int limit, [int offset = 0]) async {
  var pathDelimiter = _path.contains('?') ? '&' : '?';
  var newPath = '$_path${pathDelimiter}limit=$limit&offset=$offset';

  var jsonString = await _api._get(newPath);
  var map = json.decode(jsonString);

  if (_pageContainerParser == null) {
    var paging = Paging<T>.fromJson(map);
    return Page<T>(paging, _pageParser);
  } else {
    var paging = Paging<T>.fromJson(map[_pageKey]);
    var container = _pageContainerParser!(map);
    return Page<T>(paging, _pageParser, container);
  }
}