web-routes-quasi 0.6.2 → 0.6.3
raw patch · 2 files changed
+22/−3 lines, 2 filesdep ~template-haskellPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: template-haskell
API changes (from Hackage documentation)
+ Web.Routes.Quasi.Parse: parseRoutesFile :: FilePath -> Q Exp
+ Web.Routes.Quasi.Parse: parseRoutesFileNoCheck :: FilePath -> Q Exp
Files
- Web/Routes/Quasi/Parse.hs +19/−0
- web-routes-quasi.cabal +3/−3
Web/Routes/Quasi/Parse.hs view
@@ -3,7 +3,9 @@ module Web.Routes.Quasi.Parse ( -- * Quasi quoter parseRoutes+ , parseRoutesFile , parseRoutesNoCheck+ , parseRoutesFileNoCheck , Resource (..) , Piece (..) ) where@@ -12,6 +14,7 @@ import Language.Haskell.TH.Quote import Data.Data import Data.Maybe+import qualified System.IO as SIO -- | A quasi-quoter to parse a string into a list of 'Resource's. Checks for -- overlapping routes, failing if present; use 'parseRoutesNoCheck' to skip the@@ -28,6 +31,22 @@ [] -> lift res z -> error $ "Overlapping routes: " ++ unlines (map show z) y = dataToPatQ (const Nothing) . resourcesFromString++parseRoutesFile :: FilePath -> Q Exp+parseRoutesFile fp = do+ s <- qRunIO $ readUtf8File fp+ quoteExp parseRoutes s++parseRoutesFileNoCheck :: FilePath -> Q Exp+parseRoutesFileNoCheck fp = do+ s <- qRunIO $ readUtf8File fp+ quoteExp parseRoutesNoCheck s++readUtf8File :: FilePath -> IO String+readUtf8File fp = do+ h <- SIO.openFile fp SIO.ReadMode+ SIO.hSetEncoding h SIO.utf8_bom+ SIO.hGetContents h -- | Same as 'parseRoutes', but performs no overlap checking. parseRoutesNoCheck :: QuasiQuoter
web-routes-quasi.cabal view
@@ -1,11 +1,11 @@ name: web-routes-quasi-version: 0.6.2+version: 0.6.3 license: BSD3 license-file: LICENSE author: Michael Snoyman <michael@snoyman.com> maintainer: Michael Snoyman <michael@snoyman.com> synopsis: Define data types and parse/build functions for web-routes via a quasi-quoted DSL-category: Web+category: Web, Yesod stability: unstable cabal-version: >= 1.6 build-type: Simple@@ -17,7 +17,7 @@ library build-depends: base >= 4 && < 5- , template-haskell >= 2.4 && < 2.6+ , template-haskell , text >= 0.5 && < 0.12 exposed-modules: Web.Routes.Quasi Web.Routes.Quasi.Classes