git.iko.soy/typeable/mock-server-client
on update-generated-code help sign in
69 lines 4.7 kB history raw
1-- CHANGE WITH CAUTION: This is a generated code file generated by https://github.com/Haskell-OpenAPI-Code-Generator/Haskell-OpenAPI-Client-Code-Generator.
3{-# LANGUAGE OverloadedStrings #-}
4{-# LANGUAGE MultiWayIf #-}
6-- | Contains the types generated from the schema OpenAPIExpectation
7module MockServer.Types.OpenAPIExpectation where
9import qualified Prelude as GHC.Integer.Type
10import qualified Prelude as GHC.Maybe
11import qualified Control.Monad.Fail
12import qualified Data.Aeson
13import qualified Data.Aeson as Data.Aeson.Encoding.Internal
14import qualified Data.Aeson as Data.Aeson.Types
15import qualified Data.Aeson as Data.Aeson.Types.FromJSON
16import qualified Data.Aeson as Data.Aeson.Types.ToJSON
17import qualified Data.Aeson as Data.Aeson.Types.Internal
18import qualified Data.ByteString.Char8
19import qualified Data.ByteString.Char8 as Data.ByteString.Internal
20import qualified Data.Foldable
21import qualified Data.Functor
22import qualified Data.Maybe
23import qualified Data.Scientific
24import qualified Data.Text
25import qualified Data.Text.Internal
26import qualified Data.Time.Calendar as Data.Time.Calendar.Days
27import qualified Data.Time.LocalTime as Data.Time.LocalTime.Internal.ZonedTime
28import qualified GHC.Base
29import qualified GHC.Classes
30import qualified GHC.Int
31import qualified GHC.Show
32import qualified GHC.Types
33import qualified MockServer.Common
34import MockServer.TypeAlias
36-- | Defines the object schema located at @components.schemas.OpenAPIExpectation@ in the specification.
37--
38--
39data OpenAPIExpectation = OpenAPIExpectation {
40 -- | operationsAndResponses
41 openAPIExpectationOperationsAndResponses :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object)
42 -- | specUrlOrPayload
43 , openAPIExpectationSpecUrlOrPayload :: OpenAPIExpectationSpecUrlOrPayloadVariants
44 } deriving (GHC.Show.Show
45 , GHC.Classes.Eq)
46instance Data.Aeson.Types.ToJSON.ToJSON OpenAPIExpectation
47 where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("operationsAndResponses" Data.Aeson.Types.ToJSON..=)) (openAPIExpectationOperationsAndResponses obj) : ["specUrlOrPayload" Data.Aeson.Types.ToJSON..= openAPIExpectationSpecUrlOrPayload obj] : GHC.Base.mempty))
48 toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("operationsAndResponses" Data.Aeson.Types.ToJSON..=)) (openAPIExpectationOperationsAndResponses obj) : ["specUrlOrPayload" Data.Aeson.Types.ToJSON..= openAPIExpectationSpecUrlOrPayload obj] : GHC.Base.mempty)))
49instance Data.Aeson.Types.FromJSON.FromJSON OpenAPIExpectation
50 where parseJSON = Data.Aeson.Types.FromJSON.withObject "OpenAPIExpectation" (\obj -> (GHC.Base.pure OpenAPIExpectation GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "operationsAndResponses")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "specUrlOrPayload"))
51-- | Create a new 'OpenAPIExpectation' with all required fields.
52mkOpenAPIExpectation :: OpenAPIExpectationSpecUrlOrPayloadVariants -- ^ 'openAPIExpectationSpecUrlOrPayload'
53 -> OpenAPIExpectation
54mkOpenAPIExpectation openAPIExpectationSpecUrlOrPayload = OpenAPIExpectation{openAPIExpectationOperationsAndResponses = GHC.Maybe.Nothing,
55 openAPIExpectationSpecUrlOrPayload = openAPIExpectationSpecUrlOrPayload}
56-- | Defines the oneOf schema located at @components.schemas.OpenAPIExpectation.properties.specUrlOrPayload.anyOf@ in the specification.
57--
58--
59data OpenAPIExpectationSpecUrlOrPayloadVariants =
60 OpenAPIExpectationSpecUrlOrPayloadText Data.Text.Internal.Text
61 | OpenAPIExpectationSpecUrlOrPayloadObject Data.Aeson.Types.Internal.Object
62 deriving (GHC.Show.Show, GHC.Classes.Eq)
63instance Data.Aeson.Types.ToJSON.ToJSON OpenAPIExpectationSpecUrlOrPayloadVariants
64 where toJSON (OpenAPIExpectationSpecUrlOrPayloadText a) = Data.Aeson.Types.ToJSON.toJSON a
65 toJSON (OpenAPIExpectationSpecUrlOrPayloadObject a) = Data.Aeson.Types.ToJSON.toJSON a
66instance Data.Aeson.Types.FromJSON.FromJSON OpenAPIExpectationSpecUrlOrPayloadVariants
67 where parseJSON val = case (OpenAPIExpectationSpecUrlOrPayloadText Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> ((OpenAPIExpectationSpecUrlOrPayloadObject Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched") of
68 Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a
69 Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a