-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | URLs without host information
--
-- Please see the README on Github at
-- https://github.com/athanclark/path-extra#readme
@package path-extra
@version 0.3.0
module Path.Extended
-- | A location for some base and type - internally uses Path.
data Location base
Location :: LocationPath base -> [QueryParam] -> Maybe String -> Location base
[locPath] :: Location base -> LocationPath base
[locQueryParams] :: Location base -> [QueryParam]
[locFragment] :: Location base -> Maybe String
data LocationPath base
Dir :: Path base Dir -> LocationPath base
File :: Path base File -> LocationPath base
type QueryParam = (String, Maybe String)
-- | Convenience typeclass for symbolic, stringless routes - make an
-- instance for your own data type to use your constructors as
-- route-referencing symbols.
class ToPath sym base type' | sym -> base type'
toPath :: ToPath sym base type' => sym -> Path base type'
-- | Convenience typeclass for symbolic, stringless routes - make an
-- instance for your own data type to use your constructors as
-- route-referencing symbols.
class ToLocation sym base | sym -> base
toLocation :: ToLocation sym base => sym -> Location base
class FromPath sym base type' | sym -> base type'
parsePath :: FromPath sym base type' => Path base type' -> Either String sym
class FromLocation sym base | sym -> base
parseLocation :: FromLocation sym base => Location base -> Either String sym
fromDir :: Path base Dir -> Location base
fromFile :: Path base File -> Location base
prependAbs :: Path Abs Dir -> Location Abs -> Location Abs
prependRel :: Path Rel Dir -> Location Rel -> Location Rel
setQuery :: [QueryParam] -> Location base -> Location base
-- | Appends a query parameter
addQuery :: QueryParam -> Location base -> Location base
(<&>) :: Location base -> QueryParam -> Location base
infixl 7 <&>
addQueries :: [QueryParam] -> Location base -> Location base
delQuery :: Location base -> Location base
getQuery :: Location base -> [QueryParam]
setFragment :: Maybe String -> Location base -> Location base
addFragment :: String -> Location base -> Location base
(<#>) :: Location base -> String -> Location base
infixl 8 <#>
delFragment :: Location base -> Location base
getFragment :: Location base -> Maybe String
locationAbsParser :: Parser (Location Abs)
locationRelParser :: Parser (Location Rel)
printLocation :: Location base -> Text
instance GHC.Generics.Generic (Path.Extended.LocationPath base)
instance GHC.Classes.Ord (Path.Extended.LocationPath base)
instance GHC.Classes.Eq (Path.Extended.LocationPath base)
instance GHC.Generics.Generic (Path.Extended.Location base)
instance GHC.Classes.Ord (Path.Extended.Location base)
instance GHC.Classes.Eq (Path.Extended.Location base)