packages feed

prolude-0.0.0.10: Prolude/Swagger.hs

{-# 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 f = const . pure . Swagger.NamedSchema Nothing $ f mempty