Type-Safe Routes
Full TypeScript type inference for routes, parameters, and responses
Type-Safe Routes
Full TypeScript type inference for routes, parameters, and responses
Pure Functional
Validator-library agnostic with simple function types
Query Validation
Optional type-safe query parameter validation
Authentication
Type-safe authentication with custom authentication functions
AI-First
Designed for seamless integration with AI coding assistants
// Hover any identifier to see its typeimport { createRouter<BasePath extends string>(_: BasePath) => Router<BasePath> } from "@fossyl/core";
const routerRouter<"/api"> = createRouter<BasePath extends string>(_: BasePath) => Router<BasePath><"/api">("/api");
const _userRouteRoute = {
path: string
method: RestMethod
steps: Steps[]
handler: Function
authenticator?: AuthenticationFunction<any>
validator?: ValidatorFunction<any>
queryValidator?: ValidatorFunction<any>
urlParamValidator?: ValidatorFunction<any>
paginationConfig?: PaginationConfig
hasTransaction: boolean
} = routerRouter<"/api"> .createEndpoint<Path extends `/api${string}`>(path: Path) => Endpoint<Path, true>("/api/users/:id") .get<Response extends ResponseData>(
handler: (
parameters: { url: { id: string } & { readonly __kind: "url" } } & {
readonly __kind: "parameters"
},
) => () => Promise<Response>,
) => Route(({ url{ id: string } & { readonly __kind: "url" } }) => async () => { const userIdstring = url{ id: string } & { readonly __kind: "url" }.idstring; return { typeName: "User", id: userIdstring, name: "John Doe" }; });