ensureBooleanFromJson static method
Ensures that the passed in value results in a boolean. Can handle integers, doubles, strings, or booleans. Any other types will return null.
- double => 0 = false, anything else is true
- integer => 0 = false, anything else is true
- string => "" = false, "0" = false, anything else is true
- boolean => original value
Implementation
static bool? ensureBooleanFromJson(dynamic value) {
switch(value.runtimeType) {
case double: return (value as double?) == 0 ? false : true;
case int: return (value as int?) == 0 ? false : true;
case String: return (value as String?) == "" || value == "0" ? false : true;
case bool: return (value as bool?);
default: return null;
}
}