packages feed

swagger-petstore 0.0.1.1 → 0.0.1.2

raw patch · 13 files changed

+3637/−577 lines, 13 filesdep +base64-bytestringdep +deepseqdep +katipdep −monad-loggerPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: base64-bytestring, deepseq, katip

Dependencies removed: monad-logger

API changes (from Hackage documentation)

- SwaggerPetstore.API: ApiUnderscorekey :: Text -> ApiUnderscorekey
- SwaggerPetstore.API: Name :: Text -> Name
- SwaggerPetstore.API: [unApiUnderscorekey] :: ApiUnderscorekey -> Text
- SwaggerPetstore.API: [unName] :: Name -> Text
- SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.ApiUnderscorekey
- SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.Name
- SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.ApiUnderscorekey
- SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.Name
- SwaggerPetstore.API: instance SwaggerPetstore.API.HasOptionalParam SwaggerPetstore.API.DeletePet SwaggerPetstore.API.ApiUnderscorekey
- SwaggerPetstore.API: instance SwaggerPetstore.API.HasOptionalParam SwaggerPetstore.API.UpdatePetWithForm SwaggerPetstore.API.Name
- SwaggerPetstore.API: newtype ApiUnderscorekey
- SwaggerPetstore.API: newtype Name
- SwaggerPetstore.Client: [configExecLoggingT] :: SwaggerPetstoreConfig -> ExecLoggingT
- SwaggerPetstore.Client: [configLoggingFilter] :: SwaggerPetstoreConfig -> LogSource -> LogLevel -> Bool
- SwaggerPetstore.Client: debugLevelFilter :: LogSource -> LogLevel -> Bool
- SwaggerPetstore.Client: errorLevelFilter :: LogSource -> LogLevel -> Bool
- SwaggerPetstore.Client: infoLevelFilter :: LogSource -> LogLevel -> Bool
- SwaggerPetstore.Client: logExceptions :: (MonadLogger m, MonadCatch m, MonadIO m) => Text -> m a -> m a
- SwaggerPetstore.Client: logNST :: (MonadIO m, MonadLogger m) => LogLevel -> Text -> Text -> m ()
- SwaggerPetstore.Client: minLevelFilter :: LogLevel -> LogSource -> LogLevel -> Bool
- SwaggerPetstore.Client: nullLogger :: Loc -> LogSource -> LogLevel -> LogStr -> IO ()
- SwaggerPetstore.Client: runExceptionLoggingT :: (MonadCatch m, MonadIO m) => Text -> SwaggerPetstoreConfig -> LoggingT m a -> m a
- SwaggerPetstore.Client: runLoggingT :: SwaggerPetstoreConfig -> ExecLoggingT
- SwaggerPetstore.Client: runNullLoggingT :: LoggingT m a -> m a
- SwaggerPetstore.Client: type ExecLoggingT = forall m. MonadIO m => forall a. LoggingT m a -> m a
+ SwaggerPetstore.API: ApiKey :: Text -> ApiKey
+ SwaggerPetstore.API: Body :: OuterNumber -> Body
+ SwaggerPetstore.API: BodyOuterBoolean :: OuterBoolean -> BodyOuterBoolean
+ SwaggerPetstore.API: BodyOuterComposite :: OuterComposite -> BodyOuterComposite
+ SwaggerPetstore.API: BodyOuterString :: OuterString -> BodyOuterString
+ SwaggerPetstore.API: Callback :: Text -> Callback
+ SwaggerPetstore.API: EnumFormString :: Text -> EnumFormString
+ SwaggerPetstore.API: EnumFormStringArray :: [Text] -> EnumFormStringArray
+ SwaggerPetstore.API: EnumHeaderString :: Text -> EnumHeaderString
+ SwaggerPetstore.API: EnumHeaderStringArray :: [Text] -> EnumHeaderStringArray
+ SwaggerPetstore.API: EnumQueryDouble :: Double -> EnumQueryDouble
+ SwaggerPetstore.API: EnumQueryInteger :: Int -> EnumQueryInteger
+ SwaggerPetstore.API: EnumQueryString :: Text -> EnumQueryString
+ SwaggerPetstore.API: EnumQueryStringArray :: [Text] -> EnumQueryStringArray
+ SwaggerPetstore.API: Int32 :: Int -> Int32
+ SwaggerPetstore.API: Int64 :: Integer -> Int64
+ SwaggerPetstore.API: Name2 :: Text -> Name2
+ SwaggerPetstore.API: ParamBinary :: Binary -> ParamBinary
+ SwaggerPetstore.API: ParamDate :: Date -> ParamDate
+ SwaggerPetstore.API: ParamDateTime :: DateTime -> ParamDateTime
+ SwaggerPetstore.API: ParamFloat :: Float -> ParamFloat
+ SwaggerPetstore.API: ParamInteger :: Int -> ParamInteger
+ SwaggerPetstore.API: ParamString :: Text -> ParamString
+ SwaggerPetstore.API: Password :: Text -> Password
+ SwaggerPetstore.API: [unApiKey] :: ApiKey -> Text
+ SwaggerPetstore.API: [unBodyOuterBoolean] :: BodyOuterBoolean -> OuterBoolean
+ SwaggerPetstore.API: [unBodyOuterComposite] :: BodyOuterComposite -> OuterComposite
+ SwaggerPetstore.API: [unBodyOuterString] :: BodyOuterString -> OuterString
+ SwaggerPetstore.API: [unBody] :: Body -> OuterNumber
+ SwaggerPetstore.API: [unCallback] :: Callback -> Text
+ SwaggerPetstore.API: [unEnumFormStringArray] :: EnumFormStringArray -> [Text]
+ SwaggerPetstore.API: [unEnumFormString] :: EnumFormString -> Text
+ SwaggerPetstore.API: [unEnumHeaderStringArray] :: EnumHeaderStringArray -> [Text]
+ SwaggerPetstore.API: [unEnumHeaderString] :: EnumHeaderString -> Text
+ SwaggerPetstore.API: [unEnumQueryDouble] :: EnumQueryDouble -> Double
+ SwaggerPetstore.API: [unEnumQueryInteger] :: EnumQueryInteger -> Int
+ SwaggerPetstore.API: [unEnumQueryStringArray] :: EnumQueryStringArray -> [Text]
+ SwaggerPetstore.API: [unEnumQueryString] :: EnumQueryString -> Text
+ SwaggerPetstore.API: [unInt32] :: Int32 -> Int
+ SwaggerPetstore.API: [unInt64] :: Int64 -> Integer
+ SwaggerPetstore.API: [unName2] :: Name2 -> Text
+ SwaggerPetstore.API: [unParamBinary] :: ParamBinary -> Binary
+ SwaggerPetstore.API: [unParamDateTime] :: ParamDateTime -> DateTime
+ SwaggerPetstore.API: [unParamDate] :: ParamDate -> Date
+ SwaggerPetstore.API: [unParamFloat] :: ParamFloat -> Float
+ SwaggerPetstore.API: [unParamInteger] :: ParamInteger -> Int
+ SwaggerPetstore.API: [unParamString] :: ParamString -> Text
+ SwaggerPetstore.API: [unPassword] :: Password -> Text
+ SwaggerPetstore.API: data FakeOuterBooleanSerialize
+ SwaggerPetstore.API: data FakeOuterCompositeSerialize
+ SwaggerPetstore.API: data FakeOuterNumberSerialize
+ SwaggerPetstore.API: data FakeOuterStringSerialize
+ SwaggerPetstore.API: data TestClassname
+ SwaggerPetstore.API: data TestClientModel
+ SwaggerPetstore.API: data TestEndpointParameters
+ SwaggerPetstore.API: data TestEnumParameters
+ SwaggerPetstore.API: data TestJsonFormData
+ SwaggerPetstore.API: data TestSpecialTags
+ SwaggerPetstore.API: fakeOuterBooleanSerialize :: (Consumes FakeOuterBooleanSerialize contentType) => contentType -> SwaggerPetstoreRequest FakeOuterBooleanSerialize contentType OuterBoolean
+ SwaggerPetstore.API: fakeOuterCompositeSerialize :: (Consumes FakeOuterCompositeSerialize contentType) => contentType -> SwaggerPetstoreRequest FakeOuterCompositeSerialize contentType OuterComposite
+ SwaggerPetstore.API: fakeOuterNumberSerialize :: (Consumes FakeOuterNumberSerialize contentType) => contentType -> SwaggerPetstoreRequest FakeOuterNumberSerialize contentType OuterNumber
+ SwaggerPetstore.API: fakeOuterStringSerialize :: (Consumes FakeOuterStringSerialize contentType) => contentType -> SwaggerPetstoreRequest FakeOuterStringSerialize contentType OuterString
+ SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.ApiKey
+ SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.Body
+ SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.BodyOuterBoolean
+ SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.BodyOuterComposite
+ SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.BodyOuterString
+ SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.Callback
+ SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.EnumFormString
+ SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.EnumFormStringArray
+ SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.EnumHeaderString
+ SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.EnumHeaderStringArray
+ SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.EnumQueryDouble
+ SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.EnumQueryInteger
+ SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.EnumQueryString
+ SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.EnumQueryStringArray
+ SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.Int32
+ SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.Int64
+ SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.Name2
+ SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.ParamBinary
+ SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.ParamDate
+ SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.ParamDateTime
+ SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.ParamFloat
+ SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.ParamInteger
+ SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.ParamString
+ SwaggerPetstore.API: instance GHC.Classes.Eq SwaggerPetstore.API.Password
+ SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.ApiKey
+ SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.Body
+ SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.BodyOuterBoolean
+ SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.BodyOuterComposite
+ SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.BodyOuterString
+ SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.Callback
+ SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.EnumFormString
+ SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.EnumFormStringArray
+ SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.EnumHeaderString
+ SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.EnumHeaderStringArray
+ SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.EnumQueryDouble
+ SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.EnumQueryInteger
+ SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.EnumQueryString
+ SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.EnumQueryStringArray
+ SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.Int32
+ SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.Int64
+ SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.Name2
+ SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.ParamBinary
+ SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.ParamDate
+ SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.ParamDateTime
+ SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.ParamFloat
+ SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.ParamInteger
+ SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.ParamString
+ SwaggerPetstore.API: instance GHC.Show.Show SwaggerPetstore.API.Password
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasBodyParam SwaggerPetstore.API.FakeOuterBooleanSerialize SwaggerPetstore.Model.OuterBoolean
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasBodyParam SwaggerPetstore.API.FakeOuterCompositeSerialize SwaggerPetstore.Model.OuterComposite
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasBodyParam SwaggerPetstore.API.FakeOuterNumberSerialize SwaggerPetstore.Model.OuterNumber
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasBodyParam SwaggerPetstore.API.FakeOuterStringSerialize SwaggerPetstore.Model.OuterString
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasBodyParam SwaggerPetstore.API.TestClassname SwaggerPetstore.Model.Client
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasBodyParam SwaggerPetstore.API.TestClientModel SwaggerPetstore.Model.Client
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasBodyParam SwaggerPetstore.API.TestSpecialTags SwaggerPetstore.Model.Client
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasOptionalParam SwaggerPetstore.API.DeletePet SwaggerPetstore.API.ApiKey
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasOptionalParam SwaggerPetstore.API.TestEndpointParameters SwaggerPetstore.API.Callback
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasOptionalParam SwaggerPetstore.API.TestEndpointParameters SwaggerPetstore.API.Int32
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasOptionalParam SwaggerPetstore.API.TestEndpointParameters SwaggerPetstore.API.Int64
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasOptionalParam SwaggerPetstore.API.TestEndpointParameters SwaggerPetstore.API.ParamBinary
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasOptionalParam SwaggerPetstore.API.TestEndpointParameters SwaggerPetstore.API.ParamDate
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasOptionalParam SwaggerPetstore.API.TestEndpointParameters SwaggerPetstore.API.ParamDateTime
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasOptionalParam SwaggerPetstore.API.TestEndpointParameters SwaggerPetstore.API.ParamFloat
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasOptionalParam SwaggerPetstore.API.TestEndpointParameters SwaggerPetstore.API.ParamInteger
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasOptionalParam SwaggerPetstore.API.TestEndpointParameters SwaggerPetstore.API.ParamString
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasOptionalParam SwaggerPetstore.API.TestEndpointParameters SwaggerPetstore.API.Password
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasOptionalParam SwaggerPetstore.API.TestEnumParameters SwaggerPetstore.API.EnumFormString
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasOptionalParam SwaggerPetstore.API.TestEnumParameters SwaggerPetstore.API.EnumFormStringArray
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasOptionalParam SwaggerPetstore.API.TestEnumParameters SwaggerPetstore.API.EnumHeaderString
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasOptionalParam SwaggerPetstore.API.TestEnumParameters SwaggerPetstore.API.EnumHeaderStringArray
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasOptionalParam SwaggerPetstore.API.TestEnumParameters SwaggerPetstore.API.EnumQueryDouble
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasOptionalParam SwaggerPetstore.API.TestEnumParameters SwaggerPetstore.API.EnumQueryInteger
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasOptionalParam SwaggerPetstore.API.TestEnumParameters SwaggerPetstore.API.EnumQueryString
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasOptionalParam SwaggerPetstore.API.TestEnumParameters SwaggerPetstore.API.EnumQueryStringArray
+ SwaggerPetstore.API: instance SwaggerPetstore.API.HasOptionalParam SwaggerPetstore.API.UpdatePetWithForm SwaggerPetstore.API.Name2
+ SwaggerPetstore.API: instance SwaggerPetstore.MimeTypes.Consumes SwaggerPetstore.API.TestClassname SwaggerPetstore.MimeTypes.MimeJSON
+ SwaggerPetstore.API: instance SwaggerPetstore.MimeTypes.Consumes SwaggerPetstore.API.TestClientModel SwaggerPetstore.MimeTypes.MimeJSON
+ SwaggerPetstore.API: instance SwaggerPetstore.MimeTypes.Consumes SwaggerPetstore.API.TestEndpointParameters SwaggerPetstore.MimeTypes.MimeJsonCharsetutf8
+ SwaggerPetstore.API: instance SwaggerPetstore.MimeTypes.Consumes SwaggerPetstore.API.TestEndpointParameters SwaggerPetstore.MimeTypes.MimeXmlCharsetutf8
+ SwaggerPetstore.API: instance SwaggerPetstore.MimeTypes.Consumes SwaggerPetstore.API.TestEnumParameters SwaggerPetstore.MimeTypes.MimeAny
+ SwaggerPetstore.API: instance SwaggerPetstore.MimeTypes.Consumes SwaggerPetstore.API.TestJsonFormData SwaggerPetstore.MimeTypes.MimeJSON
+ SwaggerPetstore.API: instance SwaggerPetstore.MimeTypes.Consumes SwaggerPetstore.API.TestSpecialTags SwaggerPetstore.MimeTypes.MimeJSON
+ SwaggerPetstore.API: instance SwaggerPetstore.MimeTypes.Produces SwaggerPetstore.API.TestClassname SwaggerPetstore.MimeTypes.MimeJSON
+ SwaggerPetstore.API: instance SwaggerPetstore.MimeTypes.Produces SwaggerPetstore.API.TestClientModel SwaggerPetstore.MimeTypes.MimeJSON
+ SwaggerPetstore.API: instance SwaggerPetstore.MimeTypes.Produces SwaggerPetstore.API.TestEndpointParameters SwaggerPetstore.MimeTypes.MimeJsonCharsetutf8
+ SwaggerPetstore.API: instance SwaggerPetstore.MimeTypes.Produces SwaggerPetstore.API.TestEndpointParameters SwaggerPetstore.MimeTypes.MimeXmlCharsetutf8
+ SwaggerPetstore.API: instance SwaggerPetstore.MimeTypes.Produces SwaggerPetstore.API.TestEnumParameters SwaggerPetstore.MimeTypes.MimeAny
+ SwaggerPetstore.API: instance SwaggerPetstore.MimeTypes.Produces SwaggerPetstore.API.TestSpecialTags SwaggerPetstore.MimeTypes.MimeJSON
+ SwaggerPetstore.API: newtype ApiKey
+ SwaggerPetstore.API: newtype Body
+ SwaggerPetstore.API: newtype BodyOuterBoolean
+ SwaggerPetstore.API: newtype BodyOuterComposite
+ SwaggerPetstore.API: newtype BodyOuterString
+ SwaggerPetstore.API: newtype Callback
+ SwaggerPetstore.API: newtype EnumFormString
+ SwaggerPetstore.API: newtype EnumFormStringArray
+ SwaggerPetstore.API: newtype EnumHeaderString
+ SwaggerPetstore.API: newtype EnumHeaderStringArray
+ SwaggerPetstore.API: newtype EnumQueryDouble
+ SwaggerPetstore.API: newtype EnumQueryInteger
+ SwaggerPetstore.API: newtype EnumQueryString
+ SwaggerPetstore.API: newtype EnumQueryStringArray
+ SwaggerPetstore.API: newtype Int32
+ SwaggerPetstore.API: newtype Int64
+ SwaggerPetstore.API: newtype Name2
+ SwaggerPetstore.API: newtype ParamBinary
+ SwaggerPetstore.API: newtype ParamDate
+ SwaggerPetstore.API: newtype ParamDateTime
+ SwaggerPetstore.API: newtype ParamFloat
+ SwaggerPetstore.API: newtype ParamInteger
+ SwaggerPetstore.API: newtype ParamString
+ SwaggerPetstore.API: newtype Password
+ SwaggerPetstore.API: testClassname :: (Consumes TestClassname contentType, MimeRender contentType Client) => contentType -> Client -> SwaggerPetstoreRequest TestClassname contentType Client
+ SwaggerPetstore.API: testClientModel :: (Consumes TestClientModel contentType, MimeRender contentType Client) => contentType -> Client -> SwaggerPetstoreRequest TestClientModel contentType Client
+ SwaggerPetstore.API: testEndpointParameters :: (Consumes TestEndpointParameters contentType) => contentType -> Double -> Double -> Text -> ByteArray -> SwaggerPetstoreRequest TestEndpointParameters contentType res
+ SwaggerPetstore.API: testEnumParameters :: (Consumes TestEnumParameters contentType) => contentType -> SwaggerPetstoreRequest TestEnumParameters contentType res
+ SwaggerPetstore.API: testJsonFormData :: (Consumes TestJsonFormData contentType) => contentType -> Text -> Text -> SwaggerPetstoreRequest TestJsonFormData contentType NoContent
+ SwaggerPetstore.API: testSpecialTags :: (Consumes TestSpecialTags contentType, MimeRender contentType Client) => contentType -> Client -> SwaggerPetstoreRequest TestSpecialTags contentType Client
+ SwaggerPetstore.Client: [configLogContext] :: SwaggerPetstoreConfig -> LogContext
+ SwaggerPetstore.Client: [configLogExecWithContext] :: SwaggerPetstoreConfig -> LogExecWithContext
+ SwaggerPetstore.Client: runConfigLog :: MonadIO m => SwaggerPetstoreConfig -> LogExec m
+ SwaggerPetstore.Client: runConfigLogWithExceptions :: (MonadCatch m, MonadIO m) => Text -> SwaggerPetstoreConfig -> LogExec m
+ SwaggerPetstore.Lens: additionalPropertiesClassMapOfMapPropertyL :: Lens_' AdditionalPropertiesClass (Maybe (Map String (Map String Text)))
+ SwaggerPetstore.Lens: additionalPropertiesClassMapPropertyL :: Lens_' AdditionalPropertiesClass (Maybe (Map String Text))
+ SwaggerPetstore.Lens: animalClassNameL :: Lens_' Animal (Text)
+ SwaggerPetstore.Lens: animalColorL :: Lens_' Animal (Maybe Text)
+ SwaggerPetstore.Lens: arrayOfArrayOfNumberOnlyArrayArrayNumberL :: Lens_' ArrayOfArrayOfNumberOnly (Maybe [[Double]])
+ SwaggerPetstore.Lens: arrayOfNumberOnlyArrayNumberL :: Lens_' ArrayOfNumberOnly (Maybe [Double])
+ SwaggerPetstore.Lens: arrayTestArrayArrayOfIntegerL :: Lens_' ArrayTest (Maybe [[Integer]])
+ SwaggerPetstore.Lens: arrayTestArrayArrayOfModelL :: Lens_' ArrayTest (Maybe [[ReadOnlyFirst]])
+ SwaggerPetstore.Lens: arrayTestArrayOfStringL :: Lens_' ArrayTest (Maybe [Text])
+ SwaggerPetstore.Lens: capitalizationAttNameL :: Lens_' Capitalization (Maybe Text)
+ SwaggerPetstore.Lens: capitalizationCapitalCamelL :: Lens_' Capitalization (Maybe Text)
+ SwaggerPetstore.Lens: capitalizationCapitalSnakeL :: Lens_' Capitalization (Maybe Text)
+ SwaggerPetstore.Lens: capitalizationScaEthFlowPointsL :: Lens_' Capitalization (Maybe Text)
+ SwaggerPetstore.Lens: capitalizationSmallCamelL :: Lens_' Capitalization (Maybe Text)
+ SwaggerPetstore.Lens: capitalizationSmallSnakeL :: Lens_' Capitalization (Maybe Text)
+ SwaggerPetstore.Lens: catClassNameL :: Lens_' Cat (Text)
+ SwaggerPetstore.Lens: catColorL :: Lens_' Cat (Maybe Text)
+ SwaggerPetstore.Lens: catDeclawedL :: Lens_' Cat (Maybe Bool)
+ SwaggerPetstore.Lens: classModelClassL :: Lens_' ClassModel (Maybe Text)
+ SwaggerPetstore.Lens: clientClientL :: Lens_' Client (Maybe Text)
+ SwaggerPetstore.Lens: dogBreedL :: Lens_' Dog (Maybe Text)
+ SwaggerPetstore.Lens: dogClassNameL :: Lens_' Dog (Text)
+ SwaggerPetstore.Lens: dogColorL :: Lens_' Dog (Maybe Text)
+ SwaggerPetstore.Lens: enumArraysArrayEnumL :: Lens_' EnumArrays (Maybe [Text])
+ SwaggerPetstore.Lens: enumArraysJustSymbolL :: Lens_' EnumArrays (Maybe Text)
+ SwaggerPetstore.Lens: enumTestEnumIntegerL :: Lens_' EnumTest (Maybe Int)
+ SwaggerPetstore.Lens: enumTestEnumNumberL :: Lens_' EnumTest (Maybe Double)
+ SwaggerPetstore.Lens: enumTestEnumStringL :: Lens_' EnumTest (Maybe Text)
+ SwaggerPetstore.Lens: enumTestOuterEnumL :: Lens_' EnumTest (Maybe OuterEnum)
+ SwaggerPetstore.Lens: formatTestBinaryL :: Lens_' FormatTest (Maybe Binary)
+ SwaggerPetstore.Lens: formatTestByteL :: Lens_' FormatTest (ByteArray)
+ SwaggerPetstore.Lens: formatTestDateL :: Lens_' FormatTest (Date)
+ SwaggerPetstore.Lens: formatTestDateTimeL :: Lens_' FormatTest (Maybe DateTime)
+ SwaggerPetstore.Lens: formatTestDoubleL :: Lens_' FormatTest (Maybe Double)
+ SwaggerPetstore.Lens: formatTestFloatL :: Lens_' FormatTest (Maybe Float)
+ SwaggerPetstore.Lens: formatTestInt32L :: Lens_' FormatTest (Maybe Int)
+ SwaggerPetstore.Lens: formatTestInt64L :: Lens_' FormatTest (Maybe Integer)
+ SwaggerPetstore.Lens: formatTestIntegerL :: Lens_' FormatTest (Maybe Int)
+ SwaggerPetstore.Lens: formatTestNumberL :: Lens_' FormatTest (Double)
+ SwaggerPetstore.Lens: formatTestPasswordL :: Lens_' FormatTest (Text)
+ SwaggerPetstore.Lens: formatTestStringL :: Lens_' FormatTest (Maybe Text)
+ SwaggerPetstore.Lens: formatTestUuidL :: Lens_' FormatTest (Maybe Text)
+ SwaggerPetstore.Lens: hasOnlyReadOnlyBarL :: Lens_' HasOnlyReadOnly (Maybe Text)
+ SwaggerPetstore.Lens: hasOnlyReadOnlyFooL :: Lens_' HasOnlyReadOnly (Maybe Text)
+ SwaggerPetstore.Lens: mapTestMapMapOfStringL :: Lens_' MapTest (Maybe (Map String (Map String Text)))
+ SwaggerPetstore.Lens: mapTestMapOfEnumStringL :: Lens_' MapTest (Maybe (Map String Text))
+ SwaggerPetstore.Lens: mixedPropertiesAndAdditionalPropertiesClassDateTimeL :: Lens_' MixedPropertiesAndAdditionalPropertiesClass (Maybe DateTime)
+ SwaggerPetstore.Lens: mixedPropertiesAndAdditionalPropertiesClassMapL :: Lens_' MixedPropertiesAndAdditionalPropertiesClass (Maybe (Map String Animal))
+ SwaggerPetstore.Lens: mixedPropertiesAndAdditionalPropertiesClassUuidL :: Lens_' MixedPropertiesAndAdditionalPropertiesClass (Maybe Text)
+ SwaggerPetstore.Lens: model200ResponseClassL :: Lens_' Model200Response (Maybe Text)
+ SwaggerPetstore.Lens: model200ResponseNameL :: Lens_' Model200Response (Maybe Int)
+ SwaggerPetstore.Lens: modelList123ListL :: Lens_' ModelList (Maybe Text)
+ SwaggerPetstore.Lens: modelReturnReturnL :: Lens_' ModelReturn (Maybe Int)
+ SwaggerPetstore.Lens: name123NumberL :: Lens_' Name (Maybe Int)
+ SwaggerPetstore.Lens: nameNameL :: Lens_' Name (Int)
+ SwaggerPetstore.Lens: namePropertyL :: Lens_' Name (Maybe Text)
+ SwaggerPetstore.Lens: nameSnakeCaseL :: Lens_' Name (Maybe Int)
+ SwaggerPetstore.Lens: numberOnlyJustNumberL :: Lens_' NumberOnly (Maybe Double)
+ SwaggerPetstore.Lens: outerCompositeMyBooleanL :: Lens_' OuterComposite (Maybe OuterBoolean)
+ SwaggerPetstore.Lens: outerCompositeMyNumberL :: Lens_' OuterComposite (Maybe OuterNumber)
+ SwaggerPetstore.Lens: outerCompositeMyStringL :: Lens_' OuterComposite (Maybe OuterString)
+ SwaggerPetstore.Lens: readOnlyFirstBarL :: Lens_' ReadOnlyFirst (Maybe Text)
+ SwaggerPetstore.Lens: readOnlyFirstBazL :: Lens_' ReadOnlyFirst (Maybe Text)
+ SwaggerPetstore.Lens: specialModelNameSpecialPropertyNameL :: Lens_' SpecialModelName (Maybe Integer)
+ SwaggerPetstore.Logging: _log :: (Applicative m, Katip m) => Text -> LogLevel -> Text -> m ()
+ SwaggerPetstore.Logging: initLogContext :: IO LogContext
+ SwaggerPetstore.Logging: levelDebug :: LogLevel
+ SwaggerPetstore.Logging: levelError :: LogLevel
+ SwaggerPetstore.Logging: levelInfo :: LogLevel
+ SwaggerPetstore.Logging: logExceptions :: (Katip m, MonadCatch m, Applicative m) => Text -> m a -> m a
+ SwaggerPetstore.Logging: runDefaultLogExecWithContext :: LogExecWithContext
+ SwaggerPetstore.Logging: runNullLogExec :: LogExecWithContext
+ SwaggerPetstore.Logging: stderrLoggingContext :: LogContext -> IO LogContext
+ SwaggerPetstore.Logging: stderrLoggingExec :: LogExecWithContext
+ SwaggerPetstore.Logging: stdoutLoggingContext :: LogContext -> IO LogContext
+ SwaggerPetstore.Logging: stdoutLoggingExec :: LogExecWithContext
+ SwaggerPetstore.Logging: type LogContext = LogEnv
+ SwaggerPetstore.Logging: type LogExec m = forall a. KatipT m a -> m a
+ SwaggerPetstore.Logging: type LogLevel = Severity
+ SwaggerPetstore.MimeTypes: MimeAny :: MimeAny
+ SwaggerPetstore.MimeTypes: MimeJsonCharsetutf8 :: MimeJsonCharsetutf8
+ SwaggerPetstore.MimeTypes: MimeXmlCharsetutf8 :: MimeXmlCharsetutf8
+ SwaggerPetstore.MimeTypes: data MimeAny
+ SwaggerPetstore.MimeTypes: data MimeJsonCharsetutf8
+ SwaggerPetstore.MimeTypes: data MimeXmlCharsetutf8
+ SwaggerPetstore.MimeTypes: instance Data.Aeson.Types.FromJSON.FromJSON a => SwaggerPetstore.MimeTypes.MimeUnrender SwaggerPetstore.MimeTypes.MimeJsonCharsetutf8 a
+ SwaggerPetstore.MimeTypes: instance Data.Aeson.Types.ToJSON.ToJSON a => SwaggerPetstore.MimeTypes.MimeRender SwaggerPetstore.MimeTypes.MimeJsonCharsetutf8 a
+ SwaggerPetstore.MimeTypes: instance SwaggerPetstore.MimeTypes.MimeRender SwaggerPetstore.MimeTypes.MimeMultipartFormData GHC.Integer.Type.Integer
+ SwaggerPetstore.MimeTypes: instance SwaggerPetstore.MimeTypes.MimeRender SwaggerPetstore.MimeTypes.MimeMultipartFormData GHC.Types.Bool
+ SwaggerPetstore.MimeTypes: instance SwaggerPetstore.MimeTypes.MimeRender SwaggerPetstore.MimeTypes.MimeMultipartFormData GHC.Types.Char
+ SwaggerPetstore.MimeTypes: instance SwaggerPetstore.MimeTypes.MimeRender SwaggerPetstore.MimeTypes.MimeMultipartFormData GHC.Types.Double
+ SwaggerPetstore.MimeTypes: instance SwaggerPetstore.MimeTypes.MimeRender SwaggerPetstore.MimeTypes.MimeMultipartFormData GHC.Types.Float
+ SwaggerPetstore.MimeTypes: instance SwaggerPetstore.MimeTypes.MimeRender SwaggerPetstore.MimeTypes.MimeMultipartFormData GHC.Types.Int
+ SwaggerPetstore.MimeTypes: instance SwaggerPetstore.MimeTypes.MimeRender SwaggerPetstore.MimeTypes.MimeMultipartFormData SwaggerPetstore.Model.Binary
+ SwaggerPetstore.MimeTypes: instance SwaggerPetstore.MimeTypes.MimeRender SwaggerPetstore.MimeTypes.MimeMultipartFormData SwaggerPetstore.Model.ByteArray
+ SwaggerPetstore.MimeTypes: instance SwaggerPetstore.MimeTypes.MimeRender SwaggerPetstore.MimeTypes.MimeMultipartFormData SwaggerPetstore.Model.Date
+ SwaggerPetstore.MimeTypes: instance SwaggerPetstore.MimeTypes.MimeRender SwaggerPetstore.MimeTypes.MimeMultipartFormData SwaggerPetstore.Model.DateTime
+ SwaggerPetstore.MimeTypes: instance SwaggerPetstore.MimeTypes.MimeType SwaggerPetstore.MimeTypes.MimeAny
+ SwaggerPetstore.MimeTypes: instance SwaggerPetstore.MimeTypes.MimeType SwaggerPetstore.MimeTypes.MimeJsonCharsetutf8
+ SwaggerPetstore.MimeTypes: instance SwaggerPetstore.MimeTypes.MimeType SwaggerPetstore.MimeTypes.MimeXmlCharsetutf8
+ SwaggerPetstore.MimeTypes: mimeRenderDefaultMultipartFormData :: ToHttpApiData a => a -> ByteString
+ SwaggerPetstore.Model: AdditionalPropertiesClass :: !(Maybe (Map String Text)) -> !(Maybe (Map String (Map String Text))) -> AdditionalPropertiesClass
+ SwaggerPetstore.Model: Animal :: !(Text) -> !(Maybe Text) -> Animal
+ SwaggerPetstore.Model: AnimalFarm :: AnimalFarm
+ SwaggerPetstore.Model: ArrayOfArrayOfNumberOnly :: !(Maybe [[Double]]) -> ArrayOfArrayOfNumberOnly
+ SwaggerPetstore.Model: ArrayOfNumberOnly :: !(Maybe [Double]) -> ArrayOfNumberOnly
+ SwaggerPetstore.Model: ArrayTest :: !(Maybe [Text]) -> !(Maybe [[Integer]]) -> !(Maybe [[ReadOnlyFirst]]) -> ArrayTest
+ SwaggerPetstore.Model: Binary :: ByteString -> Binary
+ SwaggerPetstore.Model: ByteArray :: ByteString -> ByteArray
+ SwaggerPetstore.Model: Capitalization :: !(Maybe Text) -> !(Maybe Text) -> !(Maybe Text) -> !(Maybe Text) -> !(Maybe Text) -> !(Maybe Text) -> Capitalization
+ SwaggerPetstore.Model: Cat :: !(Text) -> !(Maybe Text) -> !(Maybe Bool) -> Cat
+ SwaggerPetstore.Model: ClassModel :: !(Maybe Text) -> ClassModel
+ SwaggerPetstore.Model: Client :: !(Maybe Text) -> Client
+ SwaggerPetstore.Model: Date :: Day -> Date
+ SwaggerPetstore.Model: DateTime :: UTCTime -> DateTime
+ SwaggerPetstore.Model: Dog :: !(Text) -> !(Maybe Text) -> !(Maybe Text) -> Dog
+ SwaggerPetstore.Model: EnumArrays :: !(Maybe Text) -> !(Maybe [Text]) -> EnumArrays
+ SwaggerPetstore.Model: EnumClass :: EnumClass
+ SwaggerPetstore.Model: EnumTest :: !(Maybe Text) -> !(Maybe Int) -> !(Maybe Double) -> !(Maybe OuterEnum) -> EnumTest
+ SwaggerPetstore.Model: FormatTest :: !(Maybe Int) -> !(Maybe Int) -> !(Maybe Integer) -> !(Double) -> !(Maybe Float) -> !(Maybe Double) -> !(Maybe Text) -> !(ByteArray) -> !(Maybe Binary) -> !(Date) -> !(Maybe DateTime) -> !(Maybe Text) -> !(Text) -> FormatTest
+ SwaggerPetstore.Model: HasOnlyReadOnly :: !(Maybe Text) -> !(Maybe Text) -> HasOnlyReadOnly
+ SwaggerPetstore.Model: MapTest :: !(Maybe (Map String (Map String Text))) -> !(Maybe (Map String Text)) -> MapTest
+ SwaggerPetstore.Model: MixedPropertiesAndAdditionalPropertiesClass :: !(Maybe Text) -> !(Maybe DateTime) -> !(Maybe (Map String Animal)) -> MixedPropertiesAndAdditionalPropertiesClass
+ SwaggerPetstore.Model: Model200Response :: !(Maybe Int) -> !(Maybe Text) -> Model200Response
+ SwaggerPetstore.Model: ModelList :: !(Maybe Text) -> ModelList
+ SwaggerPetstore.Model: ModelReturn :: !(Maybe Int) -> ModelReturn
+ SwaggerPetstore.Model: Name :: !(Int) -> !(Maybe Int) -> !(Maybe Text) -> !(Maybe Int) -> Name
+ SwaggerPetstore.Model: NumberOnly :: !(Maybe Double) -> NumberOnly
+ SwaggerPetstore.Model: OuterBoolean :: OuterBoolean
+ SwaggerPetstore.Model: OuterComposite :: !(Maybe OuterNumber) -> !(Maybe OuterString) -> !(Maybe OuterBoolean) -> OuterComposite
+ SwaggerPetstore.Model: OuterEnum :: OuterEnum
+ SwaggerPetstore.Model: OuterNumber :: OuterNumber
+ SwaggerPetstore.Model: OuterString :: OuterString
+ SwaggerPetstore.Model: ReadOnlyFirst :: !(Maybe Text) -> !(Maybe Text) -> ReadOnlyFirst
+ SwaggerPetstore.Model: SpecialModelName :: !(Maybe Integer) -> SpecialModelName
+ SwaggerPetstore.Model: [additionalPropertiesClassMapOfMapProperty] :: AdditionalPropertiesClass -> !(Maybe (Map String (Map String Text)))
+ SwaggerPetstore.Model: [additionalPropertiesClassMapProperty] :: AdditionalPropertiesClass -> !(Maybe (Map String Text))
+ SwaggerPetstore.Model: [animalClassName] :: Animal -> !(Text)
+ SwaggerPetstore.Model: [animalColor] :: Animal -> !(Maybe Text)
+ SwaggerPetstore.Model: [arrayOfArrayOfNumberOnlyArrayArrayNumber] :: ArrayOfArrayOfNumberOnly -> !(Maybe [[Double]])
+ SwaggerPetstore.Model: [arrayOfNumberOnlyArrayNumber] :: ArrayOfNumberOnly -> !(Maybe [Double])
+ SwaggerPetstore.Model: [arrayTestArrayArrayOfInteger] :: ArrayTest -> !(Maybe [[Integer]])
+ SwaggerPetstore.Model: [arrayTestArrayArrayOfModel] :: ArrayTest -> !(Maybe [[ReadOnlyFirst]])
+ SwaggerPetstore.Model: [arrayTestArrayOfString] :: ArrayTest -> !(Maybe [Text])
+ SwaggerPetstore.Model: [capitalizationAttName] :: Capitalization -> !(Maybe Text)
+ SwaggerPetstore.Model: [capitalizationCapitalCamel] :: Capitalization -> !(Maybe Text)
+ SwaggerPetstore.Model: [capitalizationCapitalSnake] :: Capitalization -> !(Maybe Text)
+ SwaggerPetstore.Model: [capitalizationScaEthFlowPoints] :: Capitalization -> !(Maybe Text)
+ SwaggerPetstore.Model: [capitalizationSmallCamel] :: Capitalization -> !(Maybe Text)
+ SwaggerPetstore.Model: [capitalizationSmallSnake] :: Capitalization -> !(Maybe Text)
+ SwaggerPetstore.Model: [catClassName] :: Cat -> !(Text)
+ SwaggerPetstore.Model: [catColor] :: Cat -> !(Maybe Text)
+ SwaggerPetstore.Model: [catDeclawed] :: Cat -> !(Maybe Bool)
+ SwaggerPetstore.Model: [classModelClass] :: ClassModel -> !(Maybe Text)
+ SwaggerPetstore.Model: [clientClient] :: Client -> !(Maybe Text)
+ SwaggerPetstore.Model: [dogBreed] :: Dog -> !(Maybe Text)
+ SwaggerPetstore.Model: [dogClassName] :: Dog -> !(Text)
+ SwaggerPetstore.Model: [dogColor] :: Dog -> !(Maybe Text)
+ SwaggerPetstore.Model: [enumArraysArrayEnum] :: EnumArrays -> !(Maybe [Text])
+ SwaggerPetstore.Model: [enumArraysJustSymbol] :: EnumArrays -> !(Maybe Text)
+ SwaggerPetstore.Model: [enumTestEnumInteger] :: EnumTest -> !(Maybe Int)
+ SwaggerPetstore.Model: [enumTestEnumNumber] :: EnumTest -> !(Maybe Double)
+ SwaggerPetstore.Model: [enumTestEnumString] :: EnumTest -> !(Maybe Text)
+ SwaggerPetstore.Model: [enumTestOuterEnum] :: EnumTest -> !(Maybe OuterEnum)
+ SwaggerPetstore.Model: [formatTestBinary] :: FormatTest -> !(Maybe Binary)
+ SwaggerPetstore.Model: [formatTestByte] :: FormatTest -> !(ByteArray)
+ SwaggerPetstore.Model: [formatTestDateTime] :: FormatTest -> !(Maybe DateTime)
+ SwaggerPetstore.Model: [formatTestDate] :: FormatTest -> !(Date)
+ SwaggerPetstore.Model: [formatTestDouble] :: FormatTest -> !(Maybe Double)
+ SwaggerPetstore.Model: [formatTestFloat] :: FormatTest -> !(Maybe Float)
+ SwaggerPetstore.Model: [formatTestInt32] :: FormatTest -> !(Maybe Int)
+ SwaggerPetstore.Model: [formatTestInt64] :: FormatTest -> !(Maybe Integer)
+ SwaggerPetstore.Model: [formatTestInteger] :: FormatTest -> !(Maybe Int)
+ SwaggerPetstore.Model: [formatTestNumber] :: FormatTest -> !(Double)
+ SwaggerPetstore.Model: [formatTestPassword] :: FormatTest -> !(Text)
+ SwaggerPetstore.Model: [formatTestString] :: FormatTest -> !(Maybe Text)
+ SwaggerPetstore.Model: [formatTestUuid] :: FormatTest -> !(Maybe Text)
+ SwaggerPetstore.Model: [hasOnlyReadOnlyBar] :: HasOnlyReadOnly -> !(Maybe Text)
+ SwaggerPetstore.Model: [hasOnlyReadOnlyFoo] :: HasOnlyReadOnly -> !(Maybe Text)
+ SwaggerPetstore.Model: [mapTestMapMapOfString] :: MapTest -> !(Maybe (Map String (Map String Text)))
+ SwaggerPetstore.Model: [mapTestMapOfEnumString] :: MapTest -> !(Maybe (Map String Text))
+ SwaggerPetstore.Model: [mixedPropertiesAndAdditionalPropertiesClassDateTime] :: MixedPropertiesAndAdditionalPropertiesClass -> !(Maybe DateTime)
+ SwaggerPetstore.Model: [mixedPropertiesAndAdditionalPropertiesClassMap] :: MixedPropertiesAndAdditionalPropertiesClass -> !(Maybe (Map String Animal))
+ SwaggerPetstore.Model: [mixedPropertiesAndAdditionalPropertiesClassUuid] :: MixedPropertiesAndAdditionalPropertiesClass -> !(Maybe Text)
+ SwaggerPetstore.Model: [model200ResponseClass] :: Model200Response -> !(Maybe Text)
+ SwaggerPetstore.Model: [model200ResponseName] :: Model200Response -> !(Maybe Int)
+ SwaggerPetstore.Model: [modelList123List] :: ModelList -> !(Maybe Text)
+ SwaggerPetstore.Model: [modelReturnReturn] :: ModelReturn -> !(Maybe Int)
+ SwaggerPetstore.Model: [name123Number] :: Name -> !(Maybe Int)
+ SwaggerPetstore.Model: [nameName] :: Name -> !(Int)
+ SwaggerPetstore.Model: [nameProperty] :: Name -> !(Maybe Text)
+ SwaggerPetstore.Model: [nameSnakeCase] :: Name -> !(Maybe Int)
+ SwaggerPetstore.Model: [numberOnlyJustNumber] :: NumberOnly -> !(Maybe Double)
+ SwaggerPetstore.Model: [outerCompositeMyBoolean] :: OuterComposite -> !(Maybe OuterBoolean)
+ SwaggerPetstore.Model: [outerCompositeMyNumber] :: OuterComposite -> !(Maybe OuterNumber)
+ SwaggerPetstore.Model: [outerCompositeMyString] :: OuterComposite -> !(Maybe OuterString)
+ SwaggerPetstore.Model: [readOnlyFirstBar] :: ReadOnlyFirst -> !(Maybe Text)
+ SwaggerPetstore.Model: [readOnlyFirstBaz] :: ReadOnlyFirst -> !(Maybe Text)
+ SwaggerPetstore.Model: [specialModelNameSpecialPropertyName] :: SpecialModelName -> !(Maybe Integer)
+ SwaggerPetstore.Model: [unBinary] :: Binary -> ByteString
+ SwaggerPetstore.Model: [unByteArray] :: ByteArray -> ByteString
+ SwaggerPetstore.Model: [unDateTime] :: DateTime -> UTCTime
+ SwaggerPetstore.Model: [unDate] :: Date -> Day
+ SwaggerPetstore.Model: _readBinaryBase64 :: Monad m => Text -> m Binary
+ SwaggerPetstore.Model: _readByteArray :: Monad m => Text -> m ByteArray
+ SwaggerPetstore.Model: _showBinaryBase64 :: Binary -> Text
+ SwaggerPetstore.Model: _showByteArray :: ByteArray -> Text
+ SwaggerPetstore.Model: data AdditionalPropertiesClass
+ SwaggerPetstore.Model: data Animal
+ SwaggerPetstore.Model: data AnimalFarm
+ SwaggerPetstore.Model: data ArrayOfArrayOfNumberOnly
+ SwaggerPetstore.Model: data ArrayOfNumberOnly
+ SwaggerPetstore.Model: data ArrayTest
+ SwaggerPetstore.Model: data Capitalization
+ SwaggerPetstore.Model: data Cat
+ SwaggerPetstore.Model: data ClassModel
+ SwaggerPetstore.Model: data Client
+ SwaggerPetstore.Model: data Dog
+ SwaggerPetstore.Model: data EnumArrays
+ SwaggerPetstore.Model: data EnumClass
+ SwaggerPetstore.Model: data EnumTest
+ SwaggerPetstore.Model: data FormatTest
+ SwaggerPetstore.Model: data HasOnlyReadOnly
+ SwaggerPetstore.Model: data MapTest
+ SwaggerPetstore.Model: data MixedPropertiesAndAdditionalPropertiesClass
+ SwaggerPetstore.Model: data Model200Response
+ SwaggerPetstore.Model: data ModelList
+ SwaggerPetstore.Model: data ModelReturn
+ SwaggerPetstore.Model: data Name
+ SwaggerPetstore.Model: data NumberOnly
+ SwaggerPetstore.Model: data OuterBoolean
+ SwaggerPetstore.Model: data OuterComposite
+ SwaggerPetstore.Model: data OuterEnum
+ SwaggerPetstore.Model: data OuterNumber
+ SwaggerPetstore.Model: data OuterString
+ SwaggerPetstore.Model: data ReadOnlyFirst
+ SwaggerPetstore.Model: data SpecialModelName
+ SwaggerPetstore.Model: instance Control.DeepSeq.NFData SwaggerPetstore.Model.Binary
+ SwaggerPetstore.Model: instance Control.DeepSeq.NFData SwaggerPetstore.Model.ByteArray
+ SwaggerPetstore.Model: instance Control.DeepSeq.NFData SwaggerPetstore.Model.Date
+ SwaggerPetstore.Model: instance Control.DeepSeq.NFData SwaggerPetstore.Model.DateTime
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.AdditionalPropertiesClass
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.Animal
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.AnimalFarm
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.ArrayOfArrayOfNumberOnly
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.ArrayOfNumberOnly
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.ArrayTest
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.Binary
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.ByteArray
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.Capitalization
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.Cat
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.ClassModel
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.Client
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.Date
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.DateTime
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.Dog
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.EnumArrays
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.EnumClass
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.EnumTest
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.FormatTest
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.HasOnlyReadOnly
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.MapTest
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.MixedPropertiesAndAdditionalPropertiesClass
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.Model200Response
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.ModelList
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.ModelReturn
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.Name
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.NumberOnly
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.OuterBoolean
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.OuterComposite
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.OuterEnum
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.OuterNumber
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.OuterString
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.ReadOnlyFirst
+ SwaggerPetstore.Model: instance Data.Aeson.Types.FromJSON.FromJSON SwaggerPetstore.Model.SpecialModelName
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.AdditionalPropertiesClass
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.Animal
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.AnimalFarm
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.ArrayOfArrayOfNumberOnly
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.ArrayOfNumberOnly
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.ArrayTest
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.Binary
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.ByteArray
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.Capitalization
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.Cat
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.ClassModel
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.Client
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.Date
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.DateTime
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.Dog
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.EnumArrays
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.EnumClass
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.EnumTest
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.FormatTest
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.HasOnlyReadOnly
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.MapTest
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.MixedPropertiesAndAdditionalPropertiesClass
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.Model200Response
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.ModelList
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.ModelReturn
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.Name
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.NumberOnly
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.OuterBoolean
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.OuterComposite
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.OuterEnum
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.OuterNumber
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.OuterString
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.ReadOnlyFirst
+ SwaggerPetstore.Model: instance Data.Aeson.Types.ToJSON.ToJSON SwaggerPetstore.Model.SpecialModelName
+ SwaggerPetstore.Model: instance Data.Data.Data SwaggerPetstore.Model.Binary
+ SwaggerPetstore.Model: instance Data.Data.Data SwaggerPetstore.Model.ByteArray
+ SwaggerPetstore.Model: instance Data.Data.Data SwaggerPetstore.Model.Date
+ SwaggerPetstore.Model: instance Data.Data.Data SwaggerPetstore.Model.DateTime
+ SwaggerPetstore.Model: instance Data.Time.Format.FormatTime SwaggerPetstore.Model.Date
+ SwaggerPetstore.Model: instance Data.Time.Format.FormatTime SwaggerPetstore.Model.DateTime
+ SwaggerPetstore.Model: instance Data.Time.Format.Parse.ParseTime SwaggerPetstore.Model.Date
+ SwaggerPetstore.Model: instance Data.Time.Format.Parse.ParseTime SwaggerPetstore.Model.DateTime
+ SwaggerPetstore.Model: instance GHC.Arr.Ix SwaggerPetstore.Model.Date
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.AdditionalPropertiesClass
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.Animal
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.AnimalFarm
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.ArrayOfArrayOfNumberOnly
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.ArrayOfNumberOnly
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.ArrayTest
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.Binary
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.ByteArray
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.Capitalization
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.Cat
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.ClassModel
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.Client
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.Date
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.DateTime
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.Dog
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.EnumArrays
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.EnumClass
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.EnumTest
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.FormatTest
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.HasOnlyReadOnly
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.MapTest
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.MixedPropertiesAndAdditionalPropertiesClass
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.Model200Response
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.ModelList
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.ModelReturn
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.Name
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.NumberOnly
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.OuterBoolean
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.OuterComposite
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.OuterEnum
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.OuterNumber
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.OuterString
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.ReadOnlyFirst
+ SwaggerPetstore.Model: instance GHC.Classes.Eq SwaggerPetstore.Model.SpecialModelName
+ SwaggerPetstore.Model: instance GHC.Classes.Ord SwaggerPetstore.Model.Binary
+ SwaggerPetstore.Model: instance GHC.Classes.Ord SwaggerPetstore.Model.ByteArray
+ SwaggerPetstore.Model: instance GHC.Classes.Ord SwaggerPetstore.Model.Date
+ SwaggerPetstore.Model: instance GHC.Classes.Ord SwaggerPetstore.Model.DateTime
+ SwaggerPetstore.Model: instance GHC.Enum.Enum SwaggerPetstore.Model.Date
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.AdditionalPropertiesClass
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.Animal
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.AnimalFarm
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.ArrayOfArrayOfNumberOnly
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.ArrayOfNumberOnly
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.ArrayTest
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.Binary
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.ByteArray
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.Capitalization
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.Cat
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.ClassModel
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.Client
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.Date
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.DateTime
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.Dog
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.EnumArrays
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.EnumClass
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.EnumTest
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.FormatTest
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.HasOnlyReadOnly
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.MapTest
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.MixedPropertiesAndAdditionalPropertiesClass
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.Model200Response
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.ModelList
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.ModelReturn
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.Name
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.NumberOnly
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.OuterBoolean
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.OuterComposite
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.OuterEnum
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.OuterNumber
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.OuterString
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.ReadOnlyFirst
+ SwaggerPetstore.Model: instance GHC.Show.Show SwaggerPetstore.Model.SpecialModelName
+ SwaggerPetstore.Model: instance Web.Internal.HttpApiData.FromHttpApiData SwaggerPetstore.Model.Binary
+ SwaggerPetstore.Model: instance Web.Internal.HttpApiData.FromHttpApiData SwaggerPetstore.Model.ByteArray
+ SwaggerPetstore.Model: instance Web.Internal.HttpApiData.FromHttpApiData SwaggerPetstore.Model.Date
+ SwaggerPetstore.Model: instance Web.Internal.HttpApiData.FromHttpApiData SwaggerPetstore.Model.DateTime
+ SwaggerPetstore.Model: instance Web.Internal.HttpApiData.ToHttpApiData SwaggerPetstore.Model.Binary
+ SwaggerPetstore.Model: instance Web.Internal.HttpApiData.ToHttpApiData SwaggerPetstore.Model.ByteArray
+ SwaggerPetstore.Model: instance Web.Internal.HttpApiData.ToHttpApiData SwaggerPetstore.Model.Date
+ SwaggerPetstore.Model: instance Web.Internal.HttpApiData.ToHttpApiData SwaggerPetstore.Model.DateTime
+ SwaggerPetstore.Model: mkAdditionalPropertiesClass :: AdditionalPropertiesClass
+ SwaggerPetstore.Model: mkAnimal :: Text -> Animal
+ SwaggerPetstore.Model: mkAnimalFarm :: AnimalFarm
+ SwaggerPetstore.Model: mkArrayOfArrayOfNumberOnly :: ArrayOfArrayOfNumberOnly
+ SwaggerPetstore.Model: mkArrayOfNumberOnly :: ArrayOfNumberOnly
+ SwaggerPetstore.Model: mkArrayTest :: ArrayTest
+ SwaggerPetstore.Model: mkCapitalization :: Capitalization
+ SwaggerPetstore.Model: mkCat :: Text -> Cat
+ SwaggerPetstore.Model: mkClassModel :: ClassModel
+ SwaggerPetstore.Model: mkClient :: Client
+ SwaggerPetstore.Model: mkDog :: Text -> Dog
+ SwaggerPetstore.Model: mkEnumArrays :: EnumArrays
+ SwaggerPetstore.Model: mkEnumClass :: EnumClass
+ SwaggerPetstore.Model: mkEnumTest :: EnumTest
+ SwaggerPetstore.Model: mkFormatTest :: Double -> ByteArray -> Date -> Text -> FormatTest
+ SwaggerPetstore.Model: mkHasOnlyReadOnly :: HasOnlyReadOnly
+ SwaggerPetstore.Model: mkMapTest :: MapTest
+ SwaggerPetstore.Model: mkMixedPropertiesAndAdditionalPropertiesClass :: MixedPropertiesAndAdditionalPropertiesClass
+ SwaggerPetstore.Model: mkModel200Response :: Model200Response
+ SwaggerPetstore.Model: mkModelList :: ModelList
+ SwaggerPetstore.Model: mkModelReturn :: ModelReturn
+ SwaggerPetstore.Model: mkName :: Int -> Name
+ SwaggerPetstore.Model: mkNumberOnly :: NumberOnly
+ SwaggerPetstore.Model: mkOuterBoolean :: OuterBoolean
+ SwaggerPetstore.Model: mkOuterComposite :: OuterComposite
+ SwaggerPetstore.Model: mkOuterEnum :: OuterEnum
+ SwaggerPetstore.Model: mkOuterNumber :: OuterNumber
+ SwaggerPetstore.Model: mkOuterString :: OuterString
+ SwaggerPetstore.Model: mkReadOnlyFirst :: ReadOnlyFirst
+ SwaggerPetstore.Model: mkSpecialModelName :: SpecialModelName
+ SwaggerPetstore.Model: newtype Binary
+ SwaggerPetstore.Model: newtype ByteArray
+ SwaggerPetstore.Model: newtype Date
+ SwaggerPetstore.Model: newtype DateTime
- SwaggerPetstore.API: getInventory :: SwaggerPetstoreRequest GetInventory MimeNoContent (Map String Int)
+ SwaggerPetstore.API: getInventory :: SwaggerPetstoreRequest GetInventory MimeNoContent ((Map String Int))
- SwaggerPetstore.Client: SwaggerPetstoreConfig :: ByteString -> Text -> ExecLoggingT -> (LogSource -> LogLevel -> Bool) -> SwaggerPetstoreConfig
+ SwaggerPetstore.Client: SwaggerPetstoreConfig :: ByteString -> Text -> LogExecWithContext -> LogContext -> SwaggerPetstoreConfig
- SwaggerPetstore.Client: newConfig :: SwaggerPetstoreConfig
+ SwaggerPetstore.Client: newConfig :: IO SwaggerPetstoreConfig
- SwaggerPetstore.Client: withStderrLogging :: SwaggerPetstoreConfig -> SwaggerPetstoreConfig
+ SwaggerPetstore.Client: withStderrLogging :: SwaggerPetstoreConfig -> IO SwaggerPetstoreConfig
- SwaggerPetstore.Client: withStdoutLogging :: SwaggerPetstoreConfig -> SwaggerPetstoreConfig
+ SwaggerPetstore.Client: withStdoutLogging :: SwaggerPetstoreConfig -> IO SwaggerPetstoreConfig
- SwaggerPetstore.Lens: orderShipDateL :: Lens_' Order (Maybe UTCTime)
+ SwaggerPetstore.Lens: orderShipDateL :: Lens_' Order (Maybe DateTime)
- SwaggerPetstore.Model: Order :: !(Maybe Integer) -> !(Maybe Integer) -> !(Maybe Int) -> !(Maybe UTCTime) -> !(Maybe Text) -> !(Maybe Bool) -> Order
+ SwaggerPetstore.Model: Order :: !(Maybe Integer) -> !(Maybe Integer) -> !(Maybe Int) -> !(Maybe DateTime) -> !(Maybe Text) -> !(Maybe Bool) -> Order
- SwaggerPetstore.Model: [orderShipDate] :: Order -> !(Maybe UTCTime)
+ SwaggerPetstore.Model: [orderShipDate] :: Order -> !(Maybe DateTime)

Files

− LICENSE
@@ -1,21 +0,0 @@-The MIT License (MIT)--Copyright (c) 2015 Jon Schoning--Permission is hereby granted, free of charge, to any person obtaining a copy-of this software and associated documentation files (the "Software"), to deal-in the Software without restriction, including without limitation the rights-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell-copies of the Software, and to permit persons to whom the Software is-furnished to do so, subject to the following conditions:--The above copyright notice and this permission notice shall be included in-all copies or substantial portions of the Software.--THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN-THE SOFTWARE.
README.md view
@@ -76,6 +76,7 @@ | generateModelConstructors       | Generate smart constructors (only supply required fields) for models                                                          | true     | true       | | modelDeriving                   | Additional classes to include in the deriving() clause of Models                                                              |          |                    | | strictFields                    | Add strictness annotations to all model fields                                                                                | true     | true                  |+| useMonadLogger                  | Use the monad-logger package to provide logging (if instead false, use the katip logging package)                             | false    | false                |  [1]: https://www.stackage.org/haddock/lts-9.0/iso8601-time-0.1.4/Data-Time-ISO8601.html#v:formatISO8601Millis @@ -115,6 +116,7 @@ | SwaggerPetstore.Model     | describes models                                    | | SwaggerPetstore.MimeTypes | encoding/decoding MIME types (content-types/accept) | | SwaggerPetstore.Lens      | lenses for model fields                             |+| SwaggerPetstore.Logging   | logging functions and utils                         |  This library adds type safety around what swagger specifies as Produces and Consumes for each Operation (e.g. the list of MIME types an
lib/SwaggerPetstore.hs view
@@ -8,6 +8,7 @@   , module SwaggerPetstore.Model   , module SwaggerPetstore.MimeTypes   , module SwaggerPetstore.Lens+  , module SwaggerPetstore.Logging   ) where  import SwaggerPetstore.API@@ -15,3 +16,4 @@ import SwaggerPetstore.Model import SwaggerPetstore.MimeTypes import SwaggerPetstore.Lens+import SwaggerPetstore.Logging
lib/SwaggerPetstore/API.hs view
@@ -22,14 +22,11 @@ import SwaggerPetstore.Lens  import qualified Data.Aeson as A-import Data.Aeson (Value)  import qualified Data.Time as TI-import Data.Time (UTCTime)  import qualified Data.ByteString as B import qualified Data.ByteString.Lazy as BL-import Data.ByteString.Lazy (ByteString) import qualified Data.ByteString.Builder as BB import qualified Data.ByteString.Char8 as BC import qualified Data.ByteString.Lazy.Char8 as BCL@@ -45,6 +42,7 @@ import qualified Data.Data as P (Typeable) import qualified Data.Foldable as P import qualified Data.Map as Map+import qualified Data.Set as Set import qualified Data.Maybe as P import qualified Data.Proxy as P (Proxy(..)) import qualified Data.Text as T@@ -58,7 +56,6 @@  import Data.Monoid ((<>)) import Data.Function ((&))-import Data.Set (Set) import Data.Text (Text) import GHC.Base ((<|>)) @@ -68,6 +65,352 @@ -- * Operations  +-- ** AnotherFake++-- *** testSpecialTags++-- | @PATCH \/another-fake\/dummy@+-- +-- To test special tags+-- +-- To test special tags+-- +testSpecialTags +  :: (Consumes TestSpecialTags contentType, MimeRender contentType Client)+  => contentType -- ^ request content-type ('MimeType')+  -> Client -- ^ "body" -  client model+  -> SwaggerPetstoreRequest TestSpecialTags contentType Client+testSpecialTags _ body =+  _mkRequest "PATCH" ["/another-fake/dummy"]+    `setBodyParam` body++data TestSpecialTags ++-- | /Body Param/ "body" - client model+instance HasBodyParam TestSpecialTags Client ++-- | @application/json@+instance Consumes TestSpecialTags MimeJSON++-- | @application/json@+instance Produces TestSpecialTags MimeJSON+++-- ** Fake++-- *** fakeOuterBooleanSerialize++-- | @POST \/fake\/outer\/boolean@+-- +-- Test serialization of outer boolean types+-- +fakeOuterBooleanSerialize +  :: (Consumes FakeOuterBooleanSerialize contentType)+  => contentType -- ^ request content-type ('MimeType')+  -> SwaggerPetstoreRequest FakeOuterBooleanSerialize contentType OuterBoolean+fakeOuterBooleanSerialize _ =+  _mkRequest "POST" ["/fake/outer/boolean"]++data FakeOuterBooleanSerialize ++-- | /Body Param/ "body" - Input boolean as post body+instance HasBodyParam FakeOuterBooleanSerialize OuterBoolean ++-- *** fakeOuterCompositeSerialize++-- | @POST \/fake\/outer\/composite@+-- +-- Test serialization of object with outer number type+-- +fakeOuterCompositeSerialize +  :: (Consumes FakeOuterCompositeSerialize contentType)+  => contentType -- ^ request content-type ('MimeType')+  -> SwaggerPetstoreRequest FakeOuterCompositeSerialize contentType OuterComposite+fakeOuterCompositeSerialize _ =+  _mkRequest "POST" ["/fake/outer/composite"]++data FakeOuterCompositeSerialize ++-- | /Body Param/ "body" - Input composite as post body+instance HasBodyParam FakeOuterCompositeSerialize OuterComposite ++-- *** fakeOuterNumberSerialize++-- | @POST \/fake\/outer\/number@+-- +-- Test serialization of outer number types+-- +fakeOuterNumberSerialize +  :: (Consumes FakeOuterNumberSerialize contentType)+  => contentType -- ^ request content-type ('MimeType')+  -> SwaggerPetstoreRequest FakeOuterNumberSerialize contentType OuterNumber+fakeOuterNumberSerialize _ =+  _mkRequest "POST" ["/fake/outer/number"]++data FakeOuterNumberSerialize ++-- | /Body Param/ "body" - Input number as post body+instance HasBodyParam FakeOuterNumberSerialize OuterNumber ++-- *** fakeOuterStringSerialize++-- | @POST \/fake\/outer\/string@+-- +-- Test serialization of outer string types+-- +fakeOuterStringSerialize +  :: (Consumes FakeOuterStringSerialize contentType)+  => contentType -- ^ request content-type ('MimeType')+  -> SwaggerPetstoreRequest FakeOuterStringSerialize contentType OuterString+fakeOuterStringSerialize _ =+  _mkRequest "POST" ["/fake/outer/string"]++data FakeOuterStringSerialize ++-- | /Body Param/ "body" - Input string as post body+instance HasBodyParam FakeOuterStringSerialize OuterString ++-- *** testClientModel++-- | @PATCH \/fake@+-- +-- To test \"client\" model+-- +-- To test \"client\" model+-- +testClientModel +  :: (Consumes TestClientModel contentType, MimeRender contentType Client)+  => contentType -- ^ request content-type ('MimeType')+  -> Client -- ^ "body" -  client model+  -> SwaggerPetstoreRequest TestClientModel contentType Client+testClientModel _ body =+  _mkRequest "PATCH" ["/fake"]+    `setBodyParam` body++data TestClientModel ++-- | /Body Param/ "body" - client model+instance HasBodyParam TestClientModel Client ++-- | @application/json@+instance Consumes TestClientModel MimeJSON++-- | @application/json@+instance Produces TestClientModel MimeJSON+++-- *** testEndpointParameters++-- | @POST \/fake@+-- +-- Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 +-- +-- Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 +-- +-- AuthMethod: http_basic_test+-- +-- Note: Has 'Produces' instances, but no response schema+-- +testEndpointParameters +  :: (Consumes TestEndpointParameters contentType)+  => contentType -- ^ request content-type ('MimeType')+  -> Double -- ^ "number" -  None+  -> Double -- ^ "double" -  None+  -> Text -- ^ "patternWithoutDelimiter" -  None+  -> ByteArray -- ^ "byte" -  None+  -> SwaggerPetstoreRequest TestEndpointParameters contentType res+testEndpointParameters _ number double patternWithoutDelimiter byte =+  _mkRequest "POST" ["/fake"]+    `_addForm` toForm ("number", number)+    `_addForm` toForm ("double", double)+    `_addForm` toForm ("pattern_without_delimiter", patternWithoutDelimiter)+    `_addForm` toForm ("byte", byte)++data TestEndpointParameters  ++-- | /Optional Param/ "integer" - None+instance HasOptionalParam TestEndpointParameters ParamInteger where+  applyOptionalParam req (ParamInteger xs) =+    req `_addForm` toForm ("integer", xs)++-- | /Optional Param/ "int32" - None+instance HasOptionalParam TestEndpointParameters Int32 where+  applyOptionalParam req (Int32 xs) =+    req `_addForm` toForm ("int32", xs)++-- | /Optional Param/ "int64" - None+instance HasOptionalParam TestEndpointParameters Int64 where+  applyOptionalParam req (Int64 xs) =+    req `_addForm` toForm ("int64", xs)++-- | /Optional Param/ "float" - None+instance HasOptionalParam TestEndpointParameters ParamFloat where+  applyOptionalParam req (ParamFloat xs) =+    req `_addForm` toForm ("float", xs)++-- | /Optional Param/ "string" - None+instance HasOptionalParam TestEndpointParameters ParamString where+  applyOptionalParam req (ParamString xs) =+    req `_addForm` toForm ("string", xs)++-- | /Optional Param/ "binary" - None+instance HasOptionalParam TestEndpointParameters ParamBinary where+  applyOptionalParam req (ParamBinary xs) =+    req `_addForm` toForm ("binary", xs)++-- | /Optional Param/ "date" - None+instance HasOptionalParam TestEndpointParameters ParamDate where+  applyOptionalParam req (ParamDate xs) =+    req `_addForm` toForm ("date", xs)++-- | /Optional Param/ "dateTime" - None+instance HasOptionalParam TestEndpointParameters ParamDateTime where+  applyOptionalParam req (ParamDateTime xs) =+    req `_addForm` toForm ("dateTime", xs)++-- | /Optional Param/ "password" - None+instance HasOptionalParam TestEndpointParameters Password where+  applyOptionalParam req (Password xs) =+    req `_addForm` toForm ("password", xs)++-- | /Optional Param/ "callback" - None+instance HasOptionalParam TestEndpointParameters Callback where+  applyOptionalParam req (Callback xs) =+    req `_addForm` toForm ("callback", xs)++-- | @application/xml; charset=utf-8@+instance Consumes TestEndpointParameters MimeXmlCharsetutf8+-- | @application/json; charset=utf-8@+instance Consumes TestEndpointParameters MimeJsonCharsetutf8++-- | @application/xml; charset=utf-8@+instance Produces TestEndpointParameters MimeXmlCharsetutf8+-- | @application/json; charset=utf-8@+instance Produces TestEndpointParameters MimeJsonCharsetutf8+++-- *** testEnumParameters++-- | @GET \/fake@+-- +-- To test enum parameters+-- +-- To test enum parameters+-- +-- Note: Has 'Produces' instances, but no response schema+-- +testEnumParameters +  :: (Consumes TestEnumParameters contentType)+  => contentType -- ^ request content-type ('MimeType')+  -> SwaggerPetstoreRequest TestEnumParameters contentType res+testEnumParameters _ =+  _mkRequest "GET" ["/fake"]++data TestEnumParameters  ++-- | /Optional Param/ "enum_form_string_array" - Form parameter enum test (string array)+instance HasOptionalParam TestEnumParameters EnumFormStringArray where+  applyOptionalParam req (EnumFormStringArray xs) =+    req `_addForm` toFormColl CommaSeparated ("enum_form_string_array", xs)++-- | /Optional Param/ "enum_form_string" - Form parameter enum test (string)+instance HasOptionalParam TestEnumParameters EnumFormString where+  applyOptionalParam req (EnumFormString xs) =+    req `_addForm` toForm ("enum_form_string", xs)++-- | /Optional Param/ "enum_header_string_array" - Header parameter enum test (string array)+instance HasOptionalParam TestEnumParameters EnumHeaderStringArray where+  applyOptionalParam req (EnumHeaderStringArray xs) =+    req `setHeader` toHeaderColl CommaSeparated ("enum_header_string_array", xs)++-- | /Optional Param/ "enum_header_string" - Header parameter enum test (string)+instance HasOptionalParam TestEnumParameters EnumHeaderString where+  applyOptionalParam req (EnumHeaderString xs) =+    req `setHeader` toHeader ("enum_header_string", xs)++-- | /Optional Param/ "enum_query_string_array" - Query parameter enum test (string array)+instance HasOptionalParam TestEnumParameters EnumQueryStringArray where+  applyOptionalParam req (EnumQueryStringArray xs) =+    req `_setQuery` toQueryColl CommaSeparated ("enum_query_string_array", Just xs)++-- | /Optional Param/ "enum_query_string" - Query parameter enum test (string)+instance HasOptionalParam TestEnumParameters EnumQueryString where+  applyOptionalParam req (EnumQueryString xs) =+    req `_setQuery` toQuery ("enum_query_string", Just xs)++-- | /Optional Param/ "enum_query_integer" - Query parameter enum test (double)+instance HasOptionalParam TestEnumParameters EnumQueryInteger where+  applyOptionalParam req (EnumQueryInteger xs) =+    req `_setQuery` toQuery ("enum_query_integer", Just xs)++-- | /Optional Param/ "enum_query_double" - Query parameter enum test (double)+instance HasOptionalParam TestEnumParameters EnumQueryDouble where+  applyOptionalParam req (EnumQueryDouble xs) =+    req `_addForm` toForm ("enum_query_double", xs)++-- | @*/*@+instance Consumes TestEnumParameters MimeAny++-- | @*/*@+instance Produces TestEnumParameters MimeAny+++-- *** testJsonFormData++-- | @GET \/fake\/jsonFormData@+-- +-- test json serialization of form data+-- +-- +-- +testJsonFormData +  :: (Consumes TestJsonFormData contentType)+  => contentType -- ^ request content-type ('MimeType')+  -> Text -- ^ "param" -  field1+  -> Text -- ^ "param2" -  field2+  -> SwaggerPetstoreRequest TestJsonFormData contentType NoContent+testJsonFormData _ param param2 =+  _mkRequest "GET" ["/fake/jsonFormData"]+    `_addForm` toForm ("param", param)+    `_addForm` toForm ("param2", param2)++data TestJsonFormData  ++-- | @application/json@+instance Consumes TestJsonFormData MimeJSON+++-- ** FakeClassnameTags123++-- *** testClassname++-- | @PATCH \/fake_classname_test@+-- +-- To test class name in snake case+-- +-- AuthMethod: api_key_query+-- +testClassname +  :: (Consumes TestClassname contentType, MimeRender contentType Client)+  => contentType -- ^ request content-type ('MimeType')+  -> Client -- ^ "body" -  client model+  -> SwaggerPetstoreRequest TestClassname contentType Client+testClassname _ body =+  _mkRequest "PATCH" ["/fake_classname_test"]+    `setBodyParam` body++data TestClassname ++-- | /Body Param/ "body" - client model+instance HasBodyParam TestClassname Client ++-- | @application/json@+instance Consumes TestClassname MimeJSON++-- | @application/json@+instance Produces TestClassname MimeJSON++ -- ** Pet  -- *** addPet@@ -127,8 +470,8 @@       data DeletePet  -instance HasOptionalParam DeletePet ApiUnderscorekey where-  applyOptionalParam req (ApiUnderscorekey xs) =+instance HasOptionalParam DeletePet ApiKey where+  applyOptionalParam req (ApiKey xs) =     req `setHeader` toHeader ("api_key", xs) -- | @application/xml@ instance Produces DeletePet MimeXML@@ -271,8 +614,8 @@ data UpdatePetWithForm    -- | /Optional Param/ "name" - Updated name of the pet-instance HasOptionalParam UpdatePetWithForm Name where-  applyOptionalParam req (Name xs) =+instance HasOptionalParam UpdatePetWithForm Name2 where+  applyOptionalParam req (Name2 xs) =     req `_addForm` toForm ("name", xs)  -- | /Optional Param/ "status" - Updated status of the pet@@ -331,7 +674,7 @@  -- *** deleteOrder --- | @DELETE \/store\/order\/{orderId}@+-- | @DELETE \/store\/order\/{order_id}@ --  -- Delete purchase order by ID -- @@ -364,7 +707,7 @@ -- AuthMethod: api_key --  getInventory -  :: SwaggerPetstoreRequest GetInventory MimeNoContent (Map.Map String Int)+  :: SwaggerPetstoreRequest GetInventory MimeNoContent ((Map.Map String Int)) getInventory =   _mkRequest "GET" ["/store/inventory"] @@ -375,7 +718,7 @@  -- *** getOrderById --- | @GET \/store\/order\/{orderId}@+-- | @GET \/store\/order\/{order_id}@ --  -- Find purchase order by ID -- @@ -664,9 +1007,53 @@ -- * Optional Request Parameter Types  -newtype ApiUnderscorekey = ApiUnderscorekey { unApiUnderscorekey :: Text } deriving (P.Eq, P.Show)+newtype BodyOuterBoolean = BodyOuterBoolean { unBodyOuterBoolean :: OuterBoolean } deriving (P.Eq, P.Show) -newtype Name = Name { unName :: Text } deriving (P.Eq, P.Show)+newtype BodyOuterComposite = BodyOuterComposite { unBodyOuterComposite :: OuterComposite } deriving (P.Eq, P.Show)++newtype Body = Body { unBody :: OuterNumber } deriving (P.Eq, P.Show)++newtype BodyOuterString = BodyOuterString { unBodyOuterString :: OuterString } deriving (P.Eq, P.Show)++newtype ParamInteger = ParamInteger { unParamInteger :: Int } deriving (P.Eq, P.Show)++newtype Int32 = Int32 { unInt32 :: Int } deriving (P.Eq, P.Show)++newtype Int64 = Int64 { unInt64 :: Integer } deriving (P.Eq, P.Show)++newtype ParamFloat = ParamFloat { unParamFloat :: Float } deriving (P.Eq, P.Show)++newtype ParamString = ParamString { unParamString :: Text } deriving (P.Eq, P.Show)++newtype ParamBinary = ParamBinary { unParamBinary :: Binary } deriving (P.Eq, P.Show)++newtype ParamDate = ParamDate { unParamDate :: Date } deriving (P.Eq, P.Show)++newtype ParamDateTime = ParamDateTime { unParamDateTime :: DateTime } deriving (P.Eq, P.Show)++newtype Password = Password { unPassword :: Text } deriving (P.Eq, P.Show)++newtype Callback = Callback { unCallback :: Text } deriving (P.Eq, P.Show)++newtype EnumFormStringArray = EnumFormStringArray { unEnumFormStringArray :: [Text] } deriving (P.Eq, P.Show)++newtype EnumFormString = EnumFormString { unEnumFormString :: Text } deriving (P.Eq, P.Show)++newtype EnumHeaderStringArray = EnumHeaderStringArray { unEnumHeaderStringArray :: [Text] } deriving (P.Eq, P.Show)++newtype EnumHeaderString = EnumHeaderString { unEnumHeaderString :: Text } deriving (P.Eq, P.Show)++newtype EnumQueryStringArray = EnumQueryStringArray { unEnumQueryStringArray :: [Text] } deriving (P.Eq, P.Show)++newtype EnumQueryString = EnumQueryString { unEnumQueryString :: Text } deriving (P.Eq, P.Show)++newtype EnumQueryInteger = EnumQueryInteger { unEnumQueryInteger :: Int } deriving (P.Eq, P.Show)++newtype EnumQueryDouble = EnumQueryDouble { unEnumQueryDouble :: Double } deriving (P.Eq, P.Show)++newtype ApiKey = ApiKey { unApiKey :: Text } deriving (P.Eq, P.Show)++newtype Name2 = Name2 { unName2 :: Text } deriving (P.Eq, P.Show)  newtype Status = Status { unStatus :: Text } deriving (P.Eq, P.Show) 
lib/SwaggerPetstore/Client.hs view
@@ -17,6 +17,7 @@ import SwaggerPetstore.Model import SwaggerPetstore.API import SwaggerPetstore.MimeTypes+import SwaggerPetstore.Logging  import qualified Control.Monad.IO.Class as P import qualified Data.Aeson as A@@ -30,8 +31,6 @@ import Web.HttpApiData as WH import Control.Monad.Catch (MonadThrow) -import qualified Control.Monad.Logger as LG- import qualified Data.Time as TI import qualified Data.Map as Map import qualified Data.Text as T@@ -57,8 +56,8 @@ data SwaggerPetstoreConfig = SwaggerPetstoreConfig   { configHost  :: BCL.ByteString -- ^ host supplied in the Request   , configUserAgent :: Text -- ^ user-agent supplied in the Request-  , configExecLoggingT :: ExecLoggingT -- ^ Run a block using a MonadLogger instance-  , configLoggingFilter :: LG.LogSource -> LG.LogLevel -> Bool -- ^ Only log messages passing the given predicate function.+  , configLogExecWithContext :: LogExecWithContext -- ^ Run a block using a Logger instance+  , configLogContext :: LogContext -- ^ Configures the logger   }  -- | display the config@@ -73,35 +72,35 @@ -- -- configHost: ----- @http://petstore.swagger.io/v2@+-- @http://petstore.swagger.io:80/v2@ -- -- configUserAgent: -- -- @"swagger-haskell-http-client/1.0.0"@ ----- configExecLoggingT: 'runNullLoggingT'------ configLoggingFilter: 'infoLevelFilter'-newConfig :: SwaggerPetstoreConfig-newConfig =-  SwaggerPetstoreConfig-  { configHost = "http://petstore.swagger.io/v2"-  , configUserAgent = "swagger-haskell-http-client/1.0.0"-  , configExecLoggingT = runNullLoggingT-  , configLoggingFilter = infoLevelFilter-  }+newConfig :: IO SwaggerPetstoreConfig+newConfig = do+    logCxt <- initLogContext+    return $ SwaggerPetstoreConfig+        { configHost = "http://petstore.swagger.io:80/v2"+        , configUserAgent = "swagger-haskell-http-client/1.0.0"+        , configLogExecWithContext = runDefaultLogExecWithContext+        , configLogContext = logCxt+        }   --- | updates the config to use a MonadLogger instance which prints to stdout.-withStdoutLogging :: SwaggerPetstoreConfig -> SwaggerPetstoreConfig-withStdoutLogging p = p { configExecLoggingT = LG.runStdoutLoggingT}+withStdoutLogging :: SwaggerPetstoreConfig -> IO SwaggerPetstoreConfig+withStdoutLogging p = do+    logCxt <- stdoutLoggingContext (configLogContext p)+    return $ p { configLogExecWithContext = stdoutLoggingExec, configLogContext = logCxt } --- | updates the config to use a MonadLogger instance which prints to stderr.-withStderrLogging :: SwaggerPetstoreConfig -> SwaggerPetstoreConfig-withStderrLogging p = p { configExecLoggingT = LG.runStderrLoggingT}+withStderrLogging :: SwaggerPetstoreConfig -> IO SwaggerPetstoreConfig+withStderrLogging p = do+    logCxt <- stderrLoggingContext (configLogContext p)+    return $ p { configLogExecWithContext = stderrLoggingExec, configLogContext = logCxt }  -- | updates the config to disable logging withNoLogging :: SwaggerPetstoreConfig -> SwaggerPetstoreConfig-withNoLogging p = p { configExecLoggingT = runNullLoggingT}+withNoLogging p = p { configLogExecWithContext =  runNullLogExec}  -- * Dispatch @@ -146,10 +145,10 @@ dispatchMime manager config request accept = do   httpResponse <- dispatchLbs manager config request accept   parsedResult <--    runExceptionLoggingT "Client" config $+    runConfigLogWithExceptions "Client" config $     do case mimeUnrender' accept (NH.responseBody httpResponse) of          Left s -> do-           logNST LG.LevelError "Client" (T.pack s)+           _log "Client" levelError (T.pack s)            pure (Left (MimeError s httpResponse))          Right r -> pure (Right r)   return (MimeResult parsedResult httpResponse)@@ -187,15 +186,15 @@   -> InitRequest req contentType res accept -- ^ init request   -> IO (NH.Response BCL.ByteString) -- ^ response dispatchInitUnsafe manager config (InitRequest req) = do-  runExceptionLoggingT logSrc config $-    do logNST LG.LevelInfo logSrc requestLogMsg-       logNST LG.LevelDebug logSrc requestDbgLogMsg+  runConfigLogWithExceptions src config $+    do _log src levelInfo requestLogMsg+       _log src levelDebug requestDbgLogMsg        res <- P.liftIO $ NH.httpLbs req manager-       logNST LG.LevelInfo logSrc (responseLogMsg res)-       logNST LG.LevelDebug logSrc ((T.pack . show) res)+       _log src levelInfo (responseLogMsg res)+       _log src levelDebug ((T.pack . show) res)        return res   where-    logSrc = "Client"+    src = "Client"     endpoint =       T.pack $       BC.unpack $@@ -250,68 +249,16 @@ modifyInitRequestM :: Monad m => InitRequest req contentType res accept -> (NH.Request -> m NH.Request) -> m (InitRequest req contentType res accept) modifyInitRequestM (InitRequest req) f = fmap InitRequest (f req) --- * Logging---- | A block using a MonadLogger instance-type ExecLoggingT = forall m. P.MonadIO m =>-                              forall a. LG.LoggingT m a -> m a---- ** Null Logger---- | a logger which disables logging-nullLogger :: LG.Loc -> LG.LogSource -> LG.LogLevel -> LG.LogStr -> IO ()-nullLogger _ _ _ _ = return ()---- | run the monad transformer that disables logging-runNullLoggingT :: LG.LoggingT m a -> m a-runNullLoggingT = (`LG.runLoggingT` nullLogger)---- ** Logging Filters---- | a log filter that uses 'LevelError' as the minimum logging level-errorLevelFilter :: LG.LogSource -> LG.LogLevel -> Bool-errorLevelFilter = minLevelFilter LG.LevelError---- | a log filter that uses 'LevelInfo' as the minimum logging level-infoLevelFilter :: LG.LogSource -> LG.LogLevel -> Bool-infoLevelFilter = minLevelFilter LG.LevelInfo---- | a log filter that uses 'LevelDebug' as the minimum logging level-debugLevelFilter :: LG.LogSource -> LG.LogLevel -> Bool-debugLevelFilter = minLevelFilter LG.LevelDebug--minLevelFilter :: LG.LogLevel -> LG.LogSource -> LG.LogLevel -> Bool-minLevelFilter l _ l' = l' >= l- -- ** Logging  --- | Log a message using the current time-logNST :: (P.MonadIO m, LG.MonadLogger m) => LG.LogLevel -> Text -> Text -> m ()-logNST level src msg = do-  now <- P.liftIO (formatTimeLog <$> TI.getCurrentTime)-  LG.logOtherNS sourceLog level (now <> " " <> msg)- where-  sourceLog = "SwaggerPetstore/" <> src-  formatTimeLog =-    T.pack . TI.formatTime TI.defaultTimeLocale "%Y-%m-%dT%H:%M:%S%Z"---- | re-throws exceptions after logging them-logExceptions-  :: (LG.MonadLogger m, E.MonadCatch m, P.MonadIO m)-  => Text -> m a -> m a-logExceptions src =-  E.handle-    (\(e :: E.SomeException) -> do-       logNST LG.LevelError src ((T.pack . show) e)-       E.throw e)---- | Run a block using the configured MonadLogger instance-runLoggingT :: SwaggerPetstoreConfig -> ExecLoggingT-runLoggingT config =-  configExecLoggingT config . LG.filterLogger (configLoggingFilter config)+-- | Run a block using the configured logger instance+runConfigLog+  :: P.MonadIO m+  => SwaggerPetstoreConfig -> LogExec m+runConfigLog config = configLogExecWithContext config (configLogContext config) --- | Run a block using the configured MonadLogger instance (logs exceptions)-runExceptionLoggingT+-- | Run a block using the configured logger instance (logs exceptions)+runConfigLogWithExceptions   :: (E.MonadCatch m, P.MonadIO m)-  => T.Text -> SwaggerPetstoreConfig -> LG.LoggingT m a -> m a-runExceptionLoggingT logSrc config = runLoggingT config . logExceptions logSrc+  => T.Text -> SwaggerPetstoreConfig -> LogExec m+runConfigLogWithExceptions src config = runConfigLog config . logExceptions src
lib/SwaggerPetstore/Lens.hs view
@@ -10,18 +10,15 @@  module SwaggerPetstore.Lens where -import Data.Text (Text)- import qualified Data.Aeson as A-import Data.Aeson (Value)-import qualified Data.ByteString as B-import Data.ByteString.Lazy (ByteString)+import qualified Data.ByteString.Lazy as BL import qualified Data.Data as P (Data, Typeable) import qualified Data.Map as Map-+import qualified Data.Set as Set import qualified Data.Time as TI-import Data.Time (UTCTime) +import Data.Text (Text)+ import Prelude (($), (.),(<$>),(<*>),(=<<),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor) import qualified Prelude as P @@ -33,6 +30,38 @@ type Lens_ s t a b = forall (f :: * -> *). Functor f => (a -> f b) -> s -> f t  +-- * AdditionalPropertiesClass++-- | 'additionalPropertiesClassMapProperty' Lens+additionalPropertiesClassMapPropertyL :: Lens_' AdditionalPropertiesClass (Maybe (Map.Map String Text))+additionalPropertiesClassMapPropertyL f AdditionalPropertiesClass{..} = (\additionalPropertiesClassMapProperty -> AdditionalPropertiesClass { additionalPropertiesClassMapProperty, ..} ) <$> f additionalPropertiesClassMapProperty+{-# INLINE additionalPropertiesClassMapPropertyL #-}++-- | 'additionalPropertiesClassMapOfMapProperty' Lens+additionalPropertiesClassMapOfMapPropertyL :: Lens_' AdditionalPropertiesClass (Maybe (Map.Map String (Map.Map String Text)))+additionalPropertiesClassMapOfMapPropertyL f AdditionalPropertiesClass{..} = (\additionalPropertiesClassMapOfMapProperty -> AdditionalPropertiesClass { additionalPropertiesClassMapOfMapProperty, ..} ) <$> f additionalPropertiesClassMapOfMapProperty+{-# INLINE additionalPropertiesClassMapOfMapPropertyL #-}++++-- * Animal++-- | 'animalClassName' Lens+animalClassNameL :: Lens_' Animal (Text)+animalClassNameL f Animal{..} = (\animalClassName -> Animal { animalClassName, ..} ) <$> f animalClassName+{-# INLINE animalClassNameL #-}++-- | 'animalColor' Lens+animalColorL :: Lens_' Animal (Maybe Text)+animalColorL f Animal{..} = (\animalColor -> Animal { animalColor, ..} ) <$> f animalColor+{-# INLINE animalColorL #-}++++-- * AnimalFarm+++ -- * ApiResponse  -- | 'apiResponseCode' Lens@@ -52,6 +81,77 @@   +-- * ArrayOfArrayOfNumberOnly++-- | 'arrayOfArrayOfNumberOnlyArrayArrayNumber' Lens+arrayOfArrayOfNumberOnlyArrayArrayNumberL :: Lens_' ArrayOfArrayOfNumberOnly (Maybe [[Double]])+arrayOfArrayOfNumberOnlyArrayArrayNumberL f ArrayOfArrayOfNumberOnly{..} = (\arrayOfArrayOfNumberOnlyArrayArrayNumber -> ArrayOfArrayOfNumberOnly { arrayOfArrayOfNumberOnlyArrayArrayNumber, ..} ) <$> f arrayOfArrayOfNumberOnlyArrayArrayNumber+{-# INLINE arrayOfArrayOfNumberOnlyArrayArrayNumberL #-}++++-- * ArrayOfNumberOnly++-- | 'arrayOfNumberOnlyArrayNumber' Lens+arrayOfNumberOnlyArrayNumberL :: Lens_' ArrayOfNumberOnly (Maybe [Double])+arrayOfNumberOnlyArrayNumberL f ArrayOfNumberOnly{..} = (\arrayOfNumberOnlyArrayNumber -> ArrayOfNumberOnly { arrayOfNumberOnlyArrayNumber, ..} ) <$> f arrayOfNumberOnlyArrayNumber+{-# INLINE arrayOfNumberOnlyArrayNumberL #-}++++-- * ArrayTest++-- | 'arrayTestArrayOfString' Lens+arrayTestArrayOfStringL :: Lens_' ArrayTest (Maybe [Text])+arrayTestArrayOfStringL f ArrayTest{..} = (\arrayTestArrayOfString -> ArrayTest { arrayTestArrayOfString, ..} ) <$> f arrayTestArrayOfString+{-# INLINE arrayTestArrayOfStringL #-}++-- | 'arrayTestArrayArrayOfInteger' Lens+arrayTestArrayArrayOfIntegerL :: Lens_' ArrayTest (Maybe [[Integer]])+arrayTestArrayArrayOfIntegerL f ArrayTest{..} = (\arrayTestArrayArrayOfInteger -> ArrayTest { arrayTestArrayArrayOfInteger, ..} ) <$> f arrayTestArrayArrayOfInteger+{-# INLINE arrayTestArrayArrayOfIntegerL #-}++-- | 'arrayTestArrayArrayOfModel' Lens+arrayTestArrayArrayOfModelL :: Lens_' ArrayTest (Maybe [[ReadOnlyFirst]])+arrayTestArrayArrayOfModelL f ArrayTest{..} = (\arrayTestArrayArrayOfModel -> ArrayTest { arrayTestArrayArrayOfModel, ..} ) <$> f arrayTestArrayArrayOfModel+{-# INLINE arrayTestArrayArrayOfModelL #-}++++-- * Capitalization++-- | 'capitalizationSmallCamel' Lens+capitalizationSmallCamelL :: Lens_' Capitalization (Maybe Text)+capitalizationSmallCamelL f Capitalization{..} = (\capitalizationSmallCamel -> Capitalization { capitalizationSmallCamel, ..} ) <$> f capitalizationSmallCamel+{-# INLINE capitalizationSmallCamelL #-}++-- | 'capitalizationCapitalCamel' Lens+capitalizationCapitalCamelL :: Lens_' Capitalization (Maybe Text)+capitalizationCapitalCamelL f Capitalization{..} = (\capitalizationCapitalCamel -> Capitalization { capitalizationCapitalCamel, ..} ) <$> f capitalizationCapitalCamel+{-# INLINE capitalizationCapitalCamelL #-}++-- | 'capitalizationSmallSnake' Lens+capitalizationSmallSnakeL :: Lens_' Capitalization (Maybe Text)+capitalizationSmallSnakeL f Capitalization{..} = (\capitalizationSmallSnake -> Capitalization { capitalizationSmallSnake, ..} ) <$> f capitalizationSmallSnake+{-# INLINE capitalizationSmallSnakeL #-}++-- | 'capitalizationCapitalSnake' Lens+capitalizationCapitalSnakeL :: Lens_' Capitalization (Maybe Text)+capitalizationCapitalSnakeL f Capitalization{..} = (\capitalizationCapitalSnake -> Capitalization { capitalizationCapitalSnake, ..} ) <$> f capitalizationCapitalSnake+{-# INLINE capitalizationCapitalSnakeL #-}++-- | 'capitalizationScaEthFlowPoints' Lens+capitalizationScaEthFlowPointsL :: Lens_' Capitalization (Maybe Text)+capitalizationScaEthFlowPointsL f Capitalization{..} = (\capitalizationScaEthFlowPoints -> Capitalization { capitalizationScaEthFlowPoints, ..} ) <$> f capitalizationScaEthFlowPoints+{-# INLINE capitalizationScaEthFlowPointsL #-}++-- | 'capitalizationAttName' Lens+capitalizationAttNameL :: Lens_' Capitalization (Maybe Text)+capitalizationAttNameL f Capitalization{..} = (\capitalizationAttName -> Capitalization { capitalizationAttName, ..} ) <$> f capitalizationAttName+{-# INLINE capitalizationAttNameL #-}+++ -- * Category  -- | 'categoryId' Lens@@ -66,6 +166,247 @@   +-- * ClassModel++-- | 'classModelClass' Lens+classModelClassL :: Lens_' ClassModel (Maybe Text)+classModelClassL f ClassModel{..} = (\classModelClass -> ClassModel { classModelClass, ..} ) <$> f classModelClass+{-# INLINE classModelClassL #-}++++-- * Client++-- | 'clientClient' Lens+clientClientL :: Lens_' Client (Maybe Text)+clientClientL f Client{..} = (\clientClient -> Client { clientClient, ..} ) <$> f clientClient+{-# INLINE clientClientL #-}++++-- * EnumArrays++-- | 'enumArraysJustSymbol' Lens+enumArraysJustSymbolL :: Lens_' EnumArrays (Maybe Text)+enumArraysJustSymbolL f EnumArrays{..} = (\enumArraysJustSymbol -> EnumArrays { enumArraysJustSymbol, ..} ) <$> f enumArraysJustSymbol+{-# INLINE enumArraysJustSymbolL #-}++-- | 'enumArraysArrayEnum' Lens+enumArraysArrayEnumL :: Lens_' EnumArrays (Maybe [Text])+enumArraysArrayEnumL f EnumArrays{..} = (\enumArraysArrayEnum -> EnumArrays { enumArraysArrayEnum, ..} ) <$> f enumArraysArrayEnum+{-# INLINE enumArraysArrayEnumL #-}++++-- * EnumClass++++-- * EnumTest++-- | 'enumTestEnumString' Lens+enumTestEnumStringL :: Lens_' EnumTest (Maybe Text)+enumTestEnumStringL f EnumTest{..} = (\enumTestEnumString -> EnumTest { enumTestEnumString, ..} ) <$> f enumTestEnumString+{-# INLINE enumTestEnumStringL #-}++-- | 'enumTestEnumInteger' Lens+enumTestEnumIntegerL :: Lens_' EnumTest (Maybe Int)+enumTestEnumIntegerL f EnumTest{..} = (\enumTestEnumInteger -> EnumTest { enumTestEnumInteger, ..} ) <$> f enumTestEnumInteger+{-# INLINE enumTestEnumIntegerL #-}++-- | 'enumTestEnumNumber' Lens+enumTestEnumNumberL :: Lens_' EnumTest (Maybe Double)+enumTestEnumNumberL f EnumTest{..} = (\enumTestEnumNumber -> EnumTest { enumTestEnumNumber, ..} ) <$> f enumTestEnumNumber+{-# INLINE enumTestEnumNumberL #-}++-- | 'enumTestOuterEnum' Lens+enumTestOuterEnumL :: Lens_' EnumTest (Maybe OuterEnum)+enumTestOuterEnumL f EnumTest{..} = (\enumTestOuterEnum -> EnumTest { enumTestOuterEnum, ..} ) <$> f enumTestOuterEnum+{-# INLINE enumTestOuterEnumL #-}++++-- * FormatTest++-- | 'formatTestInteger' Lens+formatTestIntegerL :: Lens_' FormatTest (Maybe Int)+formatTestIntegerL f FormatTest{..} = (\formatTestInteger -> FormatTest { formatTestInteger, ..} ) <$> f formatTestInteger+{-# INLINE formatTestIntegerL #-}++-- | 'formatTestInt32' Lens+formatTestInt32L :: Lens_' FormatTest (Maybe Int)+formatTestInt32L f FormatTest{..} = (\formatTestInt32 -> FormatTest { formatTestInt32, ..} ) <$> f formatTestInt32+{-# INLINE formatTestInt32L #-}++-- | 'formatTestInt64' Lens+formatTestInt64L :: Lens_' FormatTest (Maybe Integer)+formatTestInt64L f FormatTest{..} = (\formatTestInt64 -> FormatTest { formatTestInt64, ..} ) <$> f formatTestInt64+{-# INLINE formatTestInt64L #-}++-- | 'formatTestNumber' Lens+formatTestNumberL :: Lens_' FormatTest (Double)+formatTestNumberL f FormatTest{..} = (\formatTestNumber -> FormatTest { formatTestNumber, ..} ) <$> f formatTestNumber+{-# INLINE formatTestNumberL #-}++-- | 'formatTestFloat' Lens+formatTestFloatL :: Lens_' FormatTest (Maybe Float)+formatTestFloatL f FormatTest{..} = (\formatTestFloat -> FormatTest { formatTestFloat, ..} ) <$> f formatTestFloat+{-# INLINE formatTestFloatL #-}++-- | 'formatTestDouble' Lens+formatTestDoubleL :: Lens_' FormatTest (Maybe Double)+formatTestDoubleL f FormatTest{..} = (\formatTestDouble -> FormatTest { formatTestDouble, ..} ) <$> f formatTestDouble+{-# INLINE formatTestDoubleL #-}++-- | 'formatTestString' Lens+formatTestStringL :: Lens_' FormatTest (Maybe Text)+formatTestStringL f FormatTest{..} = (\formatTestString -> FormatTest { formatTestString, ..} ) <$> f formatTestString+{-# INLINE formatTestStringL #-}++-- | 'formatTestByte' Lens+formatTestByteL :: Lens_' FormatTest (ByteArray)+formatTestByteL f FormatTest{..} = (\formatTestByte -> FormatTest { formatTestByte, ..} ) <$> f formatTestByte+{-# INLINE formatTestByteL #-}++-- | 'formatTestBinary' Lens+formatTestBinaryL :: Lens_' FormatTest (Maybe Binary)+formatTestBinaryL f FormatTest{..} = (\formatTestBinary -> FormatTest { formatTestBinary, ..} ) <$> f formatTestBinary+{-# INLINE formatTestBinaryL #-}++-- | 'formatTestDate' Lens+formatTestDateL :: Lens_' FormatTest (Date)+formatTestDateL f FormatTest{..} = (\formatTestDate -> FormatTest { formatTestDate, ..} ) <$> f formatTestDate+{-# INLINE formatTestDateL #-}++-- | 'formatTestDateTime' Lens+formatTestDateTimeL :: Lens_' FormatTest (Maybe DateTime)+formatTestDateTimeL f FormatTest{..} = (\formatTestDateTime -> FormatTest { formatTestDateTime, ..} ) <$> f formatTestDateTime+{-# INLINE formatTestDateTimeL #-}++-- | 'formatTestUuid' Lens+formatTestUuidL :: Lens_' FormatTest (Maybe Text)+formatTestUuidL f FormatTest{..} = (\formatTestUuid -> FormatTest { formatTestUuid, ..} ) <$> f formatTestUuid+{-# INLINE formatTestUuidL #-}++-- | 'formatTestPassword' Lens+formatTestPasswordL :: Lens_' FormatTest (Text)+formatTestPasswordL f FormatTest{..} = (\formatTestPassword -> FormatTest { formatTestPassword, ..} ) <$> f formatTestPassword+{-# INLINE formatTestPasswordL #-}++++-- * HasOnlyReadOnly++-- | 'hasOnlyReadOnlyBar' Lens+hasOnlyReadOnlyBarL :: Lens_' HasOnlyReadOnly (Maybe Text)+hasOnlyReadOnlyBarL f HasOnlyReadOnly{..} = (\hasOnlyReadOnlyBar -> HasOnlyReadOnly { hasOnlyReadOnlyBar, ..} ) <$> f hasOnlyReadOnlyBar+{-# INLINE hasOnlyReadOnlyBarL #-}++-- | 'hasOnlyReadOnlyFoo' Lens+hasOnlyReadOnlyFooL :: Lens_' HasOnlyReadOnly (Maybe Text)+hasOnlyReadOnlyFooL f HasOnlyReadOnly{..} = (\hasOnlyReadOnlyFoo -> HasOnlyReadOnly { hasOnlyReadOnlyFoo, ..} ) <$> f hasOnlyReadOnlyFoo+{-# INLINE hasOnlyReadOnlyFooL #-}++++-- * MapTest++-- | 'mapTestMapMapOfString' Lens+mapTestMapMapOfStringL :: Lens_' MapTest (Maybe (Map.Map String (Map.Map String Text)))+mapTestMapMapOfStringL f MapTest{..} = (\mapTestMapMapOfString -> MapTest { mapTestMapMapOfString, ..} ) <$> f mapTestMapMapOfString+{-# INLINE mapTestMapMapOfStringL #-}++-- | 'mapTestMapOfEnumString' Lens+mapTestMapOfEnumStringL :: Lens_' MapTest (Maybe (Map.Map String Text))+mapTestMapOfEnumStringL f MapTest{..} = (\mapTestMapOfEnumString -> MapTest { mapTestMapOfEnumString, ..} ) <$> f mapTestMapOfEnumString+{-# INLINE mapTestMapOfEnumStringL #-}++++-- * MixedPropertiesAndAdditionalPropertiesClass++-- | 'mixedPropertiesAndAdditionalPropertiesClassUuid' Lens+mixedPropertiesAndAdditionalPropertiesClassUuidL :: Lens_' MixedPropertiesAndAdditionalPropertiesClass (Maybe Text)+mixedPropertiesAndAdditionalPropertiesClassUuidL f MixedPropertiesAndAdditionalPropertiesClass{..} = (\mixedPropertiesAndAdditionalPropertiesClassUuid -> MixedPropertiesAndAdditionalPropertiesClass { mixedPropertiesAndAdditionalPropertiesClassUuid, ..} ) <$> f mixedPropertiesAndAdditionalPropertiesClassUuid+{-# INLINE mixedPropertiesAndAdditionalPropertiesClassUuidL #-}++-- | 'mixedPropertiesAndAdditionalPropertiesClassDateTime' Lens+mixedPropertiesAndAdditionalPropertiesClassDateTimeL :: Lens_' MixedPropertiesAndAdditionalPropertiesClass (Maybe DateTime)+mixedPropertiesAndAdditionalPropertiesClassDateTimeL f MixedPropertiesAndAdditionalPropertiesClass{..} = (\mixedPropertiesAndAdditionalPropertiesClassDateTime -> MixedPropertiesAndAdditionalPropertiesClass { mixedPropertiesAndAdditionalPropertiesClassDateTime, ..} ) <$> f mixedPropertiesAndAdditionalPropertiesClassDateTime+{-# INLINE mixedPropertiesAndAdditionalPropertiesClassDateTimeL #-}++-- | 'mixedPropertiesAndAdditionalPropertiesClassMap' Lens+mixedPropertiesAndAdditionalPropertiesClassMapL :: Lens_' MixedPropertiesAndAdditionalPropertiesClass (Maybe (Map.Map String Animal))+mixedPropertiesAndAdditionalPropertiesClassMapL f MixedPropertiesAndAdditionalPropertiesClass{..} = (\mixedPropertiesAndAdditionalPropertiesClassMap -> MixedPropertiesAndAdditionalPropertiesClass { mixedPropertiesAndAdditionalPropertiesClassMap, ..} ) <$> f mixedPropertiesAndAdditionalPropertiesClassMap+{-# INLINE mixedPropertiesAndAdditionalPropertiesClassMapL #-}++++-- * Model200Response++-- | 'model200ResponseName' Lens+model200ResponseNameL :: Lens_' Model200Response (Maybe Int)+model200ResponseNameL f Model200Response{..} = (\model200ResponseName -> Model200Response { model200ResponseName, ..} ) <$> f model200ResponseName+{-# INLINE model200ResponseNameL #-}++-- | 'model200ResponseClass' Lens+model200ResponseClassL :: Lens_' Model200Response (Maybe Text)+model200ResponseClassL f Model200Response{..} = (\model200ResponseClass -> Model200Response { model200ResponseClass, ..} ) <$> f model200ResponseClass+{-# INLINE model200ResponseClassL #-}++++-- * ModelList++-- | 'modelList123List' Lens+modelList123ListL :: Lens_' ModelList (Maybe Text)+modelList123ListL f ModelList{..} = (\modelList123List -> ModelList { modelList123List, ..} ) <$> f modelList123List+{-# INLINE modelList123ListL #-}++++-- * ModelReturn++-- | 'modelReturnReturn' Lens+modelReturnReturnL :: Lens_' ModelReturn (Maybe Int)+modelReturnReturnL f ModelReturn{..} = (\modelReturnReturn -> ModelReturn { modelReturnReturn, ..} ) <$> f modelReturnReturn+{-# INLINE modelReturnReturnL #-}++++-- * Name++-- | 'nameName' Lens+nameNameL :: Lens_' Name (Int)+nameNameL f Name{..} = (\nameName -> Name { nameName, ..} ) <$> f nameName+{-# INLINE nameNameL #-}++-- | 'nameSnakeCase' Lens+nameSnakeCaseL :: Lens_' Name (Maybe Int)+nameSnakeCaseL f Name{..} = (\nameSnakeCase -> Name { nameSnakeCase, ..} ) <$> f nameSnakeCase+{-# INLINE nameSnakeCaseL #-}++-- | 'nameProperty' Lens+namePropertyL :: Lens_' Name (Maybe Text)+namePropertyL f Name{..} = (\nameProperty -> Name { nameProperty, ..} ) <$> f nameProperty+{-# INLINE namePropertyL #-}++-- | 'name123Number' Lens+name123NumberL :: Lens_' Name (Maybe Int)+name123NumberL f Name{..} = (\name123Number -> Name { name123Number, ..} ) <$> f name123Number+{-# INLINE name123NumberL #-}++++-- * NumberOnly++-- | 'numberOnlyJustNumber' Lens+numberOnlyJustNumberL :: Lens_' NumberOnly (Maybe Double)+numberOnlyJustNumberL f NumberOnly{..} = (\numberOnlyJustNumber -> NumberOnly { numberOnlyJustNumber, ..} ) <$> f numberOnlyJustNumber+{-# INLINE numberOnlyJustNumberL #-}+++ -- * Order  -- | 'orderId' Lens@@ -84,7 +425,7 @@ {-# INLINE orderQuantityL #-}  -- | 'orderShipDate' Lens-orderShipDateL :: Lens_' Order (Maybe UTCTime)+orderShipDateL :: Lens_' Order (Maybe DateTime) orderShipDateL f Order{..} = (\orderShipDate -> Order { orderShipDate, ..} ) <$> f orderShipDate {-# INLINE orderShipDateL #-} @@ -100,6 +441,41 @@   +-- * OuterBoolean++++-- * OuterComposite++-- | 'outerCompositeMyNumber' Lens+outerCompositeMyNumberL :: Lens_' OuterComposite (Maybe OuterNumber)+outerCompositeMyNumberL f OuterComposite{..} = (\outerCompositeMyNumber -> OuterComposite { outerCompositeMyNumber, ..} ) <$> f outerCompositeMyNumber+{-# INLINE outerCompositeMyNumberL #-}++-- | 'outerCompositeMyString' Lens+outerCompositeMyStringL :: Lens_' OuterComposite (Maybe OuterString)+outerCompositeMyStringL f OuterComposite{..} = (\outerCompositeMyString -> OuterComposite { outerCompositeMyString, ..} ) <$> f outerCompositeMyString+{-# INLINE outerCompositeMyStringL #-}++-- | 'outerCompositeMyBoolean' Lens+outerCompositeMyBooleanL :: Lens_' OuterComposite (Maybe OuterBoolean)+outerCompositeMyBooleanL f OuterComposite{..} = (\outerCompositeMyBoolean -> OuterComposite { outerCompositeMyBoolean, ..} ) <$> f outerCompositeMyBoolean+{-# INLINE outerCompositeMyBooleanL #-}++++-- * OuterEnum++++-- * OuterNumber++++-- * OuterString+++ -- * Pet  -- | 'petId' Lens@@ -134,6 +510,29 @@   +-- * ReadOnlyFirst++-- | 'readOnlyFirstBar' Lens+readOnlyFirstBarL :: Lens_' ReadOnlyFirst (Maybe Text)+readOnlyFirstBarL f ReadOnlyFirst{..} = (\readOnlyFirstBar -> ReadOnlyFirst { readOnlyFirstBar, ..} ) <$> f readOnlyFirstBar+{-# INLINE readOnlyFirstBarL #-}++-- | 'readOnlyFirstBaz' Lens+readOnlyFirstBazL :: Lens_' ReadOnlyFirst (Maybe Text)+readOnlyFirstBazL f ReadOnlyFirst{..} = (\readOnlyFirstBaz -> ReadOnlyFirst { readOnlyFirstBaz, ..} ) <$> f readOnlyFirstBaz+{-# INLINE readOnlyFirstBazL #-}++++-- * SpecialModelName++-- | 'specialModelNameSpecialPropertyName' Lens+specialModelNameSpecialPropertyNameL :: Lens_' SpecialModelName (Maybe Integer)+specialModelNameSpecialPropertyNameL f SpecialModelName{..} = (\specialModelNameSpecialPropertyName -> SpecialModelName { specialModelNameSpecialPropertyName, ..} ) <$> f specialModelNameSpecialPropertyName+{-# INLINE specialModelNameSpecialPropertyNameL #-}+++ -- * Tag  -- | 'tagId' Lens@@ -189,5 +588,43 @@ userUserStatusL :: Lens_' User (Maybe Int) userUserStatusL f User{..} = (\userUserStatus -> User { userUserStatus, ..} ) <$> f userUserStatus {-# INLINE userUserStatusL #-}++++-- * Cat++-- | 'catClassName' Lens+catClassNameL :: Lens_' Cat (Text)+catClassNameL f Cat{..} = (\catClassName -> Cat { catClassName, ..} ) <$> f catClassName+{-# INLINE catClassNameL #-}++-- | 'catColor' Lens+catColorL :: Lens_' Cat (Maybe Text)+catColorL f Cat{..} = (\catColor -> Cat { catColor, ..} ) <$> f catColor+{-# INLINE catColorL #-}++-- | 'catDeclawed' Lens+catDeclawedL :: Lens_' Cat (Maybe Bool)+catDeclawedL f Cat{..} = (\catDeclawed -> Cat { catDeclawed, ..} ) <$> f catDeclawed+{-# INLINE catDeclawedL #-}++++-- * Dog++-- | 'dogClassName' Lens+dogClassNameL :: Lens_' Dog (Text)+dogClassNameL f Dog{..} = (\dogClassName -> Dog { dogClassName, ..} ) <$> f dogClassName+{-# INLINE dogClassNameL #-}++-- | 'dogColor' Lens+dogColorL :: Lens_' Dog (Maybe Text)+dogColorL f Dog{..} = (\dogColor -> Dog { dogColor, ..} ) <$> f dogColor+{-# INLINE dogColorL #-}++-- | 'dogBreed' Lens+dogBreedL :: Lens_' Dog (Maybe Text)+dogBreedL f Dog{..} = (\dogBreed -> Dog { dogBreed, ..} ) <$> f dogBreed+{-# INLINE dogBreedL #-}  
+ lib/SwaggerPetstore/Logging.hs view
@@ -0,0 +1,108 @@+{-|+Module : SwaggerPetstore.Logging+Katip Logging functions+-}++{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE ScopedTypeVariables #-}++module SwaggerPetstore.Logging where++import Data.Text (Text)+import GHC.Exts (IsString(..))++import qualified Control.Exception.Safe as E+import qualified Control.Monad.IO.Class as P+import qualified Control.Monad.Trans.Reader as P+import qualified Data.Text as T+import qualified Lens.Micro as L+import qualified System.IO as IO++import qualified Katip as LG++-- * Type Aliases (for compatability)++-- | Runs a Katip logging block with the Log environment+type LogExecWithContext = forall m. P.MonadIO m =>+                                    LogContext -> LogExec m++-- | A Katip logging block+type LogExec m = forall a. LG.KatipT m a -> m a++-- | A Katip Log environment+type LogContext = LG.LogEnv++-- | A Katip Log severity+type LogLevel = LG.Severity++-- * default logger++-- | the default log environment+initLogContext :: IO LogContext+initLogContext = LG.initLogEnv "SwaggerPetstore" "dev"++-- | Runs a Katip logging block with the Log environment+runDefaultLogExecWithContext :: LogExecWithContext+runDefaultLogExecWithContext = LG.runKatipT++-- * stdout logger++-- | Runs a Katip logging block with the Log environment+stdoutLoggingExec :: LogExecWithContext+stdoutLoggingExec = runDefaultLogExecWithContext++-- | A Katip Log environment which targets stdout+stdoutLoggingContext :: LogContext -> IO LogContext+stdoutLoggingContext cxt = do+    handleScribe <- LG.mkHandleScribe LG.ColorIfTerminal IO.stdout LG.InfoS LG.V2+    LG.registerScribe "stdout" handleScribe LG.defaultScribeSettings cxt++-- * stderr logger++-- | Runs a Katip logging block with the Log environment+stderrLoggingExec :: LogExecWithContext+stderrLoggingExec = runDefaultLogExecWithContext++-- | A Katip Log environment which targets stderr+stderrLoggingContext :: LogContext -> IO LogContext+stderrLoggingContext cxt = do+    handleScribe <- LG.mkHandleScribe LG.ColorIfTerminal IO.stderr LG.InfoS LG.V2+    LG.registerScribe "stderr" handleScribe LG.defaultScribeSettings cxt++-- * Null logger++-- | Disables Katip logging+runNullLogExec :: LogExecWithContext+runNullLogExec le (LG.KatipT f) = P.runReaderT f (L.set LG.logEnvScribes mempty le)++-- * Log Msg++-- | Log a katip message+_log :: (Applicative m, LG.Katip m) => Text -> LogLevel -> Text -> m ()+_log src level msg = do+  LG.logMsg (fromString $ T.unpack src) level (LG.logStr msg)++-- * Log Exceptions++-- | re-throws exceptions after logging them+logExceptions+  :: (LG.Katip m, E.MonadCatch m, Applicative m)+  => Text -> m a -> m a+logExceptions src =+  E.handle+    (\(e :: E.SomeException) -> do+       _log src LG.ErrorS ((T.pack . show) e)+       E.throw e)++-- * Log Level++levelInfo :: LogLevel+levelInfo = LG.InfoS++levelError :: LogLevel+levelError = LG.ErrorS++levelDebug :: LogLevel+levelDebug = LG.DebugS+
lib/SwaggerPetstore/MimeTypes.hs view
@@ -13,6 +13,7 @@  module SwaggerPetstore.MimeTypes where +import SwaggerPetstore.Model as M  import qualified Data.Aeson as A @@ -22,13 +23,16 @@ import qualified Data.ByteString.Char8 as BC import qualified Data.ByteString.Lazy.Char8 as BCL + import qualified Network.HTTP.Media as ME  import qualified Web.FormUrlEncoded as WH+import qualified Web.HttpApiData as WH  import qualified Data.Data as P (Typeable) import qualified Data.Proxy as P (Proxy(..)) import qualified Data.Text as T+import qualified Data.String as P import qualified Data.Text.Encoding as T import qualified Control.Arrow as P (left) @@ -50,7 +54,10 @@ data MimeMultipartFormData = MimeMultipartFormData deriving (P.Typeable) data MimeOctetStream = MimeOctetStream deriving (P.Typeable) data MimeNoContent = MimeNoContent deriving (P.Typeable)+data MimeAny = MimeAny deriving (P.Typeable) +data MimeXmlCharsetutf8 = MimeXmlCharsetutf8 deriving (P.Typeable)+data MimeJsonCharsetutf8 = MimeJsonCharsetutf8 deriving (P.Typeable)  -- ** MimeType Class @@ -76,34 +83,41 @@  -- ** MimeType Instances --- | @application/json@+-- | @application/json; charset=utf-8@ instance MimeType MimeJSON where-  mimeTypes _ =-    [ "application" ME.// "json" ME./: ("charset", "utf-8")-    , "application" ME.// "json"-    ]---- | @application/xml@+  mimeType _ = Just $ P.fromString "application/json"+-- | @application/xml; charset=utf-8@ instance MimeType MimeXML where-  mimeType _ = Just $ "application" ME.// "xml"-+  mimeType _ = Just $ P.fromString "application/xml" -- | @application/x-www-form-urlencoded@ instance MimeType MimeFormUrlEncoded where-  mimeType _ = Just $ "application" ME.// "x-www-form-urlencoded"-+  mimeType _ = Just $ P.fromString "application/x-www-form-urlencoded" -- | @multipart/form-data@ instance MimeType MimeMultipartFormData where-  mimeType _ = Just $ "multipart" ME.// "form-data"---- | @text/plain;charset=utf-8@+  mimeType _ = Just $ P.fromString "multipart/form-data"+-- | @text/plain; charset=utf-8@ instance MimeType MimePlainText where-  mimeType _ = Just $ "text" ME.// "plain" ME./: ("charset", "utf-8")+  mimeType _ = Just $ P.fromString "text/plain"+-- | @application/octet-stream@ instance MimeType MimeOctetStream where-  mimeType _ = Just $ "application" ME.// "octet-stream"+  mimeType _ = Just $ P.fromString "application/octet-stream"+-- | @"*/*"@+instance MimeType MimeAny where+  mimeType _ = Just $ P.fromString "*/*" instance MimeType MimeNoContent where   mimeType _ = Nothing +-- | @application/xml; charset=utf-8@+instance MimeType MimeXmlCharsetutf8 where+  mimeType _ = Just $ P.fromString "application/xml; charset=utf-8" +-- | @application/json; charset=utf-8@+instance MimeType MimeJsonCharsetutf8 where+  mimeType _ = Just $ P.fromString "application/json; charset=utf-8"+instance A.ToJSON a => MimeRender MimeJsonCharsetutf8 a where mimeRender _ = A.encode+instance A.FromJSON a => MimeUnrender MimeJsonCharsetutf8 a where mimeUnrender _ = A.eitherDecode++ -- ** MimeRender Class  class MimeType mtype => MimeRender mtype x where@@ -133,13 +147,24 @@ -- | @BCL.pack@ instance MimeRender MimeOctetStream String where mimeRender _ = BCL.pack --- | @P.id@ instance MimeRender MimeMultipartFormData BL.ByteString where mimeRender _ = P.id--- | @BL.fromStrict . T.encodeUtf8@-instance MimeRender MimeMultipartFormData T.Text where mimeRender _ = BL.fromStrict . T.encodeUtf8--- | @BCL.pack@-instance MimeRender MimeMultipartFormData String where mimeRender _ = BCL.pack+instance MimeRender MimeMultipartFormData Binary where mimeRender _ = unBinary +instance MimeRender MimeMultipartFormData ByteArray where mimeRender _ = mimeRenderDefaultMultipartFormData+instance MimeRender MimeMultipartFormData Bool where mimeRender _ = mimeRenderDefaultMultipartFormData+instance MimeRender MimeMultipartFormData Char where mimeRender _ = mimeRenderDefaultMultipartFormData+instance MimeRender MimeMultipartFormData Date where mimeRender _ = mimeRenderDefaultMultipartFormData+instance MimeRender MimeMultipartFormData DateTime where mimeRender _ = mimeRenderDefaultMultipartFormData+instance MimeRender MimeMultipartFormData Double where mimeRender _ = mimeRenderDefaultMultipartFormData+instance MimeRender MimeMultipartFormData Float where mimeRender _ = mimeRenderDefaultMultipartFormData+instance MimeRender MimeMultipartFormData Int where mimeRender _ = mimeRenderDefaultMultipartFormData+instance MimeRender MimeMultipartFormData Integer where mimeRender _ = mimeRenderDefaultMultipartFormData+instance MimeRender MimeMultipartFormData String where mimeRender _ = mimeRenderDefaultMultipartFormData+instance MimeRender MimeMultipartFormData T.Text where mimeRender _ = mimeRenderDefaultMultipartFormData++mimeRenderDefaultMultipartFormData :: WH.ToHttpApiData a => a -> BL.ByteString+mimeRenderDefaultMultipartFormData = BL.fromStrict . T.encodeUtf8 . WH.toQueryParam+ -- | @P.Right . P.const NoContent@ instance MimeRender MimeNoContent NoContent where mimeRender _ = P.const BCL.empty @@ -148,6 +173,8 @@ -- instance MimeRender MimeOctetStream Int where mimeRender _ = BB.toLazyByteString . BB.intDec -- instance MimeRender MimeOctetStream Integer where mimeRender _ = BB.toLazyByteString . BB.integerDec +-- instance MimeRender MimeXmlCharsetutf8 T.Text where mimeRender _ = undefined+-- instance MimeRender MimeJsonCharsetutf8 T.Text where mimeRender _ = undefined  -- ** MimeUnrender Class @@ -180,6 +207,8 @@ -- | @P.Right . P.const NoContent@ instance MimeUnrender MimeNoContent NoContent where mimeUnrender _ = P.Right . P.const NoContent +-- instance MimeUnrender MimeXmlCharsetutf8 T.Text where mimeUnrender _ = undefined+-- instance MimeUnrender MimeJsonCharsetutf8 T.Text where mimeUnrender _ = undefined  -- ** Request Consumes 
lib/SwaggerPetstore/Model.hs view
@@ -17,361 +17,1400 @@ module SwaggerPetstore.Model where  import Data.Aeson ((.:),(.:!),(.:?),(.=))-import Data.Text (Text)--import Data.Aeson (Value)-import Data.ByteString.Lazy (ByteString)--import qualified Data.Aeson as A-import qualified Data.ByteString as B-import qualified Data.Data as P (Data, Typeable)-import qualified Data.HashMap.Lazy as HM-import qualified Data.Map as Map-import qualified Data.Maybe as P-import qualified Data.Foldable as P-import qualified Web.FormUrlEncoded as WH-import qualified Web.HttpApiData as WH--import qualified Data.Time as TI-import qualified Data.Time.ISO8601 as TI-import Data.Time (UTCTime)--import Control.Applicative ((<|>))-import Control.Applicative (Alternative)-import Prelude (($), (.),(<$>),(<*>),(>>=),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)-import qualified Prelude as P------ * Models----- ** ApiResponse--- |--- An uploaded response--- --- Describes the result of uploading an image resource-data ApiResponse = ApiResponse-  { apiResponseCode :: !(Maybe Int) -- ^ "code"-  , apiResponseType :: !(Maybe Text) -- ^ "type"-  , apiResponseMessage :: !(Maybe Text) -- ^ "message"-  } deriving (P.Show,P.Eq,P.Typeable)--instance A.FromJSON ApiResponse where-  parseJSON = A.withObject "ApiResponse" $ \o ->-    ApiResponse-      <$> (o .:? "code")-      <*> (o .:? "type")-      <*> (o .:? "message")--instance A.ToJSON ApiResponse where-  toJSON ApiResponse {..} =-   _omitNulls-      [ "code" .=  apiResponseCode-      , "type" .=  apiResponseType-      , "message" .=  apiResponseMessage-      ]----- | Construct a value of type 'ApiResponse' (by applying it's required fields, if any)-mkApiResponse-  :: ApiResponse-mkApiResponse =-  ApiResponse-  { apiResponseCode = Nothing-  , apiResponseType = Nothing-  , apiResponseMessage = Nothing-  }-  ----- ** Category--- |--- Pet catehgry--- --- A category for a pet-data Category = Category-  { categoryId :: !(Maybe Integer) -- ^ "id"-  , categoryName :: !(Maybe Text) -- ^ "name"-  } deriving (P.Show,P.Eq,P.Typeable)--instance A.FromJSON Category where-  parseJSON = A.withObject "Category" $ \o ->-    Category-      <$> (o .:? "id")-      <*> (o .:? "name")--instance A.ToJSON Category where-  toJSON Category {..} =-   _omitNulls-      [ "id" .=  categoryId-      , "name" .=  categoryName-      ]----- | Construct a value of type 'Category' (by applying it's required fields, if any)-mkCategory-  :: Category-mkCategory =-  Category-  { categoryId = Nothing-  , categoryName = Nothing-  }-  ----- ** Order--- |--- Pet Order--- --- An order for a pets from the pet store-data Order = Order-  { orderId :: !(Maybe Integer) -- ^ "id"-  , orderPetId :: !(Maybe Integer) -- ^ "petId"-  , orderQuantity :: !(Maybe Int) -- ^ "quantity"-  , orderShipDate :: !(Maybe UTCTime) -- ^ "shipDate"-  , orderStatus :: !(Maybe Text) -- ^ "status" - Order Status-  , orderComplete :: !(Maybe Bool) -- ^ "complete"-  } deriving (P.Show,P.Eq,P.Typeable)--instance A.FromJSON Order where-  parseJSON = A.withObject "Order" $ \o ->-    Order-      <$> (o .:? "id")-      <*> (o .:? "petId")-      <*> (o .:? "quantity")-      <*> (o .:? "shipDate" >>= P.mapM _readDateTime)-      <*> (o .:? "status")-      <*> (o .:? "complete")--instance A.ToJSON Order where-  toJSON Order {..} =-   _omitNulls-      [ "id" .=  orderId-      , "petId" .=  orderPetId-      , "quantity" .=  orderQuantity-      , "shipDate" .= P.fmap _showDateTime orderShipDate-      , "status" .=  orderStatus-      , "complete" .=  orderComplete-      ]----- | Construct a value of type 'Order' (by applying it's required fields, if any)-mkOrder-  :: Order-mkOrder =-  Order-  { orderId = Nothing-  , orderPetId = Nothing-  , orderQuantity = Nothing-  , orderShipDate = Nothing-  , orderStatus = Nothing-  , orderComplete = Nothing-  }-  ----- ** Pet--- |--- a Pet--- --- A pet for sale in the pet store-data Pet = Pet-  { petId :: !(Maybe Integer) -- ^ "id"-  , petCategory :: !(Maybe Category) -- ^ "category"-  , petName :: !(Text) -- ^ /Required/ "name"-  , petPhotoUrls :: !([Text]) -- ^ /Required/ "photoUrls"-  , petTags :: !(Maybe [Tag]) -- ^ "tags"-  , petStatus :: !(Maybe Text) -- ^ "status" - pet status in the store-  } deriving (P.Show,P.Eq,P.Typeable)--instance A.FromJSON Pet where-  parseJSON = A.withObject "Pet" $ \o ->-    Pet-      <$> (o .:? "id")-      <*> (o .:? "category")-      <*> (o .:  "name")-      <*> (o .:  "photoUrls")-      <*> (o .:? "tags")-      <*> (o .:? "status")--instance A.ToJSON Pet where-  toJSON Pet {..} =-   _omitNulls-      [ "id" .=  petId-      , "category" .=  petCategory-      , "name" .=  petName-      , "photoUrls" .=  petPhotoUrls-      , "tags" .=  petTags-      , "status" .=  petStatus-      ]----- | Construct a value of type 'Pet' (by applying it's required fields, if any)-mkPet-  :: Text -- ^ 'petName' -  -> [Text] -- ^ 'petPhotoUrls' -  -> Pet-mkPet petName petPhotoUrls =-  Pet-  { petId = Nothing-  , petCategory = Nothing-  , petName-  , petPhotoUrls-  , petTags = Nothing-  , petStatus = Nothing-  }-  ----- ** Tag--- |--- Pet Tag--- --- A tag for a pet-data Tag = Tag-  { tagId :: !(Maybe Integer) -- ^ "id"-  , tagName :: !(Maybe Text) -- ^ "name"-  } deriving (P.Show,P.Eq,P.Typeable)--instance A.FromJSON Tag where-  parseJSON = A.withObject "Tag" $ \o ->-    Tag-      <$> (o .:? "id")-      <*> (o .:? "name")--instance A.ToJSON Tag where-  toJSON Tag {..} =-   _omitNulls-      [ "id" .=  tagId-      , "name" .=  tagName-      ]----- | Construct a value of type 'Tag' (by applying it's required fields, if any)-mkTag-  :: Tag-mkTag =-  Tag-  { tagId = Nothing-  , tagName = Nothing-  }-  ----- ** User--- |--- a User--- --- A User who is purchasing from the pet store-data User = User-  { userId :: !(Maybe Integer) -- ^ "id"-  , userUsername :: !(Maybe Text) -- ^ "username"-  , userFirstName :: !(Maybe Text) -- ^ "firstName"-  , userLastName :: !(Maybe Text) -- ^ "lastName"-  , userEmail :: !(Maybe Text) -- ^ "email"-  , userPassword :: !(Maybe Text) -- ^ "password"-  , userPhone :: !(Maybe Text) -- ^ "phone"-  , userUserStatus :: !(Maybe Int) -- ^ "userStatus" - User Status-  } deriving (P.Show,P.Eq,P.Typeable)--instance A.FromJSON User where-  parseJSON = A.withObject "User" $ \o ->-    User-      <$> (o .:? "id")-      <*> (o .:? "username")-      <*> (o .:? "firstName")-      <*> (o .:? "lastName")-      <*> (o .:? "email")-      <*> (o .:? "password")-      <*> (o .:? "phone")-      <*> (o .:? "userStatus")--instance A.ToJSON User where-  toJSON User {..} =-   _omitNulls-      [ "id" .=  userId-      , "username" .=  userUsername-      , "firstName" .=  userFirstName-      , "lastName" .=  userLastName-      , "email" .=  userEmail-      , "password" .=  userPassword-      , "phone" .=  userPhone-      , "userStatus" .=  userUserStatus-      ]----- | Construct a value of type 'User' (by applying it's required fields, if any)-mkUser-  :: User-mkUser =-  User-  { userId = Nothing-  , userUsername = Nothing-  , userFirstName = Nothing-  , userLastName = Nothing-  , userEmail = Nothing-  , userPassword = Nothing-  , userPhone = Nothing-  , userUserStatus = Nothing-  }-  ----- * Utils---- | Removes Null fields.  (OpenAPI-Specification 2.0 does not allow Null in JSON)--_omitNulls :: [(Text, A.Value)] -> A.Value-_omitNulls = A.object . P.filter notNull-  where-    notNull (_, A.Null) = False-    notNull _ = True--_toFormItem :: (WH.ToHttpApiData a, Functor f) => t -> f a -> f (t, [Text])-_toFormItem name x = (name,) . (:[]) . WH.toQueryParam <$> x--_emptyToNothing :: Maybe String -> Maybe String-_emptyToNothing (Just "") = Nothing-_emptyToNothing x = x-{-# INLINE _emptyToNothing #-}--_memptyToNothing :: (P.Monoid a, P.Eq a) => Maybe a -> Maybe a-_memptyToNothing (Just x) | x P.== P.mempty = Nothing-_memptyToNothing x = x-{-# INLINE _memptyToNothing #-}---- * DateTime Formatting---- | @_parseISO8601@-_readDateTime :: (TI.ParseTime t, Monad m, Alternative m) => String -> m t-_readDateTime =-  _parseISO8601-{-# INLINE _readDateTime #-}---- | @TI.formatISO8601Millis@-_showDateTime :: (t ~ UTCTime, TI.FormatTime t) => t -> String-_showDateTime =-  TI.formatISO8601Millis-{-# INLINE _showDateTime #-}--_parseISO8601 :: (TI.ParseTime t, Monad m, Alternative m) => String -> m t-_parseISO8601 t =-  P.asum $-  P.flip (TI.parseTimeM True TI.defaultTimeLocale) t <$>-  ["%FT%T%QZ", "%FT%T%Q%z", "%FT%T%Q%Z"]-{-# INLINE _parseISO8601 #-}---- * Date Formatting---- | @TI.parseTimeM True TI.defaultTimeLocale "%Y-%m-%d"@-_readDate :: (TI.ParseTime t, Monad m) => String -> m t-_readDate =-  TI.parseTimeM True TI.defaultTimeLocale "%Y-%m-%d"-{-# INLINE _readDate #-}---- | @TI.formatTime TI.defaultTimeLocale "%Y-%m-%d"@-_showDate :: TI.FormatTime t => t -> String-_showDate =-  TI.formatTime TI.defaultTimeLocale "%Y-%m-%d"-{-# INLINE _showDate #-}++import qualified Data.Aeson as A+import qualified Data.ByteString as B+import qualified Data.ByteString.Lazy as BL+import qualified Data.ByteString.Base64.Lazy as BL64+import qualified Data.Data as P (Data, Typeable)+import qualified Data.HashMap.Lazy as HM+import qualified Data.Map as Map+import qualified Data.Set as Set+import qualified Data.Maybe as P+import qualified Data.Foldable as P+import qualified Web.FormUrlEncoded as WH+import qualified Web.HttpApiData as WH+import qualified Control.DeepSeq as NF+import qualified Data.Ix as P+import qualified Data.Text as T+import qualified Data.Text.Encoding as T+import qualified Control.Arrow as P (left)+import Data.Text (Text)++import qualified Data.Time as TI+import qualified Data.Time.ISO8601 as TI++import Control.Applicative ((<|>))+import Control.Applicative (Alternative)+import Prelude (($), (.),(<$>),(<*>),(>>=),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)+import qualified Prelude as P++++-- * Models+++-- ** AdditionalPropertiesClass+-- |+data AdditionalPropertiesClass = AdditionalPropertiesClass+  { additionalPropertiesClassMapProperty :: !(Maybe (Map.Map String Text)) -- ^ "map_property"+  , additionalPropertiesClassMapOfMapProperty :: !(Maybe (Map.Map String (Map.Map String Text))) -- ^ "map_of_map_property"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON AdditionalPropertiesClass where+  parseJSON = A.withObject "AdditionalPropertiesClass" $ \o ->+    AdditionalPropertiesClass+      <$> (o .:? "map_property")+      <*> (o .:? "map_of_map_property")++instance A.ToJSON AdditionalPropertiesClass where+  toJSON AdditionalPropertiesClass {..} =+   _omitNulls+      [ "map_property" .= additionalPropertiesClassMapProperty+      , "map_of_map_property" .= additionalPropertiesClassMapOfMapProperty+      ]+++-- | Construct a value of type 'AdditionalPropertiesClass' (by applying it's required fields, if any)+mkAdditionalPropertiesClass+  :: AdditionalPropertiesClass+mkAdditionalPropertiesClass =+  AdditionalPropertiesClass+  { additionalPropertiesClassMapProperty = Nothing+  , additionalPropertiesClassMapOfMapProperty = Nothing+  }+  ++-- ** Animal+-- |+data Animal = Animal+  { animalClassName :: !(Text) -- ^ /Required/ "className"+  , animalColor :: !(Maybe Text) -- ^ "color"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON Animal where+  parseJSON = A.withObject "Animal" $ \o ->+    Animal+      <$> (o .:  "className")+      <*> (o .:? "color")++instance A.ToJSON Animal where+  toJSON Animal {..} =+   _omitNulls+      [ "className" .= animalClassName+      , "color" .= animalColor+      ]+++-- | Construct a value of type 'Animal' (by applying it's required fields, if any)+mkAnimal+  :: Text -- ^ 'animalClassName' +  -> Animal+mkAnimal animalClassName =+  Animal+  { animalClassName+  , animalColor = Nothing+  }+  ++-- ** AnimalFarm+-- |+data AnimalFarm = AnimalFarm+  { +  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON AnimalFarm where+  parseJSON = A.withObject "AnimalFarm" $ \o ->+    pure AnimalFarm+      ++instance A.ToJSON AnimalFarm where+  toJSON AnimalFarm  =+   _omitNulls+      [ +      ]+++-- | Construct a value of type 'AnimalFarm' (by applying it's required fields, if any)+mkAnimalFarm+  :: AnimalFarm+mkAnimalFarm =+  AnimalFarm+  { +  }+  ++-- ** ApiResponse+-- |+data ApiResponse = ApiResponse+  { apiResponseCode :: !(Maybe Int) -- ^ "code"+  , apiResponseType :: !(Maybe Text) -- ^ "type"+  , apiResponseMessage :: !(Maybe Text) -- ^ "message"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON ApiResponse where+  parseJSON = A.withObject "ApiResponse" $ \o ->+    ApiResponse+      <$> (o .:? "code")+      <*> (o .:? "type")+      <*> (o .:? "message")++instance A.ToJSON ApiResponse where+  toJSON ApiResponse {..} =+   _omitNulls+      [ "code" .= apiResponseCode+      , "type" .= apiResponseType+      , "message" .= apiResponseMessage+      ]+++-- | Construct a value of type 'ApiResponse' (by applying it's required fields, if any)+mkApiResponse+  :: ApiResponse+mkApiResponse =+  ApiResponse+  { apiResponseCode = Nothing+  , apiResponseType = Nothing+  , apiResponseMessage = Nothing+  }+  ++-- ** ArrayOfArrayOfNumberOnly+-- |+data ArrayOfArrayOfNumberOnly = ArrayOfArrayOfNumberOnly+  { arrayOfArrayOfNumberOnlyArrayArrayNumber :: !(Maybe [[Double]]) -- ^ "ArrayArrayNumber"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON ArrayOfArrayOfNumberOnly where+  parseJSON = A.withObject "ArrayOfArrayOfNumberOnly" $ \o ->+    ArrayOfArrayOfNumberOnly+      <$> (o .:? "ArrayArrayNumber")++instance A.ToJSON ArrayOfArrayOfNumberOnly where+  toJSON ArrayOfArrayOfNumberOnly {..} =+   _omitNulls+      [ "ArrayArrayNumber" .= arrayOfArrayOfNumberOnlyArrayArrayNumber+      ]+++-- | Construct a value of type 'ArrayOfArrayOfNumberOnly' (by applying it's required fields, if any)+mkArrayOfArrayOfNumberOnly+  :: ArrayOfArrayOfNumberOnly+mkArrayOfArrayOfNumberOnly =+  ArrayOfArrayOfNumberOnly+  { arrayOfArrayOfNumberOnlyArrayArrayNumber = Nothing+  }+  ++-- ** ArrayOfNumberOnly+-- |+data ArrayOfNumberOnly = ArrayOfNumberOnly+  { arrayOfNumberOnlyArrayNumber :: !(Maybe [Double]) -- ^ "ArrayNumber"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON ArrayOfNumberOnly where+  parseJSON = A.withObject "ArrayOfNumberOnly" $ \o ->+    ArrayOfNumberOnly+      <$> (o .:? "ArrayNumber")++instance A.ToJSON ArrayOfNumberOnly where+  toJSON ArrayOfNumberOnly {..} =+   _omitNulls+      [ "ArrayNumber" .= arrayOfNumberOnlyArrayNumber+      ]+++-- | Construct a value of type 'ArrayOfNumberOnly' (by applying it's required fields, if any)+mkArrayOfNumberOnly+  :: ArrayOfNumberOnly+mkArrayOfNumberOnly =+  ArrayOfNumberOnly+  { arrayOfNumberOnlyArrayNumber = Nothing+  }+  ++-- ** ArrayTest+-- |+data ArrayTest = ArrayTest+  { arrayTestArrayOfString :: !(Maybe [Text]) -- ^ "array_of_string"+  , arrayTestArrayArrayOfInteger :: !(Maybe [[Integer]]) -- ^ "array_array_of_integer"+  , arrayTestArrayArrayOfModel :: !(Maybe [[ReadOnlyFirst]]) -- ^ "array_array_of_model"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON ArrayTest where+  parseJSON = A.withObject "ArrayTest" $ \o ->+    ArrayTest+      <$> (o .:? "array_of_string")+      <*> (o .:? "array_array_of_integer")+      <*> (o .:? "array_array_of_model")++instance A.ToJSON ArrayTest where+  toJSON ArrayTest {..} =+   _omitNulls+      [ "array_of_string" .= arrayTestArrayOfString+      , "array_array_of_integer" .= arrayTestArrayArrayOfInteger+      , "array_array_of_model" .= arrayTestArrayArrayOfModel+      ]+++-- | Construct a value of type 'ArrayTest' (by applying it's required fields, if any)+mkArrayTest+  :: ArrayTest+mkArrayTest =+  ArrayTest+  { arrayTestArrayOfString = Nothing+  , arrayTestArrayArrayOfInteger = Nothing+  , arrayTestArrayArrayOfModel = Nothing+  }+  ++-- ** Capitalization+-- |+data Capitalization = Capitalization+  { capitalizationSmallCamel :: !(Maybe Text) -- ^ "smallCamel"+  , capitalizationCapitalCamel :: !(Maybe Text) -- ^ "CapitalCamel"+  , capitalizationSmallSnake :: !(Maybe Text) -- ^ "small_Snake"+  , capitalizationCapitalSnake :: !(Maybe Text) -- ^ "Capital_Snake"+  , capitalizationScaEthFlowPoints :: !(Maybe Text) -- ^ "SCA_ETH_Flow_Points"+  , capitalizationAttName :: !(Maybe Text) -- ^ "ATT_NAME" - Name of the pet +  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON Capitalization where+  parseJSON = A.withObject "Capitalization" $ \o ->+    Capitalization+      <$> (o .:? "smallCamel")+      <*> (o .:? "CapitalCamel")+      <*> (o .:? "small_Snake")+      <*> (o .:? "Capital_Snake")+      <*> (o .:? "SCA_ETH_Flow_Points")+      <*> (o .:? "ATT_NAME")++instance A.ToJSON Capitalization where+  toJSON Capitalization {..} =+   _omitNulls+      [ "smallCamel" .= capitalizationSmallCamel+      , "CapitalCamel" .= capitalizationCapitalCamel+      , "small_Snake" .= capitalizationSmallSnake+      , "Capital_Snake" .= capitalizationCapitalSnake+      , "SCA_ETH_Flow_Points" .= capitalizationScaEthFlowPoints+      , "ATT_NAME" .= capitalizationAttName+      ]+++-- | Construct a value of type 'Capitalization' (by applying it's required fields, if any)+mkCapitalization+  :: Capitalization+mkCapitalization =+  Capitalization+  { capitalizationSmallCamel = Nothing+  , capitalizationCapitalCamel = Nothing+  , capitalizationSmallSnake = Nothing+  , capitalizationCapitalSnake = Nothing+  , capitalizationScaEthFlowPoints = Nothing+  , capitalizationAttName = Nothing+  }+  ++-- ** Category+-- |+data Category = Category+  { categoryId :: !(Maybe Integer) -- ^ "id"+  , categoryName :: !(Maybe Text) -- ^ "name"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON Category where+  parseJSON = A.withObject "Category" $ \o ->+    Category+      <$> (o .:? "id")+      <*> (o .:? "name")++instance A.ToJSON Category where+  toJSON Category {..} =+   _omitNulls+      [ "id" .= categoryId+      , "name" .= categoryName+      ]+++-- | Construct a value of type 'Category' (by applying it's required fields, if any)+mkCategory+  :: Category+mkCategory =+  Category+  { categoryId = Nothing+  , categoryName = Nothing+  }+  ++-- ** ClassModel+-- |+-- Model for testing model with \"_class\" property+data ClassModel = ClassModel+  { classModelClass :: !(Maybe Text) -- ^ "_class"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON ClassModel where+  parseJSON = A.withObject "ClassModel" $ \o ->+    ClassModel+      <$> (o .:? "_class")++instance A.ToJSON ClassModel where+  toJSON ClassModel {..} =+   _omitNulls+      [ "_class" .= classModelClass+      ]+++-- | Construct a value of type 'ClassModel' (by applying it's required fields, if any)+mkClassModel+  :: ClassModel+mkClassModel =+  ClassModel+  { classModelClass = Nothing+  }+  ++-- ** Client+-- |+data Client = Client+  { clientClient :: !(Maybe Text) -- ^ "client"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON Client where+  parseJSON = A.withObject "Client" $ \o ->+    Client+      <$> (o .:? "client")++instance A.ToJSON Client where+  toJSON Client {..} =+   _omitNulls+      [ "client" .= clientClient+      ]+++-- | Construct a value of type 'Client' (by applying it's required fields, if any)+mkClient+  :: Client+mkClient =+  Client+  { clientClient = Nothing+  }+  ++-- ** EnumArrays+-- |+data EnumArrays = EnumArrays+  { enumArraysJustSymbol :: !(Maybe Text) -- ^ "just_symbol"+  , enumArraysArrayEnum :: !(Maybe [Text]) -- ^ "array_enum"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON EnumArrays where+  parseJSON = A.withObject "EnumArrays" $ \o ->+    EnumArrays+      <$> (o .:? "just_symbol")+      <*> (o .:? "array_enum")++instance A.ToJSON EnumArrays where+  toJSON EnumArrays {..} =+   _omitNulls+      [ "just_symbol" .= enumArraysJustSymbol+      , "array_enum" .= enumArraysArrayEnum+      ]+++-- | Construct a value of type 'EnumArrays' (by applying it's required fields, if any)+mkEnumArrays+  :: EnumArrays+mkEnumArrays =+  EnumArrays+  { enumArraysJustSymbol = Nothing+  , enumArraysArrayEnum = Nothing+  }+  ++-- ** EnumClass+-- |+data EnumClass = EnumClass+  { +  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON EnumClass where+  parseJSON = A.withObject "EnumClass" $ \o ->+    pure EnumClass+      ++instance A.ToJSON EnumClass where+  toJSON EnumClass  =+   _omitNulls+      [ +      ]+++-- | Construct a value of type 'EnumClass' (by applying it's required fields, if any)+mkEnumClass+  :: EnumClass+mkEnumClass =+  EnumClass+  { +  }+  ++-- ** EnumTest+-- |+data EnumTest = EnumTest+  { enumTestEnumString :: !(Maybe Text) -- ^ "enum_string"+  , enumTestEnumInteger :: !(Maybe Int) -- ^ "enum_integer"+  , enumTestEnumNumber :: !(Maybe Double) -- ^ "enum_number"+  , enumTestOuterEnum :: !(Maybe OuterEnum) -- ^ "outerEnum"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON EnumTest where+  parseJSON = A.withObject "EnumTest" $ \o ->+    EnumTest+      <$> (o .:? "enum_string")+      <*> (o .:? "enum_integer")+      <*> (o .:? "enum_number")+      <*> (o .:? "outerEnum")++instance A.ToJSON EnumTest where+  toJSON EnumTest {..} =+   _omitNulls+      [ "enum_string" .= enumTestEnumString+      , "enum_integer" .= enumTestEnumInteger+      , "enum_number" .= enumTestEnumNumber+      , "outerEnum" .= enumTestOuterEnum+      ]+++-- | Construct a value of type 'EnumTest' (by applying it's required fields, if any)+mkEnumTest+  :: EnumTest+mkEnumTest =+  EnumTest+  { enumTestEnumString = Nothing+  , enumTestEnumInteger = Nothing+  , enumTestEnumNumber = Nothing+  , enumTestOuterEnum = Nothing+  }+  ++-- ** FormatTest+-- |+data FormatTest = FormatTest+  { formatTestInteger :: !(Maybe Int) -- ^ "integer"+  , formatTestInt32 :: !(Maybe Int) -- ^ "int32"+  , formatTestInt64 :: !(Maybe Integer) -- ^ "int64"+  , formatTestNumber :: !(Double) -- ^ /Required/ "number"+  , formatTestFloat :: !(Maybe Float) -- ^ "float"+  , formatTestDouble :: !(Maybe Double) -- ^ "double"+  , formatTestString :: !(Maybe Text) -- ^ "string"+  , formatTestByte :: !(ByteArray) -- ^ /Required/ "byte"+  , formatTestBinary :: !(Maybe Binary) -- ^ "binary"+  , formatTestDate :: !(Date) -- ^ /Required/ "date"+  , formatTestDateTime :: !(Maybe DateTime) -- ^ "dateTime"+  , formatTestUuid :: !(Maybe Text) -- ^ "uuid"+  , formatTestPassword :: !(Text) -- ^ /Required/ "password"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON FormatTest where+  parseJSON = A.withObject "FormatTest" $ \o ->+    FormatTest+      <$> (o .:? "integer")+      <*> (o .:? "int32")+      <*> (o .:? "int64")+      <*> (o .:  "number")+      <*> (o .:? "float")+      <*> (o .:? "double")+      <*> (o .:? "string")+      <*> (o .:  "byte")+      <*> (o .:? "binary")+      <*> (o .:  "date")+      <*> (o .:? "dateTime")+      <*> (o .:? "uuid")+      <*> (o .:  "password")++instance A.ToJSON FormatTest where+  toJSON FormatTest {..} =+   _omitNulls+      [ "integer" .= formatTestInteger+      , "int32" .= formatTestInt32+      , "int64" .= formatTestInt64+      , "number" .= formatTestNumber+      , "float" .= formatTestFloat+      , "double" .= formatTestDouble+      , "string" .= formatTestString+      , "byte" .= formatTestByte+      , "binary" .= formatTestBinary+      , "date" .= formatTestDate+      , "dateTime" .= formatTestDateTime+      , "uuid" .= formatTestUuid+      , "password" .= formatTestPassword+      ]+++-- | Construct a value of type 'FormatTest' (by applying it's required fields, if any)+mkFormatTest+  :: Double -- ^ 'formatTestNumber' +  -> ByteArray -- ^ 'formatTestByte' +  -> Date -- ^ 'formatTestDate' +  -> Text -- ^ 'formatTestPassword' +  -> FormatTest+mkFormatTest formatTestNumber formatTestByte formatTestDate formatTestPassword =+  FormatTest+  { formatTestInteger = Nothing+  , formatTestInt32 = Nothing+  , formatTestInt64 = Nothing+  , formatTestNumber+  , formatTestFloat = Nothing+  , formatTestDouble = Nothing+  , formatTestString = Nothing+  , formatTestByte+  , formatTestBinary = Nothing+  , formatTestDate+  , formatTestDateTime = Nothing+  , formatTestUuid = Nothing+  , formatTestPassword+  }+  ++-- ** HasOnlyReadOnly+-- |+data HasOnlyReadOnly = HasOnlyReadOnly+  { hasOnlyReadOnlyBar :: !(Maybe Text) -- ^ "bar"+  , hasOnlyReadOnlyFoo :: !(Maybe Text) -- ^ "foo"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON HasOnlyReadOnly where+  parseJSON = A.withObject "HasOnlyReadOnly" $ \o ->+    HasOnlyReadOnly+      <$> (o .:? "bar")+      <*> (o .:? "foo")++instance A.ToJSON HasOnlyReadOnly where+  toJSON HasOnlyReadOnly {..} =+   _omitNulls+      [ "bar" .= hasOnlyReadOnlyBar+      , "foo" .= hasOnlyReadOnlyFoo+      ]+++-- | Construct a value of type 'HasOnlyReadOnly' (by applying it's required fields, if any)+mkHasOnlyReadOnly+  :: HasOnlyReadOnly+mkHasOnlyReadOnly =+  HasOnlyReadOnly+  { hasOnlyReadOnlyBar = Nothing+  , hasOnlyReadOnlyFoo = Nothing+  }+  ++-- ** MapTest+-- |+data MapTest = MapTest+  { mapTestMapMapOfString :: !(Maybe (Map.Map String (Map.Map String Text))) -- ^ "map_map_of_string"+  , mapTestMapOfEnumString :: !(Maybe (Map.Map String Text)) -- ^ "map_of_enum_string"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON MapTest where+  parseJSON = A.withObject "MapTest" $ \o ->+    MapTest+      <$> (o .:? "map_map_of_string")+      <*> (o .:? "map_of_enum_string")++instance A.ToJSON MapTest where+  toJSON MapTest {..} =+   _omitNulls+      [ "map_map_of_string" .= mapTestMapMapOfString+      , "map_of_enum_string" .= mapTestMapOfEnumString+      ]+++-- | Construct a value of type 'MapTest' (by applying it's required fields, if any)+mkMapTest+  :: MapTest+mkMapTest =+  MapTest+  { mapTestMapMapOfString = Nothing+  , mapTestMapOfEnumString = Nothing+  }+  ++-- ** MixedPropertiesAndAdditionalPropertiesClass+-- |+data MixedPropertiesAndAdditionalPropertiesClass = MixedPropertiesAndAdditionalPropertiesClass+  { mixedPropertiesAndAdditionalPropertiesClassUuid :: !(Maybe Text) -- ^ "uuid"+  , mixedPropertiesAndAdditionalPropertiesClassDateTime :: !(Maybe DateTime) -- ^ "dateTime"+  , mixedPropertiesAndAdditionalPropertiesClassMap :: !(Maybe (Map.Map String Animal)) -- ^ "map"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON MixedPropertiesAndAdditionalPropertiesClass where+  parseJSON = A.withObject "MixedPropertiesAndAdditionalPropertiesClass" $ \o ->+    MixedPropertiesAndAdditionalPropertiesClass+      <$> (o .:? "uuid")+      <*> (o .:? "dateTime")+      <*> (o .:? "map")++instance A.ToJSON MixedPropertiesAndAdditionalPropertiesClass where+  toJSON MixedPropertiesAndAdditionalPropertiesClass {..} =+   _omitNulls+      [ "uuid" .= mixedPropertiesAndAdditionalPropertiesClassUuid+      , "dateTime" .= mixedPropertiesAndAdditionalPropertiesClassDateTime+      , "map" .= mixedPropertiesAndAdditionalPropertiesClassMap+      ]+++-- | Construct a value of type 'MixedPropertiesAndAdditionalPropertiesClass' (by applying it's required fields, if any)+mkMixedPropertiesAndAdditionalPropertiesClass+  :: MixedPropertiesAndAdditionalPropertiesClass+mkMixedPropertiesAndAdditionalPropertiesClass =+  MixedPropertiesAndAdditionalPropertiesClass+  { mixedPropertiesAndAdditionalPropertiesClassUuid = Nothing+  , mixedPropertiesAndAdditionalPropertiesClassDateTime = Nothing+  , mixedPropertiesAndAdditionalPropertiesClassMap = Nothing+  }+  ++-- ** Model200Response+-- |+-- Model for testing model name starting with number+data Model200Response = Model200Response+  { model200ResponseName :: !(Maybe Int) -- ^ "name"+  , model200ResponseClass :: !(Maybe Text) -- ^ "class"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON Model200Response where+  parseJSON = A.withObject "Model200Response" $ \o ->+    Model200Response+      <$> (o .:? "name")+      <*> (o .:? "class")++instance A.ToJSON Model200Response where+  toJSON Model200Response {..} =+   _omitNulls+      [ "name" .= model200ResponseName+      , "class" .= model200ResponseClass+      ]+++-- | Construct a value of type 'Model200Response' (by applying it's required fields, if any)+mkModel200Response+  :: Model200Response+mkModel200Response =+  Model200Response+  { model200ResponseName = Nothing+  , model200ResponseClass = Nothing+  }+  ++-- ** ModelList+-- |+data ModelList = ModelList+  { modelList123List :: !(Maybe Text) -- ^ "123-list"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON ModelList where+  parseJSON = A.withObject "ModelList" $ \o ->+    ModelList+      <$> (o .:? "123-list")++instance A.ToJSON ModelList where+  toJSON ModelList {..} =+   _omitNulls+      [ "123-list" .= modelList123List+      ]+++-- | Construct a value of type 'ModelList' (by applying it's required fields, if any)+mkModelList+  :: ModelList+mkModelList =+  ModelList+  { modelList123List = Nothing+  }+  ++-- ** ModelReturn+-- |+-- Model for testing reserved words+data ModelReturn = ModelReturn+  { modelReturnReturn :: !(Maybe Int) -- ^ "return"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON ModelReturn where+  parseJSON = A.withObject "ModelReturn" $ \o ->+    ModelReturn+      <$> (o .:? "return")++instance A.ToJSON ModelReturn where+  toJSON ModelReturn {..} =+   _omitNulls+      [ "return" .= modelReturnReturn+      ]+++-- | Construct a value of type 'ModelReturn' (by applying it's required fields, if any)+mkModelReturn+  :: ModelReturn+mkModelReturn =+  ModelReturn+  { modelReturnReturn = Nothing+  }+  ++-- ** Name+-- |+-- Model for testing model name same as property name+data Name = Name+  { nameName :: !(Int) -- ^ /Required/ "name"+  , nameSnakeCase :: !(Maybe Int) -- ^ "snake_case"+  , nameProperty :: !(Maybe Text) -- ^ "property"+  , name123Number :: !(Maybe Int) -- ^ "123Number"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON Name where+  parseJSON = A.withObject "Name" $ \o ->+    Name+      <$> (o .:  "name")+      <*> (o .:? "snake_case")+      <*> (o .:? "property")+      <*> (o .:? "123Number")++instance A.ToJSON Name where+  toJSON Name {..} =+   _omitNulls+      [ "name" .= nameName+      , "snake_case" .= nameSnakeCase+      , "property" .= nameProperty+      , "123Number" .= name123Number+      ]+++-- | Construct a value of type 'Name' (by applying it's required fields, if any)+mkName+  :: Int -- ^ 'nameName' +  -> Name+mkName nameName =+  Name+  { nameName+  , nameSnakeCase = Nothing+  , nameProperty = Nothing+  , name123Number = Nothing+  }+  ++-- ** NumberOnly+-- |+data NumberOnly = NumberOnly+  { numberOnlyJustNumber :: !(Maybe Double) -- ^ "JustNumber"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON NumberOnly where+  parseJSON = A.withObject "NumberOnly" $ \o ->+    NumberOnly+      <$> (o .:? "JustNumber")++instance A.ToJSON NumberOnly where+  toJSON NumberOnly {..} =+   _omitNulls+      [ "JustNumber" .= numberOnlyJustNumber+      ]+++-- | Construct a value of type 'NumberOnly' (by applying it's required fields, if any)+mkNumberOnly+  :: NumberOnly+mkNumberOnly =+  NumberOnly+  { numberOnlyJustNumber = Nothing+  }+  ++-- ** Order+-- |+data Order = Order+  { orderId :: !(Maybe Integer) -- ^ "id"+  , orderPetId :: !(Maybe Integer) -- ^ "petId"+  , orderQuantity :: !(Maybe Int) -- ^ "quantity"+  , orderShipDate :: !(Maybe DateTime) -- ^ "shipDate"+  , orderStatus :: !(Maybe Text) -- ^ "status" - Order Status+  , orderComplete :: !(Maybe Bool) -- ^ "complete"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON Order where+  parseJSON = A.withObject "Order" $ \o ->+    Order+      <$> (o .:? "id")+      <*> (o .:? "petId")+      <*> (o .:? "quantity")+      <*> (o .:? "shipDate")+      <*> (o .:? "status")+      <*> (o .:? "complete")++instance A.ToJSON Order where+  toJSON Order {..} =+   _omitNulls+      [ "id" .= orderId+      , "petId" .= orderPetId+      , "quantity" .= orderQuantity+      , "shipDate" .= orderShipDate+      , "status" .= orderStatus+      , "complete" .= orderComplete+      ]+++-- | Construct a value of type 'Order' (by applying it's required fields, if any)+mkOrder+  :: Order+mkOrder =+  Order+  { orderId = Nothing+  , orderPetId = Nothing+  , orderQuantity = Nothing+  , orderShipDate = Nothing+  , orderStatus = Nothing+  , orderComplete = Nothing+  }+  ++-- ** OuterBoolean+-- |+data OuterBoolean = OuterBoolean+  { +  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON OuterBoolean where+  parseJSON = A.withObject "OuterBoolean" $ \o ->+    pure OuterBoolean+      ++instance A.ToJSON OuterBoolean where+  toJSON OuterBoolean  =+   _omitNulls+      [ +      ]+++-- | Construct a value of type 'OuterBoolean' (by applying it's required fields, if any)+mkOuterBoolean+  :: OuterBoolean+mkOuterBoolean =+  OuterBoolean+  { +  }+  ++-- ** OuterComposite+-- |+data OuterComposite = OuterComposite+  { outerCompositeMyNumber :: !(Maybe OuterNumber) -- ^ "my_number"+  , outerCompositeMyString :: !(Maybe OuterString) -- ^ "my_string"+  , outerCompositeMyBoolean :: !(Maybe OuterBoolean) -- ^ "my_boolean"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON OuterComposite where+  parseJSON = A.withObject "OuterComposite" $ \o ->+    OuterComposite+      <$> (o .:? "my_number")+      <*> (o .:? "my_string")+      <*> (o .:? "my_boolean")++instance A.ToJSON OuterComposite where+  toJSON OuterComposite {..} =+   _omitNulls+      [ "my_number" .= outerCompositeMyNumber+      , "my_string" .= outerCompositeMyString+      , "my_boolean" .= outerCompositeMyBoolean+      ]+++-- | Construct a value of type 'OuterComposite' (by applying it's required fields, if any)+mkOuterComposite+  :: OuterComposite+mkOuterComposite =+  OuterComposite+  { outerCompositeMyNumber = Nothing+  , outerCompositeMyString = Nothing+  , outerCompositeMyBoolean = Nothing+  }+  ++-- ** OuterEnum+-- |+data OuterEnum = OuterEnum+  { +  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON OuterEnum where+  parseJSON = A.withObject "OuterEnum" $ \o ->+    pure OuterEnum+      ++instance A.ToJSON OuterEnum where+  toJSON OuterEnum  =+   _omitNulls+      [ +      ]+++-- | Construct a value of type 'OuterEnum' (by applying it's required fields, if any)+mkOuterEnum+  :: OuterEnum+mkOuterEnum =+  OuterEnum+  { +  }+  ++-- ** OuterNumber+-- |+data OuterNumber = OuterNumber+  { +  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON OuterNumber where+  parseJSON = A.withObject "OuterNumber" $ \o ->+    pure OuterNumber+      ++instance A.ToJSON OuterNumber where+  toJSON OuterNumber  =+   _omitNulls+      [ +      ]+++-- | Construct a value of type 'OuterNumber' (by applying it's required fields, if any)+mkOuterNumber+  :: OuterNumber+mkOuterNumber =+  OuterNumber+  { +  }+  ++-- ** OuterString+-- |+data OuterString = OuterString+  { +  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON OuterString where+  parseJSON = A.withObject "OuterString" $ \o ->+    pure OuterString+      ++instance A.ToJSON OuterString where+  toJSON OuterString  =+   _omitNulls+      [ +      ]+++-- | Construct a value of type 'OuterString' (by applying it's required fields, if any)+mkOuterString+  :: OuterString+mkOuterString =+  OuterString+  { +  }+  ++-- ** Pet+-- |+data Pet = Pet+  { petId :: !(Maybe Integer) -- ^ "id"+  , petCategory :: !(Maybe Category) -- ^ "category"+  , petName :: !(Text) -- ^ /Required/ "name"+  , petPhotoUrls :: !([Text]) -- ^ /Required/ "photoUrls"+  , petTags :: !(Maybe [Tag]) -- ^ "tags"+  , petStatus :: !(Maybe Text) -- ^ "status" - pet status in the store+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON Pet where+  parseJSON = A.withObject "Pet" $ \o ->+    Pet+      <$> (o .:? "id")+      <*> (o .:? "category")+      <*> (o .:  "name")+      <*> (o .:  "photoUrls")+      <*> (o .:? "tags")+      <*> (o .:? "status")++instance A.ToJSON Pet where+  toJSON Pet {..} =+   _omitNulls+      [ "id" .= petId+      , "category" .= petCategory+      , "name" .= petName+      , "photoUrls" .= petPhotoUrls+      , "tags" .= petTags+      , "status" .= petStatus+      ]+++-- | Construct a value of type 'Pet' (by applying it's required fields, if any)+mkPet+  :: Text -- ^ 'petName' +  -> [Text] -- ^ 'petPhotoUrls' +  -> Pet+mkPet petName petPhotoUrls =+  Pet+  { petId = Nothing+  , petCategory = Nothing+  , petName+  , petPhotoUrls+  , petTags = Nothing+  , petStatus = Nothing+  }+  ++-- ** ReadOnlyFirst+-- |+data ReadOnlyFirst = ReadOnlyFirst+  { readOnlyFirstBar :: !(Maybe Text) -- ^ "bar"+  , readOnlyFirstBaz :: !(Maybe Text) -- ^ "baz"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON ReadOnlyFirst where+  parseJSON = A.withObject "ReadOnlyFirst" $ \o ->+    ReadOnlyFirst+      <$> (o .:? "bar")+      <*> (o .:? "baz")++instance A.ToJSON ReadOnlyFirst where+  toJSON ReadOnlyFirst {..} =+   _omitNulls+      [ "bar" .= readOnlyFirstBar+      , "baz" .= readOnlyFirstBaz+      ]+++-- | Construct a value of type 'ReadOnlyFirst' (by applying it's required fields, if any)+mkReadOnlyFirst+  :: ReadOnlyFirst+mkReadOnlyFirst =+  ReadOnlyFirst+  { readOnlyFirstBar = Nothing+  , readOnlyFirstBaz = Nothing+  }+  ++-- ** SpecialModelName+-- |+data SpecialModelName = SpecialModelName+  { specialModelNameSpecialPropertyName :: !(Maybe Integer) -- ^ "$special[property.name]"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON SpecialModelName where+  parseJSON = A.withObject "SpecialModelName" $ \o ->+    SpecialModelName+      <$> (o .:? "$special[property.name]")++instance A.ToJSON SpecialModelName where+  toJSON SpecialModelName {..} =+   _omitNulls+      [ "$special[property.name]" .= specialModelNameSpecialPropertyName+      ]+++-- | Construct a value of type 'SpecialModelName' (by applying it's required fields, if any)+mkSpecialModelName+  :: SpecialModelName+mkSpecialModelName =+  SpecialModelName+  { specialModelNameSpecialPropertyName = Nothing+  }+  ++-- ** Tag+-- |+data Tag = Tag+  { tagId :: !(Maybe Integer) -- ^ "id"+  , tagName :: !(Maybe Text) -- ^ "name"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON Tag where+  parseJSON = A.withObject "Tag" $ \o ->+    Tag+      <$> (o .:? "id")+      <*> (o .:? "name")++instance A.ToJSON Tag where+  toJSON Tag {..} =+   _omitNulls+      [ "id" .= tagId+      , "name" .= tagName+      ]+++-- | Construct a value of type 'Tag' (by applying it's required fields, if any)+mkTag+  :: Tag+mkTag =+  Tag+  { tagId = Nothing+  , tagName = Nothing+  }+  ++-- ** User+-- |+data User = User+  { userId :: !(Maybe Integer) -- ^ "id"+  , userUsername :: !(Maybe Text) -- ^ "username"+  , userFirstName :: !(Maybe Text) -- ^ "firstName"+  , userLastName :: !(Maybe Text) -- ^ "lastName"+  , userEmail :: !(Maybe Text) -- ^ "email"+  , userPassword :: !(Maybe Text) -- ^ "password"+  , userPhone :: !(Maybe Text) -- ^ "phone"+  , userUserStatus :: !(Maybe Int) -- ^ "userStatus" - User Status+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON User where+  parseJSON = A.withObject "User" $ \o ->+    User+      <$> (o .:? "id")+      <*> (o .:? "username")+      <*> (o .:? "firstName")+      <*> (o .:? "lastName")+      <*> (o .:? "email")+      <*> (o .:? "password")+      <*> (o .:? "phone")+      <*> (o .:? "userStatus")++instance A.ToJSON User where+  toJSON User {..} =+   _omitNulls+      [ "id" .= userId+      , "username" .= userUsername+      , "firstName" .= userFirstName+      , "lastName" .= userLastName+      , "email" .= userEmail+      , "password" .= userPassword+      , "phone" .= userPhone+      , "userStatus" .= userUserStatus+      ]+++-- | Construct a value of type 'User' (by applying it's required fields, if any)+mkUser+  :: User+mkUser =+  User+  { userId = Nothing+  , userUsername = Nothing+  , userFirstName = Nothing+  , userLastName = Nothing+  , userEmail = Nothing+  , userPassword = Nothing+  , userPhone = Nothing+  , userUserStatus = Nothing+  }+  ++-- ** Cat+-- |+data Cat = Cat+  { catClassName :: !(Text) -- ^ /Required/ "className"+  , catColor :: !(Maybe Text) -- ^ "color"+  , catDeclawed :: !(Maybe Bool) -- ^ "declawed"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON Cat where+  parseJSON = A.withObject "Cat" $ \o ->+    Cat+      <$> (o .:  "className")+      <*> (o .:? "color")+      <*> (o .:? "declawed")++instance A.ToJSON Cat where+  toJSON Cat {..} =+   _omitNulls+      [ "className" .= catClassName+      , "color" .= catColor+      , "declawed" .= catDeclawed+      ]+++-- | Construct a value of type 'Cat' (by applying it's required fields, if any)+mkCat+  :: Text -- ^ 'catClassName' +  -> Cat+mkCat catClassName =+  Cat+  { catClassName+  , catColor = Nothing+  , catDeclawed = Nothing+  }+  ++-- ** Dog+-- |+data Dog = Dog+  { dogClassName :: !(Text) -- ^ /Required/ "className"+  , dogColor :: !(Maybe Text) -- ^ "color"+  , dogBreed :: !(Maybe Text) -- ^ "breed"+  } deriving (P.Show,P.Eq,P.Typeable)++instance A.FromJSON Dog where+  parseJSON = A.withObject "Dog" $ \o ->+    Dog+      <$> (o .:  "className")+      <*> (o .:? "color")+      <*> (o .:? "breed")++instance A.ToJSON Dog where+  toJSON Dog {..} =+   _omitNulls+      [ "className" .= dogClassName+      , "color" .= dogColor+      , "breed" .= dogBreed+      ]+++-- | Construct a value of type 'Dog' (by applying it's required fields, if any)+mkDog+  :: Text -- ^ 'dogClassName' +  -> Dog+mkDog dogClassName =+  Dog+  { dogClassName+  , dogColor = Nothing+  , dogBreed = Nothing+  }+  ++-- * Utils++-- | Removes Null fields.  (OpenAPI-Specification 2.0 does not allow Null in JSON)++_omitNulls :: [(Text, A.Value)] -> A.Value+_omitNulls = A.object . P.filter notNull+  where+    notNull (_, A.Null) = False+    notNull _ = True++_toFormItem :: (WH.ToHttpApiData a, Functor f) => t -> f a -> f (t, [Text])+_toFormItem name x = (name,) . (:[]) . WH.toQueryParam <$> x++_emptyToNothing :: Maybe String -> Maybe String+_emptyToNothing (Just "") = Nothing+_emptyToNothing x = x+{-# INLINE _emptyToNothing #-}++_memptyToNothing :: (P.Monoid a, P.Eq a) => Maybe a -> Maybe a+_memptyToNothing (Just x) | x P.== P.mempty = Nothing+_memptyToNothing x = x+{-# INLINE _memptyToNothing #-}++-- * DateTime Formatting++newtype DateTime = DateTime { unDateTime :: TI.UTCTime }+  deriving (P.Eq,P.Data,P.Ord,P.Typeable,NF.NFData,TI.ParseTime,TI.FormatTime)+instance A.FromJSON DateTime where+  parseJSON = A.withText "DateTime" (_readDateTime . T.unpack)+instance A.ToJSON DateTime where+  toJSON (DateTime t) = A.toJSON (_showDateTime t)+instance WH.FromHttpApiData DateTime where+  parseUrlPiece = P.left T.pack . _readDateTime . T.unpack+instance WH.ToHttpApiData DateTime where+  toUrlPiece (DateTime t) = T.pack (_showDateTime t)+instance P.Show DateTime where+  show (DateTime t) = _showDateTime t++-- | @_parseISO8601@+_readDateTime :: (TI.ParseTime t, Monad m, Alternative m) => String -> m t+_readDateTime =+  _parseISO8601+{-# INLINE _readDateTime #-}++-- | @TI.formatISO8601Millis@+_showDateTime :: (t ~ TI.UTCTime, TI.FormatTime t) => t -> String+_showDateTime =+  TI.formatISO8601Millis+{-# INLINE _showDateTime #-}++_parseISO8601 :: (TI.ParseTime t, Monad m, Alternative m) => String -> m t+_parseISO8601 t =+  P.asum $+  P.flip (TI.parseTimeM True TI.defaultTimeLocale) t <$>+  ["%FT%T%QZ", "%FT%T%Q%z", "%FT%T%Q%Z"]+{-# INLINE _parseISO8601 #-}++-- * Date Formatting++newtype Date = Date { unDate :: TI.Day }+  deriving (P.Enum,P.Eq,P.Data,P.Ord,P.Ix,NF.NFData,TI.ParseTime,TI.FormatTime)+instance A.FromJSON Date where+  parseJSON = A.withText "Date" (_readDate . T.unpack)+instance A.ToJSON Date where+  toJSON (Date t) = A.toJSON (_showDate t)+instance WH.FromHttpApiData Date where+  parseUrlPiece = P.left T.pack . _readDate . T.unpack+instance WH.ToHttpApiData Date where+  toUrlPiece (Date t) = T.pack (_showDate t)+instance P.Show Date where+  show (Date t) = _showDate t++-- | @TI.parseTimeM True TI.defaultTimeLocale "%Y-%m-%d"@+_readDate :: (TI.ParseTime t, Monad m) => String -> m t+_readDate =+  TI.parseTimeM True TI.defaultTimeLocale "%Y-%m-%d"+{-# INLINE _readDate #-}++-- | @TI.formatTime TI.defaultTimeLocale "%Y-%m-%d"@+_showDate :: TI.FormatTime t => t -> String+_showDate =+  TI.formatTime TI.defaultTimeLocale "%Y-%m-%d"+{-# INLINE _showDate #-}++-- * Byte/Binary Formatting++  +-- | base64 encoded characters+newtype ByteArray = ByteArray { unByteArray :: BL.ByteString }+  deriving (P.Eq,P.Data,P.Ord,P.Typeable,NF.NFData)++instance A.FromJSON ByteArray where+  parseJSON = A.withText "ByteArray" _readByteArray+instance A.ToJSON ByteArray where+  toJSON = A.toJSON . _showByteArray+instance WH.FromHttpApiData ByteArray where+  parseUrlPiece = P.left T.pack . _readByteArray+instance WH.ToHttpApiData ByteArray where+  toUrlPiece = _showByteArray+instance P.Show ByteArray where+  show = T.unpack . _showByteArray++-- | read base64 encoded characters+_readByteArray :: Monad m => Text -> m ByteArray+_readByteArray = P.either P.fail (pure . ByteArray) . BL64.decode . BL.fromStrict . T.encodeUtf8+{-# INLINE _readByteArray #-}++-- | show base64 encoded characters+_showByteArray :: ByteArray -> Text+_showByteArray = T.decodeUtf8 . BL.toStrict . BL64.encode . unByteArray+{-# INLINE _showByteArray #-}++-- | any sequence of octets+newtype Binary = Binary { unBinary :: BL.ByteString }+  deriving (P.Eq,P.Data,P.Ord,P.Typeable,NF.NFData)++instance A.FromJSON Binary where+  parseJSON = A.withText "Binary" _readBinaryBase64+instance A.ToJSON Binary where+  toJSON = A.toJSON . _showBinaryBase64+instance WH.FromHttpApiData Binary where+  parseUrlPiece = P.left T.pack . _readBinaryBase64+instance WH.ToHttpApiData Binary where+  toUrlPiece = _showBinaryBase64+instance P.Show Binary where+  show = T.unpack . _showBinaryBase64++_readBinaryBase64 :: Monad m => Text -> m Binary+_readBinaryBase64 = P.either P.fail (pure . Binary) . BL64.decode . BL.fromStrict . T.encodeUtf8+{-# INLINE _readBinaryBase64 #-}++_showBinaryBase64 :: Binary -> Text+_showBinaryBase64 = T.decodeUtf8 . BL.toStrict . BL64.encode . unBinary+{-# INLINE _showBinaryBase64 #-}
swagger-petstore.cabal view
@@ -3,26 +3,27 @@ -- see: https://github.com/sol/hpack  name:           swagger-petstore-version:        0.0.1.1+version:        0.0.1.2 synopsis:       Auto-generated swagger-petstore API Client description:    .                 Client library for calling the swagger-petstore API based on http-client.-                host: petstore.swagger.io                 .-                base path: http://petstore.swagger.io/v2+                host: petstore.swagger.io:80                 .+                base path: http://petstore.swagger.io:80/v2+                .                 apiVersion: 0.0.1                 .                 swagger version: 2.0                 .-                OpenAPI-Specification: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md +                OpenAPI-Specification: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md+                . category:       Web homepage:       https://github.com/swagger-api/swagger-codegen#readme-author:         Jon Schoning-maintainer:     jonschoning@gmail.com-copyright:      Copyright (c) 2015 Jon Schoning+author:         Author Name Here+maintainer:     author.name@email.com+copyright:      YEAR - AUTHOR license:        MIT-license-file:   LICENSE build-type:     Simple cabal-version:  >= 1.10 @@ -41,6 +42,7 @@     , unordered-containers     , aeson >=1.0 && <2.0     , bytestring >=0.10.0 && <0.11+    , base64-bytestring >1.0 && <2.0     , containers >=0.5.0.0 && <0.6     , http-types >=0.8 && <0.10     , http-client >=0.5 && <0.6@@ -54,10 +56,11 @@     , network >=2.6.2 && <2.7     , random >=1.1     , exceptions >= 0.4-    , monad-logger >=0.3 && <0.4+    , katip >=0.4 && < 0.6     , safe-exceptions <0.2     , case-insensitive     , microlens >= 0.4.3 && <0.5+    , deepseq >= 1.4 && <1.6   exposed-modules:       SwaggerPetstore       SwaggerPetstore.API@@ -65,6 +68,7 @@       SwaggerPetstore.Model       SwaggerPetstore.MimeTypes       SwaggerPetstore.Lens+      SwaggerPetstore.Logging   other-modules:       Paths_swagger_petstore   default-language: Haskell2010
swagger.json view
@@ -1,7 +1,7 @@ {   "swagger" : "2.0",   "info" : {-    "description" : "This is a sample server Petstore server.  You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/).  For this sample, you can use the api key `special-key` to test the authorization filters.",+    "description" : "This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\",     "version" : "1.0.0",     "title" : "Swagger Petstore",     "termsOfService" : "http://swagger.io/terms/",@@ -13,7 +13,7 @@       "url" : "http://www.apache.org/licenses/LICENSE-2.0.html"     }   },-  "host" : "petstore.swagger.io",+  "host" : "petstore.swagger.io:80",   "basePath" : "/v2",   "tags" : [ {     "name" : "pet",@@ -363,7 +363,7 @@         }       }     },-    "/store/order/{orderId}" : {+    "/store/order/{order_id}" : {       "get" : {         "tags" : [ "store" ],         "summary" : "Find purchase order by ID",@@ -371,7 +371,7 @@         "operationId" : "getOrderById",         "produces" : [ "application/xml", "application/json" ],         "parameters" : [ {-          "name" : "orderId",+          "name" : "order_id",           "in" : "path",           "description" : "ID of pet that needs to be fetched",           "required" : true,@@ -402,7 +402,7 @@         "operationId" : "deleteOrder",         "produces" : [ "application/xml", "application/json" ],         "parameters" : [ {-          "name" : "orderId",+          "name" : "order_id",           "in" : "path",           "description" : "ID of the order that needs to be deleted",           "required" : true,@@ -634,6 +634,428 @@           }         }       }+    },+    "/fake_classname_test" : {+      "patch" : {+        "tags" : [ "fake_classname_tags 123#$%^" ],+        "summary" : "To test class name in snake case",+        "operationId" : "testClassname",+        "consumes" : [ "application/json" ],+        "produces" : [ "application/json" ],+        "parameters" : [ {+          "in" : "body",+          "name" : "body",+          "description" : "client model",+          "required" : true,+          "schema" : {+            "$ref" : "#/definitions/Client"+          }+        } ],+        "responses" : {+          "200" : {+            "description" : "successful operation",+            "schema" : {+              "$ref" : "#/definitions/Client"+            }+          }+        },+        "security" : [ {+          "api_key_query" : [ ]+        } ]+      }+    },+    "/fake" : {+      "get" : {+        "tags" : [ "fake" ],+        "summary" : "To test enum parameters",+        "description" : "To test enum parameters",+        "operationId" : "testEnumParameters",+        "consumes" : [ "*/*" ],+        "produces" : [ "*/*" ],+        "parameters" : [ {+          "name" : "enum_form_string_array",+          "in" : "formData",+          "description" : "Form parameter enum test (string array)",+          "required" : false,+          "type" : "array",+          "items" : {+            "type" : "string",+            "enum" : [ ">", "$" ],+            "default" : "$"+          }+        }, {+          "name" : "enum_form_string",+          "in" : "formData",+          "description" : "Form parameter enum test (string)",+          "required" : false,+          "type" : "string",+          "default" : "-efg",+          "enum" : [ "_abc", "-efg", "(xyz)" ]+        }, {+          "name" : "enum_header_string_array",+          "in" : "header",+          "description" : "Header parameter enum test (string array)",+          "required" : false,+          "type" : "array",+          "items" : {+            "type" : "string",+            "enum" : [ ">", "$" ],+            "default" : "$"+          }+        }, {+          "name" : "enum_header_string",+          "in" : "header",+          "description" : "Header parameter enum test (string)",+          "required" : false,+          "type" : "string",+          "default" : "-efg",+          "enum" : [ "_abc", "-efg", "(xyz)" ]+        }, {+          "name" : "enum_query_string_array",+          "in" : "query",+          "description" : "Query parameter enum test (string array)",+          "required" : false,+          "type" : "array",+          "items" : {+            "type" : "string",+            "enum" : [ ">", "$" ],+            "default" : "$"+          }+        }, {+          "name" : "enum_query_string",+          "in" : "query",+          "description" : "Query parameter enum test (string)",+          "required" : false,+          "type" : "string",+          "default" : "-efg",+          "enum" : [ "_abc", "-efg", "(xyz)" ]+        }, {+          "name" : "enum_query_integer",+          "in" : "query",+          "description" : "Query parameter enum test (double)",+          "required" : false,+          "type" : "integer",+          "format" : "int32",+          "enum" : [ 1, -2 ]+        }, {+          "name" : "enum_query_double",+          "in" : "formData",+          "description" : "Query parameter enum test (double)",+          "required" : false,+          "type" : "number",+          "format" : "double",+          "enum" : [ 1.1, -1.2 ]+        } ],+        "responses" : {+          "400" : {+            "description" : "Invalid request"+          },+          "404" : {+            "description" : "Not found"+          }+        }+      },+      "post" : {+        "tags" : [ "fake" ],+        "summary" : "Fake endpoint for testing various parameters\n假端點\n偽のエンドポイント\n가짜 엔드 포인트\n",+        "description" : "Fake endpoint for testing various parameters\n假端點\n偽のエンドポイント\n가짜 엔드 포인트\n",+        "operationId" : "testEndpointParameters",+        "consumes" : [ "application/xml; charset=utf-8", "application/json; charset=utf-8" ],+        "produces" : [ "application/xml; charset=utf-8", "application/json; charset=utf-8" ],+        "parameters" : [ {+          "name" : "integer",+          "in" : "formData",+          "description" : "None",+          "required" : false,+          "type" : "integer",+          "maximum" : 100,+          "minimum" : 10+        }, {+          "name" : "int32",+          "in" : "formData",+          "description" : "None",+          "required" : false,+          "type" : "integer",+          "maximum" : 200,+          "minimum" : 20,+          "format" : "int32"+        }, {+          "name" : "int64",+          "in" : "formData",+          "description" : "None",+          "required" : false,+          "type" : "integer",+          "format" : "int64"+        }, {+          "name" : "number",+          "in" : "formData",+          "description" : "None",+          "required" : true,+          "type" : "number",+          "maximum" : 543.2,+          "minimum" : 32.1+        }, {+          "name" : "float",+          "in" : "formData",+          "description" : "None",+          "required" : false,+          "type" : "number",+          "maximum" : 987.6,+          "format" : "float"+        }, {+          "name" : "double",+          "in" : "formData",+          "description" : "None",+          "required" : true,+          "type" : "number",+          "maximum" : 123.4,+          "minimum" : 67.8,+          "format" : "double"+        }, {+          "name" : "string",+          "in" : "formData",+          "description" : "None",+          "required" : false,+          "type" : "string",+          "pattern" : "/[a-z]/i"+        }, {+          "name" : "pattern_without_delimiter",+          "in" : "formData",+          "description" : "None",+          "required" : true,+          "type" : "string",+          "pattern" : "^[A-Z].*"+        }, {+          "name" : "byte",+          "in" : "formData",+          "description" : "None",+          "required" : true,+          "type" : "string",+          "format" : "byte"+        }, {+          "name" : "binary",+          "in" : "formData",+          "description" : "None",+          "required" : false,+          "type" : "string",+          "format" : "binary"+        }, {+          "name" : "date",+          "in" : "formData",+          "description" : "None",+          "required" : false,+          "type" : "string",+          "format" : "date"+        }, {+          "name" : "dateTime",+          "in" : "formData",+          "description" : "None",+          "required" : false,+          "type" : "string",+          "format" : "date-time"+        }, {+          "name" : "password",+          "in" : "formData",+          "description" : "None",+          "required" : false,+          "type" : "string",+          "maxLength" : 64,+          "minLength" : 10,+          "format" : "password"+        }, {+          "name" : "callback",+          "in" : "formData",+          "description" : "None",+          "required" : false,+          "type" : "string"+        } ],+        "responses" : {+          "400" : {+            "description" : "Invalid username supplied"+          },+          "404" : {+            "description" : "User not found"+          }+        },+        "security" : [ {+          "http_basic_test" : [ ]+        } ]+      },+      "patch" : {+        "tags" : [ "fake" ],+        "summary" : "To test \"client\" model",+        "description" : "To test \"client\" model",+        "operationId" : "testClientModel",+        "consumes" : [ "application/json" ],+        "produces" : [ "application/json" ],+        "parameters" : [ {+          "in" : "body",+          "name" : "body",+          "description" : "client model",+          "required" : true,+          "schema" : {+            "$ref" : "#/definitions/Client"+          }+        } ],+        "responses" : {+          "200" : {+            "description" : "successful operation",+            "schema" : {+              "$ref" : "#/definitions/Client"+            }+          }+        }+      }+    },+    "/fake/outer/number" : {+      "post" : {+        "tags" : [ "fake" ],+        "description" : "Test serialization of outer number types",+        "operationId" : "fakeOuterNumberSerialize",+        "parameters" : [ {+          "in" : "body",+          "name" : "body",+          "description" : "Input number as post body",+          "required" : false,+          "schema" : {+            "$ref" : "#/definitions/OuterNumber"+          }+        } ],+        "responses" : {+          "200" : {+            "description" : "Output number",+            "schema" : {+              "$ref" : "#/definitions/OuterNumber"+            }+          }+        }+      }+    },+    "/fake/outer/string" : {+      "post" : {+        "tags" : [ "fake" ],+        "description" : "Test serialization of outer string types",+        "operationId" : "fakeOuterStringSerialize",+        "parameters" : [ {+          "in" : "body",+          "name" : "body",+          "description" : "Input string as post body",+          "required" : false,+          "schema" : {+            "$ref" : "#/definitions/OuterString"+          }+        } ],+        "responses" : {+          "200" : {+            "description" : "Output string",+            "schema" : {+              "$ref" : "#/definitions/OuterString"+            }+          }+        }+      }+    },+    "/fake/outer/boolean" : {+      "post" : {+        "tags" : [ "fake" ],+        "description" : "Test serialization of outer boolean types",+        "operationId" : "fakeOuterBooleanSerialize",+        "parameters" : [ {+          "in" : "body",+          "name" : "body",+          "description" : "Input boolean as post body",+          "required" : false,+          "schema" : {+            "$ref" : "#/definitions/OuterBoolean"+          }+        } ],+        "responses" : {+          "200" : {+            "description" : "Output boolean",+            "schema" : {+              "$ref" : "#/definitions/OuterBoolean"+            }+          }+        }+      }+    },+    "/fake/outer/composite" : {+      "post" : {+        "tags" : [ "fake" ],+        "description" : "Test serialization of object with outer number type",+        "operationId" : "fakeOuterCompositeSerialize",+        "parameters" : [ {+          "in" : "body",+          "name" : "body",+          "description" : "Input composite as post body",+          "required" : false,+          "schema" : {+            "$ref" : "#/definitions/OuterComposite"+          }+        } ],+        "responses" : {+          "200" : {+            "description" : "Output composite",+            "schema" : {+              "$ref" : "#/definitions/OuterComposite"+            }+          }+        }+      }+    },+    "/fake/jsonFormData" : {+      "get" : {+        "tags" : [ "fake" ],+        "summary" : "test json serialization of form data",+        "description" : "",+        "operationId" : "testJsonFormData",+        "consumes" : [ "application/json" ],+        "parameters" : [ {+          "name" : "param",+          "in" : "formData",+          "description" : "field1",+          "required" : true,+          "type" : "string"+        }, {+          "name" : "param2",+          "in" : "formData",+          "description" : "field2",+          "required" : true,+          "type" : "string"+        } ],+        "responses" : {+          "200" : {+            "description" : "successful operation"+          }+        }+      }+    },+    "/another-fake/dummy" : {+      "patch" : {+        "tags" : [ "$another-fake?" ],+        "summary" : "To test special tags",+        "description" : "To test special tags",+        "operationId" : "test_special_tags",+        "consumes" : [ "application/json" ],+        "produces" : [ "application/json" ],+        "parameters" : [ {+          "in" : "body",+          "name" : "body",+          "description" : "client model",+          "required" : true,+          "schema" : {+            "$ref" : "#/definitions/Client"+          }+        } ],+        "responses" : {+          "200" : {+            "description" : "successful operation",+            "schema" : {+              "$ref" : "#/definitions/Client"+            }+          }+        }+      }     }   },   "securityDefinitions" : {@@ -650,6 +1072,14 @@       "type" : "apiKey",       "name" : "api_key",       "in" : "header"+    },+    "api_key_query" : {+      "type" : "apiKey",+      "name" : "api_key_query",+      "in" : "query"+    },+    "http_basic_test" : {+      "type" : "basic"     }   },   "definitions" : {@@ -682,8 +1112,6 @@           "default" : false         }       },-      "title" : "Pet Order",-      "description" : "An order for a pets from the pet store",       "xml" : {         "name" : "Order"       }@@ -699,8 +1127,6 @@           "type" : "string"         }       },-      "title" : "Pet catehgry",-      "description" : "A category for a pet",       "xml" : {         "name" : "Category"       }@@ -710,7 +1136,8 @@       "properties" : {         "id" : {           "type" : "integer",-          "format" : "int64"+          "format" : "int64",+          "x-is-unique" : true         },         "username" : {           "type" : "string"@@ -736,8 +1163,6 @@           "description" : "User Status"         }       },-      "title" : "a User",-      "description" : "A User who is purchasing from the pet store",       "xml" : {         "name" : "User"       }@@ -753,8 +1178,6 @@           "type" : "string"         }       },-      "title" : "Pet Tag",-      "description" : "A tag for a pet",       "xml" : {         "name" : "Tag"       }@@ -765,7 +1188,8 @@       "properties" : {         "id" : {           "type" : "integer",-          "format" : "int64"+          "format" : "int64",+          "x-is-unique" : true         },         "category" : {           "$ref" : "#/definitions/Category"@@ -800,8 +1224,6 @@           "enum" : [ "available", "pending", "sold" ]         }       },-      "title" : "a Pet",-      "description" : "A pet for sale in the pet store",       "xml" : {         "name" : "Pet"       }@@ -819,9 +1241,449 @@         "message" : {           "type" : "string"         }+      }+    },+    "$special[model.name]" : {+      "properties" : {+        "$special[property.name]" : {+          "type" : "integer",+          "format" : "int64"+        }       },-      "title" : "An uploaded response",-      "description" : "Describes the result of uploading an image resource"+      "xml" : {+        "name" : "$special[model.name]"+      }+    },+    "Return" : {+      "properties" : {+        "return" : {+          "type" : "integer",+          "format" : "int32"+        }+      },+      "description" : "Model for testing reserved words",+      "xml" : {+        "name" : "Return"+      }+    },+    "Name" : {+      "required" : [ "name" ],+      "properties" : {+        "name" : {+          "type" : "integer",+          "format" : "int32"+        },+        "snake_case" : {+          "type" : "integer",+          "format" : "int32",+          "readOnly" : true+        },+        "property" : {+          "type" : "string"+        },+        "123Number" : {+          "type" : "integer",+          "readOnly" : true+        }+      },+      "description" : "Model for testing model name same as property name",+      "xml" : {+        "name" : "Name"+      }+    },+    "200_response" : {+      "properties" : {+        "name" : {+          "type" : "integer",+          "format" : "int32"+        },+        "class" : {+          "type" : "string"+        }+      },+      "description" : "Model for testing model name starting with number",+      "xml" : {+        "name" : "Name"+      }+    },+    "ClassModel" : {+      "properties" : {+        "_class" : {+          "type" : "string"+        }+      },+      "description" : "Model for testing model with \"_class\" property"+    },+    "Dog" : {+      "allOf" : [ {+        "$ref" : "#/definitions/Animal"+      }, {+        "type" : "object",+        "properties" : {+          "breed" : {+            "type" : "string"+          }+        }+      } ]+    },+    "Cat" : {+      "allOf" : [ {+        "$ref" : "#/definitions/Animal"+      }, {+        "type" : "object",+        "properties" : {+          "declawed" : {+            "type" : "boolean"+          }+        }+      } ]+    },+    "Animal" : {+      "type" : "object",+      "required" : [ "className" ],+      "discriminator" : "className",+      "properties" : {+        "className" : {+          "type" : "string"+        },+        "color" : {+          "type" : "string",+          "default" : "red"+        }+      }+    },+    "AnimalFarm" : {+      "type" : "array",+      "items" : {+        "$ref" : "#/definitions/Animal"+      }+    },+    "format_test" : {+      "type" : "object",+      "required" : [ "byte", "date", "number", "password" ],+      "properties" : {+        "integer" : {+          "type" : "integer",+          "minimum" : 10,+          "maximum" : 100+        },+        "int32" : {+          "type" : "integer",+          "format" : "int32",+          "minimum" : 20,+          "maximum" : 200+        },+        "int64" : {+          "type" : "integer",+          "format" : "int64"+        },+        "number" : {+          "type" : "number",+          "minimum" : 32.1,+          "maximum" : 543.2+        },+        "float" : {+          "type" : "number",+          "format" : "float",+          "minimum" : 54.3,+          "maximum" : 987.6+        },+        "double" : {+          "type" : "number",+          "format" : "double",+          "minimum" : 67.8,+          "maximum" : 123.4+        },+        "string" : {+          "type" : "string",+          "pattern" : "/[a-z]/i"+        },+        "byte" : {+          "type" : "string",+          "format" : "byte",+          "pattern" : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"+        },+        "binary" : {+          "type" : "string",+          "format" : "binary"+        },+        "date" : {+          "type" : "string",+          "format" : "date"+        },+        "dateTime" : {+          "type" : "string",+          "format" : "date-time"+        },+        "uuid" : {+          "type" : "string",+          "format" : "uuid"+        },+        "password" : {+          "type" : "string",+          "format" : "password",+          "minLength" : 10,+          "maxLength" : 64+        }+      }+    },+    "EnumClass" : {+      "type" : "string",+      "enum" : [ "_abc", "-efg", "(xyz)" ],+      "default" : "-efg"+    },+    "Enum_Test" : {+      "type" : "object",+      "properties" : {+        "enum_string" : {+          "type" : "string",+          "enum" : [ "UPPER", "lower", "" ]+        },+        "enum_integer" : {+          "type" : "integer",+          "format" : "int32",+          "enum" : [ 1, -1 ]+        },+        "enum_number" : {+          "type" : "number",+          "format" : "double",+          "enum" : [ 1.1, -1.2 ]+        },+        "outerEnum" : {+          "$ref" : "#/definitions/OuterEnum"+        }+      }+    },+    "AdditionalPropertiesClass" : {+      "type" : "object",+      "properties" : {+        "map_property" : {+          "type" : "object",+          "additionalProperties" : {+            "type" : "string"+          }+        },+        "map_of_map_property" : {+          "type" : "object",+          "additionalProperties" : {+            "type" : "object",+            "additionalProperties" : {+              "type" : "string"+            }+          }+        }+      }+    },+    "MixedPropertiesAndAdditionalPropertiesClass" : {+      "type" : "object",+      "properties" : {+        "uuid" : {+          "type" : "string",+          "format" : "uuid"+        },+        "dateTime" : {+          "type" : "string",+          "format" : "date-time"+        },+        "map" : {+          "type" : "object",+          "additionalProperties" : {+            "$ref" : "#/definitions/Animal"+          }+        }+      }+    },+    "List" : {+      "type" : "object",+      "properties" : {+        "123-list" : {+          "type" : "string"+        }+      }+    },+    "Client" : {+      "type" : "object",+      "properties" : {+        "client" : {+          "type" : "string"+        }+      }+    },+    "ReadOnlyFirst" : {+      "type" : "object",+      "properties" : {+        "bar" : {+          "type" : "string",+          "readOnly" : true+        },+        "baz" : {+          "type" : "string"+        }+      }+    },+    "hasOnlyReadOnly" : {+      "type" : "object",+      "properties" : {+        "bar" : {+          "type" : "string",+          "readOnly" : true+        },+        "foo" : {+          "type" : "string",+          "readOnly" : true+        }+      }+    },+    "Capitalization" : {+      "type" : "object",+      "properties" : {+        "smallCamel" : {+          "type" : "string"+        },+        "CapitalCamel" : {+          "type" : "string"+        },+        "small_Snake" : {+          "type" : "string"+        },+        "Capital_Snake" : {+          "type" : "string"+        },+        "SCA_ETH_Flow_Points" : {+          "type" : "string"+        },+        "ATT_NAME" : {+          "type" : "string",+          "description" : "Name of the pet\n"+        }+      }+    },+    "MapTest" : {+      "type" : "object",+      "properties" : {+        "map_map_of_string" : {+          "type" : "object",+          "additionalProperties" : {+            "type" : "object",+            "additionalProperties" : {+              "type" : "string"+            }+          }+        },+        "map_of_enum_string" : {+          "type" : "object",+          "additionalProperties" : {+            "type" : "string",+            "enum" : [ "UPPER", "lower" ]+          }+        }+      }+    },+    "ArrayTest" : {+      "type" : "object",+      "properties" : {+        "array_of_string" : {+          "type" : "array",+          "items" : {+            "type" : "string"+          }+        },+        "array_array_of_integer" : {+          "type" : "array",+          "items" : {+            "type" : "array",+            "items" : {+              "type" : "integer",+              "format" : "int64"+            }+          }+        },+        "array_array_of_model" : {+          "type" : "array",+          "items" : {+            "type" : "array",+            "items" : {+              "$ref" : "#/definitions/ReadOnlyFirst"+            }+          }+        }+      }+    },+    "NumberOnly" : {+      "type" : "object",+      "properties" : {+        "JustNumber" : {+          "type" : "number"+        }+      }+    },+    "ArrayOfNumberOnly" : {+      "type" : "object",+      "properties" : {+        "ArrayNumber" : {+          "type" : "array",+          "items" : {+            "type" : "number"+          }+        }+      }+    },+    "ArrayOfArrayOfNumberOnly" : {+      "type" : "object",+      "properties" : {+        "ArrayArrayNumber" : {+          "type" : "array",+          "items" : {+            "type" : "array",+            "items" : {+              "type" : "number"+            }+          }+        }+      }+    },+    "EnumArrays" : {+      "type" : "object",+      "properties" : {+        "just_symbol" : {+          "type" : "string",+          "enum" : [ ">=", "$" ]+        },+        "array_enum" : {+          "type" : "array",+          "items" : {+            "type" : "string",+            "enum" : [ "fish", "crab" ]+          }+        }+      }+    },+    "OuterEnum" : {+      "type" : "string",+      "enum" : [ "placed", "approved", "delivered" ]+    },+    "OuterNumber" : {+      "type" : "number"+    },+    "OuterString" : {+      "type" : "string"+    },+    "OuterBoolean" : {+      "type" : "boolean"+    },+    "OuterComposite" : {+      "type" : "object",+      "properties" : {+        "my_number" : {+          "$ref" : "#/definitions/OuterNumber"+        },+        "my_string" : {+          "$ref" : "#/definitions/OuterString"+        },+        "my_boolean" : {+          "$ref" : "#/definitions/OuterBoolean"+        }+      }     }   },   "externalDocs" : {
tests/Instances.hs view
@@ -5,11 +5,11 @@ import Data.Text (Text, pack) import Data.Char (isSpace) import Data.List (sort)-import Data.Time.Calendar (Day(..))-import Data.Time.Clock (UTCTime(..), secondsToDiffTime)+import qualified Data.Time as TI import Test.QuickCheck import qualified Data.HashMap.Strict as HM import qualified Data.Set as Set+import qualified Data.ByteString.Lazy as BL  import ApproxEq import SwaggerPetstore.Model@@ -17,14 +17,34 @@ instance Arbitrary Text where   arbitrary = pack <$> arbitrary -instance Arbitrary Day where-  arbitrary = ModifiedJulianDay . (2000 +) <$> arbitrary-  shrink = (ModifiedJulianDay <$>) . shrink . toModifiedJulianDay+instance Arbitrary TI.Day where+  arbitrary = TI.ModifiedJulianDay . (2000 +) <$> arbitrary+  shrink = (TI.ModifiedJulianDay <$>) . shrink . TI.toModifiedJulianDay -instance Arbitrary UTCTime where+instance Arbitrary TI.UTCTime where   arbitrary =-    UTCTime <$> arbitrary <*> (secondsToDiffTime <$> choose (0, 86401))+    TI.UTCTime <$> arbitrary <*> (TI.secondsToDiffTime <$> choose (0, 86401)) +instance Arbitrary BL.ByteString where+    arbitrary = BL.pack <$> arbitrary+    shrink xs = BL.pack <$> shrink (BL.unpack xs)++instance Arbitrary ByteArray where+    arbitrary = ByteArray <$> arbitrary+    shrink (ByteArray xs) = ByteArray <$> shrink xs++instance Arbitrary Binary where+    arbitrary = Binary <$> arbitrary+    shrink (Binary xs) = Binary <$> shrink xs++instance Arbitrary DateTime where+    arbitrary = DateTime <$> arbitrary+    shrink (DateTime xs) = DateTime <$> shrink xs++instance Arbitrary Date where+    arbitrary = Date <$> arbitrary+    shrink (Date xs) = Date <$> shrink xs+ -- | Checks if a given list has no duplicates in _O(n log n)_. hasNoDups   :: (Ord a)@@ -37,66 +57,280 @@       , Set.size s' > Set.size s = go s' xs       | otherwise = False -instance ApproxEq Day where+instance ApproxEq TI.Day where   (=~) = (==)  -- * Models  +instance Arbitrary AdditionalPropertiesClass where+  arbitrary =+    AdditionalPropertiesClass+      <$> arbitrary -- additionalPropertiesClassMapProperty :: Maybe (Map.Map String Text)+      <*> arbitrary -- additionalPropertiesClassMapOfMapProperty :: Maybe (Map.Map String (Map.Map String Text))+    ++instance Arbitrary Animal where+  arbitrary =+    Animal+      <$> arbitrary -- animalClassName :: Text+      <*> arbitrary -- animalColor :: Maybe Text+    ++instance Arbitrary AnimalFarm where+  arbitrary =+    pure AnimalFarm+     + instance Arbitrary ApiResponse where   arbitrary =     ApiResponse-    <$> arbitrary -- apiResponseCode :: Maybe Int-    <*> arbitrary -- apiResponseType :: Maybe Text-    <*> arbitrary -- apiResponseMessage :: Maybe Text+      <$> arbitrary -- apiResponseCode :: Maybe Int+      <*> arbitrary -- apiResponseType :: Maybe Text+      <*> arbitrary -- apiResponseMessage :: Maybe Text      +instance Arbitrary ArrayOfArrayOfNumberOnly where+  arbitrary =+    ArrayOfArrayOfNumberOnly+      <$> arbitrary -- arrayOfArrayOfNumberOnlyArrayArrayNumber :: Maybe [[Double]]+    ++instance Arbitrary ArrayOfNumberOnly where+  arbitrary =+    ArrayOfNumberOnly+      <$> arbitrary -- arrayOfNumberOnlyArrayNumber :: Maybe [Double]+    ++instance Arbitrary ArrayTest where+  arbitrary =+    ArrayTest+      <$> arbitrary -- arrayTestArrayOfString :: Maybe [Text]+      <*> arbitrary -- arrayTestArrayArrayOfInteger :: Maybe [[Integer]]+      <*> arbitrary -- arrayTestArrayArrayOfModel :: Maybe [[ReadOnlyFirst]]+    ++instance Arbitrary Capitalization where+  arbitrary =+    Capitalization+      <$> arbitrary -- capitalizationSmallCamel :: Maybe Text+      <*> arbitrary -- capitalizationCapitalCamel :: Maybe Text+      <*> arbitrary -- capitalizationSmallSnake :: Maybe Text+      <*> arbitrary -- capitalizationCapitalSnake :: Maybe Text+      <*> arbitrary -- capitalizationScaEthFlowPoints :: Maybe Text+      <*> arbitrary -- capitalizationAttName :: Maybe Text+    + instance Arbitrary Category where   arbitrary =     Category-    <$> arbitrary -- categoryId :: Maybe Integer-    <*> arbitrary -- categoryName :: Maybe Text+      <$> arbitrary -- categoryId :: Maybe Integer+      <*> arbitrary -- categoryName :: Maybe Text      +instance Arbitrary ClassModel where+  arbitrary =+    ClassModel+      <$> arbitrary -- classModelClass :: Maybe Text+    ++instance Arbitrary Client where+  arbitrary =+    Client+      <$> arbitrary -- clientClient :: Maybe Text+    ++instance Arbitrary EnumArrays where+  arbitrary =+    EnumArrays+      <$> arbitrary -- enumArraysJustSymbol :: Maybe Text+      <*> arbitrary -- enumArraysArrayEnum :: Maybe [Text]+    ++instance Arbitrary EnumClass where+  arbitrary =+    pure EnumClass+     ++instance Arbitrary EnumTest where+  arbitrary =+    EnumTest+      <$> arbitrary -- enumTestEnumString :: Maybe Text+      <*> arbitrary -- enumTestEnumInteger :: Maybe Int+      <*> arbitrary -- enumTestEnumNumber :: Maybe Double+      <*> arbitrary -- enumTestOuterEnum :: Maybe OuterEnum+    ++instance Arbitrary FormatTest where+  arbitrary =+    FormatTest+      <$> arbitrary -- formatTestInteger :: Maybe Int+      <*> arbitrary -- formatTestInt32 :: Maybe Int+      <*> arbitrary -- formatTestInt64 :: Maybe Integer+      <*> arbitrary -- formatTestNumber :: Double+      <*> arbitrary -- formatTestFloat :: Maybe Float+      <*> arbitrary -- formatTestDouble :: Maybe Double+      <*> arbitrary -- formatTestString :: Maybe Text+      <*> arbitrary -- formatTestByte :: ByteArray+      <*> arbitrary -- formatTestBinary :: Maybe Binary+      <*> arbitrary -- formatTestDate :: Date+      <*> arbitrary -- formatTestDateTime :: Maybe DateTime+      <*> arbitrary -- formatTestUuid :: Maybe Text+      <*> arbitrary -- formatTestPassword :: Text+    ++instance Arbitrary HasOnlyReadOnly where+  arbitrary =+    HasOnlyReadOnly+      <$> arbitrary -- hasOnlyReadOnlyBar :: Maybe Text+      <*> arbitrary -- hasOnlyReadOnlyFoo :: Maybe Text+    ++instance Arbitrary MapTest where+  arbitrary =+    MapTest+      <$> arbitrary -- mapTestMapMapOfString :: Maybe (Map.Map String (Map.Map String Text))+      <*> arbitrary -- mapTestMapOfEnumString :: Maybe (Map.Map String Text)+    ++instance Arbitrary MixedPropertiesAndAdditionalPropertiesClass where+  arbitrary =+    MixedPropertiesAndAdditionalPropertiesClass+      <$> arbitrary -- mixedPropertiesAndAdditionalPropertiesClassUuid :: Maybe Text+      <*> arbitrary -- mixedPropertiesAndAdditionalPropertiesClassDateTime :: Maybe DateTime+      <*> arbitrary -- mixedPropertiesAndAdditionalPropertiesClassMap :: Maybe (Map.Map String Animal)+    ++instance Arbitrary Model200Response where+  arbitrary =+    Model200Response+      <$> arbitrary -- model200ResponseName :: Maybe Int+      <*> arbitrary -- model200ResponseClass :: Maybe Text+    ++instance Arbitrary ModelList where+  arbitrary =+    ModelList+      <$> arbitrary -- modelList123List :: Maybe Text+    ++instance Arbitrary ModelReturn where+  arbitrary =+    ModelReturn+      <$> arbitrary -- modelReturnReturn :: Maybe Int+    ++instance Arbitrary Name where+  arbitrary =+    Name+      <$> arbitrary -- nameName :: Int+      <*> arbitrary -- nameSnakeCase :: Maybe Int+      <*> arbitrary -- nameProperty :: Maybe Text+      <*> arbitrary -- name123Number :: Maybe Int+    ++instance Arbitrary NumberOnly where+  arbitrary =+    NumberOnly+      <$> arbitrary -- numberOnlyJustNumber :: Maybe Double+    + instance Arbitrary Order where   arbitrary =     Order-    <$> arbitrary -- orderId :: Maybe Integer-    <*> arbitrary -- orderPetId :: Maybe Integer-    <*> arbitrary -- orderQuantity :: Maybe Int-    <*> arbitrary -- orderShipDate :: Maybe UTCTime-    <*> arbitrary -- orderStatus :: Maybe Text-    <*> arbitrary -- orderComplete :: Maybe Bool+      <$> arbitrary -- orderId :: Maybe Integer+      <*> arbitrary -- orderPetId :: Maybe Integer+      <*> arbitrary -- orderQuantity :: Maybe Int+      <*> arbitrary -- orderShipDate :: Maybe DateTime+      <*> arbitrary -- orderStatus :: Maybe Text+      <*> arbitrary -- orderComplete :: Maybe Bool      +instance Arbitrary OuterBoolean where+  arbitrary =+    pure OuterBoolean+     ++instance Arbitrary OuterComposite where+  arbitrary =+    OuterComposite+      <$> arbitrary -- outerCompositeMyNumber :: Maybe OuterNumber+      <*> arbitrary -- outerCompositeMyString :: Maybe OuterString+      <*> arbitrary -- outerCompositeMyBoolean :: Maybe OuterBoolean+    ++instance Arbitrary OuterEnum where+  arbitrary =+    pure OuterEnum+     ++instance Arbitrary OuterNumber where+  arbitrary =+    pure OuterNumber+     ++instance Arbitrary OuterString where+  arbitrary =+    pure OuterString+     + instance Arbitrary Pet where   arbitrary =     Pet-    <$> arbitrary -- petId :: Maybe Integer-    <*> arbitrary -- petCategory :: Maybe Category-    <*> arbitrary -- petName :: Text-    <*> arbitrary -- petPhotoUrls :: [Text]-    <*> arbitrary -- petTags :: Maybe [Tag]-    <*> arbitrary -- petStatus :: Maybe Text+      <$> arbitrary -- petId :: Maybe Integer+      <*> arbitrary -- petCategory :: Maybe Category+      <*> arbitrary -- petName :: Text+      <*> arbitrary -- petPhotoUrls :: [Text]+      <*> arbitrary -- petTags :: Maybe [Tag]+      <*> arbitrary -- petStatus :: Maybe Text      +instance Arbitrary ReadOnlyFirst where+  arbitrary =+    ReadOnlyFirst+      <$> arbitrary -- readOnlyFirstBar :: Maybe Text+      <*> arbitrary -- readOnlyFirstBaz :: Maybe Text+    ++instance Arbitrary SpecialModelName where+  arbitrary =+    SpecialModelName+      <$> arbitrary -- specialModelNameSpecialPropertyName :: Maybe Integer+    + instance Arbitrary Tag where   arbitrary =     Tag-    <$> arbitrary -- tagId :: Maybe Integer-    <*> arbitrary -- tagName :: Maybe Text+      <$> arbitrary -- tagId :: Maybe Integer+      <*> arbitrary -- tagName :: Maybe Text       instance Arbitrary User where   arbitrary =     User-    <$> arbitrary -- userId :: Maybe Integer-    <*> arbitrary -- userUsername :: Maybe Text-    <*> arbitrary -- userFirstName :: Maybe Text-    <*> arbitrary -- userLastName :: Maybe Text-    <*> arbitrary -- userEmail :: Maybe Text-    <*> arbitrary -- userPassword :: Maybe Text-    <*> arbitrary -- userPhone :: Maybe Text-    <*> arbitrary -- userUserStatus :: Maybe Int+      <$> arbitrary -- userId :: Maybe Integer+      <*> arbitrary -- userUsername :: Maybe Text+      <*> arbitrary -- userFirstName :: Maybe Text+      <*> arbitrary -- userLastName :: Maybe Text+      <*> arbitrary -- userEmail :: Maybe Text+      <*> arbitrary -- userPassword :: Maybe Text+      <*> arbitrary -- userPhone :: Maybe Text+      <*> arbitrary -- userUserStatus :: Maybe Int+    ++instance Arbitrary Cat where+  arbitrary =+    Cat+      <$> arbitrary -- catClassName :: Text+      <*> arbitrary -- catColor :: Maybe Text+      <*> arbitrary -- catDeclawed :: Maybe Bool+    ++instance Arbitrary Dog where+  arbitrary =+    Dog+      <$> arbitrary -- dogClassName :: Text+      <*> arbitrary -- dogColor :: Maybe Text+      <*> arbitrary -- dogBreed :: Maybe Text       
tests/Test.hs view
@@ -19,10 +19,40 @@ main =   hspec $ modifyMaxSize (const 10) $   do describe "JSON instances" $-       do propMimeEq MimeJSON (Proxy :: Proxy ApiResponse)+       do propMimeEq MimeJSON (Proxy :: Proxy AdditionalPropertiesClass)+          propMimeEq MimeJSON (Proxy :: Proxy Animal)+          propMimeEq MimeJSON (Proxy :: Proxy AnimalFarm)+          propMimeEq MimeJSON (Proxy :: Proxy ApiResponse)+          propMimeEq MimeJSON (Proxy :: Proxy ArrayOfArrayOfNumberOnly)+          propMimeEq MimeJSON (Proxy :: Proxy ArrayOfNumberOnly)+          propMimeEq MimeJSON (Proxy :: Proxy ArrayTest)+          propMimeEq MimeJSON (Proxy :: Proxy Capitalization)           propMimeEq MimeJSON (Proxy :: Proxy Category)+          propMimeEq MimeJSON (Proxy :: Proxy ClassModel)+          propMimeEq MimeJSON (Proxy :: Proxy Client)+          propMimeEq MimeJSON (Proxy :: Proxy EnumArrays)+          propMimeEq MimeJSON (Proxy :: Proxy EnumClass)+          propMimeEq MimeJSON (Proxy :: Proxy EnumTest)+          propMimeEq MimeJSON (Proxy :: Proxy FormatTest)+          propMimeEq MimeJSON (Proxy :: Proxy HasOnlyReadOnly)+          propMimeEq MimeJSON (Proxy :: Proxy MapTest)+          propMimeEq MimeJSON (Proxy :: Proxy MixedPropertiesAndAdditionalPropertiesClass)+          propMimeEq MimeJSON (Proxy :: Proxy Model200Response)+          propMimeEq MimeJSON (Proxy :: Proxy ModelList)+          propMimeEq MimeJSON (Proxy :: Proxy ModelReturn)+          propMimeEq MimeJSON (Proxy :: Proxy Name)+          propMimeEq MimeJSON (Proxy :: Proxy NumberOnly)           propMimeEq MimeJSON (Proxy :: Proxy Order)+          propMimeEq MimeJSON (Proxy :: Proxy OuterBoolean)+          propMimeEq MimeJSON (Proxy :: Proxy OuterComposite)+          propMimeEq MimeJSON (Proxy :: Proxy OuterEnum)+          propMimeEq MimeJSON (Proxy :: Proxy OuterNumber)+          propMimeEq MimeJSON (Proxy :: Proxy OuterString)           propMimeEq MimeJSON (Proxy :: Proxy Pet)+          propMimeEq MimeJSON (Proxy :: Proxy ReadOnlyFirst)+          propMimeEq MimeJSON (Proxy :: Proxy SpecialModelName)           propMimeEq MimeJSON (Proxy :: Proxy Tag)           propMimeEq MimeJSON (Proxy :: Proxy User)+          propMimeEq MimeJSON (Proxy :: Proxy Cat)+          propMimeEq MimeJSON (Proxy :: Proxy Dog)