get method

dynamic get(
  1. String key, [
  2. dynamic defaultValue
])

Retrieves a value at key using dot-notation.

Returns defaultValue if the key is invalid or not found.

Example:

config.get('app.name', 'MyApp'); // returns 'MyApp' if not set

Implementation

dynamic get(String key, [dynamic defaultValue]) {
  if (!_isValidKey(key)) {
    return defaultValue;
  }

  final segments = key.split('.');
  dynamic currentItems = _items;

  for (final segment in segments) {
    if (!currentItems.containsKey(segment) || currentItems is! Map) {
      return defaultValue;
    }
    currentItems = currentItems[segment];
  }

  return currentItems;
}