Spaces:
Paused
Paused
| import { AbstractEventTarget } from './AbstractEventTarget.js'; | |
| export class SlashCommandAbortController extends AbstractEventTarget { | |
| /**@type {SlashCommandAbortSignal}*/ signal; | |
| constructor() { | |
| super(); | |
| this.signal = new SlashCommandAbortSignal(); | |
| } | |
| abort(reason = 'No reason.', isQuiet = false) { | |
| this.signal.isQuiet = isQuiet; | |
| this.signal.aborted = true; | |
| this.signal.reason = reason; | |
| this.dispatchEvent(new Event('abort')); | |
| } | |
| pause(reason = 'No reason.') { | |
| this.signal.paused = true; | |
| this.signal.reason = reason; | |
| this.dispatchEvent(new Event('pause')); | |
| } | |
| continue(reason = 'No reason.') { | |
| this.signal.paused = false; | |
| this.signal.reason = reason; | |
| this.dispatchEvent(new Event('continue')); | |
| } | |
| } | |
| export class SlashCommandAbortSignal { | |
| /**@type {boolean}*/ isQuiet = false; | |
| /**@type {boolean}*/ paused = false; | |
| /**@type {boolean}*/ aborted = false; | |
| /**@type {string}*/ reason = null; | |
| } | |