packages feed

polysemy-mocks 0.3.0.0 → 0.3.1.0

raw patch · 3 files changed

+25/−4 lines, 3 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Test.Polysemy.Mock: data family MockState eff m;
+ Test.Polysemy.Mock: data MockImpl eff m :: Effect;
+ Test.Polysemy.Mock: data MockState eff m;

Files

ChangeLog.md view
@@ -1,19 +1,24 @@ # Changelog for polysemy-mocks +## 0.3.1.0++* Support template-haskell-2.18.0 (and so GHC 9.2).+* Test compatibility with GHC 9.4.+ ## 0.3.0.0 -* Support template-haskell-2.17.0 (and so GHC 9.0)+* Support template-haskell-2.17.0 (and so GHC 9.0). * Add 'HasCallStack' constraint to 'evalMocks', {run,eval,exec}Mock and default   implementations for the "returns" functions (which throws error, by default).   'RankNTypes' is now needed to use the TH mocks.  ## 0.2.0.0 -* Support polysemy >= 1.7, drop support for older versions+* Support polysemy >= 1.7, drop support for older versions.  ## 0.1.0.1 -* Better docs+* Better docs.  ## 0.1.0.0 
polysemy-mocks.cabal view
@@ -1,7 +1,7 @@ cabal-version: 1.12  name:           polysemy-mocks-version:        0.3.0.0+version:        0.3.1.0 description:    Please see the README on GitHub at <https://github.com/akshaymankar/polysemy-mocks#readme> homepage:       https://github.com/akshaymankar/polysemy-mocks#readme bug-reports:    https://github.com/akshaymankar/polysemy-mocks/issues
src/Test/Polysemy/Mock/TH.hs view
@@ -110,7 +110,11 @@  mkMockMatch :: Type -> ConLiftInfo -> Match mkMockMatch t c =+#if MIN_VERSION_template_haskell(2,18,0)+  let pat = ConP (cliConName c) [] (map (VarP . fst) (cliFunArgs c))+#else   let pat = ConP (cliConName c) (map (VarP . fst) (cliFunArgs c))+#endif       sendFn = VarE 'send       args = map (VarE . fst) (cliFunArgs c)       theMock = foldl' AppE (ConE $ mockConName c) args@@ -126,7 +130,11 @@ {- ORMOLU_DISABLE -} mkMockToStateMatch :: Type -> ConLiftInfo -> Match mkMockToStateMatch t c =+#if MIN_VERSION_template_haskell(2,18,0)+  let pat = ConP (mockConName c) [] (map VarP vars)+#else   let pat = ConP (mockConName c) (map VarP vars)+#endif       --       vars = map fst (cliFunArgs c)       newArgs = if length (cliFunArgs c) == 1@@ -159,7 +167,11 @@ mkReturnsToStateMatch :: Type -> ConLiftInfo -> Match mkReturnsToStateMatch t c =   let f = mkName "f"+#if MIN_VERSION_template_haskell(2,18,0)+      pat = ConP (returnsConName c) [] [VarP f]+#else       pat = ConP (returnsConName c) [VarP f]+#endif       newState = RecUpdE (VarE stateName) [(returnsFieldName c, VarE f)]       returnNothing = NoBindS $ AppE (VarE 'pureT) (TupE [])       body =@@ -175,7 +187,11 @@  mkCallsToStateMatch :: Type -> ConLiftInfo -> Match mkCallsToStateMatch t c =+#if MIN_VERSION_template_haskell(2,18,0)+  let pat = ConP (callsConName c) [] []+#else   let pat = ConP (callsConName c) []+#endif       returnCalls = NoBindS $ AppE (VarE 'pureT) (AppE (VarE (callsFieldName c)) (VarE stateName))       body =         NormalB