package client
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- client
- FoldResultEvidenceLowPrio
- ApiTransformer
- TypeLevelFoldLeftListLowPrio
- TypeLevelFoldLeftLowPrio
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Type Members
- final case class :|:[Fn, T <: ApiComposition](fn: Fn, tail: T) extends ApiComposition with Product with Serializable
-
sealed
trait
ApiComposition extends AnyRef
Syntactic sugar to enable: val api = (:= "foo" :> Get[Foo]) :|: (:= "bar" :> Get[Bar])
Syntactic sugar to enable: val api = (:= "foo" :> Get[Foo]) :|: (:= "bar" :> Get[Bar])
val (foo :|: bar :|: =:) = compile(transform(api))
-
trait
ApiRequest[D <: HList, C, F[_], Out] extends AnyRef
Basic api request structure.
Basic api request structure. Expected input data and return-type are defined for each method.
- final case class ClientManager[C](client: C, host: String, port: Int) extends Product with Serializable
-
trait
DeleteRequest[C, F[_], A] extends ApiRequest[client.RequestDataBuilder.RequestData[DeleteCall, client.RequestDataBuilder.Data], C, F, A]
- Annotations
- @implicitNotFound( ... )
- final class ExecutableDerivation[El <: HList, KIn <: HList, VIn <: HList, O, D <: HList] extends AnyRef
-
trait
GetRequest[C, F[_], A] extends ApiRequest[client.RequestDataBuilder.RequestData[GetCall, client.RequestDataBuilder.Data], C, F, A]
- Annotations
- @implicitNotFound( ... )
-
sealed
trait
HListToComposition[H <: HList] extends AnyRef
Transform apis composed in a HList into ApiComposition representation.
- trait HListToCompositionLowPrio extends AnyRef
-
trait
PostRequest[C, F[_], A] extends ApiRequest[client.RequestDataBuilder.RequestData[PostCall, client.RequestDataBuilder.Data], C, F, A]
- Annotations
- @implicitNotFound( ... )
-
trait
PostWithBodyRequest[C, F[_], Bd, A] extends ApiRequest[client.RequestDataBuilder.RequestData[PostWithBodyCall[Bd], client.RequestDataBuilder.DataWithBody[Bd]], C, F, A]
- Annotations
- @implicitNotFound( ... )
-
trait
PutRequest[C, F[_], A] extends ApiRequest[client.RequestDataBuilder.RequestData[PutCall, client.RequestDataBuilder.Data], C, F, A]
- Annotations
- @implicitNotFound( ... )
-
trait
PutWithBodyRequest[C, F[_], Bd, A] extends ApiRequest[client.RequestDataBuilder.RequestData[PutWithBodyCall[Bd], client.RequestDataBuilder.DataWithBody[Bd]], C, F, A]
- Annotations
- @implicitNotFound( ... )
-
trait
RequestDataBuilder[El <: HList, KIn <: HList, VIn <: HList, O] extends AnyRef
Compiles type level api description into a function returning data (uri, query, header, body) and return-type
A
which are used for a request.Compiles type level api description into a function returning data (uri, query, header, body) and return-type
A
which are used for a request.- Annotations
- @implicitNotFound( ... )
-
trait
RequestDataBuilderList[H <: HList] extends AnyRef
- Annotations
- @implicitNotFound( ... )
- trait RequestDataBuilderListLowPrio extends AnyRef
- trait RequestDataBuilderLowPrio extends AnyRef
- trait RequestDataBuilderMediumPrio extends RequestDataBuilderLowPrio
- type Transformed[El <: HList, KIn <: HList, VIn <: HList, Out, D <: HList] = (El, KIn, VIn, Out)
Value Members
-
implicit
def
deleteTransformer[A]: Aux[DeleteElement[A], (HNil, HNil, HNil), (::[DeleteCall, HNil], HNil, HNil, A)]
- Definition Classes
- ApiTransformer
- def derive[H <: HList, Fold, El <: HList, KIn <: HList, VIn <: HList, Out, D <: HList](apiList: ApiTypeCarrier[H])(implicit folder: Aux[H, (HNil, HNil, HNil), Fold], ev: Aux[Fold, El, KIn, VIn, Out], builder: Aux[El, KIn, VIn, Out, D], inToFn: FnFromProduct[(VIn) ⇒ ExecutableDerivation[El, KIn, VIn, Out, D]]): shapeless.ops.function.FnFromProduct.Out
- def deriveAll[H <: HList, In <: HList, Fold <: HList, HL <: HList, Out <: HList](apiLists: CompositionCons[H])(implicit folders: Aux[H, Fold], builderList: Aux[Fold, HL], composition: HListToComposition[HL]): Out
-
implicit
def
evidence[El0 <: HList, KIn0 <: HList, VIn0 <: HList, Out0]: Aux[(El0, KIn0, VIn0, Out0), El0, KIn0, VIn0, Out0]
- Definition Classes
- FoldResultEvidenceLowPrio
-
implicit
def
foldCase[H, T <: HList, Agg, FtOut, FOut](implicit f: Aux[H, Agg, FtOut], next: Lazy[Aux[T, FtOut, FOut]]): Aux[::[H, T], Agg, FOut]
- Definition Classes
- TypeLevelFoldLeftLowPrio
-
implicit
def
folderLeftList[H <: HList, Agg, T <: HList](implicit folder0: TypeLevelFoldLeft[H, Agg], list: TypeLevelFoldLeftList[T]): TypeLevelFoldLeftList[::[H, T]] { type Out = folder0.Out :: list.Out }
- Definition Classes
- TypeLevelFoldLeftListLowPrio
-
implicit
def
getTransformer[A]: Aux[GetElement[A], (HNil, HNil, HNil), (::[GetCall, HNil], HNil, HNil, A)]
- Definition Classes
- ApiTransformer
-
implicit
def
headerElementTransformer[S <: Symbol, A, El <: HList, KIn <: HList, VIn <: HList, Out]: Aux[HeaderParam[S, A], (El, KIn, VIn, Out), (::[HeaderInput, El], ::[S, KIn], ::[A, VIn], Out)]
- Definition Classes
- ApiTransformer
-
implicit
def
hnilCase[Agg]: Aux[HNil, Agg, Agg]
- Definition Classes
- TypeLevelFoldLeftLowPrio
-
implicit
def
lastFoldLeftList[H <: HList, Agg](implicit folder0: TypeLevelFoldLeft[H, Agg]): TypeLevelFoldLeftList[::[H, HNil]] { type Out = folder0.Out :: shapeless.HNil }
- Definition Classes
- TypeLevelFoldLeftListLowPrio
-
implicit
def
pathElementTransformer[S, El <: HList, KIn <: HList, VIn <: HList, Out]: Aux[PathElement[S], (El, KIn, VIn, Out), (::[S, El], KIn, VIn, Out)]
- Definition Classes
- ApiTransformer
-
implicit
def
postTransformer[A]: Aux[PostElement[A], (HNil, HNil, HNil), (::[PostCall, HNil], HNil, HNil, A)]
- Definition Classes
- ApiTransformer
-
implicit
def
postWithBodyTransformer[Bd, A]: Aux[PostWithBodyElement[Bd, A], (HNil, HNil, HNil), (::[PostWithBodyCall[Bd], HNil], ::[(BodyField)#T, HNil], ::[Bd, HNil], A)]
- Definition Classes
- ApiTransformer
-
implicit
def
putTransformer[A]: Aux[PutElement[A], (HNil, HNil, HNil), (::[PutCall, HNil], HNil, HNil, A)]
- Definition Classes
- ApiTransformer
-
implicit
def
putWithBodyTransformer[Bd, A]: Aux[PutWithBodyElement[Bd, A], (HNil, HNil, HNil), (::[PutWithBodyCall[Bd], HNil], ::[(BodyField)#T, HNil], ::[Bd, HNil], A)]
- Definition Classes
- ApiTransformer
-
implicit
def
queryElementTransformer[S <: Symbol, A, El <: HList, KIn <: HList, VIn <: HList, Out]: Aux[QueryParam[S, A], (El, KIn, VIn, Out), (::[QueryInput, El], ::[S, KIn], ::[A, VIn], Out)]
- Definition Classes
- ApiTransformer
-
implicit
def
queryListElementTransformer[S <: Symbol, A, El <: HList, KIn <: HList, VIn <: HList, Out]: Aux[QueryParam[S, List[A]], (El, KIn, VIn, Out), (::[QueryInput, El], ::[S, KIn], ::[List[A], VIn], Out)]
- Definition Classes
- ApiTransformer
-
implicit
def
rawHeadersElementTransformer[El <: HList, KIn <: HList, VIn <: HList, Out]: Aux[RawHeadersParam.type, (El, KIn, VIn, Out), (::[RawHeadersInput, El], ::[(RawHeadersField)#T, KIn], ::[Map[String, String], VIn], Out)]
- Definition Classes
- ApiTransformer
-
implicit
def
segmentElementTransformer[S <: Symbol, A, El <: HList, KIn <: HList, VIn <: HList, Out]: Aux[SegmentParam[S, A], (El, KIn, VIn, Out), (::[SegmentInput, El], ::[S, KIn], ::[A, VIn], Out)]
- Definition Classes
- ApiTransformer
- object =: extends ApiComposition with Product with Serializable
- object HListToComposition extends HListToCompositionLowPrio
- object RequestDataBuilder extends RequestDataBuilderMediumPrio
- object RequestDataBuilderList extends RequestDataBuilderListLowPrio