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: HttpClient.request.ClientRequest) => HttpClient.request.ClientRequest
  (
    request: HttpClient.request.ClientRequest,
    key: string,
    _in: "query" | "header",
    apiKey: string
  ): HttpClient.request.ClientRequest
}

Added in v1.0.0

setBasic

Signature

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

Added in v1.0.0

setBearer

Signature

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

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>
) => EndpointClient<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>
) => Types.Simplify<{ [Id in Api.Api.Ids<A>]: EndpointClient<Api.Api.EndpointById<A, Id>> }>

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>]: EndpointClient<Api.Api.EndpointById<A, Id>>
}>

Added in v1.0.0

Options (interface)

Signature

export interface Options {
  httpClient?: HttpClient.client.Client.Default
  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