packages feed

hw-kafka-avro 1.1.0 → 1.2.0

raw patch · 4 files changed

+20/−16 lines, 4 filesdep ~avronew-uploader

Dependency ranges changed: avro

Files

example/Main.hs view
@@ -1,17 +1,18 @@-{-# LANGUAGE OverloadedStrings, ScopedTypeVariables #-}+{-# LANGUAGE OverloadedStrings   #-}+{-# LANGUAGE ScopedTypeVariables #-} module Main where  import           Control.Monad.Trans.Except+import qualified Data.Aeson                 as J+import qualified Data.Avro                  as A+import           Data.Avro.Schema           as S+import qualified Data.Avro.Types            as AT import           Data.Monoid-import qualified Data.Aeson as J-import           Data.Avro as A-import           Data.Avro.Schema as S-import qualified Data.Avro.Types as AT -import           Data.Int-import           Data.Text-import           Kafka.Avro-import           Message+import Data.Int+import Data.Text+import Kafka.Avro+import Message  exampleMessage = TestMessage 1 "Example" True 12345678 
example/Message.hs view
@@ -5,10 +5,10 @@ --  import           Data.Avro+import           Data.Avro.Schema+import qualified Data.Avro.Types  as AT import           Data.Int import           Data.Text-import           Data.Avro.Schema-import qualified Data.Avro.Types as AT  data TestMessage = TestMessage Int64 Text Bool Int64 deriving (Show, Eq, Ord) @@ -21,6 +21,9 @@          , fld "timestamp" Long Nothing          ] +instance HasAvroSchema TestMessage where+  schema = pure testMessageSchema+ instance FromAvro TestMessage where   fromAvro (AT.Record _ r) =     TestMessage <$> r .: "id"@@ -37,4 +40,3 @@       , "is_active" .= d       , "timestamp" .= t       ]-  schema = pure testMessageSchema
hw-kafka-avro.cabal view
@@ -1,5 +1,5 @@ name:                hw-kafka-avro-version:             1.1.0+version:             1.2.0 synopsis:            Avro support for Kafka infrastructure description:         Please see README.md homepage:            https://github.com/haskell-works/hw-kafka-avro#readme@@ -26,7 +26,7 @@                        Kafka.Avro.SchemaRegistry    build-depends:       aeson,-                       avro,+                       avro >= 0.2,                        base >= 4.7 && < 5,                        binary,                        bytestring,
src/Kafka/Avro/Decode.hs view
@@ -5,7 +5,8 @@ ) where  import           Control.Monad.IO.Class    (MonadIO)-import           Data.Avro                 as A (FromAvro, Result (..), decode)+import           Data.Avro                 as A (FromAvro, Result (..))+import qualified Data.Avro                 as A (decodeWithSchema) import           Data.Avro.Schema          (Schema) import           Data.Bits                 (shiftL) import           Data.ByteString.Lazy      (ByteString)@@ -34,7 +35,7 @@       return $ res >>= decode payload   where     schemaData = maybe (Left BadPayloadNoSchemaId) Right (extractSchemaId bs)-    decode p s = resultToEither s (A.decode s p)+    decode p s = resultToEither s (A.decodeWithSchema s p)  extractSchemaId :: ByteString -> Maybe (SchemaId, ByteString) extractSchemaId bs = do