-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Sequence ID production and consumption -- @package seqid @version 0.4.1 module Data.SequenceId -- | If the difference between the sequence IDs is not 1 then the -- appropriate error is returned. checkSeqId :: SequenceId -> SequenceId -> Maybe SequenceIdError -- | Increment to the next sequense ID incrementSeqId :: SequenceId -> SequenceId -- | If the current sequence ID is greater than 1 more than the last -- sequence ID then the appropriate error is returned. checkSeqIdM :: Monad m => SequenceId -> (SequenceIdT m) (Maybe SequenceIdError) -- | Update to the next sequense ID incrementSeqIdM :: Monad m => SequenceIdT m SequenceId -- | Last seen sequense ID lastSeqIdM :: Monad m => SequenceIdT m SequenceId newtype SequenceIdT m a SequenceIdT :: StateT SequenceId m a -> SequenceIdT m a unSequenceIdT :: SequenceIdT m a -> StateT SequenceId m a runSequenceIdT :: Monad m => SequenceIdT m b -> SequenceId -> m (b, SequenceId) execSequenceIdT :: Monad m => SequenceIdT m b -> SequenceId -> m SequenceId evalSequenceIdT :: Monad m => SequenceIdT m b -> SequenceId -> m b data SequenceIdError SequenceIdError :: !SequenceIdErrorType -> !SequenceId -> !SequenceId -> SequenceIdError errType :: SequenceIdError -> !SequenceIdErrorType lastSeqId :: SequenceIdError -> !SequenceId currSeqId :: SequenceIdError -> !SequenceId data SequenceIdErrorType SequenceIdDropped :: SequenceIdErrorType SequenceIdDuplicated :: SequenceIdErrorType newtype SequenceId SequenceId :: Word32 -> SequenceId unSequenceId :: SequenceId -> Word32 instance Show SequenceId instance Eq SequenceId instance Ord SequenceId instance Num SequenceId instance Integral SequenceId instance Real SequenceId instance Enum SequenceId instance Monad m => Monad (SequenceIdT m) instance (Monad m, Functor m) => Applicative (SequenceIdT m) instance Functor m => Functor (SequenceIdT m) instance Monad m => MonadState SequenceId (SequenceIdT m) instance MonadTrans SequenceIdT instance Eq SequenceIdErrorType instance Show SequenceIdErrorType instance Eq SequenceIdError instance Show SequenceIdError