@@ -58,6 +58,7 @@ import Data.Swagger.Declare
58import Data.Swagger.Internal
58import Data.Swagger.Internal
59import Data.Swagger.Internal.ParamSchema (ToParamSchema(..))
59import Data.Swagger.Internal.ParamSchema (ToParamSchema(..))
60import Data.Swagger.Lens hiding (name, schema)
60import Data.Swagger.Lens hiding (name, schema)
61+import qualified Data.Swagger.Lens as Swagger
61import Data.Swagger.SchemaOptions
62import Data.Swagger.SchemaOptions
63#ifdef __DOCTEST__
64#ifdef __DOCTEST__
@@ -416,7 +417,10 @@ instance ToSchema Word16 where declareNamedSchema = plain . paramSchemaToSchema
416instance ToSchema Word32 where declareNamedSchema = plain . paramSchemaToSchema
417instance ToSchema Word32 where declareNamedSchema = plain . paramSchemaToSchema
417instance ToSchema Word64 where declareNamedSchema = plain . paramSchemaToSchema
418instance ToSchema Word64 where declareNamedSchema = plain . paramSchemaToSchema
420+instance ToSchema Char where
419−instance ToSchema Char where declareNamedSchema = plain . paramSchemaToSchema
421+ declareNamedSchema proxy = plain (paramSchemaToSchema proxy)
422+ & mapped.Swagger.schema.example ?~ toJSON '?'
420instance ToSchema Scientific where declareNamedSchema = plain . paramSchemaToSchema
424instance ToSchema Scientific where declareNamedSchema = plain . paramSchemaToSchema
421instance ToSchema Double where declareNamedSchema = plain . paramSchemaToSchema
425instance ToSchema Double where declareNamedSchema = plain . paramSchemaToSchema
422instance ToSchema Float where declareNamedSchema = plain . paramSchemaToSchema
426instance ToSchema Float where declareNamedSchema = plain . paramSchemaToSchema
@@ -443,17 +447,20 @@ timeSchema fmt = mempty
444-- | Format @"date"@ corresponds to @yyyy-mm-dd@ format.
448-- | Format @"date"@ corresponds to @yyyy-mm-dd@ format.
445instance ToSchema Day where
449instance ToSchema Day where
446− declareNamedSchema _ = pure $ named "Day" (timeSchema "date")
450+ declareNamedSchema _ = pure $ named "Day" $ timeSchema "date"
451+ & example ?~ toJSON (fromGregorian 2016 7 22)
449-- >>> toSchema (Proxy :: Proxy LocalTime) ^. format
454-- >>> toSchema (Proxy :: Proxy LocalTime) ^. format
450-- Just "yyyy-mm-ddThh:MM:ss"
455-- Just "yyyy-mm-ddThh:MM:ss"
451instance ToSchema LocalTime where
456instance ToSchema LocalTime where
452− declareNamedSchema _ = pure $ named "LocalTime" (timeSchema "yyyy-mm-ddThh:MM:ss")
457+ declareNamedSchema _ = pure $ named "LocalTime" $ timeSchema "yyyy-mm-ddThh:MM:ss"
458+ & example ?~ toJSON (LocalTime (fromGregorian 2016 7 22) (TimeOfDay 7 40 0))
454-- | Format @"date"@ corresponds to @yyyy-mm-ddThh:MM:ss(Z|+hh:MM)@ format.
460-- | Format @"date"@ corresponds to @yyyy-mm-ddThh:MM:ss(Z|+hh:MM)@ format.
455instance ToSchema ZonedTime where
461instance ToSchema ZonedTime where
456 declareNamedSchema _ = pure $ named "ZonedTime" $ timeSchema "date-time"
462 declareNamedSchema _ = pure $ named "ZonedTime" $ timeSchema "date-time"
463+ & example ?~ toJSON (ZonedTime (LocalTime (fromGregorian 2016 7 22) (TimeOfDay 7 40 0)) (hoursToTimeZone 3))
458instance ToSchema NominalDiffTime where
465instance ToSchema NominalDiffTime where
459 declareNamedSchema _ = declareNamedSchema (Proxy :: Proxy Integer)
466 declareNamedSchema _ = declareNamedSchema (Proxy :: Proxy Integer)
@@ -462,7 +469,8 @@ instance ToSchema NominalDiffTime where
462-- >>> toSchema (Proxy :: Proxy UTCTime) ^. format
469-- >>> toSchema (Proxy :: Proxy UTCTime) ^. format
463-- Just "yyyy-mm-ddThh:MM:ssZ"
470-- Just "yyyy-mm-ddThh:MM:ssZ"
464instance ToSchema UTCTime where
471instance ToSchema UTCTime where
465− declareNamedSchema _ = pure $ named "UTCTime" (timeSchema "yyyy-mm-ddThh:MM:ssZ")
472+ declareNamedSchema _ = pure $ named "UTCTime" $ timeSchema "yyyy-mm-ddThh:MM:ssZ"
473+ & example ?~ toJSON (UTCTime (fromGregorian 2016 7 22) 0)
467instance ToSchema T.Text where declareNamedSchema = plain . paramSchemaToSchema
475instance ToSchema T.Text where declareNamedSchema = plain . paramSchemaToSchema
468instance ToSchema TL.Text where declareNamedSchema = plain . paramSchemaToSchema
476instance ToSchema TL.Text where declareNamedSchema = plain . paramSchemaToSchema