@@ -13,6 +13,7 @@ import Data.Int (Int64)
1313import qualified Data.Text as S
1414import qualified Data.Text.Lazy as L
1515import qualified Data.Text.Read
16+import Data.Time (Day)
1617
1718class PathPiece s where
1819 fromPathPiece :: S.Text -> Maybe s
@@ -51,6 +52,12 @@ instance PathPiece Int64 where
5152 Left _ -> Nothing
5253 toPathPiece = S.pack . show
5354
55+instance PathPiece Day where
56+ fromPathPiece t =
57+ case reads $ S.unpack t of
58+ [(a,"")] -> Just a
59+ _ -> Nothing
60+ toPathPiece = S.pack . show
5461
5562class PathMultiPiece s where
5663 fromPathMultiPiece :: [S.Text] -> Maybe s