| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
RON.Data.LWW
Description
LWW-per-field RDT
Synopsis
- newtype LwwPerField = LwwPerField (Map UUID Op)
- assignField :: forall a b m. (Replicated b, ReplicaClock m, MonadE m, MonadState (Object a) m) => UUID -> b -> m ()
- lwwType :: UUID
- newObject :: ReplicaClock m => [(UUID, Instance Replicated)] -> m (Object a)
- readField :: (MonadE m, MonadState (Object a) m, Replicated b) => UUID -> m b
- viewField :: (Replicated a, MonadE m) => UUID -> StateChunk -> StateFrame -> m a
- zoomField :: MonadE m => UUID -> StateT (Object inner) m a -> StateT (Object outer) m a
Documentation
newtype LwwPerField Source #
Untyped LWW. Implementation: a map from opRef to the original op.
Constructors
| LwwPerField (Map UUID Op) |
Instances
| Eq LwwPerField Source # | |
Defined in RON.Data.LWW | |
| Show LwwPerField Source # | |
Defined in RON.Data.LWW Methods showsPrec :: Int -> LwwPerField -> ShowS # show :: LwwPerField -> String # showList :: [LwwPerField] -> ShowS # | |
| Semigroup LwwPerField Source # | |
Defined in RON.Data.LWW Methods (<>) :: LwwPerField -> LwwPerField -> LwwPerField # sconcat :: NonEmpty LwwPerField -> LwwPerField # stimes :: Integral b => b -> LwwPerField -> LwwPerField # | |
| Monoid LwwPerField Source # | |
Defined in RON.Data.LWW Methods mempty :: LwwPerField # mappend :: LwwPerField -> LwwPerField -> LwwPerField # mconcat :: [LwwPerField] -> LwwPerField # | |
| Reducible LwwPerField Source # | |
Defined in RON.Data.LWW Methods reducibleOpType :: UUID Source # stateFromChunk :: [Op] -> LwwPerField Source # stateToChunk :: LwwPerField -> StateChunk Source # applyPatches :: LwwPerField -> Unapplied -> (LwwPerField, Unapplied) Source # reduceUnappliedPatches :: Unapplied -> Unapplied Source # | |
Arguments
| :: (Replicated b, ReplicaClock m, MonadE m, MonadState (Object a) m) | |
| => UUID | Field name |
| -> b | Value (from untyped world) |
| -> m () |
Assign a value to a field
newObject :: ReplicaClock m => [(UUID, Instance Replicated)] -> m (Object a) Source #
Create LWW object from a list of named fields.
Arguments
| :: (MonadE m, MonadState (Object a) m, Replicated b) | |
| => UUID | Field name |
| -> m b |
Decode field value
Arguments
| :: (Replicated a, MonadE m) | |
| => UUID | Field name |
| -> StateChunk | LWW object chunk |
| -> StateFrame | |
| -> m a |
Decode field value