package client
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- client
- ApiCompilerOps
- ApiCompilerOpsLowPrio
- ApiCompilerListLowPrio
- ApiCompilerMediumPrio
- ApiCompilerLowPrio
- FoldResultEvidenceLowPrio
- ApiTransformer
- TypeLevelFoldLeftListLowPrio
- TypeLevelFoldLeftLowPrio
- HListToCompositionLowPrio
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Type Members
- final case class :|:[El <: HList, In <: HList, O, D <: HList, T <: ApiComposition](compiler: Aux[El, In, O, D], tail: T) extends ApiComposition with Product with Serializable
-
trait
ApiCompiler[El <: HList, In <: 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
ApiCompilerList[H <: HList] extends AnyRef
- Annotations
- @implicitNotFound( ... )
- trait ApiCompilerListLowPrio extends AnyRef
- trait ApiCompilerLowPrio extends AnyRef
- trait ApiCompilerMediumPrio extends ApiCompilerLowPrio
-
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
-
type
Data = ::[List[String], ::[Map[String, List[String]], ::[Map[String, String], HNil]]]
- Definition Classes
- ApiCompilerLowPrio
-
type
DataWithBody[Bd] = ::[List[String], ::[Map[String, List[String]], ::[Map[String, String], ::[Bd, HNil]]]]
- Definition Classes
- ApiCompilerLowPrio
-
trait
DeleteRequest[C, F[_], A] extends ApiRequest[RequestData[DeleteCall, Data], C, F, A]
- Annotations
- @implicitNotFound( ... )
-
trait
GetRequest[C, F[_], A] extends ApiRequest[RequestData[GetCall, 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
-
type
In2[K0, V0, K1, V1] = ::[FieldType[K0, V0], ::[FieldType[K1, V1], HNil]]
- Definition Classes
- ApiCompilerOpsLowPrio
-
type
In3[K0, V0, K1, V1, K2, V2] = ::[FieldType[K0, V0], ::[FieldType[K1, V1], ::[FieldType[K2, V2], HNil]]]
- Definition Classes
- ApiCompilerOpsLowPrio
-
type
In4[K0, V0, K1, V1, K2, V2, K3, V3] = ::[FieldType[K0, V0], ::[FieldType[K1, V1], ::[FieldType[K2, V2], ::[FieldType[K3, V3], HNil]]]]
- Definition Classes
- ApiCompilerOpsLowPrio
-
type
In5[K0, V0, K1, V1, K2, V2, K3, V3, K4, V4] = ::[FieldType[K0, V0], ::[FieldType[K1, V1], ::[FieldType[K2, V2], ::[FieldType[K3, V3], ::[FieldType[K4, V4], HNil]]]]]
- Definition Classes
- ApiCompilerOpsLowPrio
-
type
In6[K0, V0, K1, V1, K2, V2, K3, V3, K4, V4, K5, V5] = ::[FieldType[K0, V0], ::[FieldType[K1, V1], ::[FieldType[K2, V2], ::[FieldType[K3, V3], ::[FieldType[K4, V4], ::[FieldType[K5, V5], HNil]]]]]]
- Definition Classes
- ApiCompilerOpsLowPrio
-
type
In7[K0, V0, K1, V1, K2, V2, K3, V3, K4, V4, K5, V5, K6, V6] = ::[FieldType[K0, V0], ::[FieldType[K1, V1], ::[FieldType[K2, V2], ::[FieldType[K3, V3], ::[FieldType[K4, V4], ::[FieldType[K5, V5], ::[FieldType[K6, V6], HNil]]]]]]]
- Definition Classes
- ApiCompilerOpsLowPrio
-
type
In8[K0, V0, K1, V1, K2, V2, K3, V3, K4, V4, K5, V5, K6, V6, K7, V7] = ::[FieldType[K0, V0], ::[FieldType[K1, V1], ::[FieldType[K2, V2], ::[FieldType[K3, V3], ::[FieldType[K4, V4], ::[FieldType[K5, V5], ::[FieldType[K6, V6], ::[FieldType[K7, V7], HNil]]]]]]]]
- Definition Classes
- ApiCompilerOpsLowPrio
-
trait
PostRequest[C, F[_], A] extends ApiRequest[RequestData[PostCall, Data], C, F, A]
- Annotations
- @implicitNotFound( ... )
-
trait
PostWithBodyRequest[C, F[_], Bd, A] extends ApiRequest[RequestData[PostWithBodyCall[Bd], DataWithBody[Bd]], C, F, A]
- Annotations
- @implicitNotFound( ... )
-
trait
PutRequest[C, F[_], A] extends ApiRequest[RequestData[PutCall, Data], C, F, A]
- Annotations
- @implicitNotFound( ... )
-
trait
PutWithBodyRequest[C, F[_], Bd, A] extends ApiRequest[RequestData[PutWithBodyCall[Bd], DataWithBody[Bd]], C, F, A]
- Annotations
- @implicitNotFound( ... )
-
type
RequestData[R, D <: HList] = ::[FieldType[R, D], HNil]
- Definition Classes
- ApiCompilerLowPrio
- type Transformed[El <: HList, In <: HList, Out, D <: HList] = (El, In, Out)
-
implicit
class
ApiOps0[El <: HList, O, D <: HList] extends AnyRef
- Definition Classes
- ApiCompilerOps
-
implicit
class
ApiOps1[El <: HList, O, D <: HList, K0, V0] extends BaseApiOps[El, ::[FieldType[K0, V0], HNil], O, D]
- Definition Classes
- ApiCompilerOpsLowPrio
-
implicit
class
ApiOps2[El <: HList, O, D <: HList, K0, V0, K1, V1] extends BaseApiOps[El, In2[K0, V0, K1, V1], O, D]
- Definition Classes
- ApiCompilerOpsLowPrio
-
implicit
class
ApiOps3[El <: HList, O, D <: HList, K0, V0, K1, V1, K2, V2] extends BaseApiOps[El, In3[K0, V0, K1, V1, K2, V2], O, D]
- Definition Classes
- ApiCompilerOpsLowPrio
-
implicit
class
ApiOps4[El <: HList, O, D <: HList, K0, V0, K1, V1, K2, V2, K3, V3] extends BaseApiOps[El, In4[K0, V0, K1, V1, K2, V2, K3, V3], O, D]
- Definition Classes
- ApiCompilerOpsLowPrio
-
implicit
class
ApiOps5[El <: HList, O, D <: HList, K0, V0, K1, V1, K2, V2, K3, V3, K4, V4] extends BaseApiOps[El, In5[K0, V0, K1, V1, K2, V2, K3, V3, K4, V4], O, D]
- Definition Classes
- ApiCompilerOpsLowPrio
-
implicit
class
ApiOps6[El <: HList, O, D <: HList, K0, V0, K1, V1, K2, V2, K3, V3, K4, V4, K5, V5] extends BaseApiOps[El, In6[K0, V0, K1, V1, K2, V2, K3, V3, K4, V4, K5, V5], O, D]
- Definition Classes
- ApiCompilerOpsLowPrio
-
implicit
class
ApiOps7[El <: HList, O, D <: HList, K0, V0, K1, V1, K2, V2, K3, V3, K4, V4, K5, V5, K6, V6] extends BaseApiOps[El, In7[K0, V0, K1, V1, K2, V2, K3, V3, K4, V4, K5, V5, K6, V6], O, D]
- Definition Classes
- ApiCompilerOpsLowPrio
-
implicit
class
ApiOps8[El <: HList, O, D <: HList, K0, V0, K1, V1, K2, V2, K3, V3, K4, V4, K5, V5, K6, V6, K7, V7] extends BaseApiOps[El, In8[K0, V0, K1, V1, K2, V2, K3, V3, K4, V4, K5, V5, K6, V6, K7, V7], O, D]
- Definition Classes
- ApiCompilerOpsLowPrio
-
implicit
class
ApiOpsN[El <: HList, O, D <: HList, In <: HList] extends BaseApiOps[El, In, O, D]
- Definition Classes
- ApiCompilerOpsLowPrio
Value Members
- def compile[H <: HList, In <: HList, Fold <: HList, HL <: HList, Out <: HList](apiLists: CompositionCons[H])(implicit folders: Aux[H, Fold], compilers: Aux[Fold, HL], composition: HListToComposition[HL]): Out
- def compile[H <: HList, Fold, El <: HList, In <: HList, Out, D <: HList](apiList: ApiTypeCarrier[H])(implicit folder: Aux[H, (HNil, HNil), Fold], ev: Aux[Fold, El, In, Out], compiler: Aux[El, In, Out, D]): Aux[El, In, Out, D]
-
implicit
def
compilerList[El0 <: HList, In0 <: HList, O, D0 <: HList, T <: HList](implicit compiler0: Aux[El0, In0, O, D0], list: ApiCompilerList[T]): ApiCompilerList[::[Transformed[El0, In0, O, D0], T]] { ... /* 2 definitions in type refinement */ }
- Definition Classes
- ApiCompilerListLowPrio
-
implicit
def
consComposition[El <: HList, In <: HList, O, D <: HList, T <: HList](implicit next: HListToComposition[T]): HListToComposition[::[Aux[El, In, O, D], T]] { type Out = typedapi.client.:|:[El,In,O,D,next.Out] }
- Definition Classes
- HListToCompositionLowPrio
-
implicit
def
deleteCompiler[A]: ApiCompiler[::[DeleteCall, HNil], HNil, A] { type Out = typedapi.client.package.RequestData[typedapi.shared.DeleteCall,typedapi.client.package.Data] }
- Definition Classes
- ApiCompilerLowPrio
-
implicit
def
deleteTransformer[A]: Aux[DeleteElement[A], (HNil, HNil), (::[DeleteCall, HNil], HNil, A)]
- Definition Classes
- ApiTransformer
-
implicit
def
evidence[El0 <: HList, In0 <: HList, Out0]: Aux[(El0, In0, Out0), El0, In0, 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
getCompiler[A]: ApiCompiler[::[GetCall, HNil], HNil, A] { type Out = typedapi.client.package.RequestData[typedapi.shared.GetCall,typedapi.client.package.Data] }
- Definition Classes
- ApiCompilerLowPrio
-
implicit
def
getTransformer[A]: Aux[GetElement[A], (HNil, HNil), (::[GetCall, HNil], HNil, A)]
- Definition Classes
- ApiTransformer
-
implicit
def
headerElementTransformer[S <: Symbol, A, El <: HList, In <: HList, Out]: Aux[HeaderParam[S, A], (El, In, Out), (::[HeaderInput, El], ::[FieldType[S, A], In], Out)]
- Definition Classes
- ApiTransformer
-
implicit
def
headerInputCompiler[T <: HList, K <: Symbol, V, In <: HList, O](implicit wit: Aux[K], compiler: ApiCompiler[T, In, O]): ApiCompiler[::[HeaderInput, T], ::[FieldType[K, V], In], O] { type Out = compiler.Out }
- Definition Classes
- ApiCompilerLowPrio
-
implicit
def
headersOptInputCompiler[T <: HList, K <: Symbol, V, In <: HList, O](implicit wit: Aux[K], compiler: ApiCompiler[T, In, O]): ApiCompiler[::[HeaderInput, T], ::[FieldType[K, Option[V]], In], O] { type Out = compiler.Out }
- Definition Classes
- ApiCompilerMediumPrio
-
implicit
def
hnilCase[Agg]: Aux[HNil, Agg, Agg]
- Definition Classes
- TypeLevelFoldLeftLowPrio
-
implicit
val
hnilComposition: HListToComposition[HNil] { type Out = typedapi.client.=:.type }
- Definition Classes
- HListToCompositionLowPrio
-
implicit
def
lastCompilerList[El0 <: HList, In0 <: HList, O, D0 <: HList](implicit compiler0: Aux[El0, In0, O, D0]): ApiCompilerList[::[Transformed[El0, In0, O, D0], HNil]] { ... /* 2 definitions in type refinement */ }
- Definition Classes
- ApiCompilerListLowPrio
-
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
pathCompiler[S, T <: HList, In <: HList, O](implicit wit: Aux[S], compiler: ApiCompiler[T, In, O]): ApiCompiler[::[S, T], In, O] { type Out = compiler.Out }
- Definition Classes
- ApiCompilerLowPrio
-
implicit
def
pathElementTransformer[S, El <: HList, In <: HList, Out]: Aux[PathElement[S], (El, In, Out), (::[S, El], In, Out)]
- Definition Classes
- ApiTransformer
-
implicit
def
postCompiler[A]: ApiCompiler[::[PostCall, HNil], HNil, A] { type Out = typedapi.client.package.RequestData[typedapi.shared.PostCall,typedapi.client.package.Data] }
- Definition Classes
- ApiCompilerLowPrio
-
implicit
def
postTransformer[A]: Aux[PostElement[A], (HNil, HNil), (::[PostCall, HNil], HNil, A)]
- Definition Classes
- ApiTransformer
-
implicit
def
postWithBodyCompiler[Bd, A]: ApiCompiler[::[PostWithBodyCall[Bd], HNil], ::[FieldType[(BodyField)#T, Bd], HNil], A] { type Out = typedapi.client.package.RequestData[typedapi.shared.PostWithBodyCall[Bd],typedapi.client.package.DataWithBody[Bd]] }
- Definition Classes
- ApiCompilerLowPrio
-
implicit
def
postWithBodyTransformer[Bd, A]: Aux[PostWithBodyElement[Bd, A], (HNil, HNil), (::[PostWithBodyCall[Bd], HNil], ::[FieldType[(BodyField)#T, Bd], HNil], A)]
- Definition Classes
- ApiTransformer
-
implicit
def
putCompiler[A]: ApiCompiler[::[PutCall, HNil], HNil, A] { type Out = typedapi.client.package.RequestData[typedapi.shared.PutCall,typedapi.client.package.Data] }
- Definition Classes
- ApiCompilerLowPrio
-
implicit
def
putTransformer[A]: Aux[PutElement[A], (HNil, HNil), (::[PutCall, HNil], HNil, A)]
- Definition Classes
- ApiTransformer
-
implicit
def
putWithBodyCompiler[Bd, A]: ApiCompiler[::[PutWithBodyCall[Bd], HNil], ::[FieldType[(BodyField)#T, Bd], HNil], A] { type Out = typedapi.client.package.RequestData[typedapi.shared.PutWithBodyCall[Bd],typedapi.client.package.DataWithBody[Bd]] }
- Definition Classes
- ApiCompilerLowPrio
-
implicit
def
putWithBodyTransformer[Bd, A]: Aux[PutWithBodyElement[Bd, A], (HNil, HNil), (::[PutWithBodyCall[Bd], HNil], ::[FieldType[(BodyField)#T, Bd], HNil], A)]
- Definition Classes
- ApiTransformer
-
implicit
def
queryElementTransformer[S <: Symbol, A, El <: HList, In <: HList, Out]: Aux[QueryParam[S, A], (El, In, Out), (::[QueryInput, El], ::[FieldType[S, A], In], Out)]
- Definition Classes
- ApiTransformer
-
implicit
def
queryInputCompiler[T <: HList, K <: Symbol, V, In <: HList, O](implicit wit: Aux[K], compiler: ApiCompiler[T, In, O]): ApiCompiler[::[QueryInput, T], ::[FieldType[K, V], In], O] { type Out = compiler.Out }
- Definition Classes
- ApiCompilerLowPrio
-
implicit
def
queryListElementTransformer[S <: Symbol, A, El <: HList, In <: HList, Out]: Aux[QueryParam[S, List[A]], (El, In, Out), (::[QueryInput, El], ::[FieldType[S, List[A]], In], Out)]
- Definition Classes
- ApiTransformer
-
implicit
def
queryListInputCompiler[T <: HList, K <: Symbol, V, In <: HList, O](implicit wit: Aux[K], compiler: ApiCompiler[T, In, O]): ApiCompiler[::[QueryInput, T], ::[FieldType[K, List[V]], In], O] { type Out = compiler.Out }
- Definition Classes
- ApiCompilerMediumPrio
-
implicit
def
queryOptInputCompiler[T <: HList, K <: Symbol, V, In <: HList, O](implicit wit: Aux[K], compiler: ApiCompiler[T, In, O]): ApiCompiler[::[QueryInput, T], ::[FieldType[K, Option[V]], In], O] { type Out = compiler.Out }
- Definition Classes
- ApiCompilerMediumPrio
-
implicit
def
rawHeadersElementTransformer[El <: HList, In <: HList, Out]: Aux[RawHeadersParam.type, (El, In, Out), (::[RawHeadersInput, El], ::[FieldType[(RawHeadersField)#T, Map[String, String]], In], Out)]
- Definition Classes
- ApiTransformer
-
implicit
def
rawHeadersInputCompiler[T <: HList, In <: HList, O](implicit compiler: ApiCompiler[T, In, O]): ApiCompiler[::[RawHeadersInput, T], ::[FieldType[(RawHeadersField)#T, Map[String, String]], In], O] { type Out = compiler.Out }
- Definition Classes
- ApiCompilerLowPrio
-
implicit
def
segmentElementTransformer[S <: Symbol, A, El <: HList, In <: HList, Out]: Aux[SegmentParam[S, A], (El, In, Out), (::[SegmentInput, El], ::[FieldType[S, A], In], Out)]
- Definition Classes
- ApiTransformer
-
implicit
def
segmentInputCompiler[T <: HList, K, V, In <: HList, O](implicit compiler: ApiCompiler[T, In, O]): ApiCompiler[::[SegmentInput, T], ::[FieldType[K, V], In], O] { type Out = compiler.Out }
- Definition Classes
- ApiCompilerLowPrio
- object =: extends ApiComposition with Product with Serializable
- object ApiCompiler
- object ApiCompilerList
- object TypedApi