packages feed

wikimusic-ssr-1.0.1.6: src/Principium.hs

module Principium
  ( --
    module Relude,
    module Optics,
    module WikiMusic.Model.Other,
    module NeatInterpolation,
    BlazeHtml.Html,
    module WikiMusic.SSR.Language,
    module WikiMusic.SSR.Model.Api,
    module WikiMusic.SSR.Model.Env,
    module Free.AlaCarte,
    module WikiMusic.SSR.Model.Config,
    module Data.Time,
    module WikiMusic.SSR.View.Css,
    UUID.UUID,
    --
    maybeDecodeUtf8,
    textToAttrValue,
    maybeDecodeBase16,
    uuidToText,
    intToText,
    unpackText,
    packText,
    filterText,
    MonadError,
    replaceText,
    mapElems,
    mapFromList,
    emptyMap,
    (Map.!?),
    mapFilter,
    setUnion,
    takeText,
  )
where

--

--

import Control.Monad.Error.Class (MonadError)
import Data.ByteString.Base16.Lazy qualified as B16
import Data.ByteString.Lazy qualified as BL
import Data.Map qualified as Map
import Data.Set qualified
import Data.Text qualified as T
import Data.Time
import Data.UUID qualified as UUID
import Free.AlaCarte
import NeatInterpolation hiding (text)
import Optics hiding (uncons)
import Relude
import Text.Blaze.Html as BlazeHtml
import WikiMusic.Model.Other
import WikiMusic.SSR.Language
import WikiMusic.SSR.Model.Api
import WikiMusic.SSR.Model.Config
import WikiMusic.SSR.Model.Env
import WikiMusic.SSR.View.Css

--

maybeDecodeUtf8 :: ByteString -> Either UnicodeException Text
maybeDecodeUtf8 = decodeUtf8'

textToAttrValue :: Text -> BlazeHtml.AttributeValue
textToAttrValue = fromString . T.unpack

maybeDecodeBase16 :: Text -> Either String BL.ByteString
maybeDecodeBase16 = B16.decode . fromString . T.unpack

uuidToText :: UUID.UUID -> Text
uuidToText = UUID.toText

intToText :: Int -> Text
intToText = T.pack . show

unpackText :: Text -> String
unpackText = T.unpack

packText :: String -> Text
packText = T.pack

filterText :: (Char -> Bool) -> Text -> Text
filterText = T.filter

replaceText :: Text -> Text -> Text -> Text
replaceText = T.replace

mapElems :: Map k a -> [a]
mapElems = Map.elems

mapFromList :: (Ord a) => [(a, b)] -> Map a b
mapFromList = Map.fromList

emptyMap :: Map k a
emptyMap = Map.empty

mapFilter :: (a -> Bool) -> Map k a -> Map k a
mapFilter = Map.filter

setUnion :: (Ord a) => Set a -> Set a -> Set a
setUnion a b = a `Data.Set.union` b

takeText :: Int -> Text -> Text
takeText = T.take