massa_utils 0.1.0 copy "massa_utils: ^0.1.0" to clipboard
massa_utils: ^0.1.0 copied to clipboard

Utilities to work with bloc

massa_utils #

Utilities to work with bloc

How to use #

Subscription manager #

// add mixin to class
class SumCubit extends Cubit<int> with BlocSubscriptionManager{
    final List<BlocBase<int>> blocs;
    MulByTwo(this.blocs):super(0){
        // subscribe to updates
        listenBlocs(blocs,recalc);
    }

    // do some action when any of blocs update
    void recalc(){
        emit(blocs.map((v) => v.state).fold(0,(a,b) => a + b));
    }

    @override
    Future<void> close() async {
        // close sub
        await closeManager();
        return super.close();
    }
}

Cubits #

Add helper to create cubits, from stream, future and value. Usable for testing. b

// create cubit with fixed value
final valueCubit = Cubits.fromValue(42);
// create cubit that emit all data events from stream
// transform stream to simple behaviorSubject, aka. cubit
final streamCubit = Cubits.fromStream(0, Stream.periodic(duration, (id) => id));
// create cubit that emit single event when future complete
final futureCubit = Cubits.fromFuture(0, Future.delayed(duration, () => 42));)
0
likes
120
pub points
3%
popularity

Publisher

unverified uploader

Utilities to work with bloc

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

bloc

More

Packages that depend on massa_utils