networkBoundResource

inline fun <ResultType, RequestType> networkBoundResource(crossinline query: () -> Flow<ResultType?>, crossinline fetch: suspend () -> RequestType, crossinline dbTransform: (ResultType) -> RequestType, crossinline shouldFetch: suspend () -> Boolean = { true }, crossinline saveFetchResult: suspend (RequestType) -> Unit): Flow<Resource<Failure, RequestType>>