Package

typedapi

client

Permalink

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

    Permalink
  2. trait ApiCompiler[El <: HList, In <: HList, O] extends AnyRef

    Permalink

    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

    Permalink
  4. trait ApiCompilerListLowPrio extends AnyRef

    Permalink
  5. trait ApiCompilerLowPrio extends AnyRef

    Permalink
  6. trait ApiCompilerMediumPrio extends ApiCompilerLowPrio

    Permalink
  7. sealed trait ApiComposition extends AnyRef

    Permalink

    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. implicit class ApiOps0[El <: HList, O, D <: HList] extends AnyRef

    Permalink
    Definition Classes
    ApiCompilerOps
  9. implicit class ApiOps1[El <: HList, O, D <: HList, K0, V0] extends BaseApiOps[El, ::[FieldType[K0, V0], HNil], O, D]

    Permalink
    Definition Classes
    ApiCompilerOpsLowPrio
  10. implicit class ApiOps2[El <: HList, O, D <: HList, K0, V0, K1, V1] extends BaseApiOps[El, In2[K0, V0, K1, V1], O, D]

    Permalink
    Definition Classes
    ApiCompilerOpsLowPrio
  11. 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]

    Permalink
    Definition Classes
    ApiCompilerOpsLowPrio
  12. 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]

    Permalink
    Definition Classes
    ApiCompilerOpsLowPrio
  13. 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]

    Permalink
    Definition Classes
    ApiCompilerOpsLowPrio
  14. 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]

    Permalink
    Definition Classes
    ApiCompilerOpsLowPrio
  15. 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]

    Permalink
    Definition Classes
    ApiCompilerOpsLowPrio
  16. 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]

    Permalink
    Definition Classes
    ApiCompilerOpsLowPrio
  17. implicit class ApiOpsN[El <: HList, O, D <: HList, In <: HList] extends BaseApiOps[El, In, O, D]

    Permalink
    Definition Classes
    ApiCompilerOpsLowPrio
  18. trait ApiRequest[D <: HList, C, F[_], Out] extends AnyRef

    Permalink

    Basic api request structure.

    Basic api request structure. Expected input data and return-type are defined for each method.

  19. final case class ClientManager[C](client: C, host: String, port: Int) extends Product with Serializable

    Permalink
  20. type Data = ::[List[String], ::[Map[String, List[String]], ::[Map[String, String], HNil]]]

    Permalink
    Definition Classes
    ApiCompilerLowPrio
  21. type DataWithBody[Bd] = ::[List[String], ::[Map[String, List[String]], ::[Map[String, String], ::[Bd, HNil]]]]

    Permalink
    Definition Classes
    ApiCompilerLowPrio
  22. trait DeleteRequest[C, F[_], A] extends ApiRequest[RequestData[DeleteCall, Data], C, F, A]

    Permalink
    Annotations
    @implicitNotFound( ... )
  23. trait GetRequest[C, F[_], A] extends ApiRequest[RequestData[GetCall, Data], C, F, A]

    Permalink
    Annotations
    @implicitNotFound( ... )
  24. sealed trait HListToComposition[H <: HList] extends AnyRef

    Permalink

    Transform apis composed in a HList into ApiComposition representation.

  25. trait HListToCompositionLowPrio extends AnyRef

    Permalink
  26. type In2[K0, V0, K1, V1] = ::[FieldType[K0, V0], ::[FieldType[K1, V1], HNil]]

    Permalink
    Definition Classes
    ApiCompilerOpsLowPrio
  27. type In3[K0, V0, K1, V1, K2, V2] = ::[FieldType[K0, V0], ::[FieldType[K1, V1], ::[FieldType[K2, V2], HNil]]]

    Permalink
    Definition Classes
    ApiCompilerOpsLowPrio
  28. type In4[K0, V0, K1, V1, K2, V2, K3, V3] = ::[FieldType[K0, V0], ::[FieldType[K1, V1], ::[FieldType[K2, V2], ::[FieldType[K3, V3], HNil]]]]

    Permalink
    Definition Classes
    ApiCompilerOpsLowPrio
  29. 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]]]]]

    Permalink
    Definition Classes
    ApiCompilerOpsLowPrio
  30. 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]]]]]]

    Permalink
    Definition Classes
    ApiCompilerOpsLowPrio
  31. 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]]]]]]]

    Permalink
    Definition Classes
    ApiCompilerOpsLowPrio
  32. 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]]]]]]]]

    Permalink
    Definition Classes
    ApiCompilerOpsLowPrio
  33. trait PostRequest[C, F[_], A] extends ApiRequest[RequestData[PostCall, Data], C, F, A]

    Permalink
    Annotations
    @implicitNotFound( ... )
  34. trait PostWithBodyRequest[C, F[_], Bd, A] extends ApiRequest[RequestData[PostWithBodyCall[Bd], DataWithBody[Bd]], C, F, A]

    Permalink
    Annotations
    @implicitNotFound( ... )
  35. trait PutRequest[C, F[_], A] extends ApiRequest[RequestData[PutCall, Data], C, F, A]

    Permalink
    Annotations
    @implicitNotFound( ... )
  36. trait PutWithBodyRequest[C, F[_], Bd, A] extends ApiRequest[RequestData[PutWithBodyCall[Bd], DataWithBody[Bd]], C, F, A]

    Permalink
    Annotations
    @implicitNotFound( ... )
  37. type RequestData[R, D <: HList] = ::[FieldType[R, D], HNil]

    Permalink
    Definition Classes
    ApiCompilerLowPrio
  38. type Transformed[El <: HList, In <: HList, Out, D <: HList] = (El, In, Out)

    Permalink

Value Members

  1. def :=: EmptyCons.type

    Permalink
    Definition Classes
    ApiListOps
  2. object =: extends ApiComposition with Product with Serializable

    Permalink
  3. object ApiCompiler

    Permalink
  4. object ApiCompilerList

    Permalink
  5. def Delete[A]: DeleteElement[A]

    Permalink
    Definition Classes
    ApiListOps
  6. def Get[A]: GetElement[A]

    Permalink
    Definition Classes
    ApiListOps
  7. def Header[A]: HeaderHelper[A]

    Permalink
    Definition Classes
    ApiListOps
  8. def Path[S](wit: Lt[S]): PathElement[S]

    Permalink
    Definition Classes
    ApiListOps
  9. def Post[A]: PostElement[A]

    Permalink
    Definition Classes
    ApiListOps
  10. def PostWithBody[Bd, A]: PostWithBodyElement[Bd, A]

    Permalink
    Definition Classes
    ApiListOps
  11. def Put[A]: PutElement[A]

    Permalink
    Definition Classes
    ApiListOps
  12. def PutWithBody[Bd, A]: PutWithBodyElement[Bd, A]

    Permalink
    Definition Classes
    ApiListOps
  13. def Query[A]: QueryHelper[A]

    Permalink
    Definition Classes
    ApiListOps
  14. val RawHeaders: RawHeadersParam.type

    Permalink
    Definition Classes
    ApiListOps
  15. def ReqBody[A]: ReqBodyElement[A]

    Permalink
    Definition Classes
    ApiListOps
  16. def Segment[A]: SegmentHelper[A]

    Permalink
    Definition Classes
    ApiListOps
  17. object TypedApi

    Permalink
  18. 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

    Permalink
  19. 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]

    Permalink
  20. 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 */ }

    Permalink
    Definition Classes
    ApiCompilerListLowPrio
  21. 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] }

    Permalink
    Definition Classes
    HListToCompositionLowPrio
  22. implicit def deleteCompiler[A]: ApiCompiler[::[DeleteCall, HNil], HNil, A] { type Out = ApiCompilerLowPrio.this.RequestData[typedapi.shared.DeleteCall,ApiCompilerLowPrio.this.Data] }

    Permalink
    Definition Classes
    ApiCompilerLowPrio
  23. implicit def deleteTransformer[A]: Aux[DeleteElement[A], (HNil, HNil), (::[DeleteCall, HNil], HNil, A)]

    Permalink
    Definition Classes
    ApiTransformer
  24. implicit def evidence[El0 <: HList, In0 <: HList, Out0]: Aux[(El0, In0, Out0), El0, In0, Out0]

    Permalink
    Definition Classes
    FoldResultEvidenceLowPrio
  25. 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]

    Permalink
    Definition Classes
    TypeLevelFoldLeftLowPrio
  26. implicit def folderLeftList[H <: HList, Agg, T <: HList](implicit folder0: TypeLevelFoldLeft[H, Agg], list: TypeLevelFoldLeftList[T]): TypeLevelFoldLeftList[::[H, T]] { type Out = shapeless.::[folder0.Out,list.Out] }

    Permalink
    Definition Classes
    TypeLevelFoldLeftListLowPrio
  27. implicit def getCompiler[A]: ApiCompiler[::[GetCall, HNil], HNil, A] { type Out = ApiCompilerLowPrio.this.RequestData[typedapi.shared.GetCall,ApiCompilerLowPrio.this.Data] }

    Permalink
    Definition Classes
    ApiCompilerLowPrio
  28. implicit def getTransformer[A]: Aux[GetElement[A], (HNil, HNil), (::[GetCall, HNil], HNil, A)]

    Permalink
    Definition Classes
    ApiTransformer
  29. 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)]

    Permalink
    Definition Classes
    ApiTransformer
  30. 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 }

    Permalink
    Definition Classes
    ApiCompilerLowPrio
  31. 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 }

    Permalink
    Definition Classes
    ApiCompilerMediumPrio
  32. implicit def hnilCase[Agg]: Aux[HNil, Agg, Agg]

    Permalink
    Definition Classes
    TypeLevelFoldLeftLowPrio
  33. implicit val hnilComposition: HListToComposition[HNil] { type Out = typedapi.client.=:.type }

    Permalink
    Definition Classes
    HListToCompositionLowPrio
  34. 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 */ }

    Permalink
    Definition Classes
    ApiCompilerListLowPrio
  35. implicit def lastFoldLeftList[H <: HList, Agg](implicit folder0: TypeLevelFoldLeft[H, Agg]): TypeLevelFoldLeftList[::[H, HNil]] { type Out = shapeless.::[folder0.Out,shapeless.HNil] }

    Permalink
    Definition Classes
    TypeLevelFoldLeftListLowPrio
  36. package ops

    Permalink
  37. 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 }

    Permalink
    Definition Classes
    ApiCompilerLowPrio
  38. implicit def pathElementTransformer[S, El <: HList, In <: HList, Out]: Aux[PathElement[S], (El, In, Out), (::[S, El], In, Out)]

    Permalink
    Definition Classes
    ApiTransformer
  39. implicit def postCompiler[A]: ApiCompiler[::[PostCall, HNil], HNil, A] { type Out = ApiCompilerLowPrio.this.RequestData[typedapi.shared.PostCall,ApiCompilerLowPrio.this.Data] }

    Permalink
    Definition Classes
    ApiCompilerLowPrio
  40. implicit def postTransformer[A]: Aux[PostElement[A], (HNil, HNil), (::[PostCall, HNil], HNil, A)]

    Permalink
    Definition Classes
    ApiTransformer
  41. implicit def postWithBodyCompiler[Bd, A]: ApiCompiler[::[PostWithBodyCall[Bd], HNil], ::[FieldType[(BodyField)#T, Bd], HNil], A] { type Out = ApiCompilerLowPrio.this.RequestData[typedapi.shared.PostWithBodyCall[Bd],ApiCompilerLowPrio.this.DataWithBody[Bd]] }

    Permalink
    Definition Classes
    ApiCompilerLowPrio
  42. implicit def postWithBodyTransformer[Bd, A]: Aux[PostWithBodyElement[Bd, A], (HNil, HNil), (::[PostWithBodyCall[Bd], HNil], ::[FieldType[(BodyField)#T, Bd], HNil], A)]

    Permalink
    Definition Classes
    ApiTransformer
  43. implicit def putCompiler[A]: ApiCompiler[::[PutCall, HNil], HNil, A] { type Out = ApiCompilerLowPrio.this.RequestData[typedapi.shared.PutCall,ApiCompilerLowPrio.this.Data] }

    Permalink
    Definition Classes
    ApiCompilerLowPrio
  44. implicit def putTransformer[A]: Aux[PutElement[A], (HNil, HNil), (::[PutCall, HNil], HNil, A)]

    Permalink
    Definition Classes
    ApiTransformer
  45. implicit def putWithBodyCompiler[Bd, A]: ApiCompiler[::[PutWithBodyCall[Bd], HNil], ::[FieldType[(BodyField)#T, Bd], HNil], A] { type Out = ApiCompilerLowPrio.this.RequestData[typedapi.shared.PutWithBodyCall[Bd],ApiCompilerLowPrio.this.DataWithBody[Bd]] }

    Permalink
    Definition Classes
    ApiCompilerLowPrio
  46. implicit def putWithBodyTransformer[Bd, A]: Aux[PutWithBodyElement[Bd, A], (HNil, HNil), (::[PutWithBodyCall[Bd], HNil], ::[FieldType[(BodyField)#T, Bd], HNil], A)]

    Permalink
    Definition Classes
    ApiTransformer
  47. 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)]

    Permalink
    Definition Classes
    ApiTransformer
  48. 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 }

    Permalink
    Definition Classes
    ApiCompilerLowPrio
  49. 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)]

    Permalink
    Definition Classes
    ApiTransformer
  50. 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 }

    Permalink
    Definition Classes
    ApiCompilerMediumPrio
  51. 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 }

    Permalink
    Definition Classes
    ApiCompilerMediumPrio
  52. implicit def rawHeadersElementTransformer[El <: HList, In <: HList, Out]: Aux[RawHeadersParam.type, (El, In, Out), (::[RawHeadersInput, El], ::[FieldType[(RawHeadersField)#T, Map[String, String]], In], Out)]

    Permalink
    Definition Classes
    ApiTransformer
  53. 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 }

    Permalink
    Definition Classes
    ApiCompilerLowPrio
  54. 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)]

    Permalink
    Definition Classes
    ApiTransformer
  55. 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 }

    Permalink
    Definition Classes
    ApiCompilerLowPrio
  56. package test

    Permalink

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