aeson-value-parser-0.12.2: An API for parsing "aeson" JSON tree into Haskell types

Safe HaskellNone
LanguageHaskell2010

Aeson.ValueParser

Contents

Description

A parser DSL for the "aeson" model of the JSON tree.

Synopsis

Documentation

data Value a Source #

A JSON Value parser.

Instances

Monad Value Source # 

Methods

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

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

return :: a -> Value a #

fail :: String -> Value a #

Functor Value Source # 

Methods

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

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

Applicative Value Source # 

Methods

pure :: a -> Value a #

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

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

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

Alternative Value Source # 

Methods

empty :: Value a #

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

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

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

MonadPlus Value Source # 

Methods

mzero :: Value a #

mplus :: Value a -> Value a -> Value a #

MonadError Text Value Source # 

Methods

throwError :: Text -> Value a #

catchError :: Value a -> (Text -> Value a) -> Value a #

Value parsers

pointed :: JSONPointer -> Value a -> Value a Source #

Lifts JSON Pointer.

Object parsers

data Object a Source #

A JSON Object parser.

Instances

Monad Object Source # 

Methods

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

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

return :: a -> Object a #

fail :: String -> Object a #

Functor Object Source # 

Methods

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

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

Applicative Object Source # 

Methods

pure :: a -> Object a #

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

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

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

Alternative Object Source # 

Methods

empty :: Object a #

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

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

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

MonadPlus Object Source # 

Methods

mzero :: Object a #

mplus :: Object a -> Object a -> Object a #

MonadError Text Object Source # 

Methods

throwError :: Text -> Object a #

catchError :: Object a -> (Text -> Object a) -> Object a #

field :: Text -> Value a -> Object a Source #

foldlFields :: (a -> (Text, b) -> a) -> a -> Value b -> Object a Source #

Array parsers

data Array a Source #

A JSON Array parser.

Instances

Monad Array Source # 

Methods

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

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

return :: a -> Array a #

fail :: String -> Array a #

Functor Array Source # 

Methods

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

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

Applicative Array Source # 

Methods

pure :: a -> Array a #

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

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

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

Alternative Array Source # 

Methods

empty :: Array a #

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

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

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

MonadPlus Array Source # 

Methods

mzero :: Array a #

mplus :: Array a -> Array a -> Array a #

MonadError Text Array Source # 

Methods

throwError :: Text -> Array a #

catchError :: Array a -> (Text -> Array a) -> Array a #

element :: Int -> Value a -> Array a Source #

foldlElements :: (a -> b -> a) -> a -> Value b -> Array a Source #

foldlElements1 :: (a -> a -> a) -> Value a -> Array a Source #

foldrElements :: (b -> a -> a) -> a -> Value b -> Array a Source #