A Mergeable that sits on top of another mergeable and pre-aggregates before pushing into merge/multiMerge This is very useful for cases where you have some keys that are very hot, or you have a remote store that you don't want to constantly hit.
Caveat Emptor! The monoid on the resulting
ConvertedMergeableStore
will be the bijected monoid from
Monoid[V1] => Monoid[V2].
Enrichment on the MergeableStore trait.
Injection that maps values paired with stale values of T => None on inversion.
Main trait to represent stores that are used for aggregation
Same as a ReadableStoreSemigroup except with a zero that the constant store always returning Monoid.
A semigroup that uses the future semigroup to add results of both gets
MergeableStore enrichment which presents a MergeableStore[K, V] over top of a packed MergeableStore[OuterK, Map[InnerK, V]].
Use an injection on V2,V1 to convert a store of values V2.
import Algebras.
Some factory methods and combinators on MergeableStore
Enrichments and modifications to instances of MutableCache.
Enrichments on ReadableStore.
Algebraic Enrichments on Store.