has method

  1. @override
bool has(
  1. String key
)
override

Checks if a configuration key exists.

Returns true if the key exists in the configuration, regardless of its value (including null).

if (config.has('database.url')) {
  final url = config.get<String>('database.url');
}

Implementation

@override
bool has(String key) {
  final parts = key.split('.');
  final configName = parts.first;

  if (!_config.containsKey(configName)) {
    return false;
  }

  var current = _config[configName];
  for (var i = 1; i < parts.length; i++) {
    if (current is! Map<String, dynamic> || !current.containsKey(parts[i])) {
      return false;
    }
    current = current[parts[i]];
  }

  return true;
}