TResult<Value>.from constructor
TResult<Value>.from (
- dynamic value
Constructs a TResult from a dynamic value
If the value is TResult it will return the value itself
If the value is Value it will return TOk
otherwise returns TErr
Usage:
final res = TResult<int>.from(1);
assert(res is TOk<int>);
assert((res as TOk).value == 1);
Error Usage:
class TestError extends TError {
@override
TError from(dynamic value) {
return TestError();
}
}
final res = TResult<int>.from(TestError());
assert(res is TErr);
assert((res as TErr).error is TestError);
Implementation
factory TResult.from(dynamic value) {
if (value is TResult<Value>) {
return value;
} else if (value is Value) {
return TOk(value);
} else if (value is TError) {
return TErr(value);
} else {
throw UnimplementedError();
}
}