1 module PursLoader.Options
6 import Prelude ((<$>), (<<<), id)
8 import Data.Foreign.Class (IsForeign, readProp)
9 import Data.Foreign.NullOrUndefined (runNullOrUndefined)
10 import Data.Maybe (maybe)
12 import PursLoader.Path (joinPath)
14 newtype Options = Options { bundleOutput :: String }
16 type Options_ = { bundleOutput :: String }
18 runOptions :: Options -> Options_
19 runOptions (Options options) = options
21 instance isForeignOptions :: IsForeign Options where
23 Options <$> ({ bundleOutput: _ }
24 <$> (maybe bundleOutputDefault id <<< runNullOrUndefined <$> readProp bundleOutput obj))
26 bundleOutput :: String
27 bundleOutput = "bundleOutput"
29 bundleOutputDefault :: String
30 bundleOutputDefault = joinPath "output" "bundle.js"