-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Chris Done's path library, enriched with URL-related goodies. -- -- Chris Done's path library, enriched with URL-related goodies. @package path-extra @version 0.0.6 module Path.Extended -- | A location for some base and type - internally uses Path. data Location b t Location :: Int -> Path b t -> Maybe String -> [QueryParam] -> Maybe String -> Location b t -- | only when b ~ Rel [locParentJumps] :: Location b t -> Int [locPath] :: Location b t -> Path b t -- | only when t ~ File [locFileExt] :: Location b t -> Maybe String [locQueryParams] :: Location b t -> [QueryParam] [locFragment] :: Location b t -> Maybe String 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', MonadThrow m) => sym -> m (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 type' | sym -> base type' toLocation :: (ToLocation sym base type', MonadThrow m) => sym -> m (Location base type') class PathAppend right base type' () :: PathAppend right base type' => Path base Dir -> right Rel type' -> right base type' -- | Prepend a parental accessor path - ../ addParent :: Location Rel t -> Location Rel t delParent :: Location Rel t -> Location Rel t -- | This should be your entry point for creating a Location. fromPath :: Path b t -> Location b t setFileExt :: Maybe String -> Location b File -> Location b File addFileExt :: String -> Location b File -> Location b File delFileExt :: Location b File -> Location b File getFileExt :: Location b File -> Maybe String setQuery :: [QueryParam] -> Location b t -> Location b t -- | Appends a query parameter addQuery :: QueryParam -> Location b t -> Location b t (<&>) :: Location b t -> QueryParam -> Location b t infixl 7 <&> addQueries :: [QueryParam] -> Location b t -> Location b t delQuery :: Location b t -> Location b t getQuery :: Location b t -> [QueryParam] setFragment :: Maybe String -> Location b t -> Location b t addFragment :: String -> Location b t -> Location b t (<#>) :: Location b t -> String -> Location b t infixl 8 <#> delFragment :: Location b t -> Location b t getFragment :: Location b t -> Maybe String instance GHC.Classes.Ord (Path.Extended.Location b t) instance GHC.Classes.Eq (Path.Extended.Location b t) instance Path.Extended.PathAppend Path.Internal.Path Path.Abs Path.Dir instance Path.Extended.PathAppend Path.Internal.Path Path.Abs Path.File instance Path.Extended.PathAppend Path.Internal.Path Path.Rel Path.Dir instance Path.Extended.PathAppend Path.Internal.Path Path.Rel Path.File instance Path.Extended.PathAppend Path.Extended.Location Path.Abs Path.Dir instance Path.Extended.PathAppend Path.Extended.Location Path.Abs Path.File instance Path.Extended.PathAppend Path.Extended.Location Path.Rel Path.Dir instance Path.Extended.PathAppend Path.Extended.Location Path.Rel Path.File instance GHC.Show.Show (Path.Extended.Location b t)