31 lines
870 B
Dart
31 lines
870 B
Dart
import 'package:flutter_test_app/domain/models/home.dart';
|
|
|
|
import '../../domain/models/card.dart';
|
|
import '../dtos/characters_dto.dart';
|
|
|
|
extension CharactersDtoToModel on CharactersDto {
|
|
HomeData toDomain() => HomeData(
|
|
data: data?.map((e) => e.toDomain()).toList(),
|
|
nextPage: meta?.pagination?.next,
|
|
);
|
|
}
|
|
|
|
extension CharactersDataDtoToModel on CharacterDataDto {
|
|
CardData toDomain() => CardData(
|
|
model ?? 'UNKNOWN',
|
|
imageUrl: images?.frontQuarter,
|
|
descriptionText: _makeDescriptionText('${price}', '${speed}'),
|
|
id: id,
|
|
);
|
|
|
|
String _makeDescriptionText(String? price, String? speed) {
|
|
return price != null && speed != null
|
|
? 'Price: $price\nMax speed:$speed'
|
|
: price != null
|
|
? 'price: $price'
|
|
: speed != null
|
|
? 'speed: $speed'
|
|
: '';
|
|
}
|
|
}
|