on master help sign in
Don't unwrap Package.Name
b001556jmite
src/Compile.hs+4−4
@@ -5,6 +5,7 @@ import qualified Data.Map as Map
5import qualified AST.Module as Module
5import qualified AST.Module as Module
6import qualified Canonicalize
6import qualified Canonicalize
7import Elm.Utils ((|>))
7import Elm.Utils ((|>))
8+import qualified Elm.Package as Package
8import qualified Nitpick.PatternMatches as Nitpick
9import qualified Nitpick.PatternMatches as Nitpick
9import qualified Nitpick.TopLevelTypes as Nitpick
10import qualified Nitpick.TopLevelTypes as Nitpick
10import qualified Parse.Helpers as Parse
11import qualified Parse.Helpers as Parse
@@ -16,19 +17,18 @@ import qualified Type.Inference as TI
16
17
17
18
18compile
19compile
19− :: String
20+ :: Package.Name
20− -> String
21 -> Bool
21 -> Bool
22 -> Module.Interfaces
22 -> Module.Interfaces
23 -> String
23 -> String
24 -> Result.Result Warning.Warning Error.Error Module.CanonicalModule
24 -> Result.Result Warning.Warning Error.Error Module.CanonicalModule
25
25
26−compile user projectName isRoot interfaces source =
26+compile packageName isRoot interfaces source =
27 do
27 do
28 -- determine if default imports should be added
28 -- determine if default imports should be added
29 -- only elm-lang/core is exempt
29 -- only elm-lang/core is exempt
30 let needsDefaults =
30 let needsDefaults =
31− not (user == "elm-lang" && projectName == "core")
31+ not (packageName == Package.Name "elm-lang" "core")
32
32
33 -- Parse the source code
33 -- Parse the source code
34 validModule <-
34 validModule <-
src/Elm/Compiler.hs+4−4
@@ -17,6 +17,7 @@ import qualified Docs.Check as Docs
17import qualified Elm.Compiler.Module as PublicModule
17import qualified Elm.Compiler.Module as PublicModule
18import qualified Elm.Compiler.Version as Version
18import qualified Elm.Compiler.Version as Version
19import qualified Elm.Docs as Docs
19import qualified Elm.Docs as Docs
20+import qualified Elm.Package as Package
20import qualified Generate.JavaScript as JS
21import qualified Generate.JavaScript as JS
21import qualified Optimize
22import qualified Optimize
22import qualified Parse.Module as Parse
23import qualified Parse.Module as Parse
@@ -72,14 +73,14 @@ compile
72
73
73compile context source interfaces =
74compile context source interfaces =
74 let
75 let
75− (Context user packageName isRoot isExposed) =
76+ (Context packageName isRoot isExposed) =
76 context
77 context
77
78
78 unwrappedInterfaces =
79 unwrappedInterfaces =
79 Map.mapKeysMonotonic (\(PublicModule.Name name) -> name) interfaces
80 Map.mapKeysMonotonic (\(PublicModule.Name name) -> name) interfaces
80
81
81 (Result.Result (dealiaser, warnings) rawResult) =
82 (Result.Result (dealiaser, warnings) rawResult) =
82− do modul <- Compile.compile user packageName isRoot unwrappedInterfaces source
83+ do modul <- Compile.compile packageName isRoot unwrappedInterfaces source
83 docs <- docsGen isExposed modul
84 docs <- docsGen isExposed modul
84
85
85 let interface = Module.toInterface modul
86 let interface = Module.toInterface modul
@@ -95,8 +96,7 @@ compile context source interfaces =
95
96
96
97
97data Context = Context
98data Context = Context
98− { _user :: String
99− , _packageName :: String
99+ { _packageName :: Package.Name
100 , _isRoot :: Bool
100 , _isRoot :: Bool
101 , _isExposed :: Bool
101 , _isExposed :: Bool
102 }
102 }