Copyright | 2013-2017 Kei Hibino |
---|---|
License | BSD3 |
Maintainer | ex8k.hibino@gmail.com |
Stability | experimental |
Portability | unknown |
Safe Haskell | None |
Language | Haskell2010 |
This module defines monad transformer which lift from query into query with ordering.
- data Orderings c m a
- orderings :: Monad m => m a -> Orderings c m a
- orderBy' :: Monad m => Record c t -> Order -> Nulls -> Orderings c m ()
- orderBy :: Monad m => Record c t -> Order -> Orderings c m ()
- asc :: Monad m => Record c t -> Orderings c m ()
- desc :: Monad m => Record c t -> Orderings c m ()
- extractOrderingTerms :: (Monad m, Functor m) => Orderings c m a -> m (a, [OrderingTerm])
Transformer into query with ordering
Type to accumulate ordering context.
Type c
is ordering term record context type.
MonadPartition c m => MonadPartition c (Orderings c m) Source # |
|
MonadQualify q m => MonadQualify q (Orderings c m) Source # |
|
MonadRestrict rc m => MonadRestrict rc (Orderings c m) Source # |
|
MonadTrans (Orderings c) Source # | |
Monad m => Monad (Orderings c m) Source # | |
Functor m => Functor (Orderings c m) Source # | |
Applicative m => Applicative (Orderings c m) Source # | |
MonadAggregate m => MonadAggregate (Orderings c m) Source # |
|
MonadQuery m => MonadQuery (Orderings c m) Source # |
|
API of query with ordering
:: Monad m | |
=> Record c t | Ordering terms to add |
-> Order | Order direction |
-> Nulls | Order of null |
-> Orderings c m () | Result context with ordering |
Add ordering terms with null ordering.
:: Monad m | |
=> Record c t | Ordering terms to add |
-> Order | Order direction |
-> Orderings c m () | Result context with ordering |
Add ordering terms.
Add ascendant ordering term.
Add descendant ordering term.
Result
extractOrderingTerms :: (Monad m, Functor m) => Orderings c m a -> m (a, [OrderingTerm]) Source #
Run Orderings
to get OrderingTerms