Safe Haskell | None |
---|
Building RQL queries in Haskell
- data ReQL = ReQL {}
- op :: Arr a => TermType -> a -> ReQL
- op' :: Arr a => TermType -> a -> [Attribute Static] -> ReQL
- data Term
- data TermAttribute = TermAttribute Text Term
- buildQuery :: ReQL -> Int64 -> Database -> [(Text, Datum)] -> (WireQuery, Term)
- type Backtrace = [Frame]
- convertBacktrace :: WireBacktrace -> Backtrace
- data Frame
- class Expr e where
- data QuerySettings = QuerySettings {
- queryToken :: Int64
- queryDefaultDatabase :: Database
- queryVarIndex :: Int
- queryUseOutdated :: Maybe Bool
- newVarId :: State QuerySettings Int
- str :: String -> ReQL
- num :: Double -> ReQL
- data Attribute a where
- data Static
- data Dynamic
- type OptArg = Attribute Static
- class OptArgs a where
- cons :: Expr e => e -> ArgList -> ArgList
- arr :: Arr a => a -> ArgList
- baseArray :: ArgList -> State QuerySettings [Term]
- withQuerySettings :: (QuerySettings -> ReQL) -> ReQL
- reqlToDatum :: ReQL -> Datum
- data Bound a
- closedOrOpen :: Bound a -> Maybe Text
- datumTerm :: ToDatum a => a -> ReQL
- empty :: ReQL
- newtype WireQuery = WireQuery {}
- newtype WireBacktrace = WireBacktrace {}
- note :: String -> ReQL -> ReQL
- (?:=) :: Expr e => Text -> Maybe e -> Attribute a
Documentation
A ReQL Term
Internal representation of a ReQL Term
Term | |
| |
Datum | |
Note | |
Convert other types into ReQL expressions
Expr Bool | |
Expr Char | |
Expr Double | |
Expr Float | |
Expr Int | |
Expr Int8 | |
Expr Int16 | |
Expr Int32 | |
Expr Int64 | |
Expr Integer | |
Expr Word | |
Expr Word8 | |
Expr Word16 | |
Expr Word32 | |
Expr Word64 | |
Expr () | |
Expr ByteString | |
Expr ByteString | |
Expr Text | |
Expr UTCTime | |
Expr Value | |
Expr Text | |
Expr ZonedTime | |
Expr Datum | |
Expr Table | |
Expr Database | |
Expr ReQL | |
Expr Term | |
Expr Unit | |
Expr ConflictResolution | |
Expr Durability | |
Expr PaginationStrategy | |
Expr HttpMethod | |
Expr HttpResultFormat | |
Expr a => Expr [a] | |
Expr (Ratio Integer) | |
Expr a => Expr (Maybe a) | |
Expr a => Expr (Vector a) | |
Expr a => Expr (Set a) | |
Expr (Attribute a) | |
(~ * a ReQL, ~ * b ReQL) => Expr (a -> b -> ReQL) | |
~ * a ReQL => Expr (a -> ReQL) | |
(Expr a, Expr b) => Expr (Either a b) | |
(Expr a, Expr b) => Expr (a, b) | |
Expr a => Expr (HashMap [Char] a) | |
(Expr k, Expr v) => Expr (HashMap k v) | |
Expr a => Expr (HashMap Text a) | |
Expr a => Expr (Map [Char] a) | |
Expr a => Expr (Map Text a) | |
(Expr a, Expr b, Expr c) => Expr (a, b, c) | |
(Expr a, Expr b, Expr c, Expr d) => Expr (a, b, c, d) | |
(Expr a, Expr b, Expr c, Expr d, Expr e) => Expr (a, b, c, d, e) |
data QuerySettings Source
State used to build a Term
QuerySettings | |
|
newVarId :: State QuerySettings IntSource
A shortcut for inserting strings into ReQL expressions Useful when OverloadedStrings makes the type ambiguous
A key/value pair used for building objects
An operation that accepts optional arguments
baseArray :: ArgList -> State QuerySettings [Term]Source
withQuerySettings :: (QuerySettings -> ReQL) -> ReQLSource
reqlToDatum :: ReQL -> DatumSource
An upper or lower bound for between and during
closedOrOpen :: Bound a -> Maybe TextSource
newtype WireBacktrace Source