packages feed

hoauth2-demo-1.7.0: src/Utils.hs

module Utils where

import Data.ByteString.Lazy.Char8 qualified as BSL
import Data.Text.Lazy (Text)
import Data.Text.Lazy qualified as TL
import Web.Scotty (Param)

bslToText :: BSL.ByteString -> Text
bslToText = TL.pack . BSL.unpack

paramValue :: Text -> [Param] -> [Text]
paramValue key = fmap snd . filter (hasParam key)

paramValueMaybe :: Text -> [Param] -> Maybe Text
paramValueMaybe key xs = case filter (hasParam key) xs of
  [a] -> Just (snd a)
  _ -> Nothing

hasParam :: Text -> Param -> Bool
hasParam t = (== t) . fst