RouterBuilder overview
Added in v1.0.0
Table of contents
constructors
handle
Handle an endpoint using a handler function.
Signature
export declare const handle: {
<
E,
R,
RemainingEndpoints extends ApiEndpoint.ApiEndpoint.Any,
Id extends ApiEndpoint.ApiEndpoint.Id<RemainingEndpoints>,
E2,
R2
>(
id: Id,
handler: Handler.Handler.Function<ApiEndpoint.ApiEndpoint.ExtractById<RemainingEndpoints, Id>, E2, R2>
): (
builder: RouterBuilder<E, R, RemainingEndpoints>
) => RouterBuilder<
| E
| E2
| RouteHandler.RouteNotMatched
| Route.RouteDecodeError<
Route.Route<
PathInput,
Extract<
ApiRequest.ApiRequest.Path<
ApiEndpoint.ApiEndpoint.Request<ApiEndpoint.ApiEndpoint.ExtractById<RemainingEndpoints, Id>>
>,
Schema.Schema.All
>
>
>,
| R
| Exclude<
Exclude<
R2,
RouteHandler.CurrentParams<
Route.Route<
PathInput,
Extract<
ApiRequest.ApiRequest.Path<
ApiEndpoint.ApiEndpoint.Request<ApiEndpoint.ApiEndpoint.ExtractById<RemainingEndpoints, Id>>
>,
Schema.Schema.All
>
>
>
>,
Navigation
>,
ApiEndpoint.ApiEndpoint.ExcludeById<RemainingEndpoints, Id>
>
<
E,
R,
RemainingEndpoints extends ApiEndpoint.ApiEndpoint.Any,
Id extends ApiEndpoint.ApiEndpoint.Id<RemainingEndpoints>,
E2,
R2
>(
builder: RouterBuilder<E, R, RemainingEndpoints>,
id: Id,
handler: Handler.Handler.Function<ApiEndpoint.ApiEndpoint.ExtractById<RemainingEndpoints, Id>, E2, R2>
): RouterBuilder<
| E
| E2
| RouteHandler.RouteNotMatched
| Route.RouteDecodeError<
Route.Route<
PathInput,
Extract<
ApiRequest.ApiRequest.Path<
ApiEndpoint.ApiEndpoint.Request<ApiEndpoint.ApiEndpoint.ExtractById<RemainingEndpoints, Id>>
>,
Schema.Schema.All
>
>
>,
| R
| Exclude<
Exclude<
R2,
RouteHandler.CurrentParams<
Route.Route<
PathInput,
Extract<
ApiRequest.ApiRequest.Path<
ApiEndpoint.ApiEndpoint.Request<ApiEndpoint.ApiEndpoint.ExtractById<RemainingEndpoints, Id>>
>,
Schema.Schema.All
>
>
>
>,
Navigation
>,
ApiEndpoint.ApiEndpoint.ExcludeById<RemainingEndpoints, Id>
>
}
Added in v1.0.0
handling
make
Create a new unimplemeted RouterBuilder
from an Api
.
Signature
export declare const make: <A extends Api.Api.Any>(
api: A,
options?: Partial<Options>
) => RouterBuilder<never, never, Api.Api.Endpoints<A>>
Added in v1.0.0
models
RouterBuilder (interface)
Signature
export interface RouterBuilder<E, R, RemainingEndpoints extends ApiEndpoint.ApiEndpoint.Any> extends Pipeable.Pipeable {
readonly remainingEndpoints: ReadonlyArray<RemainingEndpoints>
readonly api: Api.Api.Any
readonly router: Router.Router<E, R>
readonly options: Options
}
Added in v1.0.0
utils
Options (interface)
Signature
export interface Options extends EffectHttpRouterBuilder.Options {}
Added in v1.0.0
RouterBuilder (namespace)
Added in v1.0.0
Context (type alias)
Signature
export type Context<T> = T extends RouterBuilder<any, infer R, any> ? R : never
Added in v1.0.0
Error (type alias)
Signature
export type Error<T> = T extends RouterBuilder<infer E, any, any> ? E : never
Added in v1.0.0
RemainingEndpoints (type alias)
Signature
export type RemainingEndpoints<T> =
T extends RouterBuilder<any, any, infer RemainingEndpoints> ? RemainingEndpoints : never
Added in v1.0.0
build
Signature
export declare const build: <E, R>(
builder: RouterBuilder<E, R, never>
) => Default<FlattenDecodeError<E>, R | CurrentRoute | SwaggerRouter.SwaggerFiles>
Added in v1.0.0
buildPartial
Signature
export declare const buildPartial: <E, R, RemainingEndpoints extends ApiEndpoint.ApiEndpoint.Any>(
builder: RouterBuilder<E, R, RemainingEndpoints>
) => Default<FlattenDecodeError<E>, CurrentRoute | SwaggerRouter.SwaggerFiles | R>
Added in v1.0.0
fromEndpoint
Signature
export declare const fromEndpoint: {
<E extends ApiEndpoint.ApiEndpoint.Any, E2, R2>(
handler: Handler.Handler.Function<E, E2, R2>
): (
endpoint: E
) => <E1, R1, RemainingEndpoints extends ApiEndpoint.ApiEndpoint.Any>(
builder: RouterBuilder<E1, R1, E | RemainingEndpoints>
) => RouterBuilder<
| RouteHandler.RouteNotMatched
| E2
| E1
| Route.RouteDecodeError<
Route.Route<
PathInput,
Extract<ApiRequest.ApiRequest.Path<ApiEndpoint.ApiEndpoint.Request<E>>, Schema.Schema.All>
>
>,
| R2
| R1
| Exclude<
Exclude<
R2,
RouteHandler.CurrentParams<
Route.Route<
PathInput,
Extract<ApiRequest.ApiRequest.Path<ApiEndpoint.ApiEndpoint.Request<E>>, Schema.Schema.All>
>
>
>,
Navigation
>,
Exclude<RemainingEndpoints, E>
>
<E extends ApiEndpoint.ApiEndpoint.Any, E2, R2>(
endpoint: E,
handler: Handler.Handler.Function<E, E2, R2>
): <E1, R1, RemainingEndpoints extends ApiEndpoint.ApiEndpoint.Any>(
builder: RouterBuilder<E1, R1, E | RemainingEndpoints>
) => RouterBuilder<
| RouteHandler.RouteNotMatched
| E2
| E1
| Route.RouteDecodeError<
Route.Route<
PathInput,
Extract<ApiRequest.ApiRequest.Path<ApiEndpoint.ApiEndpoint.Request<E>>, Schema.Schema.All>
>
>,
| R2
| R1
| Exclude<
Exclude<
R2,
RouteHandler.CurrentParams<
Route.Route<
PathInput,
Extract<ApiRequest.ApiRequest.Path<ApiEndpoint.ApiEndpoint.Request<E>>, Schema.Schema.All>
>
>
>,
Navigation
>,
Exclude<RemainingEndpoints, E>
>
}
Added in v1.0.0
getRouter
Signature
export declare function getRouter<E, R, RemainingEndpoints extends ApiEndpoint.ApiEndpoint.Any>(
builder: RouterBuilder<E, R, RemainingEndpoints>
): Router.Router<FlattenDecodeError<E>, R>
Added in v1.0.0