UNPKG

everything-dev

Version:

A consolidated product package for building Module Federation apps with oRPC APIs.

53 lines (52 loc) 2.06 kB
import { ClientRuntimeConfig } from "../types.cjs"; import { QueryClient } from "@tanstack/react-query"; import { AnyRouteMatch, AnyRouter, RouterHistory } from "@tanstack/react-router"; //#region src/ui/types.d.ts interface RouterContext<TSession = unknown> { queryClient: QueryClient; assetsUrl: string; runtimeConfig?: Partial<ClientRuntimeConfig>; session?: TSession; } interface RouterContextWithApi<TApiClient = unknown, TSession = unknown> extends RouterContext<TSession> { apiClient?: TApiClient; } interface CreateRouterOptions<TApiClient = unknown, TSession = unknown> { history?: RouterHistory; context?: Partial<RouterContextWithApi<TApiClient, TSession>>; basepath?: string; } type HeadMeta = NonNullable<AnyRouteMatch["meta"]>[number]; type HeadLink = NonNullable<AnyRouteMatch["links"]>[number]; type HeadScript = NonNullable<AnyRouteMatch["headScripts"]>[number]; interface HeadData { meta: HeadMeta[]; links: HeadLink[]; scripts: HeadScript[]; } interface RenderOptions<TSession = unknown> { assetsUrl: string; runtimeConfig: Partial<ClientRuntimeConfig>; basepath?: string; session?: TSession; } interface RenderOptionsWithApi<TApiClient = unknown, TSession = unknown> extends RenderOptions<TSession> { apiClient: TApiClient; authClient?: unknown; } interface RenderResult { stream: ReadableStream; statusCode: number; headers: Headers; } interface RouterModule<TApiClient = unknown, TSession = unknown> { createRouter: (opts?: CreateRouterOptions<TApiClient, TSession>) => { router: AnyRouter; queryClient: QueryClient; }; getRouteHead: (pathname: string, context?: Partial<RouterContextWithApi<TApiClient, TSession>>) => Promise<HeadData>; renderToStream: (request: Request, options: RenderOptionsWithApi<TApiClient, TSession>) => Promise<RenderResult>; } //#endregion export { CreateRouterOptions, HeadData, HeadLink, HeadMeta, HeadScript, RenderOptions, RenderOptionsWithApi, RenderResult, RouterContext, RouterContextWithApi, RouterModule }; //# sourceMappingURL=types.d.cts.map