genericParseResponseAsList<GenericDataType extends Jsonable<Object>?> method

Future<Response<List<GenericDataType>>> genericParseResponseAsList<GenericDataType extends Jsonable<Object>?>(
  1. Future<Response> futureResponse,
  2. GenericDataType? dataType
)

Implementation

Future<Response<List<GenericDataType>>>
    genericParseResponseAsList<GenericDataType extends Jsonable?>(
        Future<Response> futureResponse, GenericDataType? dataType) async {
  Response response = await getSaveResponse(futureResponse);
  try {
    if (dataType != null) {
      List<GenericDataType>? dataList = response.body is String
          ? dataType.fromJsonStringList(response.body)
              as List<GenericDataType>?
          : dataType.fromJsonList(response.body) as List<GenericDataType>?;
      Object? errorTypeResult = parseError(response);
      return Response<List<GenericDataType>>(response.base, dataList,
          error: errorTypeResult);
    }
  } catch (e) {
    String message = e.toString();
    response = Response(
        http.Response(
          response.body?.toString() ?? '',
          Jsonable.jsonParserError,
          headers: response.base.headers,
          isRedirect: response.base.isRedirect,
          persistentConnection: response.base.persistentConnection,
          reasonPhrase: response.base.reasonPhrase,
          request: response.base.request,
        ),
        response.body,
        error: message);
    print(e);
  }
  return Response<List<GenericDataType>>(response.base, null,
      error: response.error);
}