PMU/lib/data/mappers/characters_mapper.dart
2024-12-21 02:35:39 +04:00

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'
: '';
}
}