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.
const
factory
Result.success(T value)
Успешная ветка — алиас класса Right.
const
factory

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<T>, provided by the ResultTestExpectationsX extension

Значение успеха; иначе StateError с кодом и сообщением ошибки.
failureOrThrow() → Failure

Available on Result<T>, provided by the ResultTestExpectationsX extension

Ошибка неудачи; иначе StateError со значением успеха.
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