view_model_generator 0.15.0-dev.0
view_model_generator: ^0.15.0-dev.0 copied to clipboard
Automatically generate ViewModelSpec code from @genProvider annotations. Reduces boilerplate for the view_model package.
example/lib/example.dart
import 'package:flutter/foundation.dart';
import 'package:view_model/view_model.dart';
// Note: This is an example file. To generate the .vm.dart file,
// you need to run:
// dart run build_runner build
part 'example.vm.dart';
@GenSpec()
class CounterViewModel extends ViewModel {
int _count = 0;
int get count => _count;
void increment() {
_count++;
notifyListeners();
}
}
// Example with dependencies
class Repository {}
@GenSpec()
class UserViewModel extends ViewModel {
final Repository repo;
UserViewModel(this.repo);
}
@GenSpec(key: Expression('repo'), tag: 'user_key')
class UserKeyViewModel extends ViewModel {
final Repository repo;
UserKeyViewModel(this.repo);
}
void main() {
// Access the generated specs
// final counterSpec = counterSpec;
// final userSpec = userSpec;
debugPrint('Run "dart run build_runner build" to generate the code.');
}