findInitializer<T> method

InitFactory<T?>? findInitializer<T>([
  1. Type? key
])

Finds and returns InitFactory of given Type.

ControlFactory.init uses this method to retrieve InitFactory.

nullable

Implementation

InitFactory<T?>? findInitializer<T>([Type? key]) {
  if (key != null && _factory.containsKey(key)) {
    return _factory[key] as InitFactory<T?>;
  } else if (_factory.containsKey(T)) {
    return _factory[T] as InitFactory<T?>;
  } else if (T != dynamic) {
    final key = _factory.keys
        .firstWhere((item) => item is T, orElse: () => _InvalidKey);

    if (key != _InvalidKey) {
      return _factory[key] as InitFactory<T?>;
    }
  }

  return null;
}