one
Version:
One is a new React Framework that makes Vite serve both native and web.
30 lines (29 loc) • 897 B
JavaScript
import { useActiveParams, useParams } from "../hooks.mjs";
function createRoute() {
return {
useParams: () => useParams(),
useActiveParams: () => useActiveParams(),
/**
* 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: fn => fn
};
}
const defaults = createRoute(),
getProxy = () => new Proxy({}, {
get(target, key) {
return Reflect.has(defaults, key) ? Reflect.get(defaults, key) : getProxy();
}
}),
postIdRoute = createRoute(),
route = getProxy();
export { createRoute, route };
//# sourceMappingURL=createRoute.mjs.map