module Foundation.VFS.URI
( URI(..)
, URISchema(..)
, URIAuthority(..)
, URIQuery(..)
, URIFragment(..)
, URIPath(..)
) where
import Basement.Compat.Base
import Foundation.VFS.Path(Path(..))
data URI = URI
data URISchema = URISchema
data URIAuthority = URIAuthority
data URIQuery = URIQuery
data URIFragment = URIFragment
data URIPath = URIPath
instance Path URI where
type PathEnt URI = URIPath
type PathPrefix URI = (URISchema, URIAuthority)
type PathSuffix URI = (URIQuery, URIFragment)
</> :: URI -> PathEnt URI -> URI
(</>) = URI -> PathEnt URI -> URI
URI -> URIPath -> URI
forall a. HasCallStack => a
undefined
splitPath :: URI -> (PathPrefix URI, [PathEnt URI], PathSuffix URI)
splitPath = URI
-> ((URISchema, URIAuthority), [URIPath], (URIQuery, URIFragment))
URI -> (PathPrefix URI, [PathEnt URI], PathSuffix URI)
forall a. HasCallStack => a
undefined
buildPath :: (PathPrefix URI, [PathEnt URI], PathSuffix URI) -> URI
buildPath = ((URISchema, URIAuthority), [URIPath], (URIQuery, URIFragment))
-> URI
(PathPrefix URI, [PathEnt URI], PathSuffix URI) -> URI
forall a. HasCallStack => a
undefined