@@ -49,7 +49,7 @@
4949-- or without those:
5050--
5151-- >>> let with = Proxy :: Proxy ("bye" :> QueryParam "name" String :> Delete '[JSON] ())
52−-- >>> print $ safeLink api with "Hubert"
52+-- >>> print $ safeLink api with (Just "Hubert")
5353-- bye?name=Hubert
5454--
5555-- >>> let without = Proxy :: Proxy ("bye" :> Delete '[JSON] ())
@@ -273,10 +273,10 @@ instance (KnownSymbol sym, HasLink sub) => HasLink (sym :> sub) where
273273-- QueryParam instances
274274instance (KnownSymbol sym, ToText v, HasLink sub)
275275 => HasLink (QueryParam sym v :> sub) where
276− type MkLink (QueryParam sym v :> sub) = v -> MkLink sub
277− toLink _ l v =
278− toLink (Proxy :: Proxy sub)
279− (addQueryParam (SingleParam k (toText v)) l)
276+ type MkLink (QueryParam sym v :> sub) = Maybe v -> MkLink sub
277+ toLink _ l mv =
278+ toLink (Proxy :: Proxy sub) $
279+ maybe id (addQueryParam . SingleParam k . toText) mv l
280280 where
281281 k :: String
282282 k = symbolVal (Proxy :: Proxy sym)
@@ -303,10 +303,10 @@ instance (KnownSymbol sym, HasLink sub)
303303-- MatrixParam instances
304304instance (KnownSymbol sym, ToText v, HasLink sub)
305305 => HasLink (MatrixParam sym v :> sub) where
306− type MkLink (MatrixParam sym v :> sub) = v -> MkLink sub
307− toLink _ l v =
306+ type MkLink (MatrixParam sym v :> sub) = Maybe v -> MkLink sub
307+ toLink _ l mv =
308308 toLink (Proxy :: Proxy sub) $
309− addMatrixParam (SingleParam k (toText v)) l
309+ maybe id (addMatrixParam . SingleParam k . toText) mv l
310310 where
311311 k = symbolVal (Proxy :: Proxy sym)
312312