mu-schema-0.2.0.0: Format-independent schemas for serialization
Safe HaskellNone
LanguageHaskell2010

Mu.Schema.Examples

Description

Look at the source code of this module.

Documentation

data Person Source #

Constructors

Person 

Instances

Instances details
Eq Person Source # 
Instance details

Defined in Mu.Schema.Examples

Methods

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

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

Show Person Source # 
Instance details

Defined in Mu.Schema.Examples

Generic Person Source # 
Instance details

Defined in Mu.Schema.Examples

Associated Types

type Rep Person :: Type -> Type #

Methods

from :: Person -> Rep Person x #

to :: Rep Person x -> Person #

ToJSON Person Source # 
Instance details

Defined in Mu.Schema.Examples

FromJSON Person Source # 
Instance details

Defined in Mu.Schema.Examples

FromSchema Identity ExampleSchema "person" Person Source # 
Instance details

Defined in Mu.Schema.Examples

ToSchema Identity ExampleSchema "person" Person Source # 
Instance details

Defined in Mu.Schema.Examples

type Rep Person Source # 
Instance details

Defined in Mu.Schema.Examples

data Address Source #

Constructors

Address 

Fields

Instances

Instances details
Eq Address Source # 
Instance details

Defined in Mu.Schema.Examples

Methods

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

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

Show Address Source # 
Instance details

Defined in Mu.Schema.Examples

Generic Address Source # 
Instance details

Defined in Mu.Schema.Examples

Associated Types

type Rep Address :: Type -> Type #

Methods

from :: Address -> Rep Address x #

to :: Rep Address x -> Address #

ToJSON Address Source # 
Instance details

Defined in Mu.Schema.Examples

FromJSON Address Source # 
Instance details

Defined in Mu.Schema.Examples

FromSchema Identity ExampleSchema "address" Address Source # 
Instance details

Defined in Mu.Schema.Examples

ToSchema Identity ExampleSchema "address" Address Source # 
Instance details

Defined in Mu.Schema.Examples

type Rep Address Source # 
Instance details

Defined in Mu.Schema.Examples

type Rep Address = D1 ('MetaData "Address" "Mu.Schema.Examples" "mu-schema-0.2.0.0-inplace" 'False) (C1 ('MetaCons "Address" 'PrefixI 'True) (S1 ('MetaSel ('Just "postcode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "country") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

type GenderFieldMapping = '["Male" :-> "male", "Female" :-> "female", "NonBinary" :-> "nb"] Source #

data Gender Source #

Constructors

Male 
Female 
NonBinary 

Instances

Instances details
Eq Gender Source # 
Instance details

Defined in Mu.Schema.Examples

Methods

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

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

Show Gender Source # 
Instance details

Defined in Mu.Schema.Examples

Generic Gender Source # 
Instance details

Defined in Mu.Schema.Examples

Associated Types

type Rep Gender :: Type -> Type #

Methods

from :: Gender -> Rep Gender x #

to :: Rep Gender x -> Gender #

ToJSON Gender Source # 
Instance details

Defined in Mu.Schema.Examples

FromJSON Gender Source # 
Instance details

Defined in Mu.Schema.Examples

FromSchema f ExampleSchema "gender" Gender Source # 
Instance details

Defined in Mu.Schema.Examples

ToSchema f ExampleSchema "gender" Gender Source # 
Instance details

Defined in Mu.Schema.Examples

type Rep Gender Source # 
Instance details

Defined in Mu.Schema.Examples

type Rep Gender = D1 ('MetaData "Gender" "Mu.Schema.Examples" "mu-schema-0.2.0.0-inplace" 'False) (C1 ('MetaCons "Male" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Female" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NonBinary" 'PrefixI 'False) (U1 :: Type -> Type)))

type ExampleSchema = '['DEnum "gender" '['ChoiceDef "male", 'ChoiceDef "female", 'ChoiceDef "nb"], 'DRecord "address" '['FieldDef "postcode" ('TPrimitive Text), 'FieldDef "country" ('TPrimitive Text)], 'DRecord "person" '['FieldDef "firstName" ('TPrimitive Text), 'FieldDef "lastName" ('TPrimitive Text), 'FieldDef "age" ('TOption ('TPrimitive Int)), 'FieldDef "gender" ('TOption ('TSchematic "gender")), 'FieldDef "address" ('TSchematic "address")]] Source #

data GenderMsg f Source #

Instances

Instances details
Eq (GenderMsg f) Source # 
Instance details

Defined in Mu.Schema.Examples

Methods

(==) :: GenderMsg f -> GenderMsg f -> Bool #

(/=) :: GenderMsg f -> GenderMsg f -> Bool #

Ord (GenderMsg f) Source # 
Instance details

Defined in Mu.Schema.Examples

Show (GenderMsg f) Source # 
Instance details

Defined in Mu.Schema.Examples

Generic (GenderMsg f) Source # 
Instance details

Defined in Mu.Schema.Examples

Associated Types

type Rep (GenderMsg f) :: Type -> Type #

Methods

from :: GenderMsg f -> Rep (GenderMsg f) x #

to :: Rep (GenderMsg f) x -> GenderMsg f #

type Rep (GenderMsg f) Source # 
Instance details

Defined in Mu.Schema.Examples

type Rep (GenderMsg f) = D1 ('MetaData "GenderMsg" "Mu.Schema.Examples" "mu-schema-0.2.0.0-inplace" 'False) (C1 ('MetaCons "GenderMsgMale" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "GenderMsgFemale" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GenderMsgNb" 'PrefixI 'False) (U1 :: Type -> Type)))

data AddressMsg f Source #

Constructors

AddressMsg 

Instances

Instances details
Generic (AddressMsg f) Source # 
Instance details

Defined in Mu.Schema.Examples

Associated Types

type Rep (AddressMsg f) :: Type -> Type #

Methods

from :: AddressMsg f -> Rep (AddressMsg f) x #

to :: Rep (AddressMsg f) x -> AddressMsg f #

type Rep (AddressMsg f) Source # 
Instance details

Defined in Mu.Schema.Examples

type Rep (AddressMsg f) = D1 ('MetaData "AddressMsg" "Mu.Schema.Examples" "mu-schema-0.2.0.0-inplace" 'False) (C1 ('MetaCons "AddressMsg" 'PrefixI 'True) (S1 ('MetaSel ('Just "addressMsgPostcode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f Text)) :*: S1 ('MetaSel ('Just "addressMsgCountry") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f Text))))

data PersonMsg f Source #

Instances

Instances details
Generic (PersonMsg f) Source # 
Instance details

Defined in Mu.Schema.Examples

Associated Types

type Rep (PersonMsg f) :: Type -> Type #

Methods

from :: PersonMsg f -> Rep (PersonMsg f) x #

to :: Rep (PersonMsg f) x -> PersonMsg f #

type Rep (PersonMsg f) Source # 
Instance details

Defined in Mu.Schema.Examples

type Rep (PersonMsg f) = D1 ('MetaData "PersonMsg" "Mu.Schema.Examples" "mu-schema-0.2.0.0-inplace" 'False) (C1 ('MetaCons "PersonMsg" 'PrefixI 'True) ((S1 ('MetaSel ('Just "personMsgFirstName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f Text)) :*: S1 ('MetaSel ('Just "personMsgLastName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f Text))) :*: (S1 ('MetaSel ('Just "personMsgAge") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f (Maybe Int))) :*: (S1 ('MetaSel ('Just "personMsgGender") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f (Maybe (GenderMsg f)))) :*: S1 ('MetaSel ('Just "personMsgAddress") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f (AddressMsg f)))))))

type ExampleSchema2 = '['DEnum "gender" '['ChoiceDef "Male", 'ChoiceDef "Female", 'ChoiceDef "NonBinary"], 'DRecord "address" '['FieldDef "postcode" ('TPrimitive Text), 'FieldDef "country" ('TPrimitive Text)], 'DRecord "person" '['FieldDef "firstName" ('TPrimitive Text), 'FieldDef "lastName" ('TPrimitive Text), 'FieldDef "age" ('TOption ('TPrimitive Int)), 'FieldDef "gender" ('TOption ('TSchematic "gender")), 'FieldDef "address" ('TSchematic "address")]] Source #