Simplifying instance API and adding some explanatory comments

This commit is contained in:
miffels
2014-04-08 14:15:34 +02:00
parent f037b84665
commit fffce8af7d
2 changed files with 25 additions and 45 deletions
+5 -15
View File
@@ -79,45 +79,35 @@ promise = resource.$delete({ key: 'value' });
promise = resource.$delete({ key: 'value' }, function () { });
promise = resource.$delete(function () { });
promise = resource.$delete(function () { }, function () { });
promise = resource.$delete({ key: 'value' }, { key: 'value' });
promise = resource.$delete({ key: 'value' }, { key: 'value' }, function () { });
promise = resource.$delete({ key: 'value' }, { key: 'value' }, function () { }, function () { });
promise = resource.$delete({ key: 'value' }, function () { }, function () { });
promise = resource.$get();
promise = resource.$get({ key: 'value' });
promise = resource.$get({ key: 'value' }, function () { });
promise = resource.$get(function () { });
promise = resource.$get(function () { }, function () { });
promise = resource.$get({ key: 'value' }, { key: 'value' });
promise = resource.$get({ key: 'value' }, { key: 'value' }, function () { });
promise = resource.$get({ key: 'value' }, { key: 'value' }, function () { }, function () { });
promise = resource.$get({ key: 'value' }, function () { }, function () { });
arrayPromise = resourceArray[0].$query();
arrayPromise = resourceArray[0].$query({ key: 'value' });
arrayPromise = resourceArray[0].$query({ key: 'value' }, function () { });
arrayPromise = resourceArray[0].$query(function () { });
arrayPromise = resourceArray[0].$query(function () { }, function () { });
arrayPromise = resourceArray[0].$query({ key: 'value' }, { key: 'value' });
arrayPromise = resourceArray[0].$query({ key: 'value' }, { key: 'value' }, function () { });
arrayPromise = resourceArray[0].$query({ key: 'value' }, { key: 'value' }, function () { }, function () { });
arrayPromise = resourceArray[0].$query({ key: 'value' }, function () { }, function () { });
promise = resource.$remove();
promise = resource.$remove({ key: 'value' });
promise = resource.$remove({ key: 'value' }, function () { });
promise = resource.$remove(function () { });
promise = resource.$remove(function () { }, function () { });
promise = resource.$remove({ key: 'value' }, { key: 'value' });
promise = resource.$remove({ key: 'value' }, { key: 'value' }, function () { });
promise = resource.$remove({ key: 'value' }, { key: 'value' }, function () { }, function () { });
promise = resource.$remove({ key: 'value' }, function () { }, function () { });
promise = resource.$save();
promise = resource.$save({ key: 'value' });
promise = resource.$save({ key: 'value' }, function () { });
promise = resource.$save(function () { });
promise = resource.$save(function () { }, function () { });
promise = resource.$save({ key: 'value' }, { key: 'value' });
promise = resource.$save({ key: 'value' }, { key: 'value' }, function () { });
promise = resource.$save({ key: 'value' }, { key: 'value' }, function () { }, function () { });
promise = resource.$save({ key: 'value' }, function () { }, function () { });
///////////////////////////////////////
// IResourceService
+20 -30
View File
@@ -50,79 +50,69 @@ declare module ng.resource {
// PATCH (in other words, methods with body). Otherwise, it's going
// to be considered as parameters to the request.
// https://github.com/angular/angular.js/blob/v1.2.0/src/ngResource/resource.js#L461-L465
//
// Only those methods with an HTTP body do have 'data' as first parameter:
// https://github.com/angular/angular.js/blob/v1.2.0/src/ngResource/resource.js#L463
// More specifically, those methods are POST, PUT and PATCH:
// https://github.com/angular/angular.js/blob/v1.2.0/src/ngResource/resource.js#L432
//
// Also, static calls always return the IResource (or IResourceArray) retrieved
// https://github.com/angular/angular.js/blob/v1.2.0/src/ngResource/resource.js#L538-L549
interface IResourceClass<T> {
new(dataOrParams? : any) : T;
get(): T;
get(params: Object): T;
get(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;
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>;
query(params: Object, data: Object, success?: Function, error?: Function): IResourceArray<T>;
save(): T;
save(data: Object): T;
save(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;
save(params: Object, data: Object, success?: Function, error?: Function): T;
remove(): T;
remove(params: Object): T;
remove(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;
remove(params: Object, data: Object, success?: Function, error?: Function): T;
delete(): T;
delete(params: Object): T;
delete(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;
delete(params: Object, data: Object, success?: Function, error?: Function): T;
}
// Instance calls always return the the promise of the request which retrieved the object
// https://github.com/angular/angular.js/blob/v1.2.0/src/ngResource/resource.js#L538-L546
interface IResource<T> {
$get(): ng.IPromise<T>;
$get(params: Object): ng.IPromise<T>;
$get(params?: Object, success?: Function, error?: Function): 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(params?: Object, success?: Function, error?: Function): 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(params?: Object, success?: Function, error?: Function): 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(params?: Object, success?: Function, error?: Function): 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(params?: Object, success?: Function, error?: Function): 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>;