Files
hipmi/templates/ff_bloc/model.tmpl
2025-02-04 22:35:44 +08:00

52 lines
1.0 KiB
Cheetah

// ignore: depend_on_referenced_packages
import 'package:equatable/equatable.dart';
class ${upperName}Model extends Equatable {
const ${upperName}Model({
required this.name,
});
final String name;
@override
List<Object> get props => [ name];
Map<dynamic, dynamic> toMap() {
return {
'name': name,
};
}
static ${upperName}Model? fromMap(Map<dynamic, dynamic>? map) {
if (map == null) {
return null;
}
return ${upperName}Model(
name: map['name']!.toString(),
);
}
}
class ${upperName}ViewModel extends Equatable {
const ${upperName}ViewModel({
// TODO(all): add all required constructor parameters
required this.items,
});
// TODO(all): declare your fields here
final List<${upperName}Model>? items;
@override
List<Object?> get props => [items /*TODO(all): List all fields here*/];
// TODO(all): implement copyWith
${upperName}ViewModel copyWith({
List<${upperName}Model>? items,
}) {
return ${upperName}ViewModel(
items: items ?? this.items,
);
}
}