polysemy-wire-zoo-0.1.0: Polysemy interface for various libraries
Safe HaskellSafe-Inferred
LanguageHaskell2010

Wire.Sem.Paging.Cassandra

Synopsis

Documentation

data CassandraPaging Source #

This paging system uses Cassandra's PagingState to keep track of state, and does not rely on ordering. This is the preferred way of paging across multiple tables, as in MultiTablePaging.

data LegacyPaging Source #

This paging system is based on ordering, and keeps track of state using the id of the next item to fetch. Implementations of this paging system also contain extra logic to detect if the last page has been fetched.

Instances

Instances details
type PagingBounds LegacyPaging ConvId Source # 
Instance details

Defined in Wire.Sem.Paging.Cassandra

type PagingBounds LegacyPaging TeamId Source # 
Instance details

Defined in Wire.Sem.Paging.Cassandra

type PagingState LegacyPaging a Source # 
Instance details

Defined in Wire.Sem.Paging.Cassandra

type Page LegacyPaging a Source # 
Instance details

Defined in Wire.Sem.Paging.Cassandra

data InternalPage a Source #

Constructors

forall s. InternalPage (Page s, s -> Client a, [a]) 

Instances

Instances details
Functor InternalPage Source # 
Instance details

Defined in Wire.Sem.Paging.Cassandra

Methods

fmap :: (a -> b) -> InternalPage a -> InternalPage b #

(<$) :: a -> InternalPage b -> InternalPage a #

data InternalPagingState a Source #

Constructors

forall s. InternalPagingState (Page s, s -> Client a) 

Instances

Instances details
Functor InternalPagingState Source # 
Instance details

Defined in Wire.Sem.Paging.Cassandra

data ResultSet a Source #

Instances

Instances details
Foldable ResultSet Source # 
Instance details

Defined in Wire.Sem.Paging.Cassandra

Methods

fold :: Monoid m => ResultSet m -> m #

foldMap :: Monoid m => (a -> m) -> ResultSet a -> m #

foldMap' :: Monoid m => (a -> m) -> ResultSet a -> m #

foldr :: (a -> b -> b) -> b -> ResultSet a -> b #

foldr' :: (a -> b -> b) -> b -> ResultSet a -> b #

foldl :: (b -> a -> b) -> b -> ResultSet a -> b #

foldl' :: (b -> a -> b) -> b -> ResultSet a -> b #

foldr1 :: (a -> a -> a) -> ResultSet a -> a #

foldl1 :: (a -> a -> a) -> ResultSet a -> a #

toList :: ResultSet a -> [a] #

null :: ResultSet a -> Bool #

length :: ResultSet a -> Int #

elem :: Eq a => a -> ResultSet a -> Bool #

maximum :: Ord a => ResultSet a -> a #

minimum :: Ord a => ResultSet a -> a #

sum :: Num a => ResultSet a -> a #

product :: Num a => ResultSet a -> a #

Traversable ResultSet Source # 
Instance details

Defined in Wire.Sem.Paging.Cassandra

Methods

traverse :: Applicative f => (a -> f b) -> ResultSet a -> f (ResultSet b) #

sequenceA :: Applicative f => ResultSet (f a) -> f (ResultSet a) #

mapM :: Monad m => (a -> m b) -> ResultSet a -> m (ResultSet b) #

sequence :: Monad m => ResultSet (m a) -> m (ResultSet a) #

Functor ResultSet Source # 
Instance details

Defined in Wire.Sem.Paging.Cassandra

Methods

fmap :: (a -> b) -> ResultSet a -> ResultSet b #

(<$) :: a -> ResultSet b -> ResultSet a #

Show a => Show (ResultSet a) Source # 
Instance details

Defined in Wire.Sem.Paging.Cassandra

data ResultSetType Source #

A more descriptive type than using a simple bool to represent hasMore

Instances

Instances details
Show ResultSetType Source # 
Instance details

Defined in Wire.Sem.Paging.Cassandra

Eq ResultSetType Source # 
Instance details

Defined in Wire.Sem.Paging.Cassandra