optionalInt method
Reads an optional integer environment variable, falling back to defaultValue or 0.
Retrieves key from BloomEnv. If absent or blank, returns defaultValue ?? 0.
If present but not a valid integer, throws BloomEnvironmentException and records an error in validationErrors.
late final int timeoutMs = optionalInt('TIMEOUT_MS', defaultValue: 5000);
Implementation
int optionalInt(String key, {int? defaultValue, String? description}) {
final val = BloomEnv.getOrNull(key)?.trim();
if (val == null || val.isEmpty) {
return defaultValue ?? 0;
}
final parsed = int.tryParse(val);
if (parsed == null) {
final err =
'Environment variable "$key" is not a valid integer: "$val".';
_validationErrors.add(err);
throw BloomEnvironmentException(err, errors: [err]);
}
return parsed;
}