getNextDatapoint<ChildData extends Data, ParentData extends WithOffline?> method

RequestAndParser<Response, List<ChildData>> getNextDatapoint<ChildData extends Data, ParentData extends WithOffline?>(
  1. ParentData data, {
  2. dynamic preloadFullImages = false,
})

gets all the ChildDatapoints for the given ParentData if no ParentData is given it defaults to root

Implementation

RequestAndParser<http.Response, List<ChildData>>
    getNextDatapoint<ChildData extends Data, ParentData extends WithOffline?>(
  ParentData data, {
  preloadFullImages = false,
}) {
  final childTypeStr = Helper.getIdentifierFromData<ChildData>(null);
  if (childTypeStr == null) throw Exception('type not supported');
  return _getAllForNextLevel(
    route: routesFromData<ChildData>(null),
    jsonResponseID: childTypeStr + 's',
    json: data?.toSmallJson(),
    fromJson: (json) {
      // "offline" (forceOffline) is a local-only flag; never trust/propagate it from server payloads.
      final scrubbed = Map<String, dynamic>.from(json);
      scrubbed.remove('offline');
      scrubbed.remove('parent_local_id');
      return Data.fromJson<ChildData>(scrubbed);
    },
    preloadFullImages: preloadFullImages,
  );
}