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 (== '/')
|