abi.js
Version:
[![typescript-icon]][typescript-link] [![license-icon]][license-link] [![status-icon]][status-link] [![ci-icon]][ci-link] [![twitter-icon]][twitter-link]
31 lines (30 loc) • 1.45 kB
TypeScript
import 'buno.js';
import { type UserConfig } from './config.js';
import { Context } from './context.js';
import { type Method } from './method.js';
import type { Address, Hostname, Pattern, Port, Resolver, ServeHandler as Handler } from './types.js';
export declare class Application {
#private;
constructor(config?: UserConfig);
context(request: Request): Context;
use(handler: Handler, ...handlers: Handler[]): this;
get(pattern: Pattern, resolver: Resolver, ...resolvers: Resolver[]): this;
head(pattern: Pattern, resolver: Resolver, ...resolvers: Resolver[]): this;
post(pattern: Pattern, resolver: Resolver, ...resolvers: Resolver[]): this;
put(pattern: Pattern, resolver: Resolver, ...resolvers: Resolver[]): this;
patch(pattern: Pattern, resolver: Resolver, ...resolvers: Resolver[]): this;
delete(pattern: Pattern, resolver: Resolver, ...resolvers: Resolver[]): this;
on(method: Method, pattern: Pattern, resolver: Resolver, ...resolvers: Resolver[]): this;
serve(path: string, base?: string): this;
handle(root: string, base?: string): this;
routes(): Handler;
useRoutes(): this;
run(): void;
start(): void;
fetch(request: Request): Promise<Response>;
listen(port: Port): void;
listen(hostname: Hostname): void;
listen(port: Port, hostname: Hostname): void;
listen(address: Address): void;
}
export declare function app(config: UserConfig): Application;