diff options
Diffstat (limited to 'src/Data')
-rw-r--r-- | src/Data/Bang.hs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/Data/Bang.hs b/src/Data/Bang.hs index 2bf0966..d6c3bd3 100644 --- a/src/Data/Bang.hs +++ b/src/Data/Bang.hs @@ -3,7 +3,8 @@ module Data.Bang ( DDGBangs, toBangs, - Bangs + Bangs, + singletonBangs ) where import GHC.Prim @@ -17,6 +18,9 @@ newtype Bangs = Bangs { unBangs :: M.Map Text (Text, Text) } deriving (Show, Generic) +singletonBangs :: Text -> Text -> Text -> Bangs +singletonBangs bn bu bdp = Bangs $ M.singleton bn (bu, bdp) + instance FromJSON Bangs where parseJSON b = parseJSON b >>= fmap Bangs . sequence . fmap getInfo where getInfo v = (,) <$> v .: "url" <*> v .: "name" |