MultipleStreamMixin<E, S, K extends Object> mixin

@mixin

E represents the bloc event S represents the bloc state K represents the stream key type

@end

Properties

hashCode int
The hash code for this object.
no setterinherited
isClosed bool
Whether the bloc is closed.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
state → S
The current state.
no setterinherited
stream Stream<S>
The current state stream.
no setterinherited
streams → StreamDataMap<K>
  • add the streams with their unique keys to listen for changes
  • no setter
    streamSubscriptions ↔ StreamSubscriptionsMap<K>
  • contains all the stream's subscriptions which must be disposed if the widget is removed from the tress
  • getter/setter pair

    Methods

    add(E event) → void
    Notifies the Bloc of a new event which triggers all corresponding EventHandler instances. If close has already been called, any subsequent calls to add will be ignored and will not result in any subsequent state changes.
    inherited
    addError(Object error, [StackTrace? stackTrace]) → void
    Reports an error which triggers onError with an optional StackTrace.
    inherited
    close() Future<void>
    Closes the event and state Streams. This method should be called when a Bloc is no longer needed. Once close is called, events that are added will not be processed. In addition, if close is called while events are still being processed, the Bloc will finish processing the pending events.
    disposeAllStreams() → void
  • disposed all the stream subscriptions when the bloc is closed and empties the subscriptions map
  • disposeStream(StreamSubscription subscription) → void
  • disposes the provided stream subscription
  • emit(S state) → void
    emit should never be used outside of tests.
    inherited
    initialise() → void
  • this is called by streamprovider to listen to streams when its created
  • listen(void onData(S)?, {Function? onError, void onDone()?, bool? cancelOnError}) StreamSubscription<S>
    Adds a subscription to the Stream<State>. Returns a StreamSubscription which handles events from the Stream<State> using the provided onData, onError and onDone handlers.
    inherited
    listenToStream(K key, StreamEither<Object, Object?> stream) StreamSubscription
  • listen to the single stream provided
  • mapEventToState(E event) Stream<S>
    @Deprecated - Use on
    inherited
    noSuchMethod(Invocation invocation) → dynamic
    Invoked when a nonexistent method or property is accessed.
    inherited
    notifySourceChanged(K key) → void
  • this cancels and subscribes again for the same key
  • mostly used to change the stream in runtime
  • on<E extends Event>(EventHandler<E, S> handler, {EventTransformer<E>? transformer}) → void
    Register event handler for an event of type E. There should only ever be one event handler per event type E.
    inherited
    onChange(Change<S> change) → void
    Called whenever a change occurs with the given change. A change occurs when a new state is emitted. onChange is called before the state of the cubit is updated. onChange is a great spot to add logging/analytics for a specific cubit.
    inherited
    onError(Object error, StackTrace stackTrace) → void
    Called whenever an error occurs and notifies BlocObserver.onError.
    inherited
    onEvent(E event) → void
    Called whenever an event is added to the Bloc. A great spot to add logging/analytics at the individual Bloc level.
    inherited
    onStreamData(K key, Object? data) → void
  • this gets called when the streams returns data with `R'
  • onStreamError(K key, Object? error) → void
  • this gets called when the streams returns data with `L'
  • onTransition(Transition<E, S> transition) → void
    Called whenever a transition occurs with the given transition. A transition occurs when a new event is added and a new state is emitted from a corresponding EventHandler. executed. onTransition is called before a Bloc's state has been updated. A great spot to add logging/analytics at the individual Bloc level.
    inherited
    toString() String
    A string representation of this object.
    inherited
    transformEvents(Stream<E> events, TransitionFunction<E, S> transitionFn) Stream<Transition<E, S>>
    @Deprecated - Use on<Event> with an EventTransformer instead. Will be removed in v8.0.0
    inherited
    transformTransitions(Stream<Transition<E, S>> transitions) Stream<Transition<E, S>>
    @Deprecated - Override Stream<State> get stream instead. Will be removed in v8.0.0
    inherited

    Operators

    operator ==(Object other) bool
    The equality operator.
    inherited