hw-kafka-client 2.0.1 → 2.0.2
raw patch · 3 files changed
+20/−8 lines, 3 filesdep +semigroups
Dependencies added: semigroups
Files
- hw-kafka-client.cabal +4/−1
- src/Kafka/Consumer/ConsumerProperties.hs +8/−4
- src/Kafka/Producer/ProducerProperties.hs +8/−3
hw-kafka-client.cabal view
@@ -1,5 +1,5 @@ name: hw-kafka-client-version: 2.0.1+version: 2.0.2 homepage: https://github.com/haskell-works/hw-kafka-client bug-reports: https://github.com/haskell-works/hw-kafka-client/issues license: MIT@@ -61,6 +61,9 @@ , temporary , transformers , unix+ if impl(ghc < 8.0)+ build-depends: semigroups+ exposed-modules: Kafka.Types Kafka.Consumer.ConsumerProperties
src/Kafka/Consumer/ConsumerProperties.hs view
@@ -9,7 +9,7 @@ import qualified Data.List as L import Data.Map (Map) import qualified Data.Map as M-import Data.Monoid ((<>))+import Data.Semigroup import Kafka.Consumer.Callbacks import Kafka.Consumer.Types import Kafka.Types@@ -21,11 +21,15 @@ , callbacks :: [KafkaConf -> IO ()] } +-- | /Right biased/ so we prefer newer properties over older ones.+instance Semigroup ConsumerProperties where+ (<>) (ConsumerProperties m1 ll1 cb1) (ConsumerProperties m2 ll2 cb2) =+ ConsumerProperties (M.union m2 m1) (ll2 `mplus` ll1) (cb2 <> cb1)+ instance Monoid ConsumerProperties where mempty = ConsumerProperties M.empty Nothing []- mappend (ConsumerProperties m1 ll1 cb1) (ConsumerProperties m2 ll2 cb2) =- ConsumerProperties (M.union m1 m2) (ll2 `mplus` ll1) (cb2 <> cb1)-+ mappend = (<>)+ brokersList :: [BrokerAddress] -> ConsumerProperties brokersList bs = let bs' = L.intercalate "," ((\(BrokerAddress x) -> x) <$> bs)
src/Kafka/Producer/ProducerProperties.hs view
@@ -8,6 +8,7 @@ import qualified Data.List as L import Data.Map (Map) import qualified Data.Map as M+import Data.Semigroup import Kafka.Callbacks import Kafka.Types @@ -18,11 +19,15 @@ , ppLogLevel :: Maybe KafkaLogLevel , callbacks :: [KafkaConf -> IO ()] }-+ +-- | /Right biased/ so we prefer newer properties over older ones.+instance Semigroup ProducerProperties where+ (<>) (ProducerProperties k1 t1 ll1 cb1) (ProducerProperties k2 t2 ll2 cb2) =+ ProducerProperties (M.union k2 k1) (M.union t2 t1) (ll2 `mplus` ll1) (cb2 `mplus` cb1)+ instance Monoid ProducerProperties where mempty = ProducerProperties M.empty M.empty Nothing []- mappend (ProducerProperties k1 t1 ll1 cb1) (ProducerProperties k2 t2 ll2 cb2) =- ProducerProperties (M.union k1 k2) (M.union t1 t2) (ll2 `mplus` ll1) (cb2 `mplus` cb1)+ mappend = (<>) brokersList :: [BrokerAddress] -> ProducerProperties brokersList bs =