language-avro-0.1.2.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
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
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 Annotation Source #

Type for special annotations.

Constructors

Annotation 

Fields

Instances
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] 

data Protocol Source #

Whole definition of protocol.

Instances
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
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 #

ToJSON Schema 
Instance details

Defined in Data.Avro.Schema

FromJSON Schema 
Instance details

Defined in Data.Avro.Schema

NFData Schema 
Instance details

Defined in Data.Avro.Schema

Methods

rnf :: 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" "avro-0.4.7.0-Bfa0q2x5HB9FRvrjrQk9PL" 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))))))))