requireDouble method
Reads a required double-precision floating-point environment variable.
Retrieves key from BloomEnv and parses it via double.tryParse.
Throws BloomEnvironmentException and records an error in validationErrors
if missing, blank, or unparseable.
late final double samplingRate = requireDouble('SAMPLE_RATE');
Implementation
double requireDouble(String key, {String? description}) {
final val = BloomEnv.getOrNull(key)?.trim();
if (val == null || val.isEmpty) {
final desc = description != null ? ' ($description)' : '';
final err =
'Missing required double environment variable "$key"$desc.';
_validationErrors.add(err);
throw BloomEnvironmentException(err, errors: [err]);
}
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;
}