Result<T> class
sealed
Иммутабельный результат операции: успех со значением типа T либо Failure.
Собственный sealed-тип вместо Either из dartz: те же короткие имена
Right / Left, но работает исчерпывающий паттерн-матчинг и Result.fold
принимает именованные колбэки.
final text = switch (result) {
Right(:final value) => 'Данные: $value',
Left(:final failure) => failure.userMessage,
};
- Implementers
- Available extensions
Constructors
- Result.failure(Failure failure)
-
Неудачная ветка — алиас класса Left.
constfactory
- Result.success(T value)
-
Успешная ветка — алиас класса Right.
constfactory
Properties
- dataOrNull → T?
-
Значение при успехе, иначе
null.no setter - failureOrNull → Failure?
-
Ошибка при неудаче, иначе
null.no setter - hashCode → int
-
The hash code for this object.
no setterinherited
- isFailure → bool
-
true, если результат — ошибка (Left).no setter - isSuccess → bool
-
true, если результат — успех (Right).no setter - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
dataOrThrow(
) → T -
Available on Result<
Значение успеха; иначе StateError с кодом и сообщением ошибки.T> , provided by the ResultTestExpectationsX extension -
failureOrThrow(
) → Failure -
Available on Result<
Ошибка неудачи; иначе StateError со значением успеха.T> , provided by the ResultTestExpectationsX extension -
flatMap<
R> (Result< R> f(T value)) → Result<R> -
Chaining: если success — применяет
f, если failure — пропускает. -
fold<
R> ({required R onFailure(Failure failure), required R onSuccess(T value)}) → R - Разворачивает результат в одно значение.
-
getOrElse(
T orElse(Failure failure)) → T -
Значение при успехе, иначе результат
orElseнад ошибкой. -
map<
R> (R mapper(T value)) → Result< R> - Преобразует значение при успехе; ошибка проходит насквозь без изменений.
-
mapFailure(
Failure mapper(Failure failure)) → Result< T> - Трансформирует только Failure.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
orElse(
T defaultValue(Failure failure)) → T -
Значение при успехе, иначе
defaultValue. -
tap(
{void onSuccess(T value)?, void onFailure(Failure failure)?}) → Result< T> - Side-effect без трансформации. Возвращает исходный Result.
-
toString(
) → String -
A string representation of this object.
override
-
when<
R> ({required R success(T value), required R onFailure(Failure failure)}) → R - Паттерн-матчинг без fold.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited