on ca94170 help sign in
elk/builder/src/File/Args.hs
40 lines 888 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.Exit.Make as E
15import qualified Reporting.Task as Task
18data Args root
19 = Pkg [Module.Raw]
20 | Roots root [root]
23fromPaths :: Summary.Summary -> [FilePath] -> Task.Task (Args FilePath)
24fromPaths summary paths =
25 case paths of
26 [] ->
27 fromSummary summary
29 first : rest ->
30 return $ Roots first rest
33fromSummary :: Summary.Summary -> Task.Task (Args a)
34fromSummary (Summary.Summary _ project _ _ _) =
35 case project of
36 Project.Pkg info ->
37 return $ Pkg (Project.getExposed info)
39 Project.App _ ->
40 Task.throw (Exit.Make E.CannotMakeNothing)