Skip to content

Piper StateState management that cleans up after itself.

Plain Dart ViewModels with automatic rebuilds, stream cleanup, and cooperative task cancellation.

Piper State

See it in action ​

dart
class CounterViewModel extends ViewModel {
  late final count = state(0);

  void increment() => count.update((n) => n + 1);
}
dart
class CounterPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    final vm = context.vm<CounterViewModel>();

    return vm.count.build(
      (count) => Text('$count'),
    );
  }
}

Released under the MIT License.