Safe Haskell | None |
---|---|
Language | Haskell2010 |
- getSchema :: forall a. EncodeAvro a => a -> Schema
- encodeAvro :: EncodeAvro a => a -> ByteString
- encodeContainer :: EncodeAvro a => Schema -> [[a]] -> IO ByteString
- encodeContainerWithSync :: EncodeAvro a => Schema -> ByteString -> [[a]] -> ByteString
- class EncodeAvro a where
- class Zag a where
- type Zagged a
- putAvro :: EncodeAvro a => a -> Builder
High level interface
getSchema :: forall a. EncodeAvro a => a -> Schema Source #
encodeAvro :: EncodeAvro a => a -> ByteString 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 #
EncodeAvro Bool Source # | |
EncodeAvro Double Source # | |
EncodeAvro Float Source # | |
EncodeAvro Int Source # | |
EncodeAvro Int8 Source # | |
EncodeAvro Int16 Source # | |
EncodeAvro Int32 Source # | |
EncodeAvro Int64 Source # | |
EncodeAvro Word8 Source # | |
EncodeAvro Word16 Source # | |
EncodeAvro Word32 Source # | |
EncodeAvro Word64 Source # | |
EncodeAvro () Source # | |
EncodeAvro ByteString Source # | |
EncodeAvro ByteString Source # | |
EncodeAvro String Source # | |
EncodeAvro Text Source # | |
EncodeAvro Text Source # | |
EncodeAvro a => EncodeAvro [a] Source # | |
EncodeAvro a => EncodeAvro (Maybe a) Source # | Maybe is modeled as a sum type `{null, a}`. |
EncodeAvro a => EncodeAvro (Set a) Source # | |
(Unbox a, EncodeAvro a) => EncodeAvro (Vector a) Source # | |
EncodeAvro a => EncodeAvro (Vector a) Source # | |
EncodeAvro (Value Type) Source # | |
EncodeAvro a => EncodeAvro (HashMap Text a) Source # | |
(Ix i, EncodeAvro a) => EncodeAvro (Array i a) Source # | |
putAvro :: EncodeAvro a => a -> Builder Source #