commonMain.dk.cachet.carp.common.infrastructure.services.ApplicationServiceInvoker.kt Maven / Gradle / Ivy
Go to download
Helper classes and base types relied upon by all subsystems. This library does not contain any domain logic.
The newest version!
package dk.cachet.carp.common.infrastructure.services
import dk.cachet.carp.common.application.services.ApplicationService
/**
* Support invoking [TRequest] on a specified [TService].
*/
interface ApplicationServiceInvoker<
TService : ApplicationService,
TRequest : ApplicationServiceRequest
>
{
suspend fun TRequest.invoke( service: TService ): Any?
suspend fun invokeOnService( request: TRequest, service: TService ) = request.invoke( service )
}