diff options
author | Jasper Van der Jeugt | 2020-08-16 12:33:35 +0200 |
---|---|---|
committer | Jasper Van der Jeugt | 2020-08-16 12:33:35 +0200 |
commit | 915aa0a168dce36013193be1c76a8448e3417556 (patch) | |
tree | b2e669581db6ab32b8851f0436f1ed6636e8e870 /server/lib/Uplcg/BaseUrl.hs | |
parent | e0555c0fc44404befef4eeb51bb7745a79cac1a5 (diff) | |
parent | d543ef8b1f68a23f9bc3706363fc3807ccbabf30 (diff) |
Merge branch 'list-rooms' into main
Diffstat (limited to '')
-rw-r--r-- | server/lib/Uplcg/BaseUrl.hs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/server/lib/Uplcg/BaseUrl.hs b/server/lib/Uplcg/BaseUrl.hs new file mode 100644 index 0000000..f49d0d0 --- /dev/null +++ b/server/lib/Uplcg/BaseUrl.hs @@ -0,0 +1,17 @@ +{-# LANGUAGE OverloadedStrings #-} +module Uplcg.BaseUrl + ( BaseUrl (..) + , parse + , render + ) where + +import qualified Data.Text as T + +newtype BaseUrl = BaseUrl [T.Text] deriving (Show) + +render :: BaseUrl -> T.Text +render (BaseUrl []) = "" +render (BaseUrl xs) = "/" <> T.intercalate "/" xs + +parse :: T.Text -> BaseUrl +parse = BaseUrl . filter (not . T.null) . T.split (== '/') |