letNumOrNone function

Option<num> letNumOrNone(
  1. dynamic input
)

Implementation

Option<num> letNumOrNone(dynamic input) {
  switch (input) {
    case Option<num> o:
      return o;
    case num n:
      return Some(n);
    case String s:
      return Option.from(num.tryParse(s.trim()));
    case bool b:
      return Some(b ? 1 : 0);
    case Some(value: final v):
      // Handle nested Options like Some<String>
      return letNumOrNone(v);
    default:
      return const None();
  }
}