Source: actions/BaseAction.js

import { Utils } from '../common/Utils'

/**
 * @class BaseAction
 * The base action.
 * @memberof THING
 * @public
 */
class BaseAction {

	constructor() {
	}

	/**
	 * @typedef {Object} BaseActionData
	 * @property {THING.BaseObject} object The object.
	 * @property {Object} options The options.
	 */

	/**
	 * When run action.
	 * @param {BaseActionData} param The parameters.
	 * class MyAction extends THING.BaseAction {
	 * 	onRun(param) {
	 * 		console.log('Run my action');
	 * 	}
	 * }
	 * @example
	 * let check = true;
	 * // @expect(check == true);
	 */

	onRun(param) {

	}

	/**
	 * When stop action.
	 * 	class MyAction extends THING.BaseAction {
	 * 	onStop() {
	 * 		console.log('Stop my action');
	 * 	}
	 * }
	 * @example
	 * let check = true;
	 * // @expect(check == true);
	 */
	onStop() {

	}

	get app() {
		return Utils.getCurrentApp();
	}

}

export { BaseAction }