registry-0.1.6.3: test/Test/Tutorial/Exercise3.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE PartialTypeSignatures #-}
{-# OPTIONS_GHC -fno-warn-partial-type-signatures #-}
module Test.Tutorial.Exercise3 where
import Data.Registry
import Protolude
import Test.Tutorial.Application
import Test.Tutorial.Exercise2
silentLogger :: Logger IO
silentLogger = Logger (const (pure ())) (const (pure ()))
silentRegistry = fun silentLogger +: registry
newSilentApp :: App
newSilentApp = make @App silentRegistry
newMisconfiguredApp :: App
newMisconfiguredApp = make @App (val (SecretReaderConfig "missing") +: registry)
newMisconfiguredSilentApp :: App
newMisconfiguredSilentApp = make @App (val (SecretReaderConfig "missing") +: silentRegistry)
newMisconfiguredRngSilentApp :: App
newMisconfiguredRngSilentApp = make @App $
specialize @(Rng IO) silentLogger $
val (SecretReaderConfig "missing") +: registry