RouteData
Derive data from a Preact loader or action type.
Compatibility
ReactAvailable in this renderer's browser integration.
React SSRAvailable to this renderer's SSR integration; browser event handlers run after hydration.
PreactAvailable in this renderer's browser integration.
Preact SSRAvailable to this renderer's SSR integration; browser event handlers run after hydration.
Import from @kasperrt/smolter/react @kasperrt/smolter/preact
Signature
type RouteData<T> = T extends (...args: never[]) => infer R
? UnwrapData<Exclude<Awaited<R>, Response | Error>>
: T;Contract
For a function type, takes its awaited return type, excludes Response and Error, and unwraps DataResponse<T> to T. For a non-function type, uses that type unchanged.
import type { RouteData } from "@kasperrt/smolter/preact";
import type { loader } from "../routes/tasks/loader";
export type TasksData = RouteData<typeof loader>;Usage and limits
Use type-only handler imports in browser modules. A raw Response does not carry an inferable JSON payload type; return plain data or data(...) when inferred hook types are needed. This helper does not recursively Await nested fields.