language-avro-0.1.1.0: Language definition and parser for AVRO files.
Safe HaskellNone
LanguageHaskell2010

Language.Avro.Types

Description

Language definition for AVRO (.avdl) files, as defined in http://avro.apache.org/docs/1.8.2/spec.html.

Synopsis

Documentation

data Method Source #

Type for methods/messages that belong to a protocol.

Constructors

Method 

Fields

Instances

Instances details
Eq Method Source # 
Instance details

Defined in Language.Avro.Types

Methods

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

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

Ord Method Source # 
Instance details

Defined in Language.Avro.Types

Show Method Source # 
Instance details

Defined in Language.Avro.Types

data Argument Source #

Helper type for the arguments of Method.

Constructors

Argument 

Fields

Instances

Instances details
Eq Argument Source # 
Instance details

Defined in Language.Avro.Types

Ord Argument Source # 
Instance details

Defined in Language.Avro.Types

Show Argument Source # 
Instance details

Defined in Language.Avro.Types

data ImportType Source #

Type for the possible import types in Protocol.

data Annotation Source #

Type for special annotations.

Constructors

Annotation 

Fields

Instances

Instances details
Eq Annotation Source # 
Instance details

Defined in Language.Avro.Types

Show Annotation Source # 
Instance details

Defined in Language.Avro.Types

newtype Namespace Source #

Newtype for the namespace of methods and protocols.

Constructors

Namespace [Text] 

Instances

Instances details
Eq Namespace Source # 
Instance details

Defined in Language.Avro.Types

Ord Namespace Source # 
Instance details

Defined in Language.Avro.Types

Show Namespace Source # 
Instance details

Defined in Language.Avro.Types

data Protocol Source #

Whole definition of protocol.

Instances

Instances details
Eq Protocol Source # 
Instance details

Defined in Language.Avro.Types

Ord Protocol Source # 
Instance details

Defined in Language.Avro.Types

Show Protocol Source # 
Instance details

Defined in Language.Avro.Types

Semigroup Protocol Source # 
Instance details

Defined in Language.Avro.Types

data Schema #

N.B. It is possible to create a Haskell value (of Schema type) that is not a valid Avro schema by violating one of the above or one of the conditions called out in validateSchema.

Bundled Patterns

pattern String' :: Schema 
pattern Bytes' :: Schema 
pattern Long' :: Schema 
pattern Int' :: Schema 

Instances

Instances details
Eq Schema 
Instance details

Defined in Data.Avro.Schema

Methods

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

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

Ord Schema 
Instance details

Defined in Data.Avro.Schema

Show Schema 
Instance details

Defined in Data.Avro.Schema

Generic Schema 
Instance details

Defined in Data.Avro.Schema

Associated Types

type Rep Schema :: Type -> Type #

Methods

from :: Schema -> Rep Schema x #

to :: Rep Schema x -> Schema #

NFData Schema 
Instance details

Defined in Data.Avro.Schema

Methods

rnf :: Schema -> () #

ToJSON Schema 
Instance details

Defined in Data.Avro.Schema

FromJSON Schema 
Instance details

Defined in Data.Avro.Schema

ToJSON (Value Schema) 
Instance details

Defined in Data.Avro.Schema

type Rep Schema 
Instance details

Defined in Data.Avro.Schema

type Rep Schema = D1 ('MetaData "Schema" "Data.Avro.Schema" "vr-0.4.7.0-6e0848a7" 'False) (((C1 ('MetaCons "Null" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Boolean" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Int" 'PrefixI 'True) (S1 ('MetaSel ('Just "logicalTypeI") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe LogicalTypeInt))))) :+: ((C1 ('MetaCons "Long" 'PrefixI 'True) (S1 ('MetaSel ('Just "logicalTypeL") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe LogicalTypeLong))) :+: C1 ('MetaCons "Float" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Double" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Bytes" 'PrefixI 'True) (S1 ('MetaSel ('Just "logicalTypeB") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe LogicalTypeBytes)))))) :+: (((C1 ('MetaCons "String" 'PrefixI 'True) (S1 ('MetaSel ('Just "logicalTypeS") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe LogicalTypeString))) :+: C1 ('MetaCons "Array" 'PrefixI 'True) (S1 ('MetaSel ('Just "item") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Schema))) :+: (C1 ('MetaCons "Map" 'PrefixI 'True) (S1 ('MetaSel ('Just "values") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Schema)) :+: C1 ('MetaCons "NamedType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypeName)))) :+: ((C1 ('MetaCons "Record" 'PrefixI 'True) ((S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypeName) :*: S1 ('MetaSel ('Just "aliases") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TypeName])) :*: (S1 ('MetaSel ('Just "doc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "order") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Order)) :*: S1 ('MetaSel ('Just "fields") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Field])))) :+: C1 ('MetaCons "Enum" 'PrefixI 'True) ((S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypeName) :*: S1 ('MetaSel ('Just "aliases") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TypeName])) :*: (S1 ('MetaSel ('Just "doc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "symbols") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Text))))) :+: (C1 ('MetaCons "Union" 'PrefixI 'True) (S1 ('MetaSel ('Just "options") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector Schema))) :+: C1 ('MetaCons "Fixed" 'PrefixI 'True) ((S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypeName) :*: S1 ('MetaSel ('Just "aliases") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TypeName])) :*: (S1 ('MetaSel ('Just "size") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "logicalTypeF") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe LogicalTypeFixed))))))))