new city
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:city_repository/city_repository.dart';
|
||||
|
||||
class Region extends Equatable {
|
||||
final String name;
|
||||
final List<City> cities;
|
||||
|
||||
const Region({
|
||||
required this.name,
|
||||
required this.cities,
|
||||
});
|
||||
|
||||
static const empty = Region(name: '', cities: []);
|
||||
Region copyWith({
|
||||
String? name,
|
||||
List<City>? cities,
|
||||
}) {
|
||||
return Region(
|
||||
name: name ?? this.name,
|
||||
cities: cities ?? this.cities,
|
||||
);
|
||||
}
|
||||
|
||||
bool get isEmpty => this == Region.empty;
|
||||
|
||||
bool get isNotEmpty => this != Region.empty;
|
||||
|
||||
Region toEntity() {
|
||||
return Region(name: name, cities: cities);
|
||||
}
|
||||
|
||||
static Region fromEntity(RegionEntity entity) {
|
||||
return Region(
|
||||
name: entity.name,
|
||||
cities: entity.cities.map((city) => City.fromEntity(city)).toList(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
List<Object?> get props => [name, cities];
|
||||
}
|
||||
Reference in New Issue
Block a user