Simple & Efficient data access for Scala and Scala.js
The 1.0.0 release of Fetch is a redesign of the library in terms of cats-effect
abstractions. It's a backwards-incompatible release that introduces numerous breaking changes as well as a couple of new features. It now should be easier to use and require less work from the user of the library, especially when you are already using cats-effect
.
Data
typeclass to identify requests to a data sourceDataSource
to take an extra F[_]
type parameter
fetchOne
to fetch
and fetchMany
to batch
DataSource#batch
in terms of ConcurrentEffect[F]
FetchMonadError
, a Fetch is now interpreted to a ConcurrentEffect
Query
, a data source now returns a F
that has an implicit ConcurrentEffect[F]
DataSourceCache
to DataCache
, it now takes a Data
instance as a parameter for insert and lookup and is parameterised to FEnv
to Log
Fetch#optional
, an alternative to Fetch#apply
for optional fetchesFetch#run
now requires a Timer[F]
and ContextShift[F]
from cats-effect
Fetch#apply
no longer requires an implicit DataSource
and must be passed explicitlyFetch#runEnv
to Fetch#runLog
Fetch#traverse
, Fetch#sequence
, Fetch#join
& Fetch#collect
deleted in favor of using cats typeclass ops