ensureBooleanFromJson static method

bool? ensureBooleanFromJson(
  1. dynamic value
)

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;
    }
}