{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TypeApplications #-} module HaskellWorks.CabalCache.URI ( reslashUri, ) where import Data.Generics.Product.Any (HasAny(the)) import HaskellWorks.Prelude import Lens.Micro import Network.URI (URI) reslashUri :: URI -> URI reslashUri :: URI -> URI reslashUri URI uri = URI uri URI -> (URI -> URI) -> URI forall a b. a -> (a -> b) -> b & forall {k} (sel :: k) s t a b. HasAny sel s t a b => Lens s t a b forall (sel :: Symbol) s t a b. HasAny sel s t a b => Lens s t a b the @"uriPath" (([Char] -> Identity [Char]) -> URI -> Identity URI) -> ([Char] -> [Char]) -> URI -> URI forall s t a b. ASetter s t a b -> (a -> b) -> s -> t %~ (Char -> Char) -> [Char] -> [Char] forall a b. (a -> b) -> [a] -> [b] forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b fmap Char -> Char reslashChar where reslashChar :: Char -> Char reslashChar :: Char -> Char reslashChar Char '\\' = Char '/' reslashChar Char c = Char c