@@ -30,6 +30,7 @@ import Data.Int as Int
3030import Data.Maybe (Maybe(..))
3131import Data.Number as Number
3232import Data.String (Pattern(..), split)
33+import Data.String as String
3334import Data.Symbol (class IsSymbol, reflectSymbol)
3435import Prim.Row as Row
3536import Record as Record
@@ -241,6 +242,12 @@ instance parseParamNumber :: ParseParam Number where
241242 Nothing -> Left $ "Expected a number but got: " <> s
242243 Just n -> Right n
243244
245+instance parseParamBoolean :: ParseParam Boolean where
246+ parseParam s = case String.toLower s of
247+ "true" -> Right true
248+ "false" -> Right false
249+ _ -> Left $ "Expected a boolean but got: " <> s
250+
244251
245252-- | Parse a URL string into a record of typed path parameters
246253-- |