wip split subdoms - cosmetic
authorEugene Crosser <crosser@average.org>
Sat, 3 May 2014 17:21:54 +0000 (21:21 +0400)
committerEugene Crosser <crosser@average.org>
Sat, 3 May 2014 17:21:54 +0000 (21:21 +0400)
NmcDom.hs

index 3b8f06018f039e69e324c40a48055be4386bf6cb..1205db51396250fedafb23fd843fe94bc1437198 100644 (file)
--- a/NmcDom.hs
+++ b/NmcDom.hs
@@ -78,8 +78,8 @@ takeMap o =
   case H.lookup "map" o of
     Nothing          -> pure Nothing
     Just (Object mo) -> do
-      unsplit <- (parseJSON (Object mo) :: Parser (Maybe (Map String NmcDom)))
-      let result = fmap splitup unsplit
+      raw <- (parseJSON (Object mo) :: Parser (Maybe (Map String NmcDom)))
+      let result = fmap splitup raw
       return result
         where
           splitup :: Map String NmcDom -> Map String NmcDom
@@ -87,12 +87,12 @@ takeMap o =
           stow fqdn sdom acc = M.insertWith merge fqdn' sdom' acc
             where
               (fqdn', sdom') = nest (filter (/= "") (splitOnDots fqdn), sdom)
-              splitOnDots s = splitOn "." s
-              nest ([], v)   = (fqdn, v) -- can split result be empty?
+              splitOnDots s  = splitOn "." s
+              nest ([], v)   = (fqdn, v) -- preserve "self" map entry
               nest ([k], v)  = (k, v)
               nest (k:ks, v) =
                 nest (ks, def { domSubmap = Just (M.singleton k v) })
-    _                -> empty
+    _ -> empty
 
 takeSrv :: Object -> Parser (Maybe (Map String NmcDom))
 takeSrv o =