one
Version:
One is a React framework for web, iOS, and Android apps.
33 lines (30 loc) • 875 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