aboutsummaryrefslogtreecommitdiff
path: root/src/Data
diff options
context:
space:
mode:
authorLia Lenckowski <lialenck@protonmail.com>2023-08-24 14:00:11 +0200
committerLia Lenckowski <lialenck@protonmail.com>2023-08-24 14:00:11 +0200
commit1fedb7f1e73bc56002181775a546e9c2407a8e40 (patch)
tree2955ab53ef02a334935ad67c2c2bc9e46f53643f /src/Data
parent33bc8bfb247f4fcbfc206bdeb9c0e118e961ba59 (diff)
downloadfastbangs-1fedb7f1e73bc56002181775a546e9c2407a8e40.tar
fastbangs-1fedb7f1e73bc56002181775a546e9c2407a8e40.tar.bz2
fastbangs-1fedb7f1e73bc56002181775a546e9c2407a8e40.tar.zst
add toEncoding implementations (~15% encoding speedup)
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 d6c3bd3..42a5d06 100644
--- a/src/Data/Bang.hs
+++ b/src/Data/Bang.hs
@@ -30,7 +30,11 @@ instance ToJSON Bangs where
$ (\(url, name) -> object ["url" .= url, "name" .= name])
<$> m
- -- TODO toEncoding. semi important; makes startup/updates faster
+ -- this could be optimized by folding over 'm' to create a bytestring builder,
+ -- but I don't think the complexity/unsafety is worth the small performance gain
+ toEncoding (Bangs m) = toEncoding
+ $ (\(url, name) -> object ["url" .= url, "name" .= name])
+ <$> m
newtype DDGBangs = DDGBangs (M.Map Text (Text, Text)) deriving (Show)
toBangs :: DDGBangs -> Bangs