flummpress/types/index.d.ts
2025-03-19 12:42:10 +01:00

50 lines
1.7 KiB
TypeScript

import { Handler } from "../src/types.d.js";
declare class Flummpress {
constructor();
router: Router;
tpl: Template;
middleware: Handler[];
use(plugin: Router | Template | Handler): this;
listen(...args: any[]): this;
}
declare class Router {
importRoutesFromPath(p: string, tpl?: Template | false): Promise<this>;
group(basePath: string | RegExp, callback: (methods: {
get: (path: string | RegExp, ...handlers: Handler[]) => void;
post: (path: string | RegExp, ...handlers: Handler[]) => void;
put: (path: string | RegExp, ...handlers: Handler[]) => void;
delete: (path: string | RegExp, ...handlers: Handler[]) => void;
patch: (path: string | RegExp, ...handlers: Handler[]) => void;
}) => void): this;
use(obj: Router | Template): void;
get(path: string | RegExp, ...handlers: Handler[]): this;
post(path: string | RegExp, ...handlers: Handler[]): this;
head(path: string | RegExp, ...handlers: Handler[]): this;
put(path: string | RegExp, ...handlers: Handler[]): this;
delete(path: string | RegExp, ...handlers: Handler[]): this;
patch(path: string | RegExp, ...handlers: Handler[]): this;
static(options: { dir?: string; route?: RegExp }): this;
getRoute(path: string, method: string): { path: string | RegExp; methods: { [method: string]: Handler[] } } | undefined;
}
declare class Template {
setDebug(debug: boolean): void;
setViews(views: string): void;
setGlobals(globals: Record<string, any>): void;
setCache(cache: boolean): void;
render(file: string, data?: Record<string, any>, locals?: Record<string, any>): string;
escape(str: string): string;
getMtime(file: string): number;
}
export { Flummpress, Router, Template };
export default Flummpress;