Repository<State> class abstract

Base class for all repositories.

As repositories are responsible for managing the state of the application, they extend Cubit.

Inheritance
Implemented types
Implementers
Available extensions

Constructors

Repository(State initialState)
Base class for all repositories.

Properties

errorLevel Level
The level to log error messages at.
no setteroverride
hashCode int
The hash code for this object.
no setterinherited
isClosed bool
Whether the bloc is closed.
no setterinherited
level Level
The level to log messages at.
no setteroverride
namespace String
The namespace to log messages under. e.g. 'Service.Auth'
no setteroverride
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
state → State
The current state.
no setterinherited
stream Stream<State>
The current stream of states.
no setteroverride
updateInterval Duration
The interval at which the repository should update. If Duration.zero, the repository will not update unless triggered by another repository. When automatic updates are enabled, the build method will be called with UpdateTrigger at the specified interval.
no setter

Methods

addError(Object error, [StackTrace? stackTrace]) → void
Reports an error which triggers onError with an optional StackTrace.
inherited
build(Type trigger) FutureOr<void>
Gets called when a repository watched via watch emits a new state or when the repository is initialized (in witch case trigger is InitialBuildTrigger). Also gets called when the repository is updated (if updateInterval is not Duration.zero).
close() Future<void>
Closes the instance. This method should be called when the instance is no longer needed. Once close is called, the instance can no longer be used.
inherited
data(State data) → void

Available on Repository<AsyncValue<State>>, provided by the AsyncRepoExt extension

Emits AsyncValue.data with the given data.
dispose() → void
Disposes controllers, streams, etc.
override
emit(State state) → void
Updates the state to the provided state. emit does nothing if the state being emitted is equal to the current state.
override
error(Object error, [StackTrace? stackTrace]) → void

Available on Repository<AsyncValue<State>>, provided by the AsyncRepoExt extension

Emits AsyncValue.error with the given error and stackTrace.
guard(Future<State> future(), {void onData(State)?, void onError(Object, StackTrace?)?}) Future<void>

Available on Repository<AsyncValue<State>>, provided by the AsyncRepoExt extension

Guards the given future and emits the result.
listen(void onData(State)?, {Function? onError, void onDone()?, bool? cancelOnError}) StreamSubscription<State>
Shortcut for Stream.listen.
loading() → void

Available on Repository<AsyncValue<State>>, provided by the AsyncRepoExt extension

Emits AsyncValue.loading.
log(Object message, [Object? error, StackTrace? stackTrace]) → void
Logs a message with an optional error and stack trace.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onChange(Change<State> 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
toString() String
A string representation of this object.
inherited
waitForData<T>(Repository<AsyncValue<T>> repository) → T

Available on Repository<AsyncValue<State>>, provided by the RepoWatchExt extension

Call this in build to wait for the data of a repository.
watch<T>(Repository<T> repository) → void
Watches another repository for changes.
watchAsync<T>(Repository<AsyncValue<T>> repository, {bool setLoading = true, bool setError = true}) → void

Available on Repository<AsyncValue<State>>, provided by the RepoWatchExt extension

Does the same as watch but for repositories that return an AsyncValue.

Operators

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