optionalBool method

bool optionalBool(
  1. String key, {
  2. bool defaultValue = false,
  3. String? description,
})

Reads an optional boolean environment variable identified by key.

Returns defaultValue (default false) if the variable is unset or empty. Accepts 'true', '1', 'yes' as true, and 'false', '0', 'no' as false. Throws BloomEnvironmentException if the variable is present but cannot be parsed as a boolean.

Implementation

bool optionalBool(String key,
    {bool defaultValue = false, String? description}) {
  final val = BloomEnv.getOrNull(key)?.trim();
  if (val == null || val.isEmpty) {
    return defaultValue;
  }
  final lower = val.toLowerCase();
  if (lower == 'true' || lower == '1' || lower == 'yes') return true;
  if (lower == 'false' || lower == '0' || lower == 'no') return false;

  final err = 'Environment variable "$key" is not a valid boolean: "$val".';
  _validationErrors.add(err);
  throw BloomEnvironmentException(err, errors: [err]);
}