diff --git a/angularjs/angular-resource-tests.ts b/angularjs/angular-resource-tests.ts index c2378350d1..2b7c5c4386 100644 --- a/angularjs/angular-resource-tests.ts +++ b/angularjs/angular-resource-tests.ts @@ -16,6 +16,7 @@ actionDescriptor.params = { key: 'value' }; /////////////////////////////////////// var resourceClass: ng.resource.IResourceClass; var resource: ng.resource.IResource; +var resourceArray: ng.resource.IResource[]; resource = resourceClass.delete(); resource = resourceClass.delete({ key: 'value' }); @@ -35,14 +36,14 @@ resource = resourceClass.get({ key: 'value' }, { key: 'value' }); resource = resourceClass.get({ key: 'value' }, { key: 'value' }, function () { }); resource = resourceClass.get({ key: 'value' }, { key: 'value' }, function () { }, function () { }); -resource = resourceClass.query(); -resource = resourceClass.query({ key: 'value' }); -resource = resourceClass.query({ key: 'value' }, function () { }); -resource = resourceClass.query(function () { }); -resource = resourceClass.query(function () { }, function () { }); -resource = resourceClass.query({ key: 'value' }, { key: 'value' }); -resource = resourceClass.query({ key: 'value' }, { key: 'value' }, function () { }); -resource = resourceClass.query({ 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' }); diff --git a/angularjs/angular-resource.d.ts b/angularjs/angular-resource.d.ts index c15a933f8a..f74f3eb448 100644 --- a/angularjs/angular-resource.d.ts +++ b/angularjs/angular-resource.d.ts @@ -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 */