componentByNameCast<T extends WildnessBase> static method

T? componentByNameCast<T extends WildnessBase>(
  1. BuildContext context,
  2. String name
)

Obtains a WildnessBase component matching name cast to T from the nearest WildnessProvider.

Also checks if an overriding WildnessComponentProvider<T> matching name is in the local context.

Implementation

static T? componentByNameCast<T extends WildnessBase<dynamic>>(
  BuildContext context,
  String name,
) {
  final componentProvider = context
      .dependOnInheritedWidgetOfExactType<WildnessComponentProvider<T>>();
  if (componentProvider != null && componentProvider.data.name == name) {
    return componentProvider.data;
  }
  return Wildness.of(context, listen: true).componentByNameCast<T>(name);
}