flutter_observation_generator 0.2.1 copy "flutter_observation_generator: ^0.2.1" to clipboard
flutter_observation_generator: ^0.2.1 copied to clipboard

Source generator for flutter_observation models and lifecycle-aware observation widgets.

flutter_observation_generator #

Source generation for flutter_observation.

Add the runtime as a dependency and this package with build_runner as a dev dependency:

dependencies:
  flutter_observation: ^0.2.1

dev_dependencies:
  build_runner: ^2.16.0
  flutter_observation_generator: ^0.2.1

Generate observable models and observation widgets:

@ObservableModel()
class Counter extends _$Counter {
  Counter({int super.value = 0});
}

@ObservationWidget()
class CounterPage extends _$CounterPage {
  const CounterPage({super.key});

  @ObservableState()
  Counter createCounter() => Counter();

  @override
  Widget build(BuildContext context, {required Counter counter}) {
    return Text('${counter.value}');
  }
}
dart run build_runner build

Keep the explicit type on each model super parameter. It lets the generator resolve properties on a clean first build before the generated superclass exists. Projects that enable the type_init_formals style lint should disable it for observable model declarations.

The original constructor form remains supported per model:

@ObservableModel()
class Counter extends _$Counter {
  Counter({int value = 0}) : super(value);
}

Generated observable models also register release-elided backing-field readers for the opt-in, read-only State view in the Flutter DevTools extension. Generated Observation widgets expose each @ObservableState() and @PlainState() factory by name as a separate Flutter Inspector Widget property. Generated model backing fields can be expanded from those properties without invoking observable getters or creating dependencies.

0
likes
140
points
81
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Source generator for flutter_observation models and lifecycle-aware observation widgets.

Repository (GitHub)
View/report issues

Topics

#code-generation #flutter #observation #reactive

License

BSD-3-Clause (license)

Dependencies

analyzer, build, flutter_observation, source_gen

More

Packages that depend on flutter_observation_generator