module Servant.API.Routes.Response
( Responses
, unResponses
, noResponse
, oneResponse
, oneOfResponses
, Response
, responseType
, responseHeaders
, responses
, HasResponse (..)
, AllHasResponse (..)
)
where
import Lens.Micro
import "this" Servant.API.Routes.Internal.Response
import "this" Servant.API.Routes.Internal.Some
noResponse :: Responses
noResponse :: Responses
noResponse = Some Response -> Responses
Responses forall a. Some a
None
oneResponse ::
forall a.
HasResponse a =>
Responses
oneResponse :: forall a. HasResponse a => Responses
oneResponse = Some Response -> Responses
Responses forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. a -> Some a
One forall a b. (a -> b) -> a -> b
$ forall a. HasResponse a => Response
getResponse @a
oneOfResponses ::
forall as.
AllHasResponse as =>
Responses
oneOfResponses :: forall (as :: [*]). AllHasResponse as => Responses
oneOfResponses = Some Response -> Responses
Responses forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. [a] -> Some a
Many forall a b. (a -> b) -> a -> b
$ forall (as :: [*]). AllHasResponse as => [Response]
getResponses @as
responses :: Traversal' Responses Response
responses :: Traversal' Responses Response
responses = Lens' Responses (Some Response)
unResponses forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (f :: * -> *) a b.
Traversable f =>
Traversal (f a) (f b) a b
traversed