@@ -31,6 +31,7 @@ import "unordered-containers" Data.HashSet (HashSet)
31import Data.Monoid
31import Data.Monoid
32import Data.Set (Set)
32import Data.Set (Set)
33import Data.Scientific
33import Data.Scientific
34+import Data.Fixed (HasResolution(..), Fixed, Pico)
34import qualified Data.Text as T
35import qualified Data.Text as T
35import qualified Data.Text.Lazy as TL
36import qualified Data.Text.Lazy as TL
36import Data.Time
37import Data.Time
@@ -159,6 +160,11 @@ instance ToParamSchema Char where
159instance ToParamSchema Scientific where
160instance ToParamSchema Scientific where
160 toParamSchema _ = mempty & type_ .~ SwaggerNumber
161 toParamSchema _ = mempty & type_ .~ SwaggerNumber
163+instance HasResolution a => ToParamSchema (Fixed a) where
164+ toParamSchema _ = mempty
165+ & type_ .~ SwaggerNumber
166+ & multipleOf ?~ (recip . fromInteger $ resolution (Proxy :: Proxy a))
162instance ToParamSchema Double where
168instance ToParamSchema Double where
163 toParamSchema _ = mempty
169 toParamSchema _ = mempty
164 & type_ .~ SwaggerNumber
170 & type_ .~ SwaggerNumber
@@ -197,7 +203,7 @@ instance ToParamSchema UTCTime where
197 toParamSchema _ = timeParamSchema "yyyy-mm-ddThh:MM:ssZ"
203 toParamSchema _ = timeParamSchema "yyyy-mm-ddThh:MM:ssZ"
199instance ToParamSchema NominalDiffTime where
205instance ToParamSchema NominalDiffTime where
200− toParamSchema _ = toParamSchema (Proxy :: Proxy Integer)
206+ toParamSchema _ = toParamSchema (Proxy :: Proxy Pico)
202instance ToParamSchema T.Text where
208instance ToParamSchema T.Text where
203 toParamSchema _ = toParamSchema (Proxy :: Proxy String)
209 toParamSchema _ = toParamSchema (Proxy :: Proxy String)