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.