parseBool static method
Tries to parse a bool.
- Returns
def
ifvalue
is invalid.
Implementation
static bool? parseBool(Object? value, [bool? def]) {
if (value == null) return def;
if (value is bool) {
return value;
} else if (value is num) {
return value > 0;
} else {
var s = _valueAsString(value).toLowerCase();
if (s.isEmpty ||
s == 'null' ||
s == 'empty' ||
s == '[]' ||
s == 'undef' ||
s == 'undefined') {
return def;
}
if (s == 'true' ||
s == 't' ||
s == 'yes' ||
s == 'y' ||
s == 's' ||
s == '1' ||
s == '+' ||
s == 'ok' ||
s == 'on' ||
s == 'enabled' ||
s == 'selected' ||
s == 'checked' ||
s == 'positive') {
return true;
}
if (s == 'false' ||
s == 'f' ||
s == 'no' ||
s == 'n' ||
s == '0' ||
s == '-1' ||
s == '-' ||
s == 'fail' ||
s == 'error' ||
s == 'err' ||
s == 'off' ||
s == 'disabled' ||
s == 'unselected' ||
s == 'unchecked' ||
s == 'negative') {
return false;
}
var n = _parseNumString(value);
if (n != null) {
return n > 0;
}
return def;
}
}