ResponseListDTO<T extends BaseDTO> constructor

ResponseListDTO<T extends BaseDTO>({
  1. required ResponseModel response,
  2. required dynamic fromJson(
    1. Map<String, dynamic>
    ),
})

Creates a new instance of ResponseListDTO.

The response parameter is used to initialize the response list. The fromJson parameter is used to convert the items from a JSON object.

Implementation

ResponseListDTO({
  required ResponseModel response,
  required this.fromJson,
}) {
  _message = response.message;
  _status = response.statusCode;

  if (response.statusCode! >= 400) {
    _hasError = true;
    _error = response.data ?? response.message;
    return;
  }
  if (response.data == null) {
    return;
  }

  if (response.data is List) {
    items =
        (response.data as List).map((x) => fromJson(x)).toList().cast<T>();
    count = items.length;
    return;
  } else {
    items = (response.data["result"] as List)
        .map((x) => fromJson(x))
        .toList()
        .cast<T>();
    count = response.data["count"] ?? items.length ?? 0;
  }
}