optionalDouble method
Reads an optional double environment variable, falling back to defaultValue or 0.0.
If absent or blank, returns defaultValue ?? 0.0.
If present but invalid, throws BloomEnvironmentException.
late final double threshold = optionalDouble('ALERT_THRESHOLD', defaultValue: 0.75);
Implementation
double optionalDouble(String key,
{double? defaultValue, String? description}) {
final val = BloomEnv.getOrNull(key)?.trim();
if (val == null || val.isEmpty) {
return defaultValue ?? 0.0;
}
final parsed = double.tryParse(val);
if (parsed == null) {
final err =
'Environment variable "$key" is not a valid double: "$val".';
_validationErrors.add(err);
throw BloomEnvironmentException(err, errors: [err]);
}
return parsed;
}