git.iko.soy/rowtype-yoga/purescript-yoga-om-layer
on v1.0.6 help sign in
19 lines 597 B history raw
1module Test.Negative.MissingConfig 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 }
12needsConfig :: OmLayer (config :: Config) (logger :: Logger) ()
13needsConfig = makeLayer do
14 { config } <- Om.ask
15 pure { logger: { log: \_ -> pure unit } }
17-- This should NOT compile - empty context, missing config
18testMissingConfig :: Om (Record ()) () (Record (logger :: Logger))
19testMissingConfig = runLayer {} needsConfig