@@ -4,6 +4,7 @@ module Elm.Compiler.Module
4 , nameToString, nameFromString
4 , nameToString, nameFromString
5 , hyphenate, dehyphenate
5 , hyphenate, dehyphenate
6 , defaultImports
6 , defaultImports
@@ -21,6 +22,7 @@ import qualified Transform.AddDefaultImports as Defaults
22type Interface = Module.Interface
23type Interface = Module.Interface
24newtype Name = Name [String]
26newtype Name = Name [String]
25 deriving (Eq, Ord)
27 deriving (Eq, Ord)
@@ -30,6 +32,13 @@ defaultImports =
30 map Name (Map.keys Defaults.defaultImports)
32 map Name (Map.keys Defaults.defaultImports)
35+interfacePorts :: Interface -> [String]
36+interfacePorts interface =
37+ Module.iPorts interface
33nameToPath :: Name -> FilePath
42nameToPath :: Name -> FilePath
34nameToPath (Name names) =
43nameToPath (Name names) =
35 List.foldl1 (</>) names
44 List.foldl1 (</>) names
@@ -74,6 +83,8 @@ fromString sep raw =
74 Char.isAlphaNum char || char `elem` "_'"
83 Char.isAlphaNum char || char `elem` "_'"
77instance Json.ToJSON Name where
88instance Json.ToJSON Name where
78 toJSON name =
89 toJSON name =
79 Json.toJSON (nameToString name)
90 Json.toJSON (nameToString name)