@@ -3,11 +3,12 @@
33module Elm.Package
44 ( Name(..)
55 , Package(..)
6+ , isKernel
7+ , toString, toUrl, toFilePath
8+ , fromText
69 , dummyName, kernel, core
710 , browser, virtualDom, html
811 , webgl, linearAlgebra
9− , toString, toUrl, toFilePath
10− , fromText
1112 , Version(..)
1213 , initialVersion, dummyVersion
1314 , bumpPatch, bumpMinor, bumpMajor
@@ -59,52 +60,13 @@ data Package =
5960 deriving (Eq, Ord)
6061
6162
62−{-# NOINLINE dummyName #-}
63−dummyName :: Name
64−dummyName =
65− Name "user" "project"
6663
64+-- HELPERS
6765
68−{-# NOINLINE kernel #-}
69−kernel :: Name
70−kernel =
71− Name "elm-lang" "kernel"
7266
73−
74−{-# NOINLINE core #-}
75−core :: Name
76−core =
77− Name "elm-lang" "core"
78−
79−
80−{-# NOINLINE browser #-}
81−browser :: Name
82−browser =
83− Name "elm-lang" "browser"
84−
85−
86−{-# NOINLINE virtualDom #-}
87−virtualDom :: Name
88−virtualDom =
89− Name "elm-lang" "virtual-dom"
90−
91−
92−{-# NOINLINE html #-}
93−html :: Name
94−html =
95− Name "elm-lang" "html"
96−
97−
98−{-# NOINLINE webgl #-}
99−webgl :: Name
100−webgl =
101− Name "elm-community" "webgl"
102−
103−
104−{-# NOINLINE linearAlgebra #-}
105−linearAlgebra :: Name
106−linearAlgebra =
107− Name "elm-community" "linear-algebra"
67+isKernel :: Name -> Bool
68+isKernel (Name user _) =
69+ user == "elm-lang" || user == "elm-explorations"
10870
10971
11072toString :: Name -> String
@@ -162,6 +124,58 @@ validateProjectName text =
162124
163125
164126
127+-- COMMON PACKAGE NAMES
128+
129+
130+{-# NOINLINE dummyName #-}
131+dummyName :: Name
132+dummyName =
133+ Name "user" "project"
134+
135+
136+{-# NOINLINE kernel #-}
137+kernel :: Name
138+kernel =
139+ Name "elm-lang" "kernel"
140+
141+
142+{-# NOINLINE core #-}
143+core :: Name
144+core =
145+ Name "elm-lang" "core"
146+
147+
148+{-# NOINLINE browser #-}
149+browser :: Name
150+browser =
151+ Name "elm-lang" "browser"
152+
153+
154+{-# NOINLINE virtualDom #-}
155+virtualDom :: Name
156+virtualDom =
157+ Name "elm-lang" "virtual-dom"
158+
159+
160+{-# NOINLINE html #-}
161+html :: Name
162+html =
163+ Name "elm-lang" "html"
164+
165+
166+{-# NOINLINE webgl #-}
167+webgl :: Name
168+webgl =
169+ Name "elm-community" "webgl"
170+
171+
172+{-# NOINLINE linearAlgebra #-}
173+linearAlgebra :: Name
174+linearAlgebra =
175+ Name "elm-community" "linear-algebra"
176+
177+
178+
165179-- PACKAGE VERSIONS
166180
167181