UNPKG

one

Version:

One is a new React Framework that makes Vite serve both native and web.

43 lines 1.75 kB
import type { OneRouter } from '../interfaces/router'; import type { LoaderProps } from '../types'; export declare function createRoute<Path extends string = string>(): { useParams: () => Partial<OneRouter.RouteType<Path>["Params"]>; useActiveParams: () => Partial<OneRouter.RouteType<Path>["Params"]>; /** * Creates a typed loader function for this route. * The loader receives LoaderProps with typed params. * * @example * const route = createRoute<'(site)/docs/[slug]'>() * export const loader = route.createLoader(({ params }) => { * // params is typed as { slug: string } * return { doc: getDoc(params.slug) } * }) */ createLoader: <T>(fn: (props: LoaderProps<OneRouter.RouteType<Path>["Params"]>) => T) => (props: LoaderProps<OneRouter.RouteType<Path>["Params"]>) => T; }; declare const postIdRoute: { useParams: () => Partial<OneRouter.InputRouteParams<"/feed/[id]">>; useActiveParams: () => Partial<OneRouter.InputRouteParams<"/feed/[id]">>; /** * Creates a typed loader function for this route. * The loader receives LoaderProps with typed params. * * @example * const route = createRoute<'(site)/docs/[slug]'>() * export const loader = route.createLoader(({ params }) => { * // params is typed as { slug: string } * return { doc: getDoc(params.slug) } * }) */ createLoader: <T>(fn: (props: LoaderProps<OneRouter.InputRouteParams<"/feed/[id]">>) => T) => (props: LoaderProps<OneRouter.InputRouteParams<"/feed/[id]">>) => T; }; export declare const route: { feed: { $id: typeof postIdRoute; }; notifications: {}; profile: {}; }; export {}; //# sourceMappingURL=createRoute.d.ts.map