lazySingletonAsync<T extends Object> method
a conditional wrapper method for getIt.registerLazySingletonAsync
it only registers if _canRegister
returns true
Implementation
Future<void> lazySingletonAsync<T extends Object>(
FactoryFuncAsync<T> factoryFunc, {
String? instanceName,
bool preResolve = false,
Set<String>? registerFor,
DisposingFunc<T>? dispose,
}) {
if (_canRegister(registerFor)) {
if (preResolve) {
return factoryFunc().then(
(instance) => lazySingleton(
() => instance,
instanceName: instanceName,
registerFor: registerFor,
dispose: dispose,
),
);
} else {
getIt.registerLazySingletonAsync<T>(
factoryFunc,
instanceName: instanceName,
dispose: dispose,
);
}
}
return Future.value(null);
}