@sufalctl/honeycomb
Version:
**Honeycomb** is a clean and minimal web framework inspired by Express.js — built entirely from scratch using **raw TypeScript** with **no external libraries**.
39 lines (38 loc) • 1.8 kB
TypeScript
import { Req, Res } from "./reqRes";
declare type Next = () => void;
declare type Middleware = (req: Req, res: Res, next: Next) => void;
declare type FinalHandle = (req: Req, res: Res) => void;
declare type RouterHandle = Middleware | FinalHandle;
declare class App {
private routes;
private middleware;
private settings;
private ejs;
use(middleware: Middleware): void;
set(key: string, value: string): void;
rendeViews(view: string, data: Record<string, any>): Promise<string>;
private serveStaticFile;
private appRoute;
get(path: string, handle: FinalHandle): void;
get(path: string, m1: Middleware, handle: FinalHandle): void;
get(path: string, m1: Middleware, m2: Middleware, handle: FinalHandle): void;
get(path: string, ...handles: RouterHandle[]): void;
post(path: string, handle: FinalHandle): void;
post(path: string, m1: Middleware, handle: FinalHandle): void;
post(path: string, m1: Middleware, m2: Middleware, handle: FinalHandle): void;
post(path: string, ...handles: RouterHandle[]): void;
put(path: string, handle: FinalHandle): void;
put(path: string, m1: Middleware, handle: FinalHandle): void;
put(path: string, m1: Middleware, m2: Middleware, handle: FinalHandle): void;
put(path: string, ...handles: RouterHandle[]): void;
delete(path: string, handle: FinalHandle): void;
delete(path: string, m1: Middleware, handle: FinalHandle): void;
delete(path: string, m1: Middleware, m2: Middleware, handle: FinalHandle): void;
delete(path: string, ...handles: RouterHandle[]): void;
listen(port: number, callback?: () => void): void;
private handleRequest;
private bodyParsed;
private pathToRegex;
}
export declare const honeycomb: () => App;
export { Res, Req, Next };