parseUserResponseData<R, T extends INetworkModel<T> > method
R?
parseUserResponseData<R, T extends INetworkModel<T> >(
- dynamic responseBody,
- T model
inherited
Parse response body R: Response Model for user want to parse T: Parser Model
Implementation
R? parseUserResponseData<R, T extends INetworkModel<T>>(
dynamic responseBody,
T model,
) {
if (R is EmptyModel || R == EmptyModel) {
return EmptyModel(name: responseBody.toString()) as R;
}
try {
if (responseBody is List<dynamic>) {
final items = responseBody.whereType<Map<String, dynamic>>().toList();
return items
.map((data) {
return model.fromJson(data);
})
.cast<T>()
.toList() as R;
}
if (responseBody is Map<String, dynamic>) {
return model.fromJson(responseBody) as R;
}
LogItems.bodyParseErrorLog(
data: responseBody,
isEnableLogger: parameters.isEnableLogger,
);
return null;
} catch (e) {
LogItems.bodyParseGeneralLog<T, R>(
data: e,
responseBody: responseBody,
isEnableLogger: parameters.isEnableLogger,
);
}
return null;
}