MatexCountryBloc class

Represents a Bidirectional Bloc (Business Logic Component) for managing country metadata.

Inheritance

Constructors

MatexCountryBloc({String? jsonData, MatexCountryBlocState? initialState})
Factory constructor to provide a singleton instance of the MatexCountryBloc. If an instance doesn't exist, it will be created.
factory

Properties

addEvent → dynamic Function(BlocEvent)
Notifies the BloC of a new event which triggers mapEventToState. If dispose has already been called, any calls to dispatchEvent will be ignored and will not result in any state changes.
no setterinherited
analyticsEventController → BehaviorSubject<BlocAnalyticsEvent>
finalinherited
blocState MatexCountryBlocState
The current BloC's state.
getter/setter pairinherited
cancelableOperations List<CancelableOperation>
The list of cancelable operations.
getter/setter pairinherited
canInitialize bool
Whether the BloC can be initialized.
no setterinherited
closed bool
Whether the BloC is closed.
getter/setter pairinherited
currentState MatexCountryBlocState
The current BloC's state.
no setterinherited
dispatchState → dynamic Function(MatexCountryBlocState)
Notifies the BloC of a new state which triggers onData.
no setterinherited
enableForceBuildEvents bool
Enable force build events, if you want to force the rendering of the bloc builder. Indicates if the event-state history should be saved.
finalinherited
errorController → PublishSubject<BlocError>
The error controller.
finalinherited
eventStateHistory Map<MatexCountryBlocEvent, List<String>>
The history map that stores the event-state history.
finalinherited
eventStateHistorySize int
The maximum size of the history. Set it to null to disable the limit.
finalinherited
eventSubscriptions StreamSubscription<MatexCountryBlocState>
The event subscriptions.
getter/setter pairinherited
externalEventController → PublishSubject<MatexCountryBlocEvent>
The external event controller which is used to control the event stream.
finalinherited
hashCode int
The hash code for this object.
no setterinherited
initialState MatexCountryBlocState?
The initial state of the BloC.
finalinherited
initialStateBuilder → BlocStateBuilder<MatexCountryBlocState>?
The initial state BloC builder.
finalinherited
internalEventController → PublishSubject<BlocEvent>
The internal event controller which is used to control the event stream.
finalinherited
isClosed bool
Whether the BloC is closed for dispatching more events.
no setterinherited
isInitialized bool
Whether the BloC is initializing.
getter/setter pairinherited
isInitializing bool
Whether the BloC is initializing.
getter/setter pairinherited
jsonData String?
getter/setter pair
onAnalyticsEvents Stream<BlocAnalyticsEvent>
no setterinherited
onData Stream<MatexCountryBlocState>
Called whenever the BloC's state is updated.
no setterinherited
onError Stream<BlocError>
Called whenever the BloC's state is updated.
no setterinherited
onEvent Stream<MatexCountryBlocEvent>
Called whenever an event is added to the BloC.
no setterinherited
publishers List<PublishSubject>
The list of publishers.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
stateController → BehaviorSubject<MatexCountryBlocState>
The state controller.
finalinherited
subxList → SubxList
finalinherited
subxMap → SubxMap
finalinherited

Methods

canClose() bool
Whether the BloC can be closed. Override this method to prevent the BloC from closing.
inherited
close() → void
Closes the BloC. This method should be called when the BloC is no longer needed.
inherited
debounce(BlocDebounceCallback<BlocEvent> function, {Duration delay = const Duration(milliseconds: 300)}) → BlocDebounceCallback<BlocEvent>
Creates a debounced function that only invokes function after a delay.
inherited
debounceEvent(BlocEventCallback<MatexCountryBlocEvent> function, {Duration delay = const Duration(milliseconds: 300)}) → BlocEventCallback<MatexCountryBlocEvent>
Debounces an event. The function will not be invoked until delay.
inherited
findOne({required bool filter(MatexCountryMetadata)}) Future<MatexCountryMetadata?>
Finds one country metadata based on the provided filter function.
findOneByCountryCode(String countryCode) Future<MatexCountryMetadata?>
Fetches metadata for a country with the given country code.
get(String key) Future<MatexCountryMetadata?>
Retrieves country metadata by key.
getEventForState(MatexCountryBlocState state) MatexCountryBlocEvent?
Returns the event related to the given state.
inherited
getInitialState() MatexCountryBlocState
Tries to retreive the initial BloC's state.
inherited
handleInitEvent(String? jsonData) Stream<MatexCountryBlocState>
Processes the initialization event. It fetches country metadata and triggers the initialized event.
handleInitializedEvent(List<MatexCountryMetadata>? countries) Stream<MatexCountryBlocState>
Handles the initialized event by setting the provided country metadata countries to the state.
handleInternalError(dynamic error, StackTrace stackTrace) → void
Handles internal errors.
inherited
initState() MatexCountryBlocState
Optional callback method to initialize the BloC's state.
inherited
mapEventToState(MatexCountryBlocEvent event) Stream<MatexCountryBlocState>
Maps incoming MatexCountryBlocEvent to corresponding MatexCountryBlocState. Processes events and updates states accordingly.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
performCancellableAsyncOperation<T>(Future<T> opreation) Future<T?>
Performs an asynchronous operation and cancels it if the BloC is closed.
inherited
resetBloc() → void
inherited
sampleEvent(BlocEventCallback<MatexCountryBlocEvent> function, {Duration delay = const Duration(milliseconds: 300)}) → BlocEventCallback<MatexCountryBlocEvent>
inherited
setState(MatexCountryBlocState nextState) → void
Set the BloC state.
inherited
shouldProcessEventInOrder() bool
Determines whether a bloc ensures all events are processed in the order in which they are received.
inherited
throttle(BlocThrottleCallback<BlocEvent> function, {Duration duration = const Duration(milliseconds: 300)}) → BlocThrottleCallback<BlocEvent>
Creates a throttled function that only invokes function at most once per every duration.
inherited
throttleEvent(BlocEventCallback<MatexCountryBlocEvent> function, {Duration duration = const Duration(milliseconds: 300)}) → BlocEventCallback<MatexCountryBlocEvent>
Throttles an event. The event will be ignored if it is dispatched within the specified duration. The last event will be dispatched after the duration has passed.
inherited
toString() String
A string representation of this object.
inherited
transformError(dynamic error, StackTrace stackTrace) → BlocError?
Transforms the error before it is emitted.
inherited
updateEventStateHistory(MatexCountryBlocEvent event, MatexCountryBlocState nextState) → void
Updates the event-state history. The event-state history is used to determine the event related to a given state.
inherited

Operators

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

Static Properties

instance MatexCountryBloc
getter/setter pair