aboutsummaryrefslogtreecommitdiff
path: root/server/lib/Uplcg/BaseUrl.hs
blob: 43743221c273af5f446deab0ceaba4c66e19b166 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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 (== '/')