optionalInt method

int optionalInt(
  1. String key, {
  2. int? defaultValue,
  3. String? description,
})

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