# Source: editor/UndoStateChangedEvent.js

    /**
     * {@link XMLEditorEvent} sent after the user executes
     * the undo or redo command.
     */
    export class UndoStateChangedEvent extends XMLEditorEvent {
        constructor(xmlEditor, data) {
            super(xmlEditor, data, "undoStateChanged");
        }

        /**
         * Get the <code>commandStates</code> property of this event:
         * an array containing the states of commands <code>undo</code>
         * and <code>redo</code>.
         * <p>This array contains pairs:
         * <ul>
         * <li><code>enabled</code>, a boolean.
         * <li><code>detail</code>, a string, the command which can be
         * undone/redone.
         * </li>
         *
         * @type {array}
         * @see XMLEditor#getCommandState
         */
        get commandStates() {
            // Return null rather than undefined.
            return !this._commandStates? null : this._commandStates;
        }
    }