Mobiles_programming/lib/data/mappers/games_mapper.dart

18 lines
921 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:html/parser.dart';
extension GameDtoToModel on GameDto {
GameData toDomain() {
// удаление HTML-тегов и системных символов из описания
String cleanedDescription = description ?? '';
if (cleanedDescription.isNotEmpty) {
cleanedDescription = cleanedDescription.replaceAll(RegExp(r'<[^>]*>'), '');
//cleanedDescription = cleanedDescription.replaceAll(RegExp(r'\n|\r|\t'), ' ');
}
// return GameData(name: name ?? 'Неизвестная игра', price: 100, image: image?.originalUrl, description: cleanedDescription);
return GameData(id:id, name: name ?? 'Неизвестная игра', date: DateTime.parse(date ?? '2000-01-01'), image: image, description: cleanedDescription);
}
}