cached_streamable

Creator: coderz1093

Last updated:

0 purchases

cached_streamable Image
cached_streamable Images

Languages

Categories

Add to Cart

Description:

cached streamable

cached_streamable #
Simple interface for creating a streamable data source that caches it latest value.
Think of it as an "extended" StreamController.


Usage #

Create your implementation by extending CachedStreamable.
Use the value getter and setter to update the cached value.
You can use any single data type. This example uses int.
(value getter is where you can access the latest data.
value setter is where you can update the cache and notify listeners.)

class CounterRepository extends CachedStreamable<int> {
CounterRepository() : super(0);

// Some arbitrary future that updates the internal cached value
Future<void> increment() =>
Future<void>.delayed(Duration.zero, () => value = value + 1);
}
copied to clipboard

Use the stream to access all the updates to the cache.

Future<void> main() async {
// prints "0" when first listened to
final repo = CounterRepository()..stream.listen(print);

// prints "1"
await repo.increment();
}
copied to clipboard

Don't forget to call close when you are done.

await repo.close();
copied to clipboard
You don't have to extend the class. You can use CachedStreamable inline:
final counter = CachedStreamable<int>(0);
counter.value++;
copied to clipboard

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.