Line data Source code
1 : import 'package:tech_proof/data/models/movie_detail_model.dart'; 2 : import 'package:tech_proof/data/models/movie_model.dart'; 3 : import 'package:tech_proof/domain/entities/movie_entity.dart'; 4 : 5 : extension MovieMapper on MovieModel { 6 3 : MovieEntity toEntity() { 7 3 : return MovieEntity( 8 3 : id: id, 9 3 : posterPath: posterPath, 10 3 : title: title, 11 3 : releaseDate: releaseDate, 12 3 : synopsis: overview, 13 3 : rating: voteAverage, 14 3 : genres: [], 15 : ); 16 : } 17 : } 18 : 19 : extension MovieListMapper on List<MovieModel> { 20 4 : List<MovieEntity> toEntityList() { 21 14 : return map((movie) => movie.toEntity()).toList(); 22 : } 23 : } 24 : 25 : extension MovieDetailMapper on MovieDetail { 26 2 : MovieEntity toEntity() { 27 2 : return MovieEntity( 28 2 : id: id, 29 2 : posterPath: posterPath!, 30 2 : title: title, 31 2 : releaseDate: releaseDate, 32 2 : synopsis: overview, 33 2 : rating: voteAverage, 34 8 : genres: genres.map((genre) => genre.name).toList(), 35 : ); 36 : } 37 : } 38 : 39 : extension MovieDetailListMapper on List<MovieDetail> { 40 1 : List<MovieEntity> toEntityList() { 41 4 : return map((movie) => movie.toEntity()).toList(); 42 : } 43 : }