module Servant.API.Routes.Request
( Request
, unRequest
, noRequest
, oneRequest
, allOfRequests
, requests
)
where
import Data.Typeable
import Lens.Micro
import "this" Servant.API.Routes.Internal.Request
import "this" Servant.API.Routes.Internal.Some
import "this" Servant.API.Routes.Utils
noRequest :: Request
noRequest :: Request
noRequest = Some TypeRep -> Request
Request forall a. Some a
None
oneRequest ::
forall a.
Typeable a =>
Request
oneRequest :: forall a. Typeable a => Request
oneRequest = Some TypeRep -> Request
Request 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. Typeable a => TypeRep
typeRepOf @a
allOfRequests ::
forall as.
AllTypeable as =>
Request
allOfRequests :: forall (as :: [*]). AllTypeable as => Request
allOfRequests = Some TypeRep -> Request
Request 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 :: [*]). AllTypeable as => [TypeRep]
typeReps @as
requests :: Traversal' Request TypeRep
requests :: Traversal' Request TypeRep
requests = Lens' Request (Some TypeRep)
unRequest forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (f :: * -> *) a b.
Traversable f =>
Traversal (f a) (f b) a b
traversed