registerAndInitService<TService extends ServiceMixin> method
Resolvable<Unit>
registerAndInitService<TService extends ServiceMixin>(
- TService service, {
- TOnRegisterCallback<
TService> ? onRegister, - TOnUnregisterCallback<
TService> ? onUnregister, - Entity groupEntity = const DefaultEntity(),
- bool enableUntilExactlyK = false,
inherited
Implementation
Resolvable<Unit> registerAndInitService<TService extends ServiceMixin>(
TService service, {
TOnRegisterCallback<TService>? onRegister,
TOnUnregisterCallback<TService>? onUnregister,
Entity groupEntity = const DefaultEntity(),
bool enableUntilExactlyK = false,
}) {
UNSAFE:
return register<TService>(
service,
onRegister: (service) {
return service.init().unwrap();
},
onUnregister: (serviceOpt) {
final service = serviceOpt.unwrap();
return consec(service.dispose().value, (disposeResult) {
disposeResult.unwrap();
return consec(onUnregister, (_) => service);
});
},
groupEntity: groupEntity,
enableUntilExactlyK: enableUntilExactlyK,
).toUnit();
}