reason-export-0.1.2.0: Generate Reason types from Haskell

Safe HaskellNone
LanguageHaskell2010

Reason

Description

Generate Reason types, JSON decoders & JSON encoders from Haskell datatypes.

Synopsis

Documentation

data Options Source #

Constructors

Options 

require :: Text -> RenderM () Source #

Add an instance to the set.

data Spec Source #

Constructors

Spec 

Fields

Instances
Eq Spec Source # 
Instance details

Defined in Reason.File

Methods

(==) :: Spec -> Spec -> Bool #

(/=) :: Spec -> Spec -> Bool #

Show Spec Source # 
Instance details

Defined in Reason.File

Methods

showsPrec :: Int -> Spec -> ShowS #

show :: Spec -> String #

showList :: [Spec] -> ShowS #

moduleSpecWith :: Options -> [Text] -> RenderM () -> Spec Source #

moduleSpec :: [Text] -> RenderM () -> Spec Source #

class GenericReasonValue f where Source #

Instances
GenericReasonValue (U1 :: Type -> Type) Source # 
Instance details

Defined in Reason.Type

ReasonType a => GenericReasonValue (Rec0 a) Source # 
Instance details

Defined in Reason.Type

(GenericReasonValue f, GenericReasonValue g) => GenericReasonValue (f :*: g) Source # 
Instance details

Defined in Reason.Type

(Selector s, GenericReasonValue a) => GenericReasonValue (S1 s a) Source # 
Instance details

Defined in Reason.Type

class ReasonType a where Source #

Minimal complete definition

Nothing

Instances
ReasonType Bool Source # 
Instance details

Defined in Reason.Type

ReasonType Char Source # 
Instance details

Defined in Reason.Type

ReasonType Double Source # 
Instance details

Defined in Reason.Type

ReasonType Float Source # 
Instance details

Defined in Reason.Type

ReasonType Int Source # 
Instance details

Defined in Reason.Type

ReasonType Int8 Source # 
Instance details

Defined in Reason.Type

ReasonType Int16 Source # 
Instance details

Defined in Reason.Type

ReasonType Int32 Source # 
Instance details

Defined in Reason.Type

ReasonType Int64 Source # 
Instance details

Defined in Reason.Type

ReasonType () Source # 
Instance details

Defined in Reason.Type

ReasonType Text Source # 
Instance details

Defined in Reason.Type

ReasonType UTCTime Source # 
Instance details

Defined in Reason.Type

ReasonType Day Source # 
Instance details

Defined in Reason.Type

ReasonType a => ReasonType [a] Source # 
Instance details

Defined in Reason.Type

ReasonType a => ReasonType (Maybe a) Source # 
Instance details

Defined in Reason.Type

ReasonType v => ReasonType (IntMap v) Source # 
Instance details

Defined in Reason.Type

(ReasonType a, ReasonType b) => ReasonType (a, b) Source # 
Instance details

Defined in Reason.Type

Methods

toReasonType :: (a, b) -> ReasonDatatype Source #

ReasonType a => ReasonType (Proxy a) Source # 
Instance details

Defined in Reason.Type

(HasReasonComparable k, ReasonType v) => ReasonType (Map k v) Source # 
Instance details

Defined in Reason.Type

(ReasonType a, ReasonType b, ReasonType c) => ReasonType (a, b, c) Source # 
Instance details

Defined in Reason.Type

Methods

toReasonType :: (a, b, c) -> ReasonDatatype Source #

isEnumeration :: ReasonConstructor -> Bool Source #

Whether a set of constructors is an enumeration, i.e. whether they lack values. data A = A | B | C would be simple data A = A Int | B | C would not be simple.

renderType :: ReasonType a => a -> RenderM () Source #

renderEncoder :: ReasonType a => a -> RenderM () Source #

renderDecoder :: ReasonType a => a -> RenderM () Source #