getPage method

  1. @override
Future<CursorPage<T>> getPage(
  1. int limit, [
  2. String after = ''
])
override

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

Implementation

@override
Future<CursorPage<T>> getPage(int limit, [String after = '']) async {
  var pathDelimiter = _path.contains('?') ? '&' : '?';
  var newPath = '$_path${pathDelimiter}limit=$limit';
  if (after.isNotEmpty) {
    newPath += '&after=$after';
  }

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

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