UNPKG

aborter

Version:

A minimal reimplementation of AbortController and AbortSignal.

29 lines (28 loc) 672 B
/* IMPORT */ /* MAIN */ class AbortSignal { constructor() { /* VARIABLES */ this.aborted = false; this.listeners = new Set(); } /* EVENTS API */ addEventListener(event, listener) { if (event !== 'abort') return; this.listeners.add(listener); } removeEventListener(event, listener) { if (event !== 'abort') return; this.listeners.delete(listener); } dispatchEvent(event) { if (event !== 'abort') return false; [...this.listeners].forEach(listener => listener()); return true; } } /* EXPORT */ export default AbortSignal;