Last updated:
0 purchases
riverpod mutations
A simple package to implement mutations for riverpod
Intended to be a stop-gap measure intended to be replaced by official riverpod mutations, once they are implemented.
Intended to be hopefully api-compatible with riverpod mutations once they are implemented.
Features #
Simply and intuitively handle the state of any async function
Getting started #
dependencies:
riverpod_mutations: ^1.0.0
# or flutter_riverpod or hooks_riverpod
riverpod: ^2.2.0
# For generator
riverpod_annotation: ^1.2.1
# Generator
dev_dependencies:
riverpod_generator: ^1.2.0
build_runner: ^2.3.3
copied to clipboard
Usage #
import 'package:riverpod/riverpod.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:riverpod_mutations/riverpod_mutations.dart';
part 'riverpod_mutations_example.g.dart';
@riverpod
MutationState<double, String> stringToDouble(StringToDoubleRef ref) {
// user passes in a String
// the string gets parsed.
// if successful, you get a MutationData
// if failed (invalid input) you get a MutationError
return MutationState.create(ref, (something) async {
await Future.delayed(Duration(seconds: 1));
print('Got $something');
return double.parse(something);
});
}
example(ref) {
final stringToDouble = ref.watch(stringToDoubleProvider);
stringToDouble('4.7');
}
copied to clipboard
Additional information #
File issues on github.
This package is intended to be superseded by riverpod's own eventual implementation
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.