flutter_piper 0.1.1 copy "flutter_piper: ^0.1.1" to clipboard
flutter_piper: ^0.1.1 copied to clipboard

Flutter widgets for Piper State with lifecycle-aware ViewModel scopes, automatic dependency tracking, builders, listeners, and effects.

Piper State

Flutter Piper #

pub package likes popularity pub points CI codecov License: MIT Flutter style: flutter lints

Lifecycle-aware Flutter widgets for Piper State.

Use plain Dart ViewModels in Flutter with auto-tracked rebuilds and cleanup owned by the widget scope.

Installation #

flutter_piper re-exports the complete piper_state API, so Flutter apps only need one direct dependency:

dependencies:
  flutter_piper: ^0.1.0

Quick Example #

// Provide ViewModels
ViewModelScope(
  create: [() => CounterViewModel()],
  child: MyApp(),
)

// Access and build UI
final vm = context.vm<CounterViewModel>();
vm.count.build((count) => Text('$count'));

Widgets #

ViewModelScope #

Provides ViewModels to the widget tree:

ViewModelScope(
  create: [
    () => AuthViewModel(authRepo),
    () => TodosViewModel(todoRepo),
  ],
  child: MyApp(),
)

Scoped<T> #

Single typed ViewModel with builder:

Scoped<DetailViewModel>(
  create: () => DetailViewModel(id),
  builder: (context, vm) => DetailPage(),
)

Named Scopes #

Share ViewModels across routes:

ViewModelScope.named(
  name: 'checkout',
  create: [() => CheckoutViewModel()],
  child: CheckoutFlow(),
)

// Access by name
context.vm<CheckoutViewModel>(scope: 'checkout');

Building UI #

// Rebuild on change
vm.count.build((count) => Text('$count'))

// Side effects
vm.isDeleted.listen(
  onChange: (prev, curr) {
    if (curr) Navigator.of(context).pop();
  },
  child: MyWidget(),
)

Documentation #

📖 Full docs · GitHub · piper_state

Want to watch lifecycle cancellation happen? Run the Piper Search Race demo: the deliberately slow f task is cancelled before it can overwrite the faster flutter result.

License #

MIT

1
likes
160
points
217
downloads

Documentation

Documentation
API reference

Publisher

verified publisherglennso.dev

Weekly Downloads

Flutter widgets for Piper State with lifecycle-aware ViewModel scopes, automatic dependency tracking, builders, listeners, and effects.

Homepage
Repository (GitHub)
View/report issues
Contributing

Topics

#state-management #viewmodel #reactive-programming #widget #flutter

License

MIT (license)

Dependencies

flutter, piper_state

More

Packages that depend on flutter_piper