diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..5446842 --- /dev/null +++ b/index.d.ts @@ -0,0 +1,37 @@ +import FakeXMLHttpRequest from "fake-xml-http-request"; +import { Params, QueryParams } from "route-recognizer"; +type SetupCallback = (this: Server) => void; +interface SetupConfig { + forcePassthrough: boolean; +} +export type Config = SetupCallback | SetupConfig; +export class Server { + // HTTP request verbs + public get: RequestHandler; + public put: RequestHandler; + public post: RequestHandler; + public patch: RequestHandler; + public delete: RequestHandler; + public options: RequestHandler; + public head: RequestHandler; + constructor(setup?: SetupCallback); + + public shutdown(): void; +} + +export type RequestHandler = ( + urlExpression: string, + response: ResponseHandler, + async?: boolean +) => void; + +export type ResponseData = [number, { [k: string]: string }, string]; +interface ExtraRequestData { + params: Params; + queryParams: QueryParams; +} +export type ResponseHandler = ( + request: FakeXMLHttpRequest | ExtraRequestData +) => ResponseData | PromiseLike; + +export default Server; diff --git a/package.json b/package.json index c387802..fcdc2e7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pretender", - "version": "1.6.1", + "version": "2.0.0", "main": "./pretender.js", "license": "MIT", "scripts": { @@ -34,7 +34,7 @@ "sinon": "^3.2.1" }, "dependencies": { - "fake-xml-http-request": "^1.6.0", + "fake-xml-http-request": "^2.0.0", "route-recognizer": "^0.3.3" }, "jspm": {