seihou-core-0.4.0.0: src/Seihou/Effect/ManifestStore.hs
module Seihou.Effect.ManifestStore
( ManifestStore (..),
readManifest,
writeManifest,
)
where
import Seihou.Core.Types (Manifest)
import Seihou.Prelude
data ManifestStore :: Effect where
ReadManifest :: ManifestStore m (Either Text (Maybe Manifest))
WriteManifest :: Manifest -> ManifestStore m ()
type instance DispatchOf ManifestStore = Dynamic
readManifest :: (ManifestStore :> es) => Eff es (Either Text (Maybe Manifest))
readManifest = send ReadManifest
writeManifest :: (ManifestStore :> es) => Manifest -> Eff es ()
writeManifest m = send (WriteManifest m)