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