UNPKG

@lylajs/core

Version:

36 lines (35 loc) 953 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LylaAbortSignal = exports.LylaAbortController = void 0; class LylaAbortController { constructor() { this.signal = new LylaAbortSignal(); } abort(reason) { if (this.signal.aborted) return; this.signal.__abort(reason); this.signal.__listeners; } } exports.LylaAbortController = LylaAbortController; class LylaAbortSignal { constructor() { this.aborted = false; this.__listeners = new Set(); } addEventListener(type, listener) { this.__listeners.add(listener); } removeEventListener(type, listener) { this.__listeners.delete(listener); } __abort(reason) { this.aborted = true; this.reason = reason; this.__listeners.forEach((listener) => { listener(); }); } } exports.LylaAbortSignal = LylaAbortSignal;