yzt
2023-05-26 2f70f6727314edd84d8ec2bfe3ce832803f1ea77
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import DeveloperError from "../Core/DeveloperError.js";
 
/**
 * A Command is a function with an extra <code>canExecute</code> observable property to determine
 * whether the command can be executed.  When executed, a Command function will check the
 * value of <code>canExecute</code> and throw if false.
 *
 * This type describes an interface and is not intended to be instantiated directly.
 * See {@link createCommand} to create a command from a function.
 *
 * @alias Command
 * @constructor
 */
function Command() {
  /**
   * Gets whether this command can currently be executed.  This property is observable.
   * @type {Boolean}
   * @default undefined
   */
  this.canExecute = undefined;
 
  /**
   * Gets an event which is raised before the command executes, the event
   * is raised with an object containing two properties: a <code>cancel</code> property,
   * which if set to false by the listener will prevent the command from being executed, and
   * an <code>args</code> property, which is the array of arguments being passed to the command.
   * @type {Event}
   * @default undefined
   */
  this.beforeExecute = undefined;
 
  /**
   * Gets an event which is raised after the command executes, the event
   * is raised with the return value of the command as its only parameter.
   * @type {Event}
   * @default undefined
   */
  this.afterExecute = undefined;
 
  DeveloperError.throwInstantiationError();
}
export default Command;