optionalDouble method

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

Reads an optional double environment variable identified by key.

Returns defaultValue (or 0.0 if null) if unset or empty. Throws BloomEnvironmentException if the variable is present but cannot be parsed as a double.

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