removed IActionCall and changed query method to return an IResource array

Conflicts:
	angularjs/angular-resource-tests.ts
This commit is contained in:
John Emau
2013-11-11 09:58:41 -08:00
parent b24f27d014
commit 9ad3c8740a
2 changed files with 128 additions and 21 deletions
+75
View File
@@ -0,0 +1,75 @@
/// <reference path="angular-resource.d.ts" />
///////////////////////////////////////
// IActionDescriptor
///////////////////////////////////////
var actionDescriptor: ng.resource.IActionDescriptor;
actionDescriptor.headers = { header: 'value' };
actionDescriptor.isArray = true;
actionDescriptor.method = 'method action';
actionDescriptor.params = { key: 'value' };
///////////////////////////////////////
// IResourceClass
///////////////////////////////////////
var resourceClass: ng.resource.IResourceClass;
var resource: ng.resource.IResource;
var resourceArray: ng.resource.IResource[];
resource = resourceClass.delete();
resource = resourceClass.delete({ key: 'value' });
resource = resourceClass.delete({ key: 'value' }, function () { });
resource = resourceClass.delete(function () { });
resource = resourceClass.delete(function () { }, function () { });
resource = resourceClass.delete({ key: 'value' }, { key: 'value' });
resource = resourceClass.delete({ key: 'value' }, { key: 'value' }, function () { });
resource = resourceClass.delete({ key: 'value' }, { key: 'value' }, function () { }, function () { });
resource = resourceClass.get();
resource = resourceClass.get({ key: 'value' });
resource = resourceClass.get({ key: 'value' }, function () { });
resource = resourceClass.get(function () { });
resource = resourceClass.get(function () { }, function () { });
resource = resourceClass.get({ key: 'value' }, { key: 'value' });
resource = resourceClass.get({ key: 'value' }, { key: 'value' }, function () { });
resource = resourceClass.get({ key: 'value' }, { key: 'value' }, function () { }, function () { });
resourceArray = resourceClass.query();
resourceArray = resourceClass.query({ key: 'value' });
resourceArray = resourceClass.query({ key: 'value' }, function () { });
resourceArray = resourceClass.query(function () { });
resourceArray = resourceClass.query(function () { }, function () { });
resourceArray = resourceClass.query({ key: 'value' }, { key: 'value' });
resourceArray = resourceClass.query({ key: 'value' }, { key: 'value' }, function () { });
resourceArray = resourceClass.query({ key: 'value' }, { key: 'value' }, function () { }, function () { });
resource = resourceClass.remove();
resource = resourceClass.remove({ key: 'value' });
resource = resourceClass.remove({ key: 'value' }, function () { });
resource = resourceClass.remove(function () { });
resource = resourceClass.remove(function () { }, function () { });
resource = resourceClass.remove({ key: 'value' }, { key: 'value' });
resource = resourceClass.remove({ key: 'value' }, { key: 'value' }, function () { });
resource = resourceClass.remove({ key: 'value' }, { key: 'value' }, function () { }, function () { });
resource = resourceClass.save();
resource = resourceClass.save({ key: 'value' });
resource = resourceClass.save({ key: 'value' }, function () { });
resource = resourceClass.save(function () { });
resource = resourceClass.save(function () { }, function () { });
resource = resourceClass.save({ key: 'value' }, { key: 'value' });
resource = resourceClass.save({ key: 'value' }, { key: 'value' }, function () { });
resource = resourceClass.save({ key: 'value' }, { key: 'value' }, function () { }, function () { });
///////////////////////////////////////
// IModule
///////////////////////////////////////
var mod: ng.IModule;
var resourceServiceFactoryFunction: ng.resource.IResourceServiceFactoryFunction;
var resourceService: ng.resource.IResourceService;
resourceServiceFactoryFunction = function (resourceService) { return resourceClass };
mod = mod.factory('factory name', resourceServiceFactoryFunction);
+53 -21
View File
@@ -36,34 +36,66 @@ declare module ng.resource {
// Baseclass for everyresource with default actions.
// If you define your new actions for the resource, you will need
// to extend this interface and typecast the ResourceClass to it.
interface IResourceClass {
get: IActionCall;
save: IActionCall;
query: IActionCall;
remove: IActionCall;
delete: IActionCall;
}
//
// In case of passing the first argument as anything but a function,
// it's gonna be considered data if the action method is POST, PUT or
// PATCH (in other words, methods with body). Otherwise, it's going
// to be considered as parameters to the request.
interface IActionCall {
(): IResource;
(dataOrParams: any): IResource;
(dataOrParams: any, success: Function): IResource;
(success: Function, error?: Function): IResource;
(params: any, data: any, success?: Function, error?: Function): IResource;
// https://github.com/angular/angular.js/blob/v1.2.0/src/ngResource/resource.js#L461-L465
interface IResourceClass {
get(): IResource;
get(dataOrParams: any): IResource;
get(dataOrParams: any, success: Function): IResource;
get(success: Function, error?: Function): IResource;
get(params: any, data: any, success?: Function, error?: Function): IResource;
save(): IResource;
save(dataOrParams: any): IResource;
save(dataOrParams: any, success: Function): IResource;
save(success: Function, error?: Function): IResource;
save(params: any, data: any, success?: Function, error?: Function): IResource;
query(): IResource[];
query(dataOrParams: any): IResource[];
query(dataOrParams: any, success: Function): IResource[];
query(success: Function, error?: Function): IResource[];
query(params: any, data: any, success?: Function, error?: Function): IResource[];
remove(): IResource;
remove(dataOrParams: any): IResource;
remove(dataOrParams: any, success: Function): IResource;
remove(success: Function, error?: Function): IResource;
remove(params: any, data: any, success?: Function, error?: Function): IResource;
delete(): IResource;
delete(dataOrParams: any): IResource;
delete(dataOrParams: any, success: Function): IResource;
delete(success: Function, error?: Function): IResource;
delete(params: any, data: any, success?: Function, error?: Function): IResource;
}
interface IResource {
$save: IActionCall;
$remove: IActionCall;
$delete: IActionCall;
// No documented, but they are there, just as any custom action will be
$query: IActionCall;
$get: IActionCall;
$get(): IResource;
$get(dataOrParams: any): IResource;
$get(dataOrParams: any, success: Function): IResource;
$get(success: Function, error?: Function): IResource;
$get(params: any, data: any, success?: Function, error?: Function): IResource;
$save(): IResource;
$save(dataOrParams: any): IResource;
$save(dataOrParams: any, success: Function): IResource;
$save(success: Function, error?: Function): IResource;
$save(params: any, data: any, success?: Function, error?: Function): IResource;
$query(): IResource[];
$query(dataOrParams: any): IResource[];
$query(dataOrParams: any, success: Function): IResource[];
$query(success: Function, error?: Function): IResource[];
$query(params: any, data: any, success?: Function, error?: Function): IResource[];
$remove(): IResource;
$remove(dataOrParams: any): IResource;
$remove(dataOrParams: any, success: Function): IResource;
$remove(success: Function, error?: Function): IResource;
$remove(params: any, data: any, success?: Function, error?: Function): IResource;
$delete(): IResource;
$delete(dataOrParams: any): IResource;
$delete(dataOrParams: any, success: Function): IResource;
$delete(success: Function, error?: Function): IResource;
$delete(params: any, data: any, success?: Function, error?: Function): IResource;
}
/** when creating a resource factory via IModule.factory */