getValidatedContinuations function
- JsonMap results,
- String continuationType,
- int limit,
- int perPage,
- RequestFuncType requestFunc,
- ParseFuncType parseFunc, {
- String ctokenPath = '',
Returns validated continuations.
Implementation
Future<List> getValidatedContinuations(
JsonMap results,
String continuationType,
int limit,
int perPage,
RequestFuncType requestFunc,
ParseFuncType parseFunc, {
String ctokenPath = '',
}) async {
final List items = [];
JsonMap realResults = results;
while (realResults.containsKey('continuations') && items.length < limit) {
final additionalParams = getContinuationParams(realResults, ctokenPath);
JsonMap wrappedParseFunc(JsonMap rawResponse) =>
getParsedContinuationItems(rawResponse, parseFunc, continuationType);
bool validateFunc(JsonMap parsed) =>
validateResponse(parsed, perPage, limit, items.length);
final response = await resendRequestUntilParsedResponseIsValid(
requestFunc,
additionalParams,
wrappedParseFunc,
validateFunc,
3,
);
realResults = response['results'] as JsonMap;
items.addAll(response['parsed'] as List);
}
return items;
}