|
|
- //Here is the mapper that converts the response from the endpoints to non nullable object (model)
-
- import 'package:itasmob/app/extension.dart';
- import 'package:itasmob/data/response/responses.dart';
- import 'package:itasmob/domain/model/model.dart';
-
- extension DataResponseMapper on DataResposne? {
- Data toDomain(){
- return Data(
- this?.author?.orEmpty() ?? EMPTY,
- this?.title?.orEmpty() ?? EMPTY,
- this?.description?.orEmpty() ?? EMPTY,
- this?.url?.orEmpty() ?? EMPTY,
- this?.urlToImage?.orEmpty() ?? EMPTY,
- this?.content?.orEmpty() ?? EMPTY,
- this?.publishedAt?.orEmpty() ?? EMPTY,
- );
- }
- }
-
- extension NewsResponseMapper on NewsResponse?{
- News toDomain(){
- List<Data> mappedData = (this?.dataResposne.articles?.map((articles) => articles.toDomain()) ?? Iterable.empty())
- .cast<Data>()
- .toList();
-
- var data = NewsData(mappedData);
- return News(data);
- }
- }
|