one
Version:
One is a new React Framework that makes Vite serve both native and web.
33 lines (32 loc) • 928 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();
const getProxy = () => new Proxy({}, {
get(target, key) {
if (Reflect.has(defaults, key)) {
return Reflect.get(defaults, key);
}
return getProxy();
}
});
const postIdRoute = createRoute();
const route = getProxy();
export { createRoute, route };
//# sourceMappingURL=createRoute.mjs.map