on master help sign in
Stop exposing defaultImports and do all import adding internally
commit237243391ccb550e40145b8f74f1318bb91c8871 authorEvan Czaplicki <evancz@users.noreply.github.com> dateTue 27 Sep 2016, 11:55 (10 years ago) parent8b484ab
2 files changed+28−23
src/Elm/Compiler.hs+28−16 src/Elm/Compiler/Module.hs−7
src/Elm/Compiler.hs+28−16
@@ -18,8 +18,9 @@ import qualified AST.Module as Module
1818import qualified AST.Module.Name as ModuleName
1919import qualified Compile
2020import qualified Docs.Check as Docs
21−import qualified Elm.Compiler.Version
21+import qualified Elm.Compiler.Imports as Imports
2222import qualified Elm.Compiler.Module as PublicModule
23+import qualified Elm.Compiler.Version
2324import qualified Elm.Docs as Docs
2425import qualified Elm.Package as Package
2526import qualified Generate.JavaScript as JS
@@ -53,26 +54,37 @@ data Tag
5354 | Port
5455
5556
56−parseDependencies :: String -> Either [Error] (Tag, PublicModule.Raw, [PublicModule.Raw])
57−parseDependencies sourceCode =
57+parseDependencies
58+ :: Package.Name
59+ -> String
60+ -> Either [Error] (Tag, PublicModule.Raw, [PublicModule.Raw])
61+parseDependencies pkgName sourceCode =
5862 let
5963 (Result.Result _ _ answer) =
6064 Parse.parse sourceCode Parse.header
65+ in
66+ Result.answerToEither (Error . A.map Error.Syntax) (getDeps pkgName) answer
6167
62− getDeps (Module.Header sourceTag name _ _ _ imports) =
63− let
64− tag =
65− case sourceTag of
66− Module.Normal -> Normal
67− Module.Port _ -> Port
68− Module.Effect _ -> Effect
69− in
70− ( tag
71− , name
72− , map (fst . A.drop) imports
73− )
68+
69+getDeps
70+ :: Package.Name
71+ -> Module.Header [Module.UserImport]
72+ -> (Tag, PublicModule.Raw, [PublicModule.Raw])
73+getDeps pkgName (Module.Header sourceTag name _ _ _ imports) =
74+ let
75+ tag =
76+ case sourceTag of
77+ Module.Normal -> Normal
78+ Module.Port _ -> Port
79+ Module.Effect _ -> Effect
80+
81+ deps =
82+ if pkgName == Package.core then
83+ map (fst . A.drop) imports
84+ else
85+ map (fst . A.drop) imports ++ map fst Imports.defaults
7486 in
75− Result.answerToEither (Error . A.map Error.Syntax) getDeps answer
87+ ( tag, name, deps )
7688
7789
7890
src/Elm/Compiler/Module.hs−7
@@ -6,7 +6,6 @@ module Elm.Compiler.Module
66 , nameToString, nameFromString
77 , hyphenate, dehyphenate
88 , RawForJson(RawForJson), fromJson
9− , defaultImports
109 , interfaceAliasedTypes, programTypes
1110 , ModuleName.Canonical(..), qualifiedVar
1211 )
@@ -21,7 +20,6 @@ import System.FilePath ((</>))
2120
2221import qualified AST.Module as Module
2322import qualified AST.Module.Name as ModuleName
24−import qualified Elm.Compiler.Imports as Imports
2523import qualified Elm.Compiler.Type as PublicType
2624import qualified Elm.Compiler.Type.Extract as Extract
2725import qualified Generate.JavaScript.Variable as Gen
@@ -64,11 +62,6 @@ qualifiedVar =
6462 Gen.qualified
6563
6664
67−defaultImports :: [ModuleName.Raw]
68−defaultImports =
69− map fst Imports.defaults
70−
71−
7265
7366-- STRING CONVERSIONS for RAW NAMES
7467