letAsOrNone<T extends Object> function
Option<T>
letAsOrNone<
T extends Object>( - dynamic input
)
Casts input
to type T
, returning None on failure.
Supported types:
Implementation
Option<T> letAsOrNone<T extends Object>(dynamic input) {
if (input is Outcome) {
return switch (input.rawSync().value) {
Ok(value: final okValue) => letAsOrNone<T>(
NoStackOverflowWrapper(okValue),
),
Err() => const None(),
};
}
final rawInput = input is NoStackOverflowWrapper ? input.value : input;
return rawInput is T ? Some(rawInput) : const None();
}