{-# LANGUAGE ConstraintKinds #-} module Prolude.Swagger ( Swagger.SwaggerType(..) , SwaggerToSchema , SwaggerToParamSchema , defaultDeclareNamedSchema ) where import qualified Data.Swagger as Swagger import qualified Data.Swagger.Declare as Swagger import qualified Data.Swagger.Internal.Schema as Swagger import qualified Data.Swagger.Internal.TypeShape as Swagger type SwaggerToParamSchema = Swagger.ToParamSchema type SwaggerToSchema = Swagger.ToSchema defaultDeclareNamedSchema :: Applicative f => (Swagger.Schema -> Swagger.Schema) -> proxy a -> f Swagger.NamedSchema defaultDeclareNamedSchema :: (Schema -> Schema) -> proxy a -> f NamedSchema defaultDeclareNamedSchema Schema -> Schema f = f NamedSchema -> proxy a -> f NamedSchema forall a b. a -> b -> a const (f NamedSchema -> proxy a -> f NamedSchema) -> (Schema -> f NamedSchema) -> Schema -> proxy a -> f NamedSchema forall b c a. (b -> c) -> (a -> b) -> a -> c . NamedSchema -> f NamedSchema forall (f :: * -> *) a. Applicative f => a -> f a pure (NamedSchema -> f NamedSchema) -> (Schema -> NamedSchema) -> Schema -> f NamedSchema forall b c a. (b -> c) -> (a -> b) -> a -> c . Maybe Text -> Schema -> NamedSchema Swagger.NamedSchema Maybe Text forall a. Maybe a Nothing (Schema -> proxy a -> f NamedSchema) -> Schema -> proxy a -> f NamedSchema forall a b. (a -> b) -> a -> b $ Schema -> Schema f Schema forall a. Monoid a => a mempty