DefinitelyTyped/restangular/restangular.d.ts
Diullei Gomes 17df2c7aaa Merge pull request #815 from santialbo/patch-3
Restangular also accepts strings as id for the method "one"
2013-08-03 09:06:42 -07:00

74 lines
2.8 KiB
TypeScript

// Type definitions for Restangular v0.8.0 - 2013-06-03
// Project: https://github.com/mgonto/restangular
// Definitions by: Boris Yankov <https://github.com/borisyankov/>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path="../angularjs/angular.d.ts" />
interface Restangular extends RestangularCustom {
one(route: string, id?: number): RestangularElement;
one(route: string, id?: string): RestangularElement;
all(route: string): RestangularCollection;
copy(fromElement: any): RestangularElement;
withConfig(configurer: any): Restangular;
}
interface RestangularElement extends Restangular {
get (): ng.IPromise;
get (params: any): ng.IPromise;
get (params: any, headers: any): ng.IPromise;
getList(): ng.IPromise;
getList(subElement: any): ng.IPromise;
getList(subElement: any, queryParams: string, headers: any): ng.IPromise;
put(queryParams?: string, headers?: any): ng.IPromise;
post(subElement, elementToPost, queryParams?, headers?): ng.IPromise;
remove(queryParams?, headers?): ng.IPromise;
head(queryParams?, headers?): ng.IPromise;
trace(queryParams?, headers?): ng.IPromise;
options(queryParams?, headers?): ng.IPromise;
patch(queryParams?, headers?): ng.IPromise;
getRestangularUrl(): string;
}
interface RestangularCollection extends Restangular {
getList(queryParams?, headers?): ng.IPromise;
post(elementToPost, queryParams?, headers?): ng.IPromise;
head(queryParams?, headers?): ng.IPromise;
trace(queryParams?, headers?): ng.IPromise;
options(queryParams?, headers?): ng.IPromise;
patch(queryParams?, headers?): ng.IPromise;
putElement(idx, params, headers): ng.IPromise;
getRestangularUrl(): string;
}
interface RestangularCustom {
customGET(path, params?, headers?): ng.IPromise;
customGETLIST(path, params?, headers?): ng.IPromise;
customDELETE(path, params?, headers?): ng.IPromise;
customPOST(path, params?, headers?, elem?): ng.IPromise;
customPUT(path, params?, headers?, elem?): ng.IPromise;
customOperation(operation, path, params?, headers?, elem?): ng.IPromise;
addRestangularMethod(name, operation, path?, params?, headers?, elem?): ng.IPromise;
}
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: bool): void;
setRestangularFields(newValue: any): void;
setRequestSuffix(newValue: any): void;
addElementTransformer(type, secondArg, thirdArg): void;
}
declare var Restangular: Restangular;
declare var RestangularProvider: RestangularProvider;