UNPKG

@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
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 };