requireDouble method

double requireDouble(
  1. String key, {
  2. String? description,
})

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