tryToBool static method
Attempts to convert an object to a bool
, or returns null
if the object is null
or conversion is not applicable.
- Returns
true
if the object is abool
and equal totrue
. - Returns
true
if the object is aString
and equal to 'yes' or 'true' (case-insensitive). - Returns
null
for other types or if the object isnull
.
object
The object to be converted to a bool
.
mapKey
(Optional) Specifies the key to extract values from a Map object.
listIndex
(Optional) Specifies the index to extract elements from a List object.
Returns a bool
if conversion is applicable, otherwise null
.
Example usage:
final object1 = true;
final bool1 = ConvertObject.tryToBool(object1); // true
final object2 = 'yes';
final bool2 = ConvertObject.tryToBool(object2); // true
final object3 = 10;
final bool3 = ConvertObject.tryToBool(object3); // null
final object4 = false;
final bool4 = ConvertObject.tryToBool(object4); // false
final object5 = 'no';
final bool5 = ConvertObject.tryToBool(object5); // false
final object6 = null;
final bool6 = ConvertObject.tryToBool(object6); // null
Implementation
static bool? tryToBool(
dynamic object, {
dynamic mapKey,
int? listIndex,
}) {
if (object == null) {
return null;
} else {
if (mapKey != null && object is Map<dynamic, dynamic>) {
return (object[mapKey] as Object?).asBool;
}
if (listIndex != null && object is List<dynamic>) {
return (object.of(listIndex) as Object?).asBool;
}
return (object as Object?).asBool;
}
}