instance<T> static method

T? instance<T>()

Return a new instance of an object. If it already instantiated than override for a new one.

Implementation

static T? instance<T>() {
  if (_mocks.containsKey(T)) {
    return _mocks.remove(T) as T?;
  }

  final injector = _injections
      .firstWhere(
        (injector) => injector.type == T,
      )
      .inject;

  final instance = injector(_parameter) as T;

  _parameter = null;

  return instance;
}