optionalDouble method

double optionalDouble(
  1. String key, {
  2. double? defaultValue,
  3. String? description,
})

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