Safe Haskell  None 

Language  Haskell2010 
Synopsis

data
TypeShape
 = Enumeration
  SumOfProducts
  Mixed
 type family ProdCombine (a :: TypeShape ) (b :: TypeShape ) :: TypeShape where ...
 type family SumCombine (a :: TypeShape ) (b :: TypeShape ) :: TypeShape where ...
 type family TypeHasSimpleShape t (f :: Symbol ) :: Constraint where ...
 type family GenericHasSimpleShape t (f :: Symbol ) (s :: TypeShape ) :: Constraint where ...
 type family GenericShape (g :: * > *) :: TypeShape
Documentation
Shape of a datatype.
Enumeration 
A simple enumeration. 
SumOfProducts 
A product or a sum of nonunit products. 
Mixed 
Mixed sum type with both unit and nonunit constructors. 
type family ProdCombine (a :: TypeShape ) (b :: TypeShape ) :: TypeShape where ... Source #
A combined shape for a product type.
ProdCombine Mixed b = Mixed  
ProdCombine a Mixed = Mixed  
ProdCombine a b = SumOfProducts 
type family SumCombine (a :: TypeShape ) (b :: TypeShape ) :: TypeShape where ... Source #
A combined shape for a sum type.
type family TypeHasSimpleShape t (f :: Symbol ) :: Constraint where ... Source #
TypeHasSimpleShape t f = GenericHasSimpleShape t f ( GenericShape ( Rep t)) 
type family GenericHasSimpleShape t (f :: Symbol ) (s :: TypeShape ) :: Constraint where ... Source #
GenericHasSimpleShape t f Enumeration = ()  
GenericHasSimpleShape t f SumOfProducts = ()  
GenericHasSimpleShape t f Mixed = TypeError (((((( Text "Cannot derive Genericbased Swagger Schema for " :<>: ShowType t) :$$: ( ShowType t :<>: Text " is a mixed sum type (has both unit and nonunit constructors).")) :$$: Text "Swagger does not have a good representation for these types.") :$$: (( Text "Use " :<>: Text f) :<>: Text " if you want to derive schema")) :$$: Text "that matches aeson's Genericbased toJSON,") :$$: Text "but that's not supported by some Swagger tools.") 
type family GenericShape (g :: * > *) :: TypeShape Source #
Infer a
TypeShape
for a generic representation of a type.
Instances
type GenericShape (f :+: g) Source #  
Defined in Data.OpenApi.Internal.TypeShape 

type GenericShape (f :*: g) Source #  
Defined in Data.OpenApi.Internal.TypeShape 

type GenericShape ( D1 d f) Source #  
Defined in Data.OpenApi.Internal.TypeShape 

type GenericShape ( C1 c (f :*: g)) Source #  
Defined in Data.OpenApi.Internal.TypeShape 

type GenericShape ( C1 c ( S1 s f)) Source #  
Defined in Data.OpenApi.Internal.TypeShape 

type GenericShape ( C1 c ( U1 :: Type > Type )) Source #  
Defined in Data.OpenApi.Internal.TypeShape 