module WebbyPrelude
( module Exports
, decodeUtf8Lenient
, parseInt
) where
import Control.Monad.Trans.Resource as Exports (ResourceT,
liftResourceT,
runResourceT)
import Network.HTTP.Types as Exports
import Network.Wai as Exports
import Protolude as Exports hiding (get, put, (%))
import Data.Text.Encoding as Exports (encodeUtf8)
import Data.Text.Encoding (decodeUtf8With)
import Data.Text.Encoding.Error (lenientDecode)
import qualified Data.Text.Read as TR
import Formatting as Exports (format, sformat, (%))
import Formatting.ShortFormatters as Exports (d, sh, st, t)
decodeUtf8Lenient :: ByteString -> Text
decodeUtf8Lenient = decodeUtf8With lenientDecode
parseInt :: Integral a => Text -> Maybe a
parseInt t' = hush $ fmap fst $ TR.decimal t'