export class CodeStopper { constructor() { this.abortController = new AbortController(); } start() { this.abortController = new AbortController(); } stop() { this.abortController.abort(); } isStopped() { return this.abortController.signal.aborted; } addListener(fn) { this.abortController.signal .addEventListener("abort", () => { fn(); }); } }