From a6f2316773e0456d947381afb7683a7ac6548e24 Mon Sep 17 00:00:00 2001 From: Boris Yankov Date: Sun, 7 Oct 2012 06:24:07 +0300 Subject: [PATCH] Express framework definitions added from TypeScript samples --- Definitions/express.d.ts | 124 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 Definitions/express.d.ts diff --git a/Definitions/express.d.ts b/Definitions/express.d.ts new file mode 100644 index 000000000..187019640 --- /dev/null +++ b/Definitions/express.d.ts @@ -0,0 +1,124 @@ +/// + +declare module "express" { + export function createServer(): ExpressServer; + export function static(path: string): any; + import http = module("http"); + export var listen; + + // Connect middleware + export function bodyParser(options?:any): (req: ExpressServerRequest, res: ExpressServerResponse, next) =>void; + export function errorHandler(opts?:any): (req: ExpressServerRequest, res: ExpressServerResponse, next) =>void; + export function methodOverride(): (req: ExpressServerRequest, res: ExpressServerResponse, next) =>void; + + export interface ExpressSettings { + env?: string; + views?: string; + } + + export interface ExpressServer { + set(name: string): any; + set(name: string, val: any): any; + enable(name: string): ExpressServer; + disable(name: string): ExpressServer; + enabled(name: string): bool; + disabled(name: string): bool; + configure(env: string, callback: () => void): ExpressServer; + configure(env: string, env2: string, callback: () => void ): ExpressServer; + configure(callback: () => void): ExpressServer; + settings: ExpressSettings; + engine(ext: string, callback: any): void; + param(param: Function): ExpressServer; + param(name: string, callback: Function): ExpressServer; + param(name: string, expressParam: any): ExpressServer; + param(name: any[], callback: Function): ExpressServer; + get(name: string): any; + get(path: string, handler: (req: ExpressServerRequest, res: ExpressServerResponse) => void ): void; + get(path: RegExp, handler: (req: ExpressServerRequest, res: ExpressServerResponse) => void ): void; + get(path: string, callbacks: any, callback: () => void ): void; + post(path: string, handler: (req: ExpressServerRequest, res: ExpressServerResponse) => void ): void; + post(path: RegExp, handler: (req: ExpressServerRequest, res: ExpressServerResponse) => void ): void; + post(path: string, callbacks: any, callback: () => void ): void; + all(path: string, callback: Function): void; + all(path: string, callback: Function, callback2: Function): void; + locals: any; + render(view: string, callback: (err: Error, html) => void ): void; + render(view: string, opts: any, callback: (err: Error, html) => void ): void; + routes: any; + listen(port: number, hostname: string, backlog: number, callback: Function): void; + listen(port: number, callback: Function): void; + listen(path: string, callback?: Function): void; + listen(handle: any, listeningListener?: Function): void; + use(route: string, callback: Function): ExpressServer; + use(route: string, server: ExpressServer): ExpressServer; + use(callback: Function): ExpressServer; + use(server: ExpressServer): ExpressServer; + } + + export interface ExpressServerRequest extends http.ServerRequest { + params: any; + query: any; + body: any; + files: any; + param(name: string): any; + route: any; + cookies: any; + signedCookies: any; + get(field: string): string; + accepts(types: string): any; + accepts(types: string[]): any; + accepted: any; + is(type: string): bool; + ip: string; + ips: string[]; + path: string; + host: string; + fresh: bool; + stale: bool; + xhr: bool; + protocol: string; + secure: bool; + subdomains: string[]; + acceptedLanguages: string[]; + acceptedCharsets: string[]; + acceptsCharset(charset: string): bool; + acceptsLanguage(lang: string): bool; + } + + export interface ExpressServerResponse extends http.ServerResponse { + status(code: number): any; + set(field: any): void; + set(field: string, value: string): void; + header(field: any): void; + header(field: string, value: string): void; + get(field: string): any; + cookie(name: string, value: any, options?: any): void; + clearcookie(name: string, options?: any): void; + redirect(status: number, url: string): void; + redirect(url: string): void; + charset: string; + send(bodyOrStatus: any); + send(body: any, status: any); + send(body: any, headers: any, status: number); + json(bodyOrStatus: any); + json(body: any, status: any); + json(body: any, headers: any, status: number); + jsonp(bodyOrStatus: any); + jsonp(body: any, status: any); + jsonp(body: any, headers: any, status: number); + type(type: string): void; + format(object: any): void; + attachment(filename?: string); + sendfile(path: string): void; + sendfile(path: string, options: any): void; + sendfile(path: string, options: any, fn: (err: Error) =>void ): void; + download(path: string): void; + download(path: string, filename: string): void; + download(path: string, filename: string, fn: (err: Error) =>void ): void; + links(links: any): void; + locals: any; + render(view: string, locals: any): void; + render(view: string, callback: (err: Error, html: any) =>void ): void; + render(view: string, locals: any, callback: (err: Error, html: any) =>void ): void; + } +}