packages feed

path-pieces 0.2.0 → 0.2.1

raw patch · 2 files changed

+29/−1 lines, 2 filesdep ~base

Dependency ranges changed: base

Files

Web/PathPieces.hs view
@@ -2,6 +2,8 @@ module Web.PathPieces     ( PathPiece (..)     , PathMultiPiece (..)+    , readFromPathPiece+    , showToPathPiece     -- * Deprecated     , toSinglePiece     , toMultiPiece@@ -16,11 +18,16 @@ import qualified Data.Text.Read import Data.Time (Day) import Control.Exception (assert)+import Text.Read (readMaybe)  class PathPiece s where     fromPathPiece :: S.Text -> Maybe s     toPathPiece :: s -> S.Text +instance PathPiece () where+    fromPathPiece t = if t == "_" then Just () else Nothing+    toPathPiece () = "_"+ instance PathPiece String where     fromPathPiece = Just . S.unpack     toPathPiece = S.pack@@ -121,6 +128,27 @@ instance PathPiece a => PathMultiPiece [a] where     fromPathMultiPiece = mapM fromPathPiece     toPathMultiPiece = map toPathPiece++-- | A function for helping generate free 'PathPiece'+--   instances for enumeration data types +--   that have derived 'Read' and 'Show' instances.+--   Intended to be used like this:+--+--   > data MyData = Foo | Bar | Baz+--   >   deriving (Read,Show)+--   > instance PathPiece MyData where+--   >   fromPathPiece = readFromPathPiece+--   >   toPathPiece = showToPathPiece+--+--  Since 0.2.1. +readFromPathPiece :: Read s => S.Text -> Maybe s+readFromPathPiece = readMaybe . S.unpack++-- | See the documentation for 'readFromPathPiece'.+--+--  Since 0.2.1. +showToPathPiece :: Show s => s -> S.Text+showToPathPiece = S.pack . show  {-# DEPRECATED toSinglePiece "Use toPathPiece instead of toSinglePiece" #-} toSinglePiece :: PathPiece p => p -> S.Text
path-pieces.cabal view
@@ -1,5 +1,5 @@ name:            path-pieces-version:         0.2.0+version:         0.2.1 license:         BSD3 license-file:    LICENSE author:          Michael Snoyman <michael@snoyman.com>