tryParseBool function
Tries to parse a bool from a String.
Returns true if the input is "true", "yes", or "1". Returns false if
the input is "false", "no", or "0". In both cases, case and surrounding
whitespace are ignored.
Returns null if the input is not recognized.
Implementation
bool? tryParseBool(String? value) {
if (value == null) {
return null;
}
const trueStrings = {'true', 'yes', '1'};
const falseStrings = {'false', 'no', '0'};
value = value.trim().toLowerCase();
if (trueStrings.contains(value)) {
return true;
} else if (falseStrings.contains(value)) {
return false;
}
return null;
}