{-# language PatternSynonyms #-}

module Kafka.Acknowledgments
  ( Acknowledgments(..)
  , pattern LeaderOnly
  , pattern None
  , pattern FullIsr
  ) where

import Data.Int (Int16)

newtype Acknowledgments = Acknowledgments Int16

pattern LeaderOnly :: Acknowledgments
pattern $mLeaderOnly :: forall {r}. Acknowledgments -> ((# #) -> r) -> ((# #) -> r) -> r
$bLeaderOnly :: Acknowledgments
LeaderOnly = Acknowledgments 1

pattern None :: Acknowledgments
pattern $mNone :: forall {r}. Acknowledgments -> ((# #) -> r) -> ((# #) -> r) -> r
$bNone :: Acknowledgments
None = Acknowledgments 0

pattern FullIsr :: Acknowledgments
pattern $mFullIsr :: forall {r}. Acknowledgments -> ((# #) -> r) -> ((# #) -> r) -> r
$bFullIsr :: Acknowledgments
FullIsr = Acknowledgments (-1)