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

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