Type Safety
Type Safety
SvelteKit Auto OpenAPI provides utilities for extracting types from your route configurations, enabling full type safety throughout your application.
RouteTypes Utility
Extract types from your _config export:
import type { RouteConfig, RouteTypes } from "sveltekit-auto-openapi/scalar-module";
export const _config = {
openapiOverride: {
POST: {
requestBody: { /* ... */ },
responses: { /* ... */ },
},
},
} satisfies RouteConfig;
export async function POST({ request }) {
// Extract request type
const body = await request.json() as RouteTypes<typeof _config>["_types"]["json"]["POST"];
// Extract response type
return json({} satisfies RouteTypes<typeof _config>["_types"]["returns"]["POST"]);
} ts
Type Inference
Use the satisfies pattern for type inference:
export const _config = {
// Your config here
} satisfies RouteConfig; ts
This ensures your config matches the RouteConfig type while preserving type inference.
See Also
- Advanced RouteConfig for complete examples
- Automatic AST Inference for type-based schema generation
On this page