@@ -17,9 +17,12 @@ import Data.Char
17import Data.HashMap.Strict (HashMap)
17import Data.HashMap.Strict (HashMap)
18import Data.HashSet (HashSet)
18import Data.HashSet (HashSet)
19import Data.Int
19import Data.Int
20+import Data.IntSet (IntSet)
21+import Data.IntMap (IntMap)
20import Data.Map (Map)
22import Data.Map (Map)
21import Data.Monoid
23import Data.Monoid
22import Data.Proxy
24import Data.Proxy
25+import Data.Scientific (Scientific)
23import Data.Set (Set)
26import Data.Set (Set)
24import qualified Data.Text as T
27import qualified Data.Text as T
25import qualified Data.Text.Lazy as TL
28import qualified Data.Text.Lazy as TL
@@ -138,6 +141,9 @@ instance ToSchema Char where
138 & schemaMaxLength ?~ 1
141 & schemaMaxLength ?~ 1
139 & schemaMinLength ?~ 1
142 & schemaMinLength ?~ 1
144+instance ToSchema Scientific where
145+ toNamedSchema _ = unnamed $ mempty & schemaType .~ SchemaNumber
141instance ToSchema Double where
147instance ToSchema Double where
142 toNamedSchema _ = unnamed $ mempty & schemaType .~ SchemaNumber
148 toNamedSchema _ = unnamed $ mempty & schemaType .~ SchemaNumber
@@ -163,6 +169,12 @@ instance ToSchema T.Text where
163instance ToSchema TL.Text where
169instance ToSchema TL.Text where
164 toNamedSchema _ = unnamed $ toSchema (Proxy :: Proxy String)
170 toNamedSchema _ = unnamed $ toSchema (Proxy :: Proxy String)
172+instance ToSchema IntSet where toNamedSchema _ = toNamedSchema (Proxy :: Proxy (Set Int))
174+-- | NOTE: This schema does not account for the uniqueness of keys.
175+instance ToSchema a => ToSchema (IntMap a) where
176+ toNamedSchema _ = toNamedSchema (Proxy :: Proxy [(Int, a)])
166instance ToSchema a => ToSchema (Map String a) where
178instance ToSchema a => ToSchema (Map String a) where
167 toNamedSchema _ = unnamed $ mempty
179 toNamedSchema _ = unnamed $ mempty
168 & schemaType .~ SchemaObject
180 & schemaType .~ SchemaObject