letBoolOrNone function

Option<bool> letBoolOrNone(
  1. dynamic input
)

Converts input to bool, returning None on failure.

Supported types:

Implementation

Option<bool> letBoolOrNone(dynamic input) {
  if (input is Outcome) {
    return switch (input.rawSync().value) {
      Ok(value: final okValue) => letBoolOrNone(
        NoStackOverflowWrapper(okValue),
      ),
      Err() => const None(),
    };
  }
  return switch (input is NoStackOverflowWrapper ? input.value : input) {
    final bool value => Some(value),
    final String string => Option.from(
      bool.tryParse(string.trim(), caseSensitive: false),
    ),
    _ => const None(),
  };
}