From 8534b4c0a8a28a64f5e039c13a2c043a70366249 Mon Sep 17 00:00:00 2001 From: Sean Clark Hess Date: Wed, 14 Nov 2012 11:07:52 -0700 Subject: [PATCH] got express() to work instead of express.createServer() --- Definitions/express-3.0.d.ts | 374 +++++++++++++++++++---------------- 1 file changed, 200 insertions(+), 174 deletions(-) diff --git a/Definitions/express-3.0.d.ts b/Definitions/express-3.0.d.ts index efe64e9ab..bdd62af52 100644 --- a/Definitions/express-3.0.d.ts +++ b/Definitions/express-3.0.d.ts @@ -3,186 +3,212 @@ // Definitions by: Boris Yankov // Definitions: https://github.com/borisyankov/DefinitelyTyped +/* +USAGE + +/// +import express = module('express') +var app = express() +... + +MIDDLEWARE + +express exports lots of middleware, like .static, .session, etc, but use connect so you don't have to escape +var connect = require('connect') +connect.session({}) + +*/ /// +// do not reference this. use module('express') instead +declare module _express { + + import http = module("http"); + + export interface Handler { + (req: ServerRequest, res: ServerResponse, next?: Function): void; + } + + export interface Errback { (err: Error): void; } + + export interface CookieOptions { + maxAge?: number; + signed?: bool; + expires?: Date; + httpOnly?: bool; + path?: string; + domain?: string; + secure?: bool; + } + + export interface ExpressSettings { + env?: string; + views?: string; + } + + export interface ServerApplication { + + settings: ExpressSettings; + locals: any; + routes: any; + + (): ServerApplication; + + router: Handler; + + use(route: string, callback: Function): ServerApplication; + use(route: string, server: ServerApplication): ServerApplication; + use(callback: Function): ServerApplication; + use(server: ServerApplication): ServerApplication; + + engine(ext: string, callback: Function): ServerApplication; + + param(param: Function): ServerApplication; + param(name: string, callback: Function): ServerApplication; + param(name: string, expressParam: any): ServerApplication; + param(name: any[], callback: Function): ServerApplication; + + set(name: string): ServerApplication; + set(name: string, val: any): ServerApplication; + + enabled(name: string): bool; + disabled(name: string): bool; + + enable(name: string): ServerApplication; + disable(name: string): ServerApplication; + + configure(env: string, callback: () => void ): ServerApplication; + configure(...params: any[]): ServerApplication; // covering this case: (...env: string[], callback: () => void) + configure(callback: () => void ): ServerApplication; + + all(path: string, ...callbacks: Function[]): void; + + render(view: string, callback: (err: Error, html) => void ): void; + render(view: string, optionss: any, callback: (err: Error, html) => void ): void; + + 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; + + get(name: string): any; + get(path: string, handler: (req: ServerRequest, res: ServerResponse) => void ): void; + get(path: RegExp, handler: (req: ServerRequest, res: ServerResponse) => void ): void; + get(path: string, callbacks: any, callback: () => void ): void; + + post(path: string, handler: (req: ServerRequest, res: ServerResponse) => void ): void; + post(path: RegExp, handler: (req: ServerRequest, res: ServerResponse) => void ): void; + post(path: string, callbacks: any, callback: () => void ): void; + } + + export interface ServerRequest extends http.ServerRequest { + + accepted: any[]; + acceptedLanguages: string[]; + acceptedCharsets: string[]; + + params: any; + query: any; + body: any; + files: any; + + route: any; + cookies: any; + signedCookies: any; + + get(field: string): string; + header(field: string): string; + + accepts(types: string): any; + accepts(types: string[]): any; + acceptsCharset(charset: string): bool; + acceptsLanguage(lang: string): bool; + + range(size: number): number[]; + + param(name: string, defaultValue?: any): string; + is(type: string): bool; + + protocol: string; + secure: bool; + ip: string; + ips: string[]; + auth: any; + subdomains: string[]; + path: string; + host: string; + fresh: bool; + stale: bool; + xhr: bool; + } + + export interface ServerResponse extends http.ServerResponse { + + charset: string; + locals: any; + + status(code: number): ServerResponse; + links(links: any): ServerResponse; + + send(status: number): ServerResponse; + send(bodyOrStatus: any): ServerResponse; + send(status: number, body: any): ServerResponse; + json(status: number): ServerResponse; + json(bodyOrStatus: any): ServerResponse; + json(status: number, body: any): ServerResponse; + jsonp(status: number): ServerResponse; + jsonp(bodyOrStatus: any): ServerResponse; + jsonp(status: number, body: any): ServerResponse; + + sendfile(path: string): void; + sendfile(path: string, options: any): void; + sendfile(path: string, fn: Errback): void; + sendfile(path: string, options: any, fn: Errback): void; + download(path: string): void; + download(path: string, filename: string): void; + download(path: string, fn: Errback): void; + download(path: string, filename: string, fn: Errback): void; + + type(type: string): ServerResponse; + contentType(type: string): ServerResponse; + + format(object: any): ServerResponse; + attachment(filename?: string): ServerResponse; + + set(field: any): void; + set(field: string, value: string): void; + header(field: any): void; + header(field: string, value: string): void; + + get(field: string): string; + + clearCookie(name: string, options?: any): ServerResponse; + cookie(name: string, value: any, options?: CookieOptions): ServerResponse; + + redirect(url: string): void; + redirect(status: number, url: string): void; + redirect(url: string, status: number): void; + + render(view: string, options: any): void; + render(view: string, callback: (err: Error, html: any) => void ): void; + render(view: string, options: any, callback: (err: Error, html: any) => void ): void; + } +} + declare module "express" { + export interface ServerApplication extends _express.ServerApplication {} + export interface ServerRequest extends _express.ServerRequest {} + export interface ServerResponse extends _express.ServerResponse {} + export interface Handler extends _express.Handler {} + + export function (): _express.ServerApplication; export function createServer(): ServerApplication; export function static(path: string): any; - import http = module("http"); export var listen; - interface ReqResNext { - (req: ServerRequest, res: ServerResponse, next: Function): void; - } - - interface Errback { (err: Error): void; } - - interface CookieOptions { - maxAge?: number; - signed?: bool; - expires?: Date; - httpOnly?: bool; - path?: string; - domain?: string; - secure?: bool; - } - // Connect middleware - export function bodyParser(options?: any): ReqResNext; - export function errorHandler(opts?: any): ReqResNext; - export function methodOverride(): ReqResNext; - - export interface ExpressSettings { - env?: string; - views?: string; - } - - export interface ServerApplication { - - settings: ExpressSettings; - locals: any; - routes: any; - - (): ServerApplication; - - router: ReqResNext; - - use(route: string, callback: Function): ServerApplication; - use(route: string, server: ServerApplication): ServerApplication; - use(callback: Function): ServerApplication; - use(server: ServerApplication): ServerApplication; - - engine(ext: string, callback: Function): ServerApplication; - - param(param: Function): ServerApplication; - param(name: string, callback: Function): ServerApplication; - param(name: string, expressParam: any): ServerApplication; - param(name: any[], callback: Function): ServerApplication; - - set(name: string): ServerApplication; - set(name: string, val: any): ServerApplication; - - enabled(name: string): bool; - disabled(name: string): bool; - - enable(name: string): ServerApplication; - disable(name: string): ServerApplication; - - configure(env: string, callback: () => void ): ServerApplication; - configure(...params: any[]): ServerApplication; // covering this case: (...env: string[], callback: () => void) - configure(callback: () => void ): ServerApplication; - - all(path: string, ...callbacks: Function[]): void; - - render(view: string, callback: (err: Error, html) => void ): void; - render(view: string, optionss: any, callback: (err: Error, html) => void ): void; - - 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; - - get(name: string): any; - get(path: string, handler: (req: ServerRequest, res: ServerResponse) => void ): void; - get(path: RegExp, handler: (req: ServerRequest, res: ServerResponse) => void ): void; - get(path: string, callbacks: any, callback: () => void ): void; - - post(path: string, handler: (req: ServerRequest, res: ServerResponse) => void ): void; - post(path: RegExp, handler: (req: ServerRequest, res: ServerResponse) => void ): void; - post(path: string, callbacks: any, callback: () => void ): void; - } - - export interface ServerRequest extends http.ServerRequest { - - accepted: any[]; - acceptedLanguages: string[]; - acceptedCharsets: string[]; - - params: any; - query: any; - body: any; - files: any; - - route: any; - cookies: any; - signedCookies: any; - - get(field: string): string; - header(field: string): string; - - accepts(types: string): any; - accepts(types: string[]): any; - acceptsCharset(charset: string): bool; - acceptsLanguage(lang: string): bool; - - range(size: number): number[]; - - param(name: string, defaultValue?: any): string; - is(type: string): bool; - - protocol: string; - secure: bool; - ip: string; - ips: string[]; - auth: any; - subdomains: string[]; - path: string; - host: string; - fresh: bool; - stale: bool; - xhr: bool; - } - - export interface ServerResponse extends http.ServerResponse { - - charset: string; - locals: any; - - status(code: number): ServerResponse; - links(links: any): ServerResponse; - - send(status: number): ServerResponse; - send(bodyOrStatus: any): ServerResponse; - send(status: number, body: any): ServerResponse; - json(status: number): ServerResponse; - json(bodyOrStatus: any): ServerResponse; - json(status: number, body: any): ServerResponse; - jsonp(status: number): ServerResponse; - jsonp(bodyOrStatus: any): ServerResponse; - jsonp(status: number, body: any): ServerResponse; - - sendfile(path: string): void; - sendfile(path: string, options: any): void; - sendfile(path: string, fn: Errback): void; - sendfile(path: string, options: any, fn: Errback): void; - download(path: string): void; - download(path: string, filename: string): void; - download(path: string, fn: Errback): void; - download(path: string, filename: string, fn: Errback): void; - - type(type: string): ServerResponse; - contentType(type: string): ServerResponse; - - format(object: any): ServerResponse; - attachment(filename?: string): ServerResponse; - - set(field: any): void; - set(field: string, value: string): void; - header(field: any): void; - header(field: string, value: string): void; - - get(field: string): string; - - clearCookie(name: string, options?: any): ServerResponse; - cookie(name: string, value: any, options?: CookieOptions): ServerResponse; - - redirect(url: string): void; - redirect(status: number, url: string): void; - redirect(url: string, status: number): void; - - render(view: string, options: any): void; - render(view: string, callback: (err: Error, html: any) => void ): void; - render(view: string, options: any, callback: (err: Error, html: any) => void ): void; - } -} \ No newline at end of file + export function bodyParser(options?: any): Handler; + export function errorHandler(opts?: any): Handler; + export function methodOverride(): Handler; +}