Result<T> class

The result of a computation.

Capturing a result (either a returned value or a thrown error) means converting it into a Result - either a ValueResult or an ErrorResult.

This value can release itself by writing itself either to a EventSink or a Completer, or by becoming a Future.

A Future represents a potential result, one that might not have been computed yet, and a Result is always a completed and available result.



Result(T computation())
Creates a Result with the result of calling computation. [...]
Result.error(Object error, [ StackTrace stackTrace ])
Creates a Result holding an error. [...]
Result.value(T value)
Creates a Result holding a value. [...]


asError ErrorResult
If this is an error result, returns itself. [...]
asFuture → Future<T>
A future that has been completed with this result as a value or an error.
asValue ValueResult<T>
If this is a value result, returns itself. [...]
isError → bool
Whether this result is an error result. [...]
isValue → bool
Whether this result is a value result. [...]
hashCode → int
The hash code for this object.
read-only, inherited
runtimeType → Type
A representation of the runtime type of the object.
read-only, inherited


addTo(EventSink<T> sink) → void
Adds this result to an EventSink. [...]
complete(Completer<T> completer) → void
Completes a completer with this result.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed.
toString() → String
Returns a string representation of this object.


operator ==(dynamic other) → bool
The equality operator.

Static Methods

capture<T>(Future<T> future) → Future<Result<T>>
Captures the result of a future into a Result future. [...]
captureAll<T>(Iterable<FutureOr<T>> elements) → Future<List<Result<T>>>
Captures each future in elements, [...]
captureSink<T>(EventSink<Result<T>> sink) → EventSink<T>
Captures the events of the returned sink into results on sink. [...]
captureStream<T>(Stream<T> source) → Stream<Result<T>>
Captures the results of a stream into a stream of Result values. [...]
flatten<T>(Result<Result<T>> result) Result<T>
Converts a result of a result to a single result. [...]
flattenAll<T>(Iterable<Result<T>> results) Result<List<T>>
Converts a sequence of results to a result of a list. [...]
release<T>(Future<Result<T>> future) → Future<T>
Releases the result of a captured future. [...]
releaseSink<T>(EventSink<T> sink) → EventSink<Result<T>>
Releases results added to the returned sink as data and errors on sink. [...]
releaseStream<T>(Stream<Result<T>> source) → Stream<T>
Releases a stream of result values into a stream of the results. [...]


captureSinkTransformer → const StreamSinkTransformer<Object, Result<Object>>
A sink transformer that captures events into Results. [...]
const StreamSinkTransformer<Object, Result<Object>>.fromStreamTransformer(const CaptureStreamTransformer<Object>())
captureStreamTransformer → const StreamTransformer<Object, Result<Object>>
A stream transformer that captures a stream of events into Results. [...]
const CaptureStreamTransformer<Object>()
releaseSinkTransformer → const StreamSinkTransformer<Result<Object>, Object>
A sink transformer that releases result events. [...]
const StreamSinkTransformer<Result<Object>, Object>.fromStreamTransformer(const ReleaseStreamTransformer<Object>())
releaseStreamTransformer → const StreamTransformer<Result<Object>, Object>
A stream transformer that releases a stream of result events. [...]
const ReleaseStreamTransformer<Object>()