p

typedapi

client

package client

Linear Supertypes
ApiCompilerOps, ApiCompilerOpsLowPrio, ApiCompilerListLowPrio, ApiCompilerMediumPrio, ApiCompilerLowPrio, FoldResultEvidenceLowPrio, ApiTransformer, TypeLevelFoldLeftListLowPrio, TypeLevelFoldLeftLowPrio, HListToCompositionLowPrio, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. client
  2. ApiCompilerOps
  3. ApiCompilerOpsLowPrio
  4. ApiCompilerListLowPrio
  5. ApiCompilerMediumPrio
  6. ApiCompilerLowPrio
  7. FoldResultEvidenceLowPrio
  8. ApiTransformer
  9. TypeLevelFoldLeftListLowPrio
  10. TypeLevelFoldLeftLowPrio
  11. HListToCompositionLowPrio
  12. AnyRef
  13. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. 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
  2. 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( ... )
  3. trait ApiCompilerList[H <: HList] extends AnyRef
    Annotations
    @implicitNotFound( ... )
  4. trait ApiCompilerListLowPrio extends AnyRef
  5. trait ApiCompilerLowPrio extends AnyRef
  6. trait ApiCompilerMediumPrio extends ApiCompilerLowPrio
  7. 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))

  8. 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.

  9. final case class ClientManager[C](client: C, host: String, port: Int) extends Product with Serializable
  10. type Data = ::[List[String], ::[Map[String, List[String]], ::[Map[String, String], HNil]]]
    Definition Classes
    ApiCompilerLowPrio
  11. type DataWithBody[Bd] = ::[List[String], ::[Map[String, List[String]], ::[Map[String, String], ::[Bd, HNil]]]]
    Definition Classes
    ApiCompilerLowPrio
  12. trait DeleteRequest[C, F[_], A] extends ApiRequest[RequestData[DeleteCall, Data], C, F, A]
    Annotations
    @implicitNotFound( ... )
  13. trait GetRequest[C, F[_], A] extends ApiRequest[RequestData[GetCall, Data], C, F, A]
    Annotations
    @implicitNotFound( ... )
  14. sealed trait HListToComposition[H <: HList] extends AnyRef

    Transform apis composed in a HList into ApiComposition representation.

  15. trait HListToCompositionLowPrio extends AnyRef
  16. type In2[K0, V0, K1, V1] = ::[FieldType[K0, V0], ::[FieldType[K1, V1], HNil]]
    Definition Classes
    ApiCompilerOpsLowPrio
  17. type In3[K0, V0, K1, V1, K2, V2] = ::[FieldType[K0, V0], ::[FieldType[K1, V1], ::[FieldType[K2, V2], HNil]]]
    Definition Classes
    ApiCompilerOpsLowPrio
  18. 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
  19. 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
  20. 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
  21. 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
  22. 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
  23. trait PostRequest[C, F[_], A] extends ApiRequest[RequestData[PostCall, Data], C, F, A]
    Annotations
    @implicitNotFound( ... )
  24. trait PostWithBodyRequest[C, F[_], Bd, A] extends ApiRequest[RequestData[PostWithBodyCall[Bd], DataWithBody[Bd]], C, F, A]
    Annotations
    @implicitNotFound( ... )
  25. trait PutRequest[C, F[_], A] extends ApiRequest[RequestData[PutCall, Data], C, F, A]
    Annotations
    @implicitNotFound( ... )
  26. trait PutWithBodyRequest[C, F[_], Bd, A] extends ApiRequest[RequestData[PutWithBodyCall[Bd], DataWithBody[Bd]], C, F, A]
    Annotations
    @implicitNotFound( ... )
  27. type RequestData[R, D <: HList] = ::[FieldType[R, D], HNil]
    Definition Classes
    ApiCompilerLowPrio
  28. type Transformed[El <: HList, In <: HList, Out, D <: HList] = (El, In, Out)
  29. implicit class ApiOps0[El <: HList, O, D <: HList] extends AnyRef
    Definition Classes
    ApiCompilerOps
  30. implicit class ApiOps1[El <: HList, O, D <: HList, K0, V0] extends BaseApiOps[El, ::[FieldType[K0, V0], HNil], O, D]
    Definition Classes
    ApiCompilerOpsLowPrio
  31. 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
  32. 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
  33. 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
  34. 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
  35. 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
  36. 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
  37. 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
  38. implicit class ApiOpsN[El <: HList, O, D <: HList, In <: HList] extends BaseApiOps[El, In, O, D]
    Definition Classes
    ApiCompilerOpsLowPrio

Value Members

  1. 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
  2. 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]
  3. 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
  4. 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
  5. 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
  6. implicit def deleteTransformer[A]: Aux[DeleteElement[A], (HNil, HNil), (::[DeleteCall, HNil], HNil, A)]
    Definition Classes
    ApiTransformer
  7. implicit def evidence[El0 <: HList, In0 <: HList, Out0]: Aux[(El0, In0, Out0), El0, In0, Out0]
    Definition Classes
    FoldResultEvidenceLowPrio
  8. 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
  9. 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
  10. 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
  11. implicit def getTransformer[A]: Aux[GetElement[A], (HNil, HNil), (::[GetCall, HNil], HNil, A)]
    Definition Classes
    ApiTransformer
  12. 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
  13. 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
  14. 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
  15. implicit def hnilCase[Agg]: Aux[HNil, Agg, Agg]
    Definition Classes
    TypeLevelFoldLeftLowPrio
  16. implicit val hnilComposition: HListToComposition[HNil] { type Out = typedapi.client.=:.type }
    Definition Classes
    HListToCompositionLowPrio
  17. 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
  18. implicit def lastFoldLeftList[H <: HList, Agg](implicit folder0: TypeLevelFoldLeft[H, Agg]): TypeLevelFoldLeftList[::[H, HNil]] { type Out = folder0.Out :: shapeless.HNil }
    Definition Classes
    TypeLevelFoldLeftListLowPrio
  19. 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
  20. implicit def pathElementTransformer[S, El <: HList, In <: HList, Out]: Aux[PathElement[S], (El, In, Out), (::[S, El], In, Out)]
    Definition Classes
    ApiTransformer
  21. 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
  22. implicit def postTransformer[A]: Aux[PostElement[A], (HNil, HNil), (::[PostCall, HNil], HNil, A)]
    Definition Classes
    ApiTransformer
  23. 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
  24. implicit def postWithBodyTransformer[Bd, A]: Aux[PostWithBodyElement[Bd, A], (HNil, HNil), (::[PostWithBodyCall[Bd], HNil], ::[FieldType[(BodyField)#T, Bd], HNil], A)]
    Definition Classes
    ApiTransformer
  25. 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
  26. implicit def putTransformer[A]: Aux[PutElement[A], (HNil, HNil), (::[PutCall, HNil], HNil, A)]
    Definition Classes
    ApiTransformer
  27. 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
  28. implicit def putWithBodyTransformer[Bd, A]: Aux[PutWithBodyElement[Bd, A], (HNil, HNil), (::[PutWithBodyCall[Bd], HNil], ::[FieldType[(BodyField)#T, Bd], HNil], A)]
    Definition Classes
    ApiTransformer
  29. 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
  30. 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
  31. 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
  32. 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
  33. 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
  34. 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
  35. 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
  36. 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
  37. 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
  38. object =: extends ApiComposition with Product with Serializable
  39. object ApiCompiler
  40. object ApiCompilerList
  41. object TypedApi

Inherited from ApiCompilerOps

Inherited from ApiCompilerOpsLowPrio

Inherited from ApiCompilerListLowPrio

Inherited from ApiCompilerMediumPrio

Inherited from ApiCompilerLowPrio

Inherited from FoldResultEvidenceLowPrio

Inherited from ApiTransformer

Inherited from TypeLevelFoldLeftListLowPrio

Inherited from TypeLevelFoldLeftLowPrio

Inherited from HListToCompositionLowPrio

Inherited from AnyRef

Inherited from Any

Ungrouped