git.iko.soy/rowtype-yoga/purescript-yoga-om-layer
on add-instances help sign in
20 lines 656 B history raw
1module Test.Negative.MissingConfigRun where
3import Prelude
4import Effect (Effect)
5import Yoga.Om (Om)
6import Yoga.Om as Om
7import Yoga.Om.Layer (OmLayer, makeLayer, runLayer)
9type Config = { port :: Int, host :: String }
10type Logger = { log :: String -> Effect Unit }
12-- This layer needs config
13needsConfig :: OmLayer (config :: Config) (logger :: Logger) ()
14needsConfig = makeLayer do
15 { config } <- Om.ask
16 pure { logger: { log: \msg -> pure unit } }
18-- This should NOT compile - trying to run needsConfig without providing config
19testMissingConfigRun :: Om (Record ()) () (Record (logger :: Logger))
20testMissingConfigRun = runLayer {} needsConfig