| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
RON.Data.RGA
Description
Replicated Growable Array (RGA)
Synopsis
- newtype RGA a = RGA [a]
- data RgaRaw
- type RgaString = RGA Char
- edit :: (ReplicatedAsPayload a, ReplicaClock m, MonadE m, MonadState (Object (RGA a)) m) => [a] -> m ()
- editText :: (ReplicaClock m, MonadE m, MonadState (Object RgaString) m) => Text -> m ()
- getAliveIndices :: MonadE m => Object (RGA a) -> m [UUID]
- getList :: (Replicated a, MonadE m) => Object (RGA a) -> m [a]
- getText :: MonadE m => Object RgaString -> m Text
- insert :: (Replicated a, MonadE m, MonadState (Object (RGA a)) m, ReplicaClock m) => [a] -> Maybe UUID -> m ()
- insertAfter :: (Replicated a, MonadE m, MonadState (Object (RGA a)) m, ReplicaClock m) => [a] -> UUID -> m ()
- insertAtBegin :: (Replicated a, MonadE m, MonadState (Object (RGA a)) m, ReplicaClock m) => [a] -> m ()
- insertText :: (ReplicaClock m, MonadE m, MonadState (Object RgaString) m) => Text -> Maybe UUID -> m ()
- insertTextAfter :: (ReplicaClock m, MonadE m, MonadState (Object RgaString) m) => Text -> UUID -> m ()
- insertTextAtBegin :: (ReplicaClock m, MonadE m, MonadState (Object RgaString) m) => Text -> m ()
- newFromList :: (Replicated a, ReplicaClock m) => [a] -> m (Object (RGA a))
- newFromText :: ReplicaClock m => Text -> m (Object RgaString)
- remove :: (MonadE m, MonadState (Object (RGA a)) m, ReplicaClock m) => UUID -> m ()
- rgaType :: UUID
Documentation
Typed RGA
Constructors
| RGA [a] |
Instances
| Eq a => Eq (RGA a) Source # | |
| Replicated a => ReplicatedAsObject (RGA a) Source # | |
| Replicated a => Replicated (RGA a) Source # | |
Defined in RON.Data.RGA | |
Untyped RGA
Instances
| Eq RgaRaw Source # | |
| Show RgaRaw Source # | |
| Semigroup RgaRaw Source # | |
| Monoid RgaRaw Source # | |
| Reducible RgaRaw Source # | |
Defined in RON.Data.RGA Methods reducibleOpType :: UUID Source # stateFromChunk :: [Op] -> RgaRaw Source # stateToChunk :: RgaRaw -> StateChunk Source # applyPatches :: RgaRaw -> Unapplied -> (RgaRaw, Unapplied) Source # reduceUnappliedPatches :: Unapplied -> Unapplied Source # | |
edit :: (ReplicatedAsPayload a, ReplicaClock m, MonadE m, MonadState (Object (RGA a)) m) => [a] -> m () Source #
Replace content of the RGA throug introducing changes detected by
getGroupedDiffBy.
editText :: (ReplicaClock m, MonadE m, MonadState (Object RgaString) m) => Text -> m () Source #
Arguments
| :: (Replicated a, MonadE m, MonadState (Object (RGA a)) m, ReplicaClock m) | |
| => [a] | |
| -> Maybe UUID | position |
| -> m () |
Arguments
| :: (Replicated a, MonadE m, MonadState (Object (RGA a)) m, ReplicaClock m) | |
| => [a] | |
| -> UUID | position |
| -> m () |
insertAtBegin :: (Replicated a, MonadE m, MonadState (Object (RGA a)) m, ReplicaClock m) => [a] -> m () Source #
Arguments
| :: (ReplicaClock m, MonadE m, MonadState (Object RgaString) m) | |
| => Text | |
| -> Maybe UUID | position |
| -> m () |
Arguments
| :: (ReplicaClock m, MonadE m, MonadState (Object RgaString) m) | |
| => Text | |
| -> UUID | position |
| -> m () |
insertTextAtBegin :: (ReplicaClock m, MonadE m, MonadState (Object RgaString) m) => Text -> m () Source #
newFromList :: (Replicated a, ReplicaClock m) => [a] -> m (Object (RGA a)) Source #
Create an RGA from a list
newFromText :: ReplicaClock m => Text -> m (Object RgaString) Source #
Create an RgaString from a text
Arguments
| :: (MonadE m, MonadState (Object (RGA a)) m, ReplicaClock m) | |
| => UUID | position |
| -> m () |
Record a removal of a specific item