@@ -1,11 +1,12 @@
1{- | This module exports functions for compiling Elm to JS.
1{- | This module exports functions for compiling Elm to JS.
3−module Elm.Internal.Utils (compile, moduleName) where
3+module Elm.Internal.Utils (compile, moduleName, nameAndImports) where
5import qualified Data.List as List
5import qualified Data.List as List
6import qualified Generate.JavaScript as JS
6import qualified Generate.JavaScript as JS
7import qualified Build.Source as Source
7import qualified Build.Source as Source
8−import qualified Parse.Module as Parser
8+import Parse.Module (getModuleName)
9+import Parse.Parse (dependencies)
9import qualified SourceSyntax.Module as M
10import qualified SourceSyntax.Module as M
10import qualified Text.PrettyPrint as P
11import qualified Text.PrettyPrint as P
11import qualified Metadata.Prelude as Prelude
12import qualified Metadata.Prelude as Prelude
@@ -25,4 +26,10 @@ interfaces = unsafePerformIO $ Prelude.interfaces False
26-- |This function extracts the module name of a given source program.
27-- |This function extracts the module name of a given source program.
27moduleName :: String -> Maybe String
28moduleName :: String -> Maybe String
28−moduleName = Parser.getModuleName
29+moduleName = getModuleName
31+-- |This function extracts the module name and imported modules from a given
33+nameAndImports :: String -> Maybe (String, [String])
35+ either (const Nothing) Just (dependencies src)