From a2edb806899db4360270e3c411b94c74192a878a Mon Sep 17 00:00:00 2001 From: Wim Looman Date: Mon, 19 Jan 2015 16:36:24 +1300 Subject: [PATCH] Make interceptors typed --- rest/rest-tests.ts | 3 ++- rest/rest.d.ts | 38 +++++++++++++++++++------------------- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/rest/rest-tests.ts b/rest/rest-tests.ts index f6bcfa183..f291e53c0 100644 --- a/rest/rest-tests.ts +++ b/rest/rest-tests.ts @@ -126,4 +126,5 @@ client = rest .wrap(xdomain) .wrap(xhr) .wrap(noop) - .wrap(fail); + .wrap(fail) + .wrap(knownConfig, { prop: 'value' }); diff --git a/rest/rest.d.ts b/rest/rest.d.ts index 194124420..98c214537 100644 --- a/rest/rest.d.ts +++ b/rest/rest.d.ts @@ -14,7 +14,7 @@ declare module "rest" { function rest(request: rest.Request): rest.ResponsePromise; module rest { - export function wrap(interceptor: Interceptor, config?: any): Client; + export function wrap(interceptor: Interceptor, config?: T): Client; export interface Request { method?: string; @@ -48,8 +48,8 @@ declare module "rest" { header(headerName: string): when.Promise; // string or string[] } - export interface Interceptor { - (parent?: Client, config?: any): Client; + export interface Interceptor { + (parent?: Client, config?: T): Client; } export interface Client { @@ -57,7 +57,7 @@ declare module "rest" { (request: Request): ResponsePromise; skip(): Client; - wrap(interceptor: Interceptor, config?: any): Client; + wrap(interceptor: Interceptor, config?: T): Client; } export interface Meta { @@ -71,7 +71,7 @@ declare module "rest/interceptor" { import when = require("when"); import rest = require("rest"); - function interceptor(config: interceptor.Config): rest.Interceptor; + function interceptor(config: interceptor.Config): rest.Interceptor; module interceptor { interface Config { @@ -89,7 +89,7 @@ declare module "rest/interceptor" { declare module "rest/interceptor/defaultRequest" { import rest = require("rest"); - var defaultRequest: rest.Interceptor; + var defaultRequest: rest.Interceptor; export = defaultRequest; } @@ -97,7 +97,7 @@ declare module "rest/interceptor/defaultRequest" { declare module "rest/interceptor/hateoas" { import rest = require("rest"); - var hateoas: rest.Interceptor; + var hateoas: rest.Interceptor; export = hateoas; } @@ -105,7 +105,7 @@ declare module "rest/interceptor/hateoas" { declare module "rest/interceptor/location" { import rest = require("rest"); - var location: rest.Interceptor; + var location: rest.Interceptor; export = location; } @@ -113,7 +113,7 @@ declare module "rest/interceptor/location" { declare module "rest/interceptor/mime" { import rest = require("rest"); - var mime: rest.Interceptor; + var mime: rest.Interceptor; export = mime; } @@ -121,7 +121,7 @@ declare module "rest/interceptor/mime" { declare module "rest/interceptor/pathPrefix" { import rest = require("rest"); - var pathPrefix: rest.Interceptor; + var pathPrefix: rest.Interceptor; export = pathPrefix; } @@ -129,7 +129,7 @@ declare module "rest/interceptor/pathPrefix" { declare module "rest/interceptor/basicAuth" { import rest = require("rest"); - var basicAuth: rest.Interceptor; + var basicAuth: rest.Interceptor; export = basicAuth; } @@ -137,7 +137,7 @@ declare module "rest/interceptor/basicAuth" { declare module "rest/interceptor/oAuth" { import rest = require("rest"); - var oAuth: rest.Interceptor; + var oAuth: rest.Interceptor; export = oAuth; } @@ -145,7 +145,7 @@ declare module "rest/interceptor/oAuth" { declare module "rest/interceptor/csrf" { import rest = require("rest"); - var csrf: rest.Interceptor; + var csrf: rest.Interceptor; export = csrf; } @@ -153,7 +153,7 @@ declare module "rest/interceptor/csrf" { declare module "rest/interceptor/errorCode" { import rest = require("rest"); - var errorCode: rest.Interceptor; + var errorCode: rest.Interceptor; export = errorCode; } @@ -161,7 +161,7 @@ declare module "rest/interceptor/errorCode" { declare module "rest/interceptor/retry" { import rest = require("rest"); - var retry: rest.Interceptor; + var retry: rest.Interceptor; export = retry; } @@ -169,7 +169,7 @@ declare module "rest/interceptor/retry" { declare module "rest/interceptor/timeout" { import rest = require("rest"); - var timeout: rest.Interceptor; + var timeout: rest.Interceptor; export = timeout; } @@ -177,7 +177,7 @@ declare module "rest/interceptor/timeout" { declare module "rest/interceptor/jsonp" { import rest = require("rest"); - var jsonp: rest.Interceptor; + var jsonp: rest.Interceptor; export = jsonp; } @@ -185,7 +185,7 @@ declare module "rest/interceptor/jsonp" { declare module "rest/interceptor/ie/xdomain" { import rest = require("rest"); - var xdomain: rest.Interceptor; + var xdomain: rest.Interceptor; export = xdomain; } @@ -193,7 +193,7 @@ declare module "rest/interceptor/ie/xdomain" { declare module "rest/interceptor/ie/xhr" { import rest = require("rest"); - var xhr: rest.Interceptor; + var xhr: rest.Interceptor; export = xhr; }