Add events to SlashCommandAbortController

This commit is contained in:
Cohee
2024-07-18 22:47:57 +03:00
parent e6995e40cc
commit ff68956371
2 changed files with 43 additions and 1 deletions

View File

@ -1,22 +1,28 @@
export class SlashCommandAbortController {
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'));
}
}