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

ApiGroup overview

Api groups.

Added in v1.0.0


Table of contents


constructors

delete

Signature

export declare const delete: <Id extends string>(id: Id, path: PathInput, options?: Partial<ApiEndpoint.Options> | undefined) => ApiEndpoint.ApiEndpoint.Default<Id>

Added in v1.0.0

endpoint

Signature

export declare const endpoint: <Id extends string>(
  method: Method,
  id: Id,
  path: PathInput,
  options?: Partial<ApiEndpoint.Options> | undefined
) => ApiEndpoint.ApiEndpoint.Default<Id>

Added in v1.0.0

get

Signature

export declare const get: <Id extends string>(
  id: Id,
  path: PathInput,
  options?: Partial<ApiEndpoint.Options> | undefined
) => ApiEndpoint.ApiEndpoint.Default<Id>

Added in v1.0.0

make

Signature

export declare const make: (name: string, options?: Partial<Options>) => ApiGroup.Empty

Added in v1.0.0

patch

Signature

export declare const patch: <Id extends string>(
  id: Id,
  path: PathInput,
  options?: Partial<ApiEndpoint.Options> | undefined
) => ApiEndpoint.ApiEndpoint.Default<Id>

Added in v1.0.0

post

Signature

export declare const post: <Id extends string>(
  id: Id,
  path: PathInput,
  options?: Partial<ApiEndpoint.Options> | undefined
) => ApiEndpoint.ApiEndpoint.Default<Id>

Added in v1.0.0

put

Signature

export declare const put: <Id extends string>(
  id: Id,
  path: PathInput,
  options?: Partial<ApiEndpoint.Options> | undefined
) => ApiEndpoint.ApiEndpoint.Default<Id>

Added in v1.0.0

setRequest

Signature

export declare const setRequest: <Request extends ApiRequest.Any>(
  request: Request
) => <
  Id extends string,
  _ extends ApiRequest.Any,
  Response extends ApiResponse.Any,
  Security extends Security.Security.Any
>(
  endpoint: ApiEndpoint.ApiEndpoint<Id, _, Response, Security>
) => ApiEndpoint.ApiEndpoint<Id, Request, Response, Security>

Added in v1.0.0

models

ApiGroup (interface)

Signature

export interface ApiGroup<E extends ApiEndpoint.ApiEndpoint.Any> extends Pipeable.Pipeable {
  readonly name: string
  readonly endpoints: ReadonlyArray<E>
  readonly options: Options
}

Added in v1.0.0

ApiGroup (namespace)

Added in v1.0.0

Any (type alias)

Any api group with Endpoint = Endpoint.Any.

Signature

export type Any = ApiGroup<ApiEndpoint.ApiEndpoint.Any>

Added in v1.0.0

Context (type alias)

Signature

export type Context<Endpoint> = Endpoint extends ApiGroup<infer E> ? ApiEndpoint.ApiEndpoint.Context<E> : never

Added in v1.0.0

Empty (type alias)

Default api group spec.

Signature

export type Empty = ApiGroup<never>

Added in v1.0.0

Options (interface)

Signature

export interface Options {
  readonly description?: string
  readonly externalDocs?: {
    readonly description?: string
    readonly url: string
  }
}

Added in v1.0.0

modifications

addEndpoint

Signature

export declare const addEndpoint: <E2 extends ApiEndpoint.ApiEndpoint.Any>(
  endpoint: E2
) => <E1 extends ApiEndpoint.ApiEndpoint.Any>(api: ApiGroup<E1>) => ApiGroup<E2 | E1>

Added in v1.0.0

addResponse

Signature

export declare const addResponse: <Status extends number, Body = Ignored, Headers = Ignored, R = never>(
  response:
    | ApiResponse<Status, Body, Headers, R>
    | {
        readonly status: Status
        readonly body?: Schema<Body, any, R> | undefined
        readonly headers?: Schema<Headers, any, R> | undefined
      }
) => <
  Id extends string,
  Request extends ApiRequest.Any,
  Response1 extends ApiResponse.Any,
  Security extends Security.Security.Any
>(
  endpoint: ApiEndpoint.ApiEndpoint<Id, Request, Response1, Security>
) => ApiEndpoint.ApiEndpoint<Id, Request, ApiResponse<Status, Body, Headers, R> | Response1, Security>

Added in v1.0.0

setRequestBody

Signature

export declare const setRequestBody: <B, R2>(
  schema: Schema<B, any, R2>
) => <Id extends string, _, P, Q, H, R1, Response extends ApiResponse.Any, Security extends Security.Security.Any>(
  endpoint: ApiEndpoint.ApiEndpoint<Id, ApiRequest<_, P, Q, H, R1>, Response, Security>
) => ApiEndpoint.ApiEndpoint<Id, ApiRequest<B, P, Q, H, R2 | R1>, Response, Security>

Added in v1.0.0

setRequestHeaders

Signature

export declare const setRequestHeaders: <H, R2>(
  schema: Schema<H, any, R2>
) => <Id extends string, B, P, Q, _, R1, Response extends ApiResponse.Any, Security extends Security.Security.Any>(
  endpoint: ApiEndpoint.ApiEndpoint<Id, ApiRequest<B, P, Q, _, R1>, Response, Security>
) => ApiEndpoint.ApiEndpoint<Id, ApiRequest<B, P, Q, H, R2 | R1>, Response, Security>

Added in v1.0.0

setRequestPath

Signature

export declare const setRequestPath: <P, R2>(
  schema: Schema<P, any, R2>
) => <Id extends string, B, _, Q, H, R1, Response extends ApiResponse.Any, Security extends Security.Security.Any>(
  endpoint: ApiEndpoint.ApiEndpoint<Id, ApiRequest<B, _, Q, H, R1>, Response, Security>
) => ApiEndpoint.ApiEndpoint<Id, ApiRequest<B, P, Q, H, R2 | R1>, Response, Security>

Added in v1.0.0

setRequestQuery

Signature

export declare const setRequestQuery: <Q, R2>(
  schema: Schema<Q, any, R2>
) => <Id extends string, B, P, _, H, R1, Response extends ApiResponse.Any, Security extends Security.Security.Any>(
  endpoint: ApiEndpoint.ApiEndpoint<Id, ApiRequest<B, P, _, H, R1>, Response, Security>
) => ApiEndpoint.ApiEndpoint<Id, ApiRequest<B, P, Q, H, R2 | R1>, Response, Security>

Added in v1.0.0

setResponse

Signature

export declare const setResponse: <Status extends number, Body = Ignored, Headers = Ignored, R = never>(
  response:
    | {
        readonly status: Status
        readonly body?: Schema<Body, any, R> | undefined
        readonly headers?: Schema<Headers, any, R> | undefined
      }
    | ApiResponse<Status, Body, Headers, R>
) => <
  Id extends string,
  Request extends ApiRequest.Any,
  _ extends ApiResponse.Any,
  Security extends Security.Security.Any
>(
  endpoint: ApiEndpoint.ApiEndpoint<Id, Request, _, Security>
) => ApiEndpoint.ApiEndpoint<Id, Request, ApiResponse<Status, Body, Headers, R>, Security>

Added in v1.0.0

setResponseBody

Signature

export declare const setResponseBody: <B, R2>(
  schema: Schema<B, any, R2>
) => <
  Id extends string,
  Request extends ApiRequest.Any,
  S extends number,
  _,
  H,
  R1,
  Security extends Security.Security.Any
>(
  endpoint: ApiEndpoint.ApiEndpoint<Id, Request, ApiResponse<S, _, H, R1>, Security>
) => ApiEndpoint.ApiEndpoint<Id, Request, ApiResponse<S, B, H, R2 | R1>, Security>

Added in v1.0.0

setResponseHeaders

Signature

export declare const setResponseHeaders: <H, R2>(
  schema: Schema<H, any, R2>
) => <
  Id extends string,
  Request extends ApiRequest.Any,
  S extends number,
  B,
  _,
  R1,
  Security extends Security.Security.Any
>(
  endpoint: ApiEndpoint.ApiEndpoint<Id, Request, ApiResponse<S, B, _, R1>, Security>
) => ApiEndpoint.ApiEndpoint<Id, Request, ApiResponse<S, B, H, R2 | R1>, Security>

Added in v1.0.0

setResponseRepresentations

Signature

export declare const setResponseRepresentations: (
  representations: readonly [Representation, ...Representation[]]
) => <
  Id extends string,
  Request extends ApiRequest.Any,
  Response extends ApiResponse.Any,
  Security extends Security.Security.Any
>(
  endpoint: ApiEndpoint.ApiEndpoint<Id, Request, Response, Security>
) => ApiEndpoint.ApiEndpoint<Id, Request, Response, Security>

Added in v1.0.0

setResponseStatus

Signature

export declare const setResponseStatus: <Status extends number>(
  status: Status
) => <
  Id extends string,
  Request extends ApiRequest.Any,
  _ extends number,
  B,
  H,
  R,
  Security extends Security.Security.Any
>(
  endpoint: ApiEndpoint.ApiEndpoint<Id, Request, ApiResponse<_, B, H, R>, Security>
) => ApiEndpoint.ApiEndpoint<Id, Request, ApiResponse<Status, B, H, R>, Security>

Added in v1.0.0

setSecurity

Signature

export declare const setSecurity: <Security extends Security.Security.Any>(
  security: Security
) => <
  Id extends string,
  Request extends ApiRequest.Any,
  Response extends ApiResponse.Any,
  _ extends Security.Security.Any
>(
  endpoint: ApiEndpoint.ApiEndpoint<Id, Request, Response, _>
) => ApiEndpoint.ApiEndpoint<Id, Request, Response, Security>

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