aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-ui/typings/angularjs/angular-resource.d.ts
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-ui/typings/angularjs/angular-resource.d.ts')
-rw-r--r--catalog-ui/typings/angularjs/angular-resource.d.ts183
1 files changed, 183 insertions, 0 deletions
diff --git a/catalog-ui/typings/angularjs/angular-resource.d.ts b/catalog-ui/typings/angularjs/angular-resource.d.ts
new file mode 100644
index 0000000000..969997b1bc
--- /dev/null
+++ b/catalog-ui/typings/angularjs/angular-resource.d.ts
@@ -0,0 +1,183 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * SDC
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+// Type definitions for Angular JS 1.3 (ngResource module)
+// Project: http://angularjs.org
+// Definitions by: Diego Vilar <http://github.com/diegovilar>, Michael Jess <http://github.com/miffels>
+// Definitions: https://github.com/daptiv/DefinitelyTyped
+
+/// <reference path="angular.d.ts" />
+///////////////////////////////////////////////////////////////////////////////
+// ngResource module (angular-resource.js)
+///////////////////////////////////////////////////////////////////////////////
+declare module angular.resource {
+
+ /**
+ * Currently supported options for the $resource factory options argument.
+ */
+ interface IResourceOptions {
+ /**
+ * If true then the trailing slashes from any calculated URL will be stripped (defaults to true)
+ */
+ stripTrailingSlashes?: boolean;
+ }
+
+ ///////////////////////////////////////////////////////////////////////////
+ // ResourceService
+ // see http://docs.angularjs.org/api/ngResource.$resource
+ // Most part of the following definitions were achieved by analyzing the
+ // actual implementation, since the documentation doesn't seem to cover
+ // that deeply.
+ ///////////////////////////////////////////////////////////////////////////
+ interface IResourceService {
+ (url: string, paramDefaults?: any,
+ /** example: {update: { method: 'PUT' }, delete: deleteDescriptor }
+ where deleteDescriptor : IActionDescriptor */
+ actions?: any, options?: IResourceOptions): IResourceClass<IResource<any>>;
+ <T, U>(url: string, paramDefaults?: any,
+ /** example: {update: { method: 'PUT' }, delete: deleteDescriptor }
+ where deleteDescriptor : IActionDescriptor */
+ actions?: any, options?: IResourceOptions): U;
+ <T>(url: string, paramDefaults?: any,
+ /** example: {update: { method: 'PUT' }, delete: deleteDescriptor }
+ where deleteDescriptor : IActionDescriptor */
+ actions?: any, options?: IResourceOptions): IResourceClass<T>;
+ }
+
+ // Just a reference to facilitate describing new actions
+ interface IActionDescriptor {
+ method: string;
+ isArray?: boolean;
+ params?: any;
+ headers?: any;
+ url?: any;
+ cache?: Boolean;
+ transformRequest?: Function;
+ transformResponse?: Function;
+ }
+
+ // 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.
+ //
+ // 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.
+ // 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, 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, 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, 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, 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, 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(): angular.IPromise<T>;
+ $get(params?: Object, success?: Function, error?: Function): angular.IPromise<T>;
+ $get(success: Function, error?: Function): angular.IPromise<T>;
+
+ $query(): angular.IPromise<IResourceArray<T>>;
+ $query(params?: Object, success?: Function, error?: Function): angular.IPromise<IResourceArray<T>>;
+ $query(success: Function, error?: Function): angular.IPromise<IResourceArray<T>>;
+
+ $save(): angular.IPromise<T>;
+ $save(params?: Object, success?: Function, error?: Function): angular.IPromise<T>;
+ $save(success: Function, error?: Function): angular.IPromise<T>;
+
+ $remove(): angular.IPromise<T>;
+ $remove(params?: Object, success?: Function, error?: Function): angular.IPromise<T>;
+ $remove(success: Function, error?: Function): angular.IPromise<T>;
+
+ $delete(): angular.IPromise<T>;
+ $delete(params?: Object, success?: Function, error?: Function): angular.IPromise<T>;
+ $delete(success: Function, error?: Function): angular.IPromise<T>;
+
+ /** the promise of the original server interaction that created this instance. **/
+ $promise : angular.IPromise<T>;
+ $resolved : boolean;
+ }
+
+ /**
+ * Really just a regular Array object with $promise and $resolve attached to it
+ */
+ interface IResourceArray<T> extends Array<T> {
+ /** the promise of the original server interaction that created this collection. **/
+ $promise : angular.IPromise<IResourceArray<T>>;
+ $resolved : boolean;
+ }
+
+ /** when creating a resource factory via IModule.factory */
+ interface IResourceServiceFactoryFunction<T> {
+ ($resource: angular.resource.IResourceService): IResourceClass<T>;
+ <U extends IResourceClass<T>>($resource: angular.resource.IResourceService): U;
+ }
+}
+
+/** extensions to base ng based on using angular-resource */
+declare module angular {
+
+ interface IModule {
+ /** creating a resource service factory */
+ factory(name: string, resourceServiceFactoryFunction: angular.resource.IResourceServiceFactoryFunction<any>): IModule;
+ }
+}
+
+interface Array<T>
+{
+ /** the promise of the original server interaction that created this collection. **/
+ $promise : angular.IPromise<Array<T>>;
+ $resolved : boolean;
+}