diff options
author | Jasper Van der Jeugt | 2020-08-14 01:43:30 +0200 |
---|---|---|
committer | Jasper Van der Jeugt | 2020-08-14 01:43:30 +0200 |
commit | ce06b07d6dae781fe09e4b0512a9b6d41ba687a6 (patch) | |
tree | f14d92948c88e75ef585079b64277caf6ed93714 /server/lib/Uplcg/BaseUrl.hs | |
parent | 8d5c0405565ad4afd976efd1262b3224efd6ee2f (diff) |
WIP
Diffstat (limited to 'server/lib/Uplcg/BaseUrl.hs')
-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..4374322 --- /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] + +render :: BaseUrl -> T.Text +render (BaseUrl []) = "" +render (BaseUrl xs) = "/" <> T.intercalate "/" xs + +parse :: T.Text -> BaseUrl +parse = BaseUrl . filter (not . T.null) . T.split (== '/') |