From 6cdeeeb2b2f8e4b5f5652d2202ceb01c8ebedb6d Mon Sep 17 00:00:00 2001 From: Santi Albo Date: Tue, 3 Sep 2013 09:41:21 +0100 Subject: [PATCH 1/3] Better type signatures for RestangularProvider methods --- restangular/restangular.d.ts | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/restangular/restangular.d.ts b/restangular/restangular.d.ts index e1c4856012..339e2444c6 100644 --- a/restangular/restangular.d.ts +++ b/restangular/restangular.d.ts @@ -11,7 +11,7 @@ interface Restangular extends RestangularCustom { one(route: string, id?: string): RestangularElement; all(route: string): RestangularCollection; copy(fromElement: any): RestangularElement; - withConfig(configurer: any): Restangular; + withConfig(configurer: (RestangularProvider) => any): Restangular; } interface RestangularElement extends Restangular { @@ -49,16 +49,26 @@ interface RestangularCustom { } interface RestangularProvider { - setBaseUrl(newValue: string): void; - setExtraFields(newValues: string[]): void; - setDefaultHttpFields(newValue: any): void; - setMethodOverriders(newValue: any): void; - setResponseExtractor(newValue: any): void; - setRequestInterceptor(newValue: any): void; - setListTypeIsArray(newValue: boolean): void; - setRestangularFields(newValue: any): void; - setRequestSuffix(newValue: any): void; - addElementTransformer(type, secondArg, thirdArg): void; + setBaseUrl(baseUrl: string): void; + setExtraFields(fields: string[]): void; + setParentless(parentless: boolean, routes: string[]): void; + setDefaultHttpFields(httpFields: any): void; + addElementTransformer(route: string, transformer: Function): void; + addElementTransformer(route: string, isCollection: boolean, transformer: Function): void; + setOnElemRestangularized(callback: (elem: any, isCollection: boolean, what: string, restangular: Restangular) => any): void; + setResponseInterceptor(responseInterceptor: (data: any, operation: string, what: string, url: string, response: any, deferred: ng.IDeferred) => any): void; + setResponseExtractor(responseInterceptor: (data: any, operation: string, what: string, url: string, response: any, deferred: ng.IDeferred) => any): void; + setRequestInterceptor(requestInterceptor: (element: any, operation: string, what: string, url: string) => any); + setFullRequestInterceptor(fullRequestInterceptor: (element: any, operation: string, what: string, url: string, headers: any, params: any) => {element: any; headers: any; params: any}); + setErrorInterceptor(errorInterceptor: (response: any) => any): void; + setRestangularFields(fields: {[fieldName: string]: string}): void; + setMethodOverriders(overriders: string[]): void; + setDefaultRequestParams(params: any): void; + setDefaultRequestParams(methods: any, params: any): void; + setFullResponse(fullResponse: boolean): void; + setDefaultHeaders(headers: any): void; + setRequestSuffix(suffix: string): void; + setUseCannonicalId(useCannonicalId: boolean): void; } declare var Restangular: Restangular; From d95465e400a6a403e2038bf25e341aaa49590516 Mon Sep 17 00:00:00 2001 From: Santi Albo Date: Tue, 3 Sep 2013 09:41:56 +0100 Subject: [PATCH 2/3] "setListTypeIsArray" is deprecated --- restangular/restangular-tests.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/restangular/restangular-tests.ts b/restangular/restangular-tests.ts index 400b67b388..fc79cad5bf 100644 --- a/restangular/restangular-tests.ts +++ b/restangular/restangular-tests.ts @@ -88,8 +88,6 @@ function test_config() { RestangularProvider.setDefaultHttpFields({ cache: true }); RestangularProvider.setMethodOverriders(["put", "patch"]); - RestangularProvider.setListTypeIsArray(true); - RestangularProvider.setRestangularFields({ id: "_id", route: "restangularRoute" From 835f1c84d865483145544e1f88f419b6fd2c0201 Mon Sep 17 00:00:00 2001 From: Santi Albo Date: Tue, 3 Sep 2013 10:22:16 +0100 Subject: [PATCH 3/3] Add typing for response objects --- restangular/restangular.d.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/restangular/restangular.d.ts b/restangular/restangular.d.ts index 339e2444c6..910eb23d7f 100644 --- a/restangular/restangular.d.ts +++ b/restangular/restangular.d.ts @@ -56,11 +56,11 @@ interface RestangularProvider { addElementTransformer(route: string, transformer: Function): void; addElementTransformer(route: string, isCollection: boolean, transformer: Function): void; setOnElemRestangularized(callback: (elem: any, isCollection: boolean, what: string, restangular: Restangular) => any): void; - setResponseInterceptor(responseInterceptor: (data: any, operation: string, what: string, url: string, response: any, deferred: ng.IDeferred) => any): void; - setResponseExtractor(responseInterceptor: (data: any, operation: string, what: string, url: string, response: any, deferred: ng.IDeferred) => any): void; + setResponseInterceptor(responseInterceptor: (data: any, operation: string, what: string, url: string, response: XMLHttpRequest, deferred: ng.IDeferred) => any): void; + setResponseExtractor(responseInterceptor: (data: any, operation: string, what: string, url: string, response: XMLHttpRequest, deferred: ng.IDeferred) => any): void; setRequestInterceptor(requestInterceptor: (element: any, operation: string, what: string, url: string) => any); setFullRequestInterceptor(fullRequestInterceptor: (element: any, operation: string, what: string, url: string, headers: any, params: any) => {element: any; headers: any; params: any}); - setErrorInterceptor(errorInterceptor: (response: any) => any): void; + setErrorInterceptor(errorInterceptor: (response: XMLHttpRequest) => any): void; setRestangularFields(fields: {[fieldName: string]: string}): void; setMethodOverriders(overriders: string[]): void; setDefaultRequestParams(params: any): void;