registerFactory<T extends Object> method

void registerFactory<T extends Object>(
  1. T factory(
    1. ServiceLocator locator
    )
)

Registers a factory for type T.

factory is invoked on every get call, producing a new instance each time.

locator.registerFactory<Logger>((_) => Logger());

Implementation

void registerFactory<T extends Object>(
  T Function(ServiceLocator locator) factory,
) {
  descriptors[T] = ServiceDescriptor(
    type: T,
    lifetime: ServiceLifetime.factory,
    factory: factory,
  );
}