Skip to main content Link Search Menu Expand Document (external link)

Client overview

This module exposes the client combinator which accepts an Api instance and it generates a client-side implementation. The generated implementation is type-safe and guarantees compatibility of the client and server side.

Added in v1.0.0


Table of contents


auth

setApiKey

Signature

export declare const setApiKey: {
  (
    key: string,
    _in: "query" | "header",
    apiKey: string
  ): (request: HttpClientRequest.HttpClientRequest) => HttpClientRequest.HttpClientRequest
  (
    request: HttpClientRequest.HttpClientRequest,
    key: string,
    _in: "query" | "header",
    apiKey: string
  ): HttpClientRequest.HttpClientRequest
}

Added in v1.0.0

setBasic

Signature

export declare const setBasic: {
  (user: string, pass: string): (request: HttpClientRequest.HttpClientRequest) => HttpClientRequest.HttpClientRequest
  (request: HttpClientRequest.HttpClientRequest, user: string, pass: string): HttpClientRequest.HttpClientRequest
}

Added in v1.0.0

setBearer

Signature

export declare const setBearer: {
  (token: string): (request: HttpClientRequest.HttpClientRequest) => HttpClientRequest.HttpClientRequest
  (request: HttpClientRequest.HttpClientRequest, token: string): HttpClientRequest.HttpClientRequest
}

Added in v1.0.0

constructors

endpointClient

Signature

export declare const endpointClient: <A extends Api.Api.Any, Id extends Api.Api.Ids<A>>(
  id: Id,
  api: A,
  options: Partial<Options>
) => Client.Function<Api.Api.EndpointById<A, Id>>

Added in v1.0.0

make

Derive client implementation from the Api

Signature

export declare const make: <A extends Api.Api.Any>(api: A, options?: Partial<Options>) => Client<A>

Added in v1.0.0

models

Client (type alias)

Signature

export type Client<A extends Api.Api.Any> = Types.Simplify<{
  [Id in Api.Api.Ids<A>]: Client.Function<Api.Api.EndpointById<A, Id>>
}>

Added in v1.0.0

Client (namespace)

Added in v1.0.0

Function (type alias)

Signature

export type Function<E extends ApiEndpoint.ApiEndpoint.Any> = (
  input: Handler.Handler.ToRequest<ApiEndpoint.ApiEndpoint.Request<E>>,
  map?: (request: HttpClientRequest.HttpClientRequest) => HttpClientRequest.HttpClientRequest
) => Effect.Effect<
  Handler.Handler.ToResponse<ApiEndpoint.ApiEndpoint.Response<E>>,
  ClientError.ClientError,
  ApiEndpoint.ApiEndpoint.ContextNoSecurity<E>
>

Added in v1.0.0

Options (interface)

Signature

export interface Options {
  httpClient?: HttpClient.HttpClient
  baseUrl?: string
}

Added in v1.0.0

Response (interface)

Signature

export interface Response<S extends ApiResponse.ApiResponse.AnyStatus, B, H> {
  status: S
  body: B
  headers: H
}

Added in v1.0.0