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