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