17 lines
391 B
TypeScript
17 lines
391 B
TypeScript
import { Route, type RouteOptions } from "./Route.ts";
|
|
|
|
export interface AstroOptions extends RouteOptions {
|
|
partial?: boolean;
|
|
action?: boolean;
|
|
}
|
|
|
|
/** Declares an Astro-compatible endpoint. */
|
|
export function Astro(
|
|
path: string,
|
|
options: AstroOptions = {},
|
|
): MethodDecorator {
|
|
return Route(path, {
|
|
...options,
|
|
method: options.action ? "POST" : (options.method ?? "GET"),
|
|
});
|
|
}
|