With createRoute you get access to typesafe params,
search params, redirect, rewrite and even getStaticPaths.
To create a route, export a constant called Route so Astro Typesafe Routes can detect it.
import { createRoute } from "astro-typesafe-routes/create-route";
export const Route = createRoute({
routeId: "/blog/[postId]",
});
You can read typed params by calling getParams on your created route.
import { createRoute } from "astro-typesafe-routes/create-route";
export const Route = createRoute({
routeId: "/blog/[postId]",
});
const { postId } = Route.getParams(Astro);
Add typed and JSON serialized search params to your route by adding a searchSchema. More details can be found here.
import { createRoute } from "astro-typesafe-routes/create-route";
export const Route = createRoute({
routeId: "/blog/[postId]",
});
return Route.redirect(Astro, { to: "/" });
import { createRoute } from "astro-typesafe-routes/create-route";
export const Route = createRoute({
routeId: "/blog/[postId]",
});
return Route.rewrite(Astro, { to: "/" });
getStaticPathsimport { createRoute } from "astro-typesafe-routes/create-route";
export const Route = createRoute({
routeId: "/blog/[postId]",
});
export const getStaticPaths = Route.createGetStaticPaths(() => [
{
params: {
postId: "1",
},
},
]);