diff options
author | Lia Lenckowski <lialenck@protonmail.com> | 2023-07-29 15:27:21 +0200 |
---|---|---|
committer | Lia Lenckowski <lialenck@protonmail.com> | 2023-07-29 15:27:21 +0200 |
commit | 9dc2650910bcca92980f0b16fbd5e9e8c94c0473 (patch) | |
tree | 28b6072c665e2dcdcd9eb9e5c891ce5a58236d88 /src/Bangs.hs | |
parent | bdcd8fa39bc697d5ab2f10c6d600a78bfcbfdf34 (diff) | |
download | fastbangs-9dc2650910bcca92980f0b16fbd5e9e8c94c0473.tar fastbangs-9dc2650910bcca92980f0b16fbd5e9e8c94c0473.tar.bz2 fastbangs-9dc2650910bcca92980f0b16fbd5e9e8c94c0473.tar.zst |
(prototype) authentication, route for getting pending bangs
Diffstat (limited to 'src/Bangs.hs')
-rw-r--r-- | src/Bangs.hs | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/src/Bangs.hs b/src/Bangs.hs deleted file mode 100644 index 02ec02c..0000000 --- a/src/Bangs.hs +++ /dev/null @@ -1,47 +0,0 @@ -{-# LANGUAGE OverloadedStrings, DeriveGeneric #-} - -module Bangs ( - DDGBangs, - toBangs, - Bangs -) where - -import GHC.Prim -import GHC.Generics (Generic) -import Data.Aeson -import Data.Text (Text) -import qualified Data.Map.Strict as M - --- M.Map BangName (SearchUrl, DisplayName) -newtype Bangs = Bangs { - unBangs :: M.Map Text (Text, Text) -} deriving (Show, Generic) - -instance FromJSON Bangs where - parseJSON b = parseJSON b >>= fmap Bangs . sequence . fmap getInfo - where getInfo v = (,) <$> v .: "url" <*> v .: "name" - -instance ToJSON Bangs where - toJSON (Bangs m) = toJSON - $ (\(url, name) -> object ["url" .= url, "name" .= name]) - <$> m - - -- TODO toEncoding. semi important; makes startup/updates faster - -newtype DDGBangs = DDGBangs (M.Map Text (Text, Text)) deriving (Show) -toBangs :: DDGBangs -> Bangs -toBangs = coerce - -instance FromJSON DDGBangs where - parseJSON b = fmap (DDGBangs . M.fromList) - $ parseJSON b - >>= mapM - (\ob -> (,) <$> ob .: "t" <*> ((,) <$> ob .: "u" <*> ob .: "s")) - --- left-biased union -instance Semigroup Bangs where - Bangs a <> Bangs b = Bangs $ a `M.union` b - -instance Monoid Bangs where - mempty = Bangs M.empty - mconcat = Bangs . M.unions . map unBangs |