aboutsummaryrefslogtreecommitdiff
path: root/src/Data
diff options
context:
space:
mode:
authorLia Lenckowski <lialenck@protonmail.com>2023-07-30 17:33:19 +0200
committerLia Lenckowski <lialenck@protonmail.com>2023-07-30 17:33:19 +0200
commit780ec2ff85736836f1d5d5ead3eb8fc5b145654c (patch)
tree0ee596819bc54e56f522f65dcf90433b0959f522 /src/Data
parent61293ea8970bb89cde53dff14362f4aa3858ebe9 (diff)
downloadfastbangs-780ec2ff85736836f1d5d5ead3eb8fc5b145654c.tar
fastbangs-780ec2ff85736836f1d5d5ead3eb8fc5b145654c.tar.bz2
fastbangs-780ec2ff85736836f1d5d5ead3eb8fc5b145654c.tar.zst
bang accept/reject api
Diffstat (limited to 'src/Data')
-rw-r--r--src/Data/Bang.hs6
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"