make lenses for AppState

This commit is contained in:
Jonathan Lamothe 2024-09-07 15:40:10 -04:00
parent 76d2600fcf
commit a3f405d9c5

View File

@ -22,12 +22,16 @@ License along with this program. If not, see
-}
{-# LANGUAGE TemplateHaskell #-}
module Password.App.Types (
AppState (..),
randGen,
mkInitialState
) where
import Control.Monad.IO.Class (MonadIO)
import Lens.Micro.TH
import System.Random (StdGen, initStdGen)
-- | The application state
@ -36,6 +40,8 @@ newtype AppState = AppState
-- ^ The random number generator
} deriving (Eq, Show)
makeLenses ''AppState
-- | Builds an initial state
mkInitialState :: MonadIO m => m AppState
mkInitialState = AppState <$> initStdGen