{-# language NoImplicitPrelude #-}
{-# options_haddock prune #-}
module Zeugma.TestError where
import Incipit
import Polysemy.Test (TestError (TestError))
stopTest ::
∀ err r .
Show err =>
HasCallStack =>
Member (Error TestError) r =>
InterpreterFor (Stop err) r
stopTest :: forall err (r :: EffectRow).
(Show err, HasCallStack, Member (Error TestError) r) =>
InterpreterFor (Stop err) r
stopTest Sem (Stop err : r) a
ma =
(HasCallStack => Sem r a) -> Sem r a
forall a. HasCallStack => (HasCallStack => a) -> a
withFrozenCallStack ((err -> TestError) -> Sem (Stop err : r) a -> Sem r a
forall err err' (r :: EffectRow) a.
Member (Error err') r =>
(err -> err') -> Sem (Stop err : r) a -> Sem r a
stopToErrorWith ((HasCallStack, HasCallStack) => Text -> TestError
Text -> TestError
TestError (Text -> TestError) -> (err -> Text) -> err -> TestError
forall b c a. (b -> c) -> (a -> b) -> a -> c
. err -> Text
forall b a. (Show a, IsString b) => a -> b
show) Sem (Stop err : r) a
ma)
resumeTest ::
∀ err eff r .
Show err =>
HasCallStack =>
Members [eff !! err, Error TestError] r =>
InterpreterFor eff r
resumeTest :: forall err (eff :: Effect) (r :: EffectRow).
(Show err, HasCallStack,
Members '[eff !! err, Error TestError] r) =>
InterpreterFor eff r
resumeTest Sem (eff : r) a
ma =
(HasCallStack => Sem r a) -> Sem r a
forall a. HasCallStack => (HasCallStack => a) -> a
withFrozenCallStack (forall err (eff :: Effect) err' (r :: EffectRow) a.
Members '[Resumable err eff, Error err'] r =>
(err -> err') -> Sem (eff : r) a -> Sem r a
resumeHoistError @err ((HasCallStack, HasCallStack) => Text -> TestError
Text -> TestError
TestError (Text -> TestError) -> (err -> Text) -> err -> TestError
forall b c a. (b -> c) -> (a -> b) -> a -> c
. err -> Text
forall b a. (Show a, IsString b) => a -> b
show) Sem (eff : r) a
ma)
errorTest ::
∀ err r .
Show err =>
HasCallStack =>
Member (Error TestError) r =>
InterpreterFor (Error err) r
errorTest :: forall err (r :: EffectRow).
(Show err, HasCallStack, Member (Error TestError) r) =>
InterpreterFor (Error err) r
errorTest Sem (Error err : r) a
ma =
(HasCallStack => Sem r a) -> Sem r a
forall a. HasCallStack => (HasCallStack => a) -> a
withFrozenCallStack ((err -> TestError) -> Sem (Error err : r) a -> Sem r a
forall e1 e2 (r :: EffectRow) a.
Member (Error e2) r =>
(e1 -> e2) -> Sem (Error e1 : r) a -> Sem r a
mapError ((HasCallStack, HasCallStack) => Text -> TestError
Text -> TestError
TestError (Text -> TestError) -> (err -> Text) -> err -> TestError
forall b c a. (b -> c) -> (a -> b) -> a -> c
. err -> Text
forall b a. (Show a, IsString b) => a -> b
show) Sem (Error err : r) a
ma)