Mobiles_programming/lib/data/mappers/games_mapper.dart

20 lines
813 B
Dart
Raw Normal View History

2024-11-15 21:47:58 +04:00
import 'package:mobiles_labs_5th_semester/data/dto/games_dto.dart';
import 'package:mobiles_labs_5th_semester/domain/models/game.dart';
2024-12-21 22:12:25 +04:00
import 'package:mobiles_labs_5th_semester/domain/models/games.dart';
extension GamesDtoToModel on GamesDto {
2024-12-21 22:12:25 +04:00
Games toDomain() => Games(data: data?.map((e) => e.toDomain()).toList(), nextPage: next);
}
2024-11-15 21:47:58 +04:00
extension GameDtoToModel on GameDto {
2024-12-21 22:12:25 +04:00
Game toDomain() {
// удаление HTML-тегов из описания
2024-11-15 21:47:58 +04:00
String cleanedDescription = description ?? '';
if (cleanedDescription.isNotEmpty) {
2024-12-21 22:12:25 +04:00
cleanedDescription = cleanedDescription.replaceAll(RegExp(r'<[^>]*>'), '');
2024-11-15 21:47:58 +04:00
}
2024-12-21 22:12:25 +04:00
return Game(id: id, name: name ?? 'Неизвестная игра', date: DateTime.parse(date ?? '2000-01-01'), image: image, description: cleanedDescription);
2024-11-15 21:47:58 +04:00
}
}