@@ -32,7 +32,8 @@ import Data.Data (Data(..), Typeable, mkConstr, mkDataT
32import qualified Data.HashMap.Strict as HashMap
32import qualified Data.HashMap.Strict as HashMap
33import Data.Map (Map)
33import Data.Map (Map)
34import qualified Data.Map as Map
34import qualified Data.Map as Map
35−import Data.Monoid
35+import Data.Monoid (Monoid (..))
36+import Data.Semigroup (Semigroup (..))
36import Data.Scientific (Scientific)
37import Data.Scientific (Scientific)
37import Data.Set (Set)
38import Data.Set (Set)
38import Data.String (IsString(..))
39import Data.String (IsString(..))
@@ -303,7 +304,7 @@ data Operation = Operation
303 } deriving (Eq, Show, Generic, Data, Typeable)
304 } deriving (Eq, Show, Generic, Data, Typeable)
305newtype MimeList = MimeList { getMimeList :: [MediaType] }
306newtype MimeList = MimeList { getMimeList :: [MediaType] }
306− deriving (Eq, Show, Monoid, Typeable)
307+ deriving (Eq, Show, Semigroup, Monoid, Typeable)
308mimeListConstr :: Constr
309mimeListConstr :: Constr
309mimeListConstr = mkConstr mimeListDataType "MimeList" ["getMimeList"] Prefix
310mimeListConstr = mkConstr mimeListDataType "MimeList" ["getMimeList"] Prefix
@@ -754,7 +755,7 @@ data SecurityScheme = SecurityScheme
754-- (that is, there is a logical AND between the schemes).
755-- (that is, there is a logical AND between the schemes).
755newtype SecurityRequirement = SecurityRequirement
756newtype SecurityRequirement = SecurityRequirement
756 { getSecurityRequirement :: InsOrdHashMap Text [Text]
757 { getSecurityRequirement :: InsOrdHashMap Text [Text]
757− } deriving (Eq, Read, Show, Monoid, ToJSON, FromJSON, Data, Typeable)
758+ } deriving (Eq, Read, Show, Semigroup, Monoid, ToJSON, FromJSON, Data, Typeable)
759-- | Tag name.
760-- | Tag name.
760type TagName = Text
761type TagName = Text
@@ -805,61 +806,89 @@ newtype URL = URL { getUrl :: Text } deriving (Eq, Ord, Show, ToJSON, FromJSON,
805-- Monoid instances
806-- Monoid instances
806-- =======================================================================
807-- =======================================================================
809+instance Semigroup Swagger where
810+ (<>) = genericMappend
808instance Monoid Swagger where
811instance Monoid Swagger where
809 mempty = genericMempty
812 mempty = genericMempty
810− mappend = genericMappend
813+ mappend = (<>)
815+instance Semigroup Info where
816+ (<>) = genericMappend
812instance Monoid Info where
817instance Monoid Info where
813 mempty = genericMempty
818 mempty = genericMempty
814− mappend = genericMappend
819+ mappend = (<>)
821+instance Semigroup Contact where
822+ (<>) = genericMappend
816instance Monoid Contact where
823instance Monoid Contact where
817 mempty = genericMempty
824 mempty = genericMempty
818− mappend = genericMappend
825+ mappend = (<>)
827+instance Semigroup PathItem where
828+ (<>) = genericMappend
820instance Monoid PathItem where
829instance Monoid PathItem where
821 mempty = genericMempty
830 mempty = genericMempty
822− mappend = genericMappend
831+ mappend = (<>)
833+instance Semigroup Schema where
834+ (<>) = genericMappend
824instance Monoid Schema where
835instance Monoid Schema where
825 mempty = genericMempty
836 mempty = genericMempty
826− mappend = genericMappend
837+ mappend = (<>)
839+instance Semigroup (ParamSchema t) where
840+ (<>) = genericMappend
828instance Monoid (ParamSchema t) where
841instance Monoid (ParamSchema t) where
829 mempty = genericMempty
842 mempty = genericMempty
830− mappend = genericMappend
843+ mappend = (<>)
845+instance Semigroup Param where
846+ (<>) = genericMappend
832instance Monoid Param where
847instance Monoid Param where
833 mempty = genericMempty
848 mempty = genericMempty
834− mappend = genericMappend
849+ mappend = (<>)
851+instance Semigroup ParamOtherSchema where
852+ (<>) = genericMappend
836instance Monoid ParamOtherSchema where
853instance Monoid ParamOtherSchema where
837 mempty = genericMempty
854 mempty = genericMempty
838− mappend = genericMappend
855+ mappend = (<>)
857+instance Semigroup Header where
858+ (<>) = genericMappend
840instance Monoid Header where
859instance Monoid Header where
841 mempty = genericMempty
860 mempty = genericMempty
842− mappend = genericMappend
861+ mappend = (<>)
863+instance Semigroup Responses where
864+ (<>) = genericMappend
844instance Monoid Responses where
865instance Monoid Responses where
845 mempty = genericMempty
866 mempty = genericMempty
846− mappend = genericMappend
867+ mappend = (<>)
869+instance Semigroup Response where
870+ (<>) = genericMappend
848instance Monoid Response where
871instance Monoid Response where
849 mempty = genericMempty
872 mempty = genericMempty
850− mappend = genericMappend
873+ mappend = (<>)
875+instance Semigroup ExternalDocs where
876+ (<>) = genericMappend
852instance Monoid ExternalDocs where
877instance Monoid ExternalDocs where
853 mempty = genericMempty
878 mempty = genericMempty
854− mappend = genericMappend
879+ mappend = (<>)
881+instance Semigroup Operation where
882+ (<>) = genericMappend
856instance Monoid Operation where
883instance Monoid Operation where
857 mempty = genericMempty
884 mempty = genericMempty
858− mappend = genericMappend
885+ mappend = (<>)
887+instance Semigroup Example where
888+ (<>) = genericMappend
860instance Monoid Example where
889instance Monoid Example where
861 mempty = genericMempty
890 mempty = genericMempty
862− mappend = genericMappend
891+ mappend = (<>)
864-- =======================================================================
893-- =======================================================================
865-- SwaggerMonoid helper instances
894-- SwaggerMonoid helper instances
@@ -893,7 +922,7 @@ instance OVERLAPPING_ SwaggerMonoid (InsOrdHashMap FilePath PathItem) where
894instance Monoid a => SwaggerMonoid (Referenced a) where
923instance Monoid a => SwaggerMonoid (Referenced a) where
895 swaggerMempty = Inline mempty
924 swaggerMempty = Inline mempty
896− swaggerMappend (Inline x) (Inline y) = Inline (x <> y)
925+ swaggerMappend (Inline x) (Inline y) = Inline (mappend x y)
897 swaggerMappend _ y = y
926 swaggerMappend _ y = y
899instance SwaggerMonoid ParamAnySchema where
928instance SwaggerMonoid ParamAnySchema where