git.iko.soy/typeable/openapi3
on master help sign in
Add ToParamSchema instance for () compliant with http-api-data
commit20910226fc41be5373b2ea2940b9ed76a051dc12 authorNickolay Kudasov <nickolay.kudasov@gmail.com> dateWed 9 Dec 2015, 16:10 (11 years ago) parent26217bc
1 file changed+9
src/Data/Swagger/Internal/ParamSchema.hs+9
src/Data/Swagger/Internal/ParamSchema.hs+9
@@ -2,6 +2,7 @@
22{-# LANGUAGE FlexibleContexts #-}
33{-# LANGUAGE FlexibleInstances #-}
44{-# LANGUAGE KindSignatures #-}
5+{-# LANGUAGE OverloadedStrings #-}
56{-# LANGUAGE PolyKinds #-}
67{-# LANGUAGE ScopedTypeVariables #-}
78{-# LANGUAGE TypeOperators #-}
@@ -156,6 +157,14 @@ instance ToParamSchema a => ToParamSchema (First a) where toParamSchema _ = to
156157instance ToParamSchema a => ToParamSchema (Last a) where toParamSchema _ = toParamSchema (Proxy :: Proxy a)
157158instance ToParamSchema a => ToParamSchema (Dual a) where toParamSchema _ = toParamSchema (Proxy :: Proxy a)
158159
160+-- |
161+-- >>> encode (toParamSchema (Proxy :: Proxy ()) :: ParamSchema t Items)
162+-- "{\"type\":\"string\",\"enum\":[\"_\"]}"
163+instance ToParamSchema () where
164+ toParamSchema _ = mempty
165+ & schemaType .~ SwaggerString
166+ & schemaEnum ?~ ["_"]
167+
159168-- | A configurable generic @'ParamSchema'@ creator.
160169genericToParamSchema :: forall proxy a t i. (Generic a, GToParamSchema (Rep a)) => SchemaOptions -> proxy a -> ParamSchema t i
161170genericToParamSchema opts _ = gtoParamSchema opts (Proxy :: Proxy (Rep a)) mempty