Better type signatures for RestangularProvider methods

This commit is contained in:
Santi Albo 2013-09-03 09:41:21 +01:00
parent ce96d4a875
commit 6cdeeeb2b2

View File

@ -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>) => any): void;
setResponseExtractor(responseInterceptor: (data: any, operation: string, what: string, url: string, response: any, deferred: ng.IDeferred<any>) => 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;