entry<T extends ContextEntry> method Null safety

T? entry<T extends ContextEntry>(
  1. [T? defaultValue]
)

Retrieves an entry from Context by type T.

If entry is not present in the Context, the defaultValue is returned.

If provided, defaultValue must exactly match the return type T.

Implementation

T? entry<T extends ContextEntry>([T? defaultValue]) {
  if (defaultValue != null && T != defaultValue.runtimeType) {
    throw ArgumentError.value(
      defaultValue,
      "defaultValue",
      "does not match the expected return type '${T}'",
    );
  }
  return _context.containsKey(T) ? _context[T] as T? : defaultValue;
}