Adjusting type angular.resource type definitions and tests to better reflect actual interface (particularly promises)

This commit is contained in:
miffels
2014-04-08 12:05:23 +02:00
parent e8af12bfa7
commit d98910416f
2 changed files with 117 additions and 44 deletions
+69 -43
View File
@@ -53,64 +53,90 @@ declare module ng.resource {
interface IResourceClass<T> {
new(dataOrParams? : any) : T;
get(): T;
get(dataOrParams: any): T;
get(dataOrParams: any, success: Function): T;
get(params: Object): T;
get(success: Function, error?: Function): T;
get(params: any, data: any, success?: Function, error?: Function): T;
get(params: Object, success: Function, error?: Function): T;
get(params: Object, data: Object, success?: Function): T;
get(params: Object, data: Object, success: Function, error?: Function): T;
query(): IResourceArray<T>;
query(params: Object): IResourceArray<T>;
query(success: Function, error?: Function): IResourceArray<T>;
query(params: Object, success: Function, error?: Function): IResourceArray<T>;
query(params: Object, data: Object, success?: Function): IResourceArray<T>;
query(params: Object, data: Object, success: Function, error?: Function): IResourceArray<T>;
save(): T;
save(dataOrParams: any): T;
save(dataOrParams: any, success: Function): T;
save(data: Object): T;
save(success: Function, error?: Function): T;
save(params: any, data: any, success?: Function, error?: Function): T;
query(): T[];
query(dataOrParams: any): T[];
query(dataOrParams: any, success: Function): T[];
query(success: Function, error?: Function): T[];
query(params: any, data: any, success?: Function, error?: Function): T[];
save(data: Object, success: Function, error?: Function): T;
save(params: Object, data: Object, success?: Function): T;
save(params: Object, data: Object, success: Function, error?: Function): T;
remove(): T;
remove(dataOrParams: any): T;
remove(dataOrParams: any, success: Function): T;
remove(params: Object): T;
remove(success: Function, error?: Function): T;
remove(params: any, data: any, success?: Function, error?: Function): T;
remove(params: Object, success: Function, error?: Function): T;
remove(params: Object, data: Object, success?: Function): T;
remove(params: Object, data: Object, success: Function, error?: Function): T;
delete(): T;
delete(dataOrParams: any): T;
delete(dataOrParams: any, success: Function): T;
delete(params: Object): T;
delete(success: Function, error?: Function): T;
delete(params: any, data: any, success?: Function, error?: Function): T;
delete(params: Object, success: Function, error?: Function): T;
delete(params: Object, data: Object, success?: Function): T;
delete(params: Object, data: Object, success: Function, error?: Function): T;
}
interface IResource<T> {
$get(): T;
$get(dataOrParams: any): T;
$get(dataOrParams: any, success: Function): T;
$get(success: Function, error?: Function): T;
$get(params: any, data: any, success?: Function, error?: Function): T;
$save(): T;
$save(dataOrParams: any): T;
$save(dataOrParams: any, success: Function): T;
$save(success: Function, error?: Function): T;
$save(params: any, data: any, success?: Function, error?: Function): T;
$query(): T[];
$query(dataOrParams: any): T[];
$query(dataOrParams: any, success: Function): T[];
$query(success: Function, error?: Function): T[];
$query(params: any, data: any, success?: Function, error?: Function): T[];
$remove(): T;
$remove(dataOrParams: any): T;
$remove(dataOrParams: any, success: Function): T;
$remove(success: Function, error?: Function): T;
$remove(params: any, data: any, success?: Function, error?: Function): T;
$delete(): T;
$delete(dataOrParams: any): T;
$delete(dataOrParams: any, success: Function): T;
$delete(success: Function, error?: Function): T;
$delete(params: any, data: any, success?: Function, error?: Function): T;
$get(): ng.IPromise<T>;
$get(params: Object): ng.IPromise<T>;
$get(success: Function, error?: Function): ng.IPromise<T>;
$get(params: Object, success: Function, error?: Function): ng.IPromise<T>;
$get(params: Object, data: Object, success?: Function): ng.IPromise<T>;
$get(params: Object, data: Object, success: Function, error?: Function): ng.IPromise<T>;
$query(): ng.IPromise<T[]>;
$query(params: Object): ng.IPromise<T[]>;
$query(success: Function, error?: Function): ng.IPromise<T[]>;
$query(params: Object, success: Function, error?: Function): ng.IPromise<T[]>;
$query(params: Object, data: Object, success?: Function): ng.IPromise<T[]>;
$query(params: Object, data: Object, success: Function, error?: Function): ng.IPromise<T[]>;
$save(): ng.IPromise<T>;
$save(data: Object): ng.IPromise<T>;
$save(success: Function, error?: Function): ng.IPromise<T>;
$save(data: Object, success: Function, error?: Function): ng.IPromise<T>;
$save(params: Object, data: Object, success?: Function): ng.IPromise<T>;
$save(params: Object, data: Object, success: Function, error?: Function): ng.IPromise<T>;
$remove(): ng.IPromise<T>;
$remove(params: Object): ng.IPromise<T>;
$remove(success: Function, error?: Function): ng.IPromise<T>;
$remove(params: Object, success: Function, error?: Function): ng.IPromise<T>;
$remove(params: Object, data: Object, success?: Function): ng.IPromise<T>;
$remove(params: Object, data: Object, success: Function, error?: Function): ng.IPromise<T>;
$delete(): ng.IPromise<T>;
$delete(params: Object): ng.IPromise<T>;
$delete(success: Function, error?: Function): ng.IPromise<T>;
$delete(params: Object, success: Function, error?: Function): ng.IPromise<T>;
$delete(params: Object, data: Object, success?: Function): ng.IPromise<T>;
$delete(params: Object, data: Object, success: Function, error?: Function): ng.IPromise<T>;
/** the promise of the original server interaction that created this instance. **/
$promise : ng.IPromise<T>;
$resolved : boolean;
}
interface Array {}
interface IResourceArray<T> extends Array {
/** the promise of the original server interaction that created this collection. **/
$promise : ng.IPromise<T>;
$resolved : boolean;
}
/** when creating a resource factory via IModule.factory */
interface IResourceServiceFactoryFunction<T> {
($resource: ng.resource.IResourceService): IResourceClass<T>;