]> gitweb.michael.orlitzky.com - dead/halcyon.git/blobdiff - src/Configuration.hs
Create a Usernames newtype to fix an orphan instance.
[dead/halcyon.git] / src / Configuration.hs
index f73bc615a7d81adbd8c2c2eca0aea3afc92ab5f9..095f5395f6bf7b6d0e4994ece60f453df1e5b614 100644 (file)
@@ -11,6 +11,7 @@ module Configuration (
 where
 
 import qualified OptionalConfiguration as OC
+import Usernames
 
 data Cfg =
   Cfg { consumer_key :: String,
@@ -24,7 +25,7 @@ data Cfg =
         from_address :: Maybe String,
         to_address :: Maybe String,
         verbose :: Bool,
-        usernames :: [String] }
+        usernames :: Usernames }
     deriving (Show)
 
 
@@ -41,7 +42,7 @@ default_config =
         from_address = Nothing,
         to_address = Nothing,
         verbose = False,
-        usernames = [] }
+        usernames = Usernames [] }
 
 merge_optional :: Cfg -> OC.OptionalCfg -> Cfg
 merge_optional cfg opt_cfg =
@@ -71,6 +72,6 @@ merge_optional cfg opt_cfg =
     merge' (Just _) (Just y) = Just y
 
     -- If there are any optional usernames, use only those.
-    all_usernames = if (null (OC.usernames opt_cfg))
-                      then (usernames cfg)
-                      else (OC.usernames opt_cfg)
+    all_usernames = if (null (get_usernames (OC.usernames opt_cfg)))
+                    then (usernames cfg)
+                    else (OC.usernames opt_cfg)