avro-0.3.2.0: Avro serialization support for Haskell

Safe HaskellNone
LanguageHaskell2010

Data.Avro.Encode

Contents

Synopsis

High level interface

getSchema :: forall a. EncodeAvro a => a -> Schema Source #

encodeContainer :: EncodeAvro a => Schema -> [[a]] -> IO ByteString Source #

Encode chunks of objects into a container, using 16 random bytes for the synchronization markers.

encodeContainerWithSync :: EncodeAvro a => Schema -> ByteString -> [[a]] -> ByteString Source #

Encode chunks of objects into a container, using the provided ByteString as the synchronization markers.

Lower level interface

class EncodeAvro a where Source #

Minimal complete definition

avro

Methods

avro :: a -> AvroM Source #

Instances

EncodeAvro Bool Source # 

Methods

avro :: Bool -> AvroM Source #

EncodeAvro Double Source # 

Methods

avro :: Double -> AvroM Source #

EncodeAvro Float Source # 

Methods

avro :: Float -> AvroM Source #

EncodeAvro Int Source # 

Methods

avro :: Int -> AvroM Source #

EncodeAvro Int8 Source # 

Methods

avro :: Int8 -> AvroM Source #

EncodeAvro Int16 Source # 

Methods

avro :: Int16 -> AvroM Source #

EncodeAvro Int32 Source # 

Methods

avro :: Int32 -> AvroM Source #

EncodeAvro Int64 Source # 

Methods

avro :: Int64 -> AvroM Source #

EncodeAvro Word8 Source # 

Methods

avro :: Word8 -> AvroM Source #

EncodeAvro Word16 Source # 

Methods

avro :: Word16 -> AvroM Source #

EncodeAvro Word32 Source # 

Methods

avro :: Word32 -> AvroM Source #

EncodeAvro Word64 Source # 

Methods

avro :: Word64 -> AvroM Source #

EncodeAvro () Source # 

Methods

avro :: () -> AvroM Source #

EncodeAvro ByteString Source # 

Methods

avro :: ByteString -> AvroM Source #

EncodeAvro ByteString Source # 

Methods

avro :: ByteString -> AvroM Source #

EncodeAvro String Source # 

Methods

avro :: String -> AvroM Source #

EncodeAvro Text Source # 

Methods

avro :: Text -> AvroM Source #

EncodeAvro Text Source # 

Methods

avro :: Text -> AvroM Source #

EncodeAvro a => EncodeAvro [a] Source # 

Methods

avro :: [a] -> AvroM Source #

EncodeAvro a => EncodeAvro (Maybe a) Source #

Maybe is modeled as a sum type `{null, a}`.

Methods

avro :: Maybe a -> AvroM Source #

EncodeAvro a => EncodeAvro (Set a) Source # 

Methods

avro :: Set a -> AvroM Source #

(Unbox a, EncodeAvro a) => EncodeAvro (Vector a) Source # 

Methods

avro :: Vector a -> AvroM Source #

EncodeAvro a => EncodeAvro (Vector a) Source # 

Methods

avro :: Vector a -> AvroM Source #

EncodeAvro (Value Type) Source # 

Methods

avro :: Value Type -> AvroM Source #

EncodeAvro a => EncodeAvro (HashMap Text a) Source # 

Methods

avro :: HashMap Text a -> AvroM Source #

(Ix i, EncodeAvro a) => EncodeAvro (Array i a) Source # 

Methods

avro :: Array i a -> AvroM Source #

class Zag a where Source #

Minimal complete definition

zag

Associated Types

type Zagged a Source #

Methods

zag :: a -> Zagged a Source #

Instances

Zag Word Source # 

Associated Types

type Zagged Word :: * Source #

Methods

zag :: Word -> Zagged Word Source #

Zag Word8 Source # 

Associated Types

type Zagged Word8 :: * Source #

Methods

zag :: Word8 -> Zagged Word8 Source #

Zag Word16 Source # 

Associated Types

type Zagged Word16 :: * Source #

Zag Word32 Source # 

Associated Types

type Zagged Word32 :: * Source #

Zag Word64 Source # 

Associated Types

type Zagged Word64 :: * Source #