module Hasql.Pool.SessionErrorDestructors where

import Hasql.Pool.Prelude
import Hasql.Session qualified as Session

reset :: (Maybe ByteString -> x) -> x -> Session.SessionError -> x
reset :: forall x. (Maybe ByteString -> x) -> x -> SessionError -> x
reset Maybe ByteString -> x
onReset x
onNoReset = \case
  Session.QueryError ByteString
_ [Text]
_ (Session.ClientError Maybe ByteString
details) -> Maybe ByteString -> x
onReset Maybe ByteString
details
  Session.PipelineError (Session.ClientError Maybe ByteString
details) -> Maybe ByteString -> x
onReset Maybe ByteString
details
  SessionError
_ -> x
onNoReset