From aa19aca4120e8289b5c375a79a8a86799f58bf68 Mon Sep 17 00:00:00 2001 From: Santi Albo Date: Tue, 28 Jan 2014 17:05:09 +0000 Subject: [PATCH 1/3] (restangular) Add some missing methods Adds - `oneUrl` - `allUrl` - `withHttpConfig` --- restangular/restangular.d.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/restangular/restangular.d.ts b/restangular/restangular.d.ts index a329b20bf..bf8dc14eb 100644 --- a/restangular/restangular.d.ts +++ b/restangular/restangular.d.ts @@ -1,4 +1,4 @@ -// Type definitions for Restangular v1.2.2 - 2014-01-10 +// Type definitions for Restangular v1.2.2 // Project: https://github.com/mgonto/restangular // Definitions by: Boris Yankov // Definitions: https://github.com/borisyankov/DefinitelyTyped @@ -9,7 +9,9 @@ interface Restangular extends RestangularCustom { one(route: string, id?: number): RestangularElement; one(route: string, id?: string): RestangularElement; + oneUrl(route: string, url: string): RestangularElement; all(route: string): RestangularCollection; + allUrl(route: string, url: string): RestangularCollection; copy(fromElement: any): RestangularElement; withConfig(configurer: (RestangularProvider) => any): Restangular; restangularizeElement(parent: any, element: any, route: string, collection?, reqParams?): RestangularElement; @@ -27,6 +29,7 @@ interface RestangularElement extends Restangular { trace(queryParams?, headers?): ng.IPromise; options(queryParams?, headers?): ng.IPromise; patch(queryParams?, headers?): ng.IPromise; + withHttpConfig(httpConfig: ng.IRequestConfig): RestangularElement; getRestangularUrl(): string; } @@ -38,6 +41,7 @@ interface RestangularCollection extends Restangular { options(queryParams?, headers?): ng.IPromise; patch(queryParams?, headers?): ng.IPromise; putElement(idx, params, headers): ng.IPromise; + withHttpConfig(httpConfig: ng.IRequestConfig): RestangularCollection; getRestangularUrl(): string; } From 8d7e7127d7189f82e80f6a9dd010e2f6103857ee Mon Sep 17 00:00:00 2001 From: Santi Albo Date: Tue, 28 Jan 2014 17:15:15 +0000 Subject: [PATCH 2/3] Add a test --- restangular/restangular-tests.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/restangular/restangular-tests.ts b/restangular/restangular-tests.ts index 1bb4b01ee..22473e13e 100644 --- a/restangular/restangular-tests.ts +++ b/restangular/restangular-tests.ts @@ -136,3 +136,10 @@ function test_config() { }); }); } + +function test_withHttpConfig() { + var $scope; + Restangular.one('accounts', 123).withHttpConfig({timeout: 100}).getList('buildings'); + $scope.account = Restangular.one('accounts', 123); + $scope.account.withHttpConfig({timeout: 100}).put(); +} From 43004ba4ef9b1f334dd17c4f789cb2a9506c352e Mon Sep 17 00:00:00 2001 From: Santi Albo Date: Tue, 28 Jan 2014 17:17:01 +0000 Subject: [PATCH 3/3] Define own all-optional IRequestConfig --- restangular/restangular.d.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/restangular/restangular.d.ts b/restangular/restangular.d.ts index bf8dc14eb..f6ea5b97b 100644 --- a/restangular/restangular.d.ts +++ b/restangular/restangular.d.ts @@ -6,6 +6,17 @@ /// +interface RestangularRequestConfig { + params?: any; + headers?: any; + cache?: any; + withCredentials?: boolean; + data?: any; + transformRequest?: any; + transformResponse?: any; + timeout?: any; // number | promise +} + interface Restangular extends RestangularCustom { one(route: string, id?: number): RestangularElement; one(route: string, id?: string): RestangularElement; @@ -29,7 +40,7 @@ interface RestangularElement extends Restangular { trace(queryParams?, headers?): ng.IPromise; options(queryParams?, headers?): ng.IPromise; patch(queryParams?, headers?): ng.IPromise; - withHttpConfig(httpConfig: ng.IRequestConfig): RestangularElement; + withHttpConfig(httpConfig: RestangularRequestConfig): RestangularElement; getRestangularUrl(): string; } @@ -41,7 +52,7 @@ interface RestangularCollection extends Restangular { options(queryParams?, headers?): ng.IPromise; patch(queryParams?, headers?): ng.IPromise; putElement(idx, params, headers): ng.IPromise; - withHttpConfig(httpConfig: ng.IRequestConfig): RestangularCollection; + withHttpConfig(httpConfig: RestangularRequestConfig): RestangularCollection; getRestangularUrl(): string; }