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

ApiRequest overview

HTTP request declaration.

Added in v1.0.0


Table of contents


getters

getBodySchema

Signature

export declare const getBodySchema: <B, P, Q, H, R>(
  request: ApiRequest<B, P, Q, H, R>
) => Schema.Schema<B, any, R> | ApiSchema.Ignored

Added in v1.0.0

getHeadersSchema

Signature

export declare const getHeadersSchema: <B, P, Q, H, R>(
  request: ApiRequest<B, P, Q, H, R>
) => Schema.Schema<H, any, R> | ApiSchema.Ignored

Added in v1.0.0

getPathSchema

Signature

export declare const getPathSchema: <B, P, Q, H, R>(
  request: ApiRequest<B, P, Q, H, R>
) => Schema.Schema<P, any, R> | ApiSchema.Ignored

Added in v1.0.0

getQuerySchema

Signature

export declare const getQuerySchema: <B, P, Q, H, R>(
  request: ApiRequest<B, P, Q, H, R>
) => Schema.Schema<Q, any, R> | ApiSchema.Ignored

Added in v1.0.0

models

ApiRequest (interface)

Signature

export interface ApiRequest<B, P, Q, H, R> extends ApiRequest.Variance<B, P, Q, H, R> {}

Added in v1.0.0

ApiRequest (namespace)

Added in v1.0.0

Variance (interface)

Signature

export interface Variance<B, P, Q, H, R> {
  readonly [TypeId]: {
    readonly _B: Types.Invariant<B>
    readonly _P: Types.Invariant<P>
    readonly _Q: Types.Invariant<Q>
    readonly _H: Types.Invariant<H>
    readonly _R: Types.Covariant<R>
  }
}

Added in v1.0.0

Any (type alias)

Any request with all Body, Path, Query and Headers set to any.

Signature

export type Any = ApiRequest<any, any, any, any, any>

Added in v1.0.0

Body (type alias)

Signature

export type Body<Request> = [Request] extends [ApiRequest<infer B, any, any, any, any>] ? B : never

Added in v1.0.0

Context (type alias)

Signature

export type Context<Request> = [Request] extends [ApiRequest<any, any, any, any, infer R>] ? R : never

Added in v1.0.0

Default (type alias)

Default request.

Signature

export type Default = ApiRequest<ApiSchema.Ignored, ApiSchema.Ignored, ApiSchema.Ignored, ApiSchema.Ignored, never>

Added in v1.0.0

Headers (type alias)

Signature

export type Headers<Request> = [Request] extends [ApiRequest<any, any, any, infer H, any>] ? H : never

Added in v1.0.0

Path (type alias)

Signature

export type Path<Request> = [Request] extends [ApiRequest<any, infer P, any, any, any>] ? P : never

Added in v1.0.0

Query (type alias)

Signature

export type Query<Request> = [Request] extends [ApiRequest<any, any, infer Q, any, any>] ? Q : never

Added in v1.0.0

modifications

setBody

Signature

export declare const setBody: <B, R2>(
  schema: Schema.Schema<B, any, R2>
) => <_, P, Q, H, R1>(endpoint: ApiRequest<_, P, Q, H, R1>) => ApiRequest<B, P, Q, H, R1 | R2>

Added in v1.0.0

setHeaders

Signature

export declare const setHeaders: <H, R2>(
  schema: Schema.Schema<H, any, R2>
) => <B, P, Q, _, R1>(endpoint: ApiRequest<B, P, Q, _, R1>) => ApiRequest<B, P, Q, H, R1 | R2>

Added in v1.0.0

setPath

Signature

export declare const setPath: <P, R2>(
  schema: Schema.Schema<P, any, R2>
) => <B, _, Q, H, R1>(endpoint: ApiRequest<B, _, Q, H, R1>) => ApiRequest<B, P, Q, H, R1 | R2>

Added in v1.0.0

setQuery

Signature

export declare const setQuery: <Q, R2>(
  schema: Schema.Schema<Q, any, R2>
) => <B, P, _, H, R1>(endpoint: ApiRequest<B, P, _, H, R1>) => ApiRequest<B, P, Q, H, R1 | R2>

Added in v1.0.0

type id

TypeId

Signature

export declare const TypeId: typeof TypeId

Added in v1.0.0

TypeId (type alias)

Signature

export type TypeId = typeof TypeId

Added in v1.0.0