'use strict';

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

/**
 * Licensed Materials - Property of IBM
 * IBM Cognos Products: BI Cloud (C) Copyright IBM Corp. 2019
 * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
 */

/**
 * API specification of VisDefinitionAPI
 *
 * @class VisDefinitionAPISpec
 * @hideconstructor
 * @classdesc
 */
define([], function () {
	var APISpec = function () {
		function APISpec() {
			_classCallCheck(this, APISpec);
		}

		APISpec.prototype.getAPISpec = function getAPISpec() {
			if (!this.apiSpec) {
				this.apiSpec = {
					name: 'visDefinition API',
					events: {
						propagationInfo: {
							info: {
								id: this.getId(),
								type: this.getType()
							},
							callStack: {
								name: 'getByType',
								params: [this.getType()]
							}
						},
						actions: {
							refresh: {
								type: 'refresh',
								getEventName: function getEventName() {
									return 'definition';
								},
								getUndoActions: function getUndoActions() {
									return [{ name: 'refresh' }];
								}
							}
						}
					}
				};
			}
			return this.apiSpec;
		};

		return APISpec;
	}();

	return APISpec;
});
//# sourceMappingURL=VisDefinitionAPISpec.js.map