Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data CassandraPaging
- data LegacyPaging
- data InternalPaging
- data InternalPage a = forall s. InternalPage (Page s, s -> Client a, [a])
- data InternalPagingState a = forall s. InternalPagingState (Page s, s -> Client a)
- mkInternalPage :: Page s -> (s -> Client a) -> Client (InternalPage a)
- ipNext :: InternalPagingState a -> Client (InternalPage a)
- data ResultSet a
- mkResultSet :: Page a -> ResultSet a
- $sel:resultSetResult:ResultSet :: ResultSet a -> [a]
- $sel:resultSetType:ResultSet :: ResultSet a -> ResultSetType
- data ResultSetType
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
.
Instances
type PagingBounds CassandraPaging ConvId Source # | |
Defined in Wire.Sem.Paging.Cassandra | |
type PagingBounds CassandraPaging TeamId Source # | |
Defined in Wire.Sem.Paging.Cassandra | |
type PagingBounds CassandraPaging TeamMember Source # | |
Defined in Wire.Sem.Paging.Cassandra | |
type PagingState CassandraPaging a Source # | |
Defined in Wire.Sem.Paging.Cassandra | |
type Page CassandraPaging a Source # | |
Defined in Wire.Sem.Paging.Cassandra | |
type PagingBounds CassandraPaging (Remote ConvId) Source # | |
Defined in Wire.Sem.Paging.Cassandra |
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
type PagingBounds LegacyPaging ConvId Source # | |
Defined in Wire.Sem.Paging.Cassandra | |
type PagingBounds LegacyPaging TeamId Source # | |
Defined in Wire.Sem.Paging.Cassandra | |
type PagingState LegacyPaging a Source # | |
Defined in Wire.Sem.Paging.Cassandra | |
type Page LegacyPaging a Source # | |
Defined in Wire.Sem.Paging.Cassandra |
data InternalPaging Source #
Instances
Paging InternalPaging Source # | |
Defined in Wire.Sem.Paging.Cassandra pageItems :: Page InternalPaging a -> [a] Source # pageHasMore :: Page InternalPaging a -> Bool Source # pageState :: Page InternalPaging a -> PagingState InternalPaging a Source # | |
type PagingBounds InternalPaging TeamId Source # | |
Defined in Wire.Sem.Paging.Cassandra | |
type PagingBounds InternalPaging TeamMember Source # | |
Defined in Wire.Sem.Paging.Cassandra | |
type PagingState InternalPaging a Source # | |
Defined in Wire.Sem.Paging.Cassandra | |
type Page InternalPaging a Source # | |
Defined in Wire.Sem.Paging.Cassandra | |
type PagingBounds InternalPaging (Remote UserConnection) Source # | |
Defined in Wire.Sem.Paging.Cassandra |
data InternalPage a Source #
forall s. InternalPage (Page s, s -> Client a, [a]) |
Instances
Functor InternalPage Source # | |
Defined in Wire.Sem.Paging.Cassandra fmap :: (a -> b) -> InternalPage a -> InternalPage b # (<$) :: a -> InternalPage b -> InternalPage a # |
data InternalPagingState a Source #
forall s. InternalPagingState (Page s, s -> Client a) |
Instances
Functor InternalPagingState Source # | |
Defined in Wire.Sem.Paging.Cassandra fmap :: (a -> b) -> InternalPagingState a -> InternalPagingState b # (<$) :: a -> InternalPagingState b -> InternalPagingState a # |
mkInternalPage :: Page s -> (s -> Client a) -> Client (InternalPage a) Source #
ipNext :: InternalPagingState a -> Client (InternalPage a) Source #
Instances
Foldable ResultSet Source # | |
Defined in Wire.Sem.Paging.Cassandra 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] # length :: ResultSet a -> Int # elem :: Eq a => a -> ResultSet a -> Bool # maximum :: Ord a => ResultSet a -> a # minimum :: Ord a => ResultSet a -> a # | |
Traversable ResultSet Source # | |
Defined in Wire.Sem.Paging.Cassandra | |
Functor ResultSet Source # | |
Show a => Show (ResultSet a) Source # | |
mkResultSet :: Page a -> ResultSet a Source #
$sel:resultSetResult:ResultSet :: ResultSet a -> [a] Source #
data ResultSetType Source #
A more descriptive type than using a simple bool to represent hasMore
Instances
Show ResultSetType Source # | |
Defined in Wire.Sem.Paging.Cassandra showsPrec :: Int -> ResultSetType -> ShowS # show :: ResultSetType -> String # showList :: [ResultSetType] -> ShowS # | |
Eq ResultSetType Source # | |
Defined in Wire.Sem.Paging.Cassandra (==) :: ResultSetType -> ResultSetType -> Bool # (/=) :: ResultSetType -> ResultSetType -> Bool # |