git.iko.soy/rowtype-yoga/purescript-yoga-om-layer
on v1.0.6 help sign in
18 lines 572 B history raw
1module Test.Negative.MissingDep where
3import Prelude
4import Data.Newtype (un)
5import Yoga.Om as Om
6import Yoga.Om.Layer (OmLayer, makeLayer, combineRequirements)
8type Config = { port :: Int }
9type Logger = { log :: String -> String }
11needsConfig :: OmLayer (config :: Config) (logger :: Logger) ()
12needsConfig = makeLayer do
13 { config } <- Om.ask
14 pure { logger: { log: \msg -> "[" <> show config.port <> "] " <> msg } }
16-- This should NOT compile - missing config!
17badLayer :: OmLayer () (logger :: Logger) ()
18badLayer = combineRequirements needsConfig needsConfig