Safe Haskell | None |
---|---|
Language | Haskell2010 |
Language definition for AVRO (.avdl
) files,
as defined in http://avro.apache.org/docs/1.8.2/spec.html.
Documentation
Type for methods/messages that belong to a protocol.
Helper type for the arguments of Method
.
data ImportType Source #
Type for the possible import types in Protocol
.
Instances
Eq ImportType Source # | |
Defined in Language.Avro.Types (==) :: ImportType -> ImportType -> Bool # (/=) :: ImportType -> ImportType -> Bool # | |
Show ImportType Source # | |
Defined in Language.Avro.Types showsPrec :: Int -> ImportType -> ShowS # show :: ImportType -> String # showList :: [ImportType] -> ShowS # |
data Annotation Source #
Type for special annotations.
Instances
Eq Annotation Source # | |
Defined in Language.Avro.Types (==) :: Annotation -> Annotation -> Bool # (/=) :: Annotation -> Annotation -> Bool # | |
Show Annotation Source # | |
Defined in Language.Avro.Types showsPrec :: Int -> Annotation -> ShowS # show :: Annotation -> String # showList :: [Annotation] -> ShowS # |
Newtype for the namespace of methods and protocols.
Whole definition of protocol.
An Avro schema is either
- A "JSON object in the form
{"type":"typeName" ...}
- A "JSON string, naming a defined type" (basic type without free variables)
- A "JSON array, representing a union"
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
.