rethinkdb-2.2.0.9: A driver for RethinkDB 2.2

Safe HaskellNone
LanguageHaskell98

Database.RethinkDB.Datum

Synopsis

Documentation

parse :: (a -> Parser b) -> a -> Result b #

Run a Parser.

data Parser a :: * -> * #

A JSON parser.

Instances

Monad Parser 

Methods

(>>=) :: Parser a -> (a -> Parser b) -> Parser b #

(>>) :: Parser a -> Parser b -> Parser b #

return :: a -> Parser a #

fail :: String -> Parser a #

Functor Parser 

Methods

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

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

MonadFail Parser 

Methods

fail :: String -> Parser a #

Applicative Parser 

Methods

pure :: a -> Parser a #

(<*>) :: Parser (a -> b) -> Parser a -> Parser b #

(*>) :: Parser a -> Parser b -> Parser b #

(<*) :: Parser a -> Parser b -> Parser a #

Alternative Parser 

Methods

empty :: Parser a #

(<|>) :: Parser a -> Parser a -> Parser a #

some :: Parser a -> Parser [a] #

many :: Parser a -> Parser [a] #

MonadPlus Parser 

Methods

mzero :: Parser a #

mplus :: Parser a -> Parser a -> Parser a #

Semigroup (Parser a) 

Methods

(<>) :: Parser a -> Parser a -> Parser a #

sconcat :: NonEmpty (Parser a) -> Parser a #

stimes :: Integral b => b -> Parser a -> Parser a #

Monoid (Parser a) 

Methods

mempty :: Parser a #

mappend :: Parser a -> Parser a -> Parser a #

mconcat :: [Parser a] -> Parser a #

data Result a :: * -> * #

The result of running a Parser.

Constructors

Error String 
Success a 

Instances

Monad Result 

Methods

(>>=) :: Result a -> (a -> Result b) -> Result b #

(>>) :: Result a -> Result b -> Result b #

return :: a -> Result a #

fail :: String -> Result a #

Functor Result 

Methods

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

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

MonadFail Result 

Methods

fail :: String -> Result a #

Applicative Result 

Methods

pure :: a -> Result a #

(<*>) :: Result (a -> b) -> Result a -> Result b #

(*>) :: Result a -> Result b -> Result b #

(<*) :: Result a -> Result b -> Result a #

Foldable Result 

Methods

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

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

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

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

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

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

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

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

toList :: Result a -> [a] #

null :: Result a -> Bool #

length :: Result a -> Int #

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

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

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

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

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

Traversable Result 

Methods

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

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

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

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

Alternative Result 

Methods

empty :: Result a #

(<|>) :: Result a -> Result a -> Result a #

some :: Result a -> Result [a] #

many :: Result a -> Result [a] #

MonadPlus Result 

Methods

mzero :: Result a #

mplus :: Result a -> Result a -> Result a #

Eq a => Eq (Result a) 

Methods

(==) :: Result a -> Result a -> Bool #

(/=) :: Result a -> Result a -> Bool #

Show a => Show (Result a) 

Methods

showsPrec :: Int -> Result a -> ShowS #

show :: Result a -> String #

showList :: [Result a] -> ShowS #

Semigroup (Result a) 

Methods

(<>) :: Result a -> Result a -> Result a #

sconcat :: NonEmpty (Result a) -> Result a #

stimes :: Integral b => b -> Result a -> Result a #

Monoid (Result a) 

Methods

mempty :: Result a #

mappend :: Result a -> Result a -> Result a #

mconcat :: [Result a] -> Result a #

NFData a => NFData (Result a) 

Methods

rnf :: Result a -> () #

class ToDatum a where Source #

Methods

toDatum :: a -> Datum Source #

toDatum :: ToJSON a => a -> Datum Source #

Instances

ToDatum Bool Source # 

Methods

toDatum :: Bool -> Datum Source #

ToDatum Char Source # 

Methods

toDatum :: Char -> Datum Source #

ToDatum Double Source # 

Methods

toDatum :: Double -> Datum Source #

ToDatum Float Source # 

Methods

toDatum :: Float -> Datum Source #

ToDatum Int Source # 

Methods

toDatum :: Int -> Datum Source #

ToDatum Int8 Source # 

Methods

toDatum :: Int8 -> Datum Source #

ToDatum Int16 Source # 

Methods

toDatum :: Int16 -> Datum Source #

ToDatum Int32 Source # 

Methods

toDatum :: Int32 -> Datum Source #

ToDatum Int64 Source # 

Methods

toDatum :: Int64 -> Datum Source #

ToDatum Integer Source # 
ToDatum Word Source # 

Methods

toDatum :: Word -> Datum Source #

ToDatum Word8 Source # 

Methods

toDatum :: Word8 -> Datum Source #

ToDatum Word16 Source # 

Methods

toDatum :: Word16 -> Datum Source #

ToDatum Word32 Source # 

Methods

toDatum :: Word32 -> Datum Source #

ToDatum Word64 Source # 

Methods

toDatum :: Word64 -> Datum Source #

ToDatum () Source # 

Methods

toDatum :: () -> Datum Source #

ToDatum ByteString Source # 
ToDatum ByteString Source # 
ToDatum Text Source # 

Methods

toDatum :: Text -> Datum Source #

ToDatum UTCTime Source # 
ToDatum Value Source # 

Methods

toDatum :: Value -> Datum Source #

ToDatum Text Source # 

Methods

toDatum :: Text -> Datum Source #

ToDatum ZonedTime Source # 
ToDatum LonLat Source # 

Methods

toDatum :: LonLat -> Datum Source #

ToDatum Datum Source # 

Methods

toDatum :: Datum -> Datum Source #

ToDatum [Char] Source # 

Methods

toDatum :: [Char] -> Datum Source #

ToDatum a => ToDatum [a] Source # 

Methods

toDatum :: [a] -> Datum Source #

ToDatum a => ToDatum (Maybe a) Source # 

Methods

toDatum :: Maybe a -> Datum Source #

ToDatum (Ratio Integer) Source # 
ToDatum a => ToDatum (Set a) Source # 

Methods

toDatum :: Set a -> Datum Source #

ToDatum a => ToDatum (Vector a) Source # 

Methods

toDatum :: Vector a -> Datum Source #

(ToDatum a, ToDatum b) => ToDatum (Either a b) Source # 

Methods

toDatum :: Either a b -> Datum Source #

(ToDatum a, ToDatum b) => ToDatum (a, b) Source # 

Methods

toDatum :: (a, b) -> Datum Source #

ToDatum a => ToDatum (HashMap [Char] a) Source # 

Methods

toDatum :: HashMap [Char] a -> Datum Source #

ToDatum a => ToDatum (HashMap Text a) Source # 

Methods

toDatum :: HashMap Text a -> Datum Source #

ToDatum a => ToDatum (Map [Char] a) Source # 

Methods

toDatum :: Map [Char] a -> Datum Source #

ToDatum a => ToDatum (Map Text a) Source # 

Methods

toDatum :: Map Text a -> Datum Source #

(ToDatum a, ToDatum b, ToDatum c) => ToDatum (a, b, c) Source # 

Methods

toDatum :: (a, b, c) -> Datum Source #

(ToDatum a, ToDatum b, ToDatum c, ToDatum d) => ToDatum (a, b, c, d) Source # 

Methods

toDatum :: (a, b, c, d) -> Datum Source #

(ToDatum a, ToDatum b, ToDatum c, ToDatum d, ToDatum e) => ToDatum (a, b, c, d, e) Source # 

Methods

toDatum :: (a, b, c, d, e) -> Datum Source #

class FromDatum a where Source #

Instances

FromDatum Bool Source # 
FromDatum Char Source # 
FromDatum Double Source # 
FromDatum Float Source # 
FromDatum Int Source # 
FromDatum Int8 Source # 
FromDatum Int16 Source # 
FromDatum Int32 Source # 
FromDatum Int64 Source # 
FromDatum Integer Source # 
FromDatum Word Source # 
FromDatum Word8 Source # 
FromDatum Word16 Source # 
FromDatum Word32 Source # 
FromDatum Word64 Source # 
FromDatum () Source # 

Methods

parseDatum :: Datum -> Parser () Source #

FromDatum ByteString Source # 
FromDatum ByteString Source # 
FromDatum String Source # 
FromDatum Text Source # 
FromDatum UTCTime Source # 
FromDatum Value Source # 
FromDatum Text Source # 
FromDatum ZonedTime Source # 
FromDatum LonLat Source # 
FromDatum GeoPolygon Source # 
FromDatum GeoLine Source # 
FromDatum Datum Source # 
FromDatum Frame Source # 
FromDatum Change Source # 
FromDatum WriteResponse Source # 
FromDatum a => FromDatum [a] Source # 

Methods

parseDatum :: Datum -> Parser [a] Source #

FromDatum a => FromDatum (Maybe a) Source # 

Methods

parseDatum :: Datum -> Parser (Maybe a) Source #

FromDatum (Ratio Integer) Source # 
(Ord a, FromDatum a) => FromDatum (Set a) Source # 

Methods

parseDatum :: Datum -> Parser (Set a) Source #

FromDatum a => FromDatum (Vector a) Source # 
(FromDatum a, FromDatum b) => FromDatum (Either a b) Source # 

Methods

parseDatum :: Datum -> Parser (Either a b) Source #

(FromDatum a, FromDatum b) => FromDatum (a, b) Source # 

Methods

parseDatum :: Datum -> Parser (a, b) Source #

FromDatum a => FromDatum (HashMap [Char] a) Source # 
FromDatum a => FromDatum (HashMap Text a) Source # 
FromDatum a => FromDatum (Map [Char] a) Source # 

Methods

parseDatum :: Datum -> Parser (Map [Char] a) Source #

FromDatum a => FromDatum (Map Text a) Source # 
(FromDatum a, FromDatum b, FromDatum c) => FromDatum (a, b, c) Source # 

Methods

parseDatum :: Datum -> Parser (a, b, c) Source #

(FromDatum a, FromDatum b, FromDatum c, FromDatum d) => FromDatum (a, b, c, d) Source # 

Methods

parseDatum :: Datum -> Parser (a, b, c, d) Source #

(FromDatum a, FromDatum b, FromDatum c, FromDatum d, FromDatum e) => FromDatum (a, b, c, d, e) Source # 

Methods

parseDatum :: Datum -> Parser (a, b, c, d, e) Source #

(.=) :: ToDatum a => Text -> a -> (Text, Datum) Source #