p

typedapi

client

package client

Linear Supertypes
ApiCompilerOps, ApiCompilerOpsLowPrio, ApiCompilerListLowPrio, ApiCompilerMediumPrio, ApiCompilerLowPrio, FoldResultEvidenceLowPrio, ApiTransformer, TypeLevelFoldLeftListLowPrio, TypeLevelFoldLeftLowPrio, HListToCompositionLowPrio, ApiListOps, 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. ApiListOps
  13. AnyRef
  14. 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
  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 :=: EmptyCons.type
    Definition Classes
    ApiListOps
  2. def Delete[A]: DeleteElement[A]
    Definition Classes
    ApiListOps
  3. def Get[A]: GetElement[A]
    Definition Classes
    ApiListOps
  4. def Header[A]: HeaderHelper[A]
    Definition Classes
    ApiListOps
  5. def Path[S](wit: Lt[S]): PathElement[S]
    Definition Classes
    ApiListOps
  6. def Post[A]: PostElement[A]
    Definition Classes
    ApiListOps
  7. def PostWithBody[Bd, A]: PostWithBodyElement[Bd, A]
    Definition Classes
    ApiListOps
  8. def Put[A]: PutElement[A]
    Definition Classes
    ApiListOps
  9. def PutWithBody[Bd, A]: PutWithBodyElement[Bd, A]
    Definition Classes
    ApiListOps
  10. def Query[A]: QueryHelper[A]
    Definition Classes
    ApiListOps
  11. val RawHeaders: RawHeadersParam.type
    Definition Classes
    ApiListOps
  12. def ReqBody[A]: ReqBodyElement[A]
    Definition Classes
    ApiListOps
  13. def Segment[A]: SegmentHelper[A]
    Definition Classes
    ApiListOps
  14. 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
  15. def compile[H <: HList, Fold, El <: HList, In <: HList, Out, D <: HList](apiList: FinalCons[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]
  16. 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
  17. 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
  18. 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
  19. implicit def deleteTransformer[A]: Aux[DeleteElement[A], (HNil, HNil), (::[DeleteCall, HNil], HNil, A)]
    Definition Classes
    ApiTransformer
  20. implicit def evidence[El0 <: HList, In0 <: HList, Out0]: Aux[(El0, In0, Out0), El0, In0, Out0]
    Definition Classes
    FoldResultEvidenceLowPrio
  21. 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
  22. 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
  23. 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
  24. implicit def getTransformer[A]: Aux[GetElement[A], (HNil, HNil), (::[GetCall, HNil], HNil, A)]
    Definition Classes
    ApiTransformer
  25. 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
  26. 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
  27. 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
  28. implicit def hnilCase[Agg]: Aux[HNil, Agg, Agg]
    Definition Classes
    TypeLevelFoldLeftLowPrio
  29. implicit val hnilComposition: HListToComposition[HNil] { type Out = typedapi.client.=:.type }
    Definition Classes
    HListToCompositionLowPrio
  30. 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
  31. implicit def lastFoldLeftList[H <: HList, Agg](implicit folder0: TypeLevelFoldLeft[H, Agg]): TypeLevelFoldLeftList[::[H, HNil]] { type Out = folder0.Out :: shapeless.HNil }
    Definition Classes
    TypeLevelFoldLeftListLowPrio
  32. 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
  33. implicit def pathElementTransformer[S, El <: HList, In <: HList, Out]: Aux[PathElement[S], (El, In, Out), (::[S, El], In, Out)]
    Definition Classes
    ApiTransformer
  34. 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
  35. implicit def postTransformer[A]: Aux[PostElement[A], (HNil, HNil), (::[PostCall, HNil], HNil, A)]
    Definition Classes
    ApiTransformer
  36. 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
  37. implicit def postWithBodyTransformer[Bd, A]: Aux[PostWithBodyElement[Bd, A], (HNil, HNil), (::[PostWithBodyCall[Bd], HNil], ::[FieldType[(BodyField)#T, Bd], HNil], A)]
    Definition Classes
    ApiTransformer
  38. 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
  39. implicit def putTransformer[A]: Aux[PutElement[A], (HNil, HNil), (::[PutCall, HNil], HNil, A)]
    Definition Classes
    ApiTransformer
  40. 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
  41. implicit def putWithBodyTransformer[Bd, A]: Aux[PutWithBodyElement[Bd, A], (HNil, HNil), (::[PutWithBodyCall[Bd], HNil], ::[FieldType[(BodyField)#T, Bd], HNil], A)]
    Definition Classes
    ApiTransformer
  42. 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
  43. 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
  44. 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
  45. 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
  46. 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
  47. 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
  48. 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
  49. 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
  50. 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
  51. object =: extends ApiComposition with Product with Serializable
  52. object ApiCompiler
  53. object ApiCompilerList
  54. 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 ApiListOps

Inherited from AnyRef

Inherited from Any

Ungrouped