From 1fedb7f1e73bc56002181775a546e9c2407a8e40 Mon Sep 17 00:00:00 2001 From: Lia Lenckowski Date: Thu, 24 Aug 2023 14:00:11 +0200 Subject: add toEncoding implementations (~15% encoding speedup) --- src/Data/Bang.hs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/Data') 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 -- cgit v1.2.3-70-g09d2