language-avro-0.1.3.1: 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.Schema

Methods

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

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

Ord Schema 
Instance details

Defined in Data.Avro.Schema.Schema

Show Schema 
Instance details

Defined in Data.Avro.Schema.Schema

Generic Schema 
Instance details

Defined in Data.Avro.Schema.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.Schema

Methods

rnf :: Schema -> () #

ToJSON Schema 
Instance details

Defined in Data.Avro.Schema.Schema

FromJSON Schema 
Instance details

Defined in Data.Avro.Schema.Schema

type Rep Schema 
Instance details

Defined in Data.Avro.Schema.Schema

type Rep Schema = D1 ('MetaData "Schema" "Data.Avro.Schema.Schema" "vr-0.5.1.0-c57e1006" '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 'DecidedStrict) (Rec0 (Maybe LogicalTypeInt))))) :+: ((C1 ('MetaCons "Long" 'PrefixI 'True) (S1 ('MetaSel ('Just "logicalTypeL") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (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 'DecidedStrict) (Rec0 (Maybe LogicalTypeBytes)))))) :+: (((C1 ('MetaCons "String" 'PrefixI 'True) (S1 ('MetaSel ('Just "logicalTypeS") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe LogicalTypeString))) :+: C1 ('MetaCons "Array" 'PrefixI 'True) (S1 ('MetaSel ('Just "item") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Schema))) :+: (C1 ('MetaCons "Map" 'PrefixI 'True) (S1 ('MetaSel ('Just "values") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Schema)) :+: C1 ('MetaCons "NamedType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 TypeName)))) :+: ((C1 ('MetaCons "Record" 'PrefixI 'True) ((S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 TypeName) :*: S1 ('MetaSel ('Just "aliases") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [TypeName])) :*: (S1 ('MetaSel ('Just "doc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "fields") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Field]))) :+: C1 ('MetaCons "Enum" 'PrefixI 'True) ((S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 TypeName) :*: S1 ('MetaSel ('Just "aliases") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [TypeName])) :*: (S1 ('MetaSel ('Just "doc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "symbols") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Vector Text))))) :+: (C1 ('MetaCons "Union" 'PrefixI 'True) (S1 ('MetaSel ('Just "options") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Vector Schema))) :+: C1 ('MetaCons "Fixed" 'PrefixI 'True) ((S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 TypeName) :*: S1 ('MetaSel ('Just "aliases") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [TypeName])) :*: (S1 ('MetaSel ('Just "size") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedUnpack) (Rec0 Int) :*: S1 ('MetaSel ('Just "logicalTypeF") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe LogicalTypeFixed))))))))