on aefea20 help sign in
elk/builder/src/File/Args.hs
39 lines 837 B history raw
1{-# OPTIONS_GHC -Wall #-}
2module File.Args
3 ( Args(..)
4 , fromPaths
5 , fromSummary
6 )
7 where
10import qualified Elm.Compiler.Module as Module
11import qualified Elm.Project.Json as Project
12import qualified Elm.Project.Summary as Summary
13import qualified Reporting.Exit as Exit
14import qualified Reporting.Task as Task
17data Args root
18 = Pkg [Module.Raw]
19 | Roots root [root]
22fromPaths :: Summary.Summary -> [FilePath] -> Task.Task (Args FilePath)
23fromPaths summary paths =
24 case paths of
25 [] ->
26 fromSummary summary
28 first : rest ->
29 return $ Roots first rest
32fromSummary :: Summary.Summary -> Task.Task (Args a)
33fromSummary (Summary.Summary _ project _ _ _) =
34 case project of
35 Project.Pkg info ->
36 return $ Pkg (Project.getExposed info)
38 Project.App _ ->
39 Task.throw Exit.CannotMakeNothing