Source
dynamic parseString(String value) {
if (new RegExp(r'^(?:\d+\.?\d*|\.\d+)$').hasMatch(value)) {
return num.parse(value);
}
if (new RegExp(r'^true$').hasMatch(value)) {
return true;
}
if (new RegExp(r'^false$').hasMatch(value)) {
return false;
}
return value == '' ? null : value;
}