Mobiles_programming/lib/data/mappers/games_mapper.dart

20 lines
813 B
Dart

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