Skip to content
rest-rpc
Esc
↑↓navigate↵open⌘Jpreview
On this page

v0.1.0-beta.24

core:

  • Simplify generateContractFromType to work without providing filePath and exportName. filePath remains as fallback option (38a1e07)

core, express, fastify, fetch, hono, node, server, tanstack-query:

  • Type helpers accept a route tree as well as a single route and infer a matching tree of types, so one exported type can be indexed per route: InferServerRequest<typeof routes>["todos"]["create"]. This applies to InferClientRequest, InferClientResponse, InferServerRequest, InferServerResponse, the adapter InferServerHandler, and the TanStack Query Infer* helpers. Add InferClientStreamData to @rest-rpc/core, which infers the data of each event received from a streaming route without the SseEvent wrapper. (fec6317)

express, fastify, fetch, hono, node, server:

  • Rename the adapter RouteHandler type to InferServerHandler to match the Infer* style of the core helpers. InferServerHandler now expects a plain return value for .output() routes instead of a status envelope. Remove RouteRequest and RouteErrors from the adapter roots: use InferServerRequest for the validated request, Parameters<InferServerHandler<typeof route>>[0] for the full handler argument, and Extract<InferServerResponse<typeof route>, { status: 404 }> for specific status responses. (fec6317)

fetch, node:

  • Move adapter building blocks out of the package roots. createFetchResponse and deserializeRequestBody are now exported from @rest-rpc/fetch/adapter (replacing the @rest-rpc/fetch/deserializeRequestBody subpath), and createRequestSignal, parseRequestTarget, createNodeResponseStream, writeNodeResponse, writeStreamResponse, and nodeBodyCodecs from @rest-rpc/node/adapter. Both roots now export InferServerHandler like the other adapters, no longer export the ImplicitResponse*/ServerFirst* types, and @rest-rpc/fetch exports FetchRouteHandlerResult. (fec6317)

tanstack-query:

  • Rename the TanStack Query type helpers to match the Infer* style of the core helpers: RouteQueryData → InferQueryData, RouteQueryError → InferQueryError, RouteMutationVariables → InferMutationVariables, RouteInfiniteQueryData → InferInfiniteQueryData, and RouteStreamedQueryData → InferStreamedQueryData. (fec6317)

Last updated on October 3, 2026

Was this page helpful?