dataSourceMiddleware

Consumes DataSourceCall and launches a DataSource call in a foreground coroutine.

It requires DataSourceResolver in a dispatch closure that provides DataSources. If DataSource with DataSourceCall.key cannot be resolved it throws an exception with no dispatched actions.

The foreground coroutine dispatches: