graphql-0.7.0.0: Haskell GraphQL implementation

Safe HaskellNone
LanguageHaskell2010

Language.GraphQL.Type

Description

Definitions for GraphQL input types.

Synopsis

Documentation

data Wrapping a Source #

GraphQL distinguishes between "wrapping" and "named" types. Each wrapping type can wrap other wrapping or named types. Wrapping types are lists and Non-Null types (named types are nullable by default).

This Wrapping type doesn't reflect this distinction exactly but it is used in the resolvers to take into account that the returned value can be nullable or an (arbitrary nested) list.

Constructors

List [Wrapping a]

Arbitrary nested list

Named a

Named type without further wrapping

Null

Null

Instances
Monad Wrapping Source # 
Instance details

Defined in Language.GraphQL.Type

Methods

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

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

return :: a -> Wrapping a #

fail :: String -> Wrapping a #

Functor Wrapping Source # 
Instance details

Defined in Language.GraphQL.Type

Methods

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

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

Applicative Wrapping Source # 
Instance details

Defined in Language.GraphQL.Type

Methods

pure :: a -> Wrapping a #

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

liftA2 :: (a -> b -> c) -> Wrapping a -> Wrapping b -> Wrapping c #

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

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

Foldable Wrapping Source # 
Instance details

Defined in Language.GraphQL.Type

Methods

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

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

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

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

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

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

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

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

toList :: Wrapping a -> [a] #

null :: Wrapping a -> Bool #

length :: Wrapping a -> Int #

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

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

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

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

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

Traversable Wrapping Source # 
Instance details

Defined in Language.GraphQL.Type

Methods

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

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

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

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

Eq a => Eq (Wrapping a) Source # 
Instance details

Defined in Language.GraphQL.Type

Methods

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

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

Show a => Show (Wrapping a) Source # 
Instance details

Defined in Language.GraphQL.Type

Methods

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

show :: Wrapping a -> String #

showList :: [Wrapping a] -> ShowS #

ToJSON a => ToJSON (Wrapping a) Source # 
Instance details

Defined in Language.GraphQL.Type