pub package popularity likes pub points building

Lightweight stateful_service wrapper for riverpod.

Note: If you're using riverpod_generator, have a look at the riverpod_stateful_service_generator package.

Getting started

See the stateful_service package documentation for more information on how to get started.

Once you have a StatefulService, you can easily create a Riverpod notifier provider for it:

class UserService extends StatefulService<User> {
  ...
}

final StatefulServiceNotifierProvider<UserService, User> userProvider = StatefulServiceNotifierProvider((ref) {
  return StatefulServiceNotifier(UserService(initialState: const User(name: 'John Doe')));
});

You can then use the provider as you would any other Riverpod provider:

Widget build(BuildContext context, WidgetRef ref) {
  final user = ref.watch(userProvider);
  ...
}

You can also access the service directly using the included Provider extension, e.g:

Widget build(BuildContext context, WidgetRef ref) {
  final userService = ref.watch(userProvider.service);
  ...
}