valueAsNum<T extends num?> static method
T
valueAsNum<
T extends num?>( - Object? value, {
- bool allowHex = false,
- bool allowDouble = false,
})
Implementation
static T valueAsNum<T extends num?>(
Object? value, {
bool allowHex = false,
bool allowDouble = false,
}) {
if (value is T) return value;
if (value == null && _isNull<T>()) return null as T;
if (value is num) {
return value as T;
}
if (value is String) {
final n = num.tryParse(value);
if (n != null) {
return n as T;
}
}
final toInt = IntUtils.tryParse(value, allowHex: allowHex);
if (toInt == null) {
throw JsonParserError(
"Failed to parse value as num.",
details: {"value": value.toString()},
);
}
return toInt as T;
}